Académique Documents
Professionnel Documents
Culture Documents
Chapitre 4 - 23 - 04
Chapitre 4 - 23 - 04
▪ La multiplication (MUL)
▪ La division (DIV)
▪ L'incrémentation (INC)
▪ La décrémentation (DEC)
❖ Ces instructions sont utilisées pour manipuler les données numériques dans les
programmes 8086.
Les Instructions Arithmétiques
❖ L'instruction ADD sur l'architecture 8086 est utilisée pour effectuer des additions arithmétiques.
Elle peut ajouter un octet à un octet (8 bits à 8 bits) ou un mot à un mot (16 bits à 16 bits).
❖ Syntaxe :
Destination : C'est l'opérande où le résultat de l'addition sera stocké. Il peut s'agir d'un registre (par
Source : C'est l'opérande à ajouter à la destination. Il peut être un registre, une adresse mémoire ou
❖ L'instruction ADD peut être utilisée sous différentes formes pour manipuler efficacement
l'instruction ADD.
base
offset
Les Instructions Arithmétiques
❖ L'instruction SUB sur l'architecture 8086 est utilisée pour effectuer des opérations de soustraction
arithmétique.
❖ Syntaxe :
registre (par exemple AX, BX, CX, DX) ou une adresse mémoire.
▪ Source : Il s'agit de l'opérande qui sera soustrait à la destination. Il peut être un registre, une
❖ L'instruction SUB permet de soustraire des valeurs entre les registres, la mémoire et les constantes
immédiates.
Les Instructions Arithmétiques
❖ L'instruction SUB peut être utilisée sous différentes formes pour manipuler efficacement
l'instruction SUB.
-4 = conversion + cp a 2 + conversion hexa
Les Instructions Arithmétiques
❖ L'instruction INC (Increment) augmente la valeur d'un registre ou d'une adresse mémoire de 1.
❖ Lorsqu'elle est utilisée sur une adresse mémoire, elle augmente la valeur stockée à cette adresse de 1.
▪ Par exemple, INC [BX]; augmente la valeur stockée à l'adresse contenue dans BX de 1.
INC reg
INC [mem]
L'instruction LDS charge une valeur de 32 bits (16 bits d'offset et 16 bits de segment) dans les registres SI (pour
l'offset) et DS (pour le segment).
LDS SI, mem
SI est le registre d'offset.
mem est l'adresse mémoire qui contient les 32 bits (16 bits d'offset et 16 bits de segment) à charger.
Les Instructions Arithmétiques
❖ L'instruction DEC (Decrement) diminue la valeur d'un registre ou d'une adresse mémoire de 1.
❖ Lorsqu'elle est utilisée sur une adresse mémoire, elle diminue la valeur stockée à cette adresse de 1.
Par exemple: DEC [BX]; diminue la valeur stockée à l'adresse contenue dans BX de 1.
DEC reg
DEC [mem]
❖ Exemple : Écrivez un code assembleur pour mettre le registre AX à FFFFH. Ensuite, configurez
l'emplacement mémoire à partir de 0600:0100 avec les valeurs 01H. Enfin, décrémentez les
opérandes.
Les Instructions Arithmétiques
❖ L'instruction MUL est utilisée pour effectuer une multiplication pour deux octets ou mots :
▪ Pour les octets : l'instruction MUL multiplie le contenu du registre AL par l'opérande.
▪ Pour les mots : l'instruction MUL multiplie le contenu des registres AX par l'opérande,
Exemples :
➢ mov al,51
mov bl,32 AX = 51* 32
mul bl
➢ mov ax,4253
mov bx,1689 (DX,AX)=4253*1689
mul bx
Les Instructions Arithmétiques
❖ Exemple : Écrivez un code assembleur pour multiplier 04H par 02H à l'aide de registres. Ensuite,
multipliez 1212H par 1313H. De plus, multipliez 1AH via la mémoire par le contenu actuel de AL.
Les Instructions Arithmétiques
❖ L'instruction DIV (Division) est utilisée pour effectuer une division sur deux octets ou mots. Cette
▪ Pour les opérations sur un octet (byte) : DIV divise la valeur contenue dans AL par
l'opérande. Le quotient de la division est stocké dans AL, et le reste dans AH.
▪ Pour les opérations sur un mot (word) : DIV divise la valeur contenue dans DX:AX par
l'opérande. Le quotient de la division est stocké dans AX, et le reste dans DX.
Exemples :
➢ mov ax,35
mov bl,10 AL=3 (quotient) et AH=5 (reste)
div bl
➢ mov dx,0
mov ax,1234 AX=123 (quotient) et DX=4 (reste)
mov bx,10
div bx
Les Instructions Arithmétiques
❖ Exemple : Écrivez un code assembleur pour diviser 08H par 02H à travers le registre BL. Ensuite,
divisez 0202H et 0303H par 0606H à travers le registre CX. Ensuite, stockez les résultats (quotient et