ROYAUME DU MAROC Architecture des ordinateurs TD
UNIVERSITE HASSAN II DE CASABLANCA
Faculté des sciences Aïn Chock 2023-2024
SMI4 3
Exercice 1.
A l’aide des registres 8 bits AL et AH on veut effectuer les opérations indépendantes ci-dessous sur des nombres signés.
Donnez leurs résultats en positionnant les indicateurs demandés :
Cas1 Cas2
Contenu du registre AL 6AH=01101010b Indicateurs EFH=11101111b Indicateurs
Contenu du registre AH 55H=01010101b CF ZF SF OF C3H=11000011b CF ZF SF OF
Contenu des indicateurs ------------ 1 - - - ---------- 0 - - -
Résultat de «ADD AL,AH»
Résultat de «SUB AL,AH»
Résultat de «ADC AL,AH»
Résultat de «SBB AL,AH»
Exercice 2.
Ecrire des instructions en assembleur 8086 qui calculent :
1. 75B3211h+2456987h
2. 55h*(-6400h-876)+(2456987h÷6677h)
Exercice 3.
Soient les variables mémoires définies selon les deux cas suivants :
Variable/Adresse Taille Adresse offset Initialisation (Hex)
A Octet 100 --
B Octet 101 --
Cas 1 C Octet 102 --
D Mot 103 --
Adresse suivante - 105 --
A Mot 200 --
Cas 2 B Mot 202 0004
C Mot 204 --
Adresse suivante - 206 --
Pour le premier cas, en utilisant un adressage direct et sans utiliser les noms des variables, écrire un programme qui :
1. Calcule la somme A+B et met le résultat dans C.
2. Calcule la différence A-B et met le résultat à l’adresse suivante.
3. Calcule le produit A*B si ces variables représentent des entiers signés et met le résultat à l’adresse suivante.
4. Calcule la division D/B si ces variables représentent des entiers non signés et met le quotient dans D et le reste à
l’adresse suivante.
Pour le deuxième cas, en utilisant un adressage basé BX et sans utiliser MUL ou IMUL, écrire un programme qui :
5. Calcule A*2B si la variable A représente un entier non signé et met le résultat dans C (On suppose que les quatre bits
de poids forts de la valeur binaire de A sont des 0).
Pour le deuxième cas, en utilisant un adressage indexé SI et sans utiliser DIV ou IDIV, écrire un programme qui :
6. Calcule le quotient de A/(2B) si la variable A représente un entier signé et met le résultat à l’adresse suivante.
Pr. T. CHANYOUR Page 1 sur 2
Architecture des ordinateurs - SMI4
Exercice 4.
Etant donnés les contenus des registres ci-après, complétez le tableau :
BX=0000h, DX=1111h, CX=2038h, DS=0710h, SS=0810h, CS=0910h, SI=0003h, DI=0100h, BP=0050h
Instruction Mode d’adressage utilisé Adresse logique de l’opérande mémoire
1 MOV AX,5040H ------------------------------------------------
2 MOV [12], AX
3 MOV [DI+100], CS
4 MOV [BX], DX
5 MOV [SI+BX+81H], CX
6 MOV [BP]+150H, AX
7 MOV AL, DS : [BX]+84H
8 MOV DS : [DI], AL
9 MOV AL, SS : [DI+20H]
Exercice 5.
Soit le code suivant :
MOV AX, 1110110111001b
MOV BX, 0600h
En partant du code ci-dessus, donnez la valeur du registre AX en binaire et en hexadécimale après exécution de chacune
des instructions dépendantes du tableau suivant :
Instruction AX (binaire) AX(Hexadécimale)
CF
AH AL AH AL
Initialement
1 CMP AX,BX
2 MOV [BX],0AAH
3 MOV AX,[200h]+400h
4 ADD AX,[200h]+400h
5 MOV AX, 2333H
6 SHL AL, 2
7 SHR AH, 2
8 ROL AX, 1
9 SAR AH, 2
10 ROR AX, 3
Pr. T. CHANYOUR Page 2 sur 2