TP 2 : Les Opérations Arithmétiques et Logiques et les Instructions de Branchement
Exemple :
(il faut commenter chaque instruction et montrer où est stocker le résultat)
II. Les opérations arithmétiques
Les instructions arithmétiques de base sont l’addition, la soustraction, la multiplication et la division
qui incluent diverses variantes.
-Expliquer les instructions :
ADD
,
ADC
,
SUB
,
SBB
,
MUL
,
IMUL
,
DIV
,
IDIV
,
INC
,
DEC
,
NEG
.
-Montrer la différence entre
MUL
et
IMUL
à l’aide d’un exemple.
III. Les instructions de décalage et de rotation
Ces instructions déplacent d’un certain nombre de positions les bits d’un mot vers la gauche ou
vers la droite. Dans les décalages, les bits qui sont déplacés sont remplacés par des zéros. Il y a les
décalages logiques (opérations non signées) et les décalages arithmétiques (opérations signées). Dans
les rotations, les bits déplacés dans un sens sont réinjectés de l’autre côté du mot.
-Expliquer les instructions :
SHR
,
SHL
,
SAR
,
SAL
,
ROR
,
ROL
,
RCR
,
RCL
.
IV. Les instructions de branchement (saut)
Les instructions de branchement (ou saut) permettent de modifier l’ordre d’exécution des
instructions du programme en fonction de certaines conditions.
Il existe 3 types de saut :
-saut inconditionnel,
-sauts conditionnels,
-appel de sous-programmes.
Répondre aux questions suivantes :
-Expliquer les instructions
JMP
,
JZ
.
-Quelle est la différence entre ces deux instructions ?
-Citer d’autres instructions de saut.
Deuxième Partie : Manipulation
Exercices
1.
Soit le programme suivant :
MOV AL, 72H
ADD AL, 78H
ADC AH, 00H
SAR AX, 1
MOV [3000H], AL
HLT
2