Académique Documents
Professionnel Documents
Culture Documents
36
Instructions de Transfert (MOV, XCHG, ....)
37
MOV
39
Instructions Arithmétiques
40
INSTRUCTIONS ARITHMÉTIQUES
41
ADD
43
Exercice d'application
45
Exercice d'application "prog2.asm"
46
Exercice d'application "prog2.asm"
Effectuer à la main les opérations suivantes en complément à deux sur 16 bits:
47
MUL/IMUL
MUL Op: Effectue une multiplication non signée entre l'accumulateur
(AL ou AX) et l'opérande Op. Le résultat de taille double est stocké dans
l'accumulateur et son extension (AH ou DX).
IMUL Os : identique à MUL excepté qu'une multiplication signée est
effectuée.
48
Exemple MUL "prog3.asm"
Multiplication non signée sur 8 bits:
MOV AL, 4 AL = 04h
• AXAL*AH MOV AH, 25 AH = 09h
MUL AH AX = 64h
49
Exemple IMUL "prog3.asm"
Multiplication signée sur 8 bits:
MOV AL, -4 AL = 0FCh
• AXAL*AH MOV AH, 25 AH = 19h
IMUL AH AX = 0FF9Ch
50
DIV/IDIV
DIV Op: Effectue une division non signée de l'accumulateur (AL ou AX)
par l'opérande Op. Le quotient est récupéré dans le registre AL ou AX et
le reste dans le registre AH ou DX.
IDIV Op: Identique à DIV excepté qu'une division signée est effectuée.
51
Exemple DIV/IDIV "prog3.asm"
Division non signée sur 8 bits:
MOV AL, 16 AL = 01h
MOV BL, 3 BL = 03h
DIV BL AL = 05h AH=01h
52
Instructions de Branchement inconditionnel
JMP label: Effectue un saut (jump) vers le label spécifié.
Debut:
MOV AX, 9
JMP Fin
MOV AX,1
Fin:
MOV BX,2
53
JMP Debut
Instructions de branchement conditionnel
54
Branchements (sauts) arithmétiques
Les instructions de branchement suivent en général l’instruction de
comparaison CMP .
CMP op1, op2: Compare op1 et op2 et ne renvoi aucun résultat mais
permet de positionner les flags du registre d'état.
Condition Nombres signés Nombres non signés
A=B JE
A≠B JNE
A>B JG JA
A≥B JGE JAE
A< B JL JB
55 A≤B JLE JBE