Jacynthe
Ecrivez un programme en langage assembleur pour trier les nombres suivants, en utilisant le tri à bulles, dans l'ordre décroissant signé :
-10, -30, -25, 50, 15, 20, 35, 40, 45, 0
C'est-à-dire à la fin de votre programme , les nombres doivent être dans l'ordre suivant :
50, 45, 40, 35, 20, 15, 0, -10, -25, -30
Bo
Faites vos
devoirs vous-même Allez à la page 37 des documents CS401 et vous obtiendrez de l'aide là-bas.
En ce qui concerne, l'
instructeur CS401
Wyman
Écrivez le programme d'assemblage pour saisir 3 nombres puis ajoutez les nombres et calculez la moyenne arrondie, imprimez le total et la moyenne?
Jerad
Données : Dw -10, -30, -25, 50, 15, 20, 35, 40, 45, 0
swap : Db 0
bubblesort : Dec cx ;dernier élément non comparé
shl cx,1
mainloop : Mov si,0 ;initialiser index du tableau à zéro
mov word [swap],0 ;reste swap flage à aucun swap
innerloop: Mov ax,[bx+si] ;charge numéro dans ax
cmp ax,[bx+si+2] ;comparer avec le numéro suivant
jl noswap ;pas d'échange si déjà en ordre
mov dx,[bx+si+2] ;charger le deuxième élément dans dx
mov [bx+si],dx ;stocker le premier nuber dans le deuxième
mov [bx+si+2],ax ;stocker le deuxième numéro dans le premier
mot [swap],1 ;
signaler qu'un échange a été effectué
noswap : ajouter si,2 ;faire avancer si à l'index suivant
cmp si,cx ;sommes-nous enfin indexé
jle innerloop ;sinon cmpare les deux prochains
cmp word [swap],1 ;vérifie si un échange a été fait
jnl mainloop ;si oui fais une autre passe
ret ;retourne d'où nous venons
start: Mov bx,data ;envoyer le début du tableau dans bx
mov cx,10 ;envoyer le nombre d'éléments dans cx
appeler bubblesort ;appeler notre sous-programme