0% ont trouvé ce document utile (0 vote)
94 vues2 pages

TD 3

Transféré par

oumaima nouari
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
94 vues2 pages

TD 3

Transféré par

oumaima nouari
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi