0% ont trouvé ce document utile (0 vote)
37 vues8 pages

Soustraction binaire et instructions MOV

.............. Hzjzubzuebelzpapo1nz8dbfidneiznloakdbdjdbdjdbdbjdbdbfjdbejebjdjee

Transféré par

wissw6077
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)
37 vues8 pages

Soustraction binaire et instructions MOV

.............. Hzjzubzuebelzpapo1nz8dbfidneiznloakdbdjdbdjdbdbjdbdbfjdbejebjdjee

Transféré par

wissw6077
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

14/05/2022

Révision
2021-2022

Soustraction des binaires positifs (bis)

❑ Soustraire 17310 à 21710


❑ Etape 1 : Traduire en binaire

Décimal Binaire Complément à 1 Complément à 2


217 11010101
11011001 00100110 00100111
173 10101101 01010010 01010011
01011110

❑ Etape 2 : Effectuer l’addition

Addition binaire Soustraction décimale


1 1 1 1 1 1 -1
-1
1 1 0 1 0
1 1 0 1
0 1 7
22 11
11 37
+ 0 1 0 1 1
0 1 1 0
0 1 –– 11 767 3
23
1 0 0 1 1
0 0
1 0 0
1 1 0
1 0 44 44

1
14/05/2022

Les binaires à virgule flottante


Conversion binaire IEEE 754 vers décimal réel

◼ Soit N = 1 10111010 101000000000000000000002

◼ N est codé en simple précision donc


◼ taille(mantisse) = 23
◼ biais = 127
1 10111010 10100000000000000000000

-1 186 – 127 (1 + 2-1 + 2-3)259


=
(1 + 0.5 + 0.125)259

N = -1.625  259

Valeurs des Registres


On considère que la valeur de IP est 0100. Compléter le tableau suivant :
AL AH BL BH DX IP CF OF
MOV AX, 07BE8H E8 8B 00 00 0000 0103 0 0

MOV BX, 0EA71H 71 EA 0106 0 0

ADD AX, BX 59 76 0108 1 1

MOV BX, 010h 10 00 010B 1 1

MUL BX 90 65 0007 010D 1 1

2
14/05/2022

Valeurs des Registres


On considère que la valeur de IP est 0100. Compléter le tableau suivant :
AL AH BL BH DX IP CF OF
MOV AX, 07BE8H E8 8B 00 00 0000 0103 0 0

MOV BX, 0EA71H 71 EA 0106 0 0

ADD AX, BX 59 76 0108 1 1

MOV BX, 010h 10 00 010B 1 1

MUL BX 90 65 0007 010D 1 1

L’instruction MOV
Commenter chacune des instructions suivantes :
MOV AX, 0B800h
MOV DS, AX
MOV CL, 'A'
MOV CH, 11011111b ;
MOV BX, 15Eh
MOV [BX], CX

3
14/05/2022

L’instruction MOV
Commenter chacune des instructions suivantes :
MOVMOV AX, 0B800h
AX, 0B800h ; Affecter à AX la valeur hexadécimale de B800h
MOVMOV DS, AX
DS, AX ; Copier la valeur de AX à DS.
MOVMOV CL, 'A'
CL, 'A' ; Affecter à CL le code ASCII de 'A', qui est 41h.
MOVMOV CH, 11011111b; Affecter à CH la valeur binaire 11011111 (DF).
CH, 11011111b
MOVMOV
BX, 15Eh
BX, 15Eh ; Affecter à BX la valeur 15Eh.
MOVMO
[BX],V CX
[BX], CX ; Copier le contenu de CX à l’emplacement mémoire B800:015E

ADD/ADC/SHR/SHL

Donner ligne par ligne le contenu des registres manipulés ainsi que celui de l’indicateur CF

AL BX CX CF
MOV BX, 8193 2001
MOV AL,81 51
MOV CL,82 0052
ADC AL,CL A3 0
SHR AL,1 51 1
ADC CL,AL 00A4 0
ADD AL,0F6h 47 1
SHL BH,1 4001 0

4
14/05/2022

ADD/ADC/SHR/SHL
Donner ligne par ligne le contenu des registres manipulés ainsi que celui de l’indicateur CF

AL BX CX CF
MOV BX, 8193 2001 0
MOV AL,81 51 0
MOV CL,82 0052 0
ADC AL,CL A3 0
SHR AL,1 51 1
ADC CL,AL 00A4 0
ADD AL,0F6h 47 1
SHL BH,1 4001 0

NB: Voir SUB/SBB/SAR/SAL

ADD/ADC/SHR/SHL

Donner ligne par ligne le contenu des registres manipulés ainsi que celui de l’indicateur CF et SF

AL BL CF SF
STC
MOV AL, 13
MOV BL, 7
SUB AL,BL
CMC
SBB AL,BL

5
14/05/2022

ADD/ADC/SHR/SHL
Donner ligne par ligne le contenu des registres manipulés ainsi que celui de l’indicateur CF et SF

AL BL CF SF
STC 1
MOV AL, 13 0D 1
MOV BL, 7 07 1
SUB AL,BL 06 0
CMC 1
SBB AL,BL FE 1 1

Exercices
Exercice 1
Supposons que DS = 1000h; SS = 2000h; ES = 3000h; BX = 4000h; SI = 5000h; DI
= 6000h et BP = 7000h.
Trouver l'adresse mémoire à partir de quelle le 8086 accède aux données lors de
l'exécution de chacun des instructions suivantes :
1. MOV AX, [BX]
2. MOV BX, [SI]
3. MOV AL, [DI]
4. MOV BH, SS: [SI]
5. MOV CX, ES: [DI]
6. MOV AX, [BX+DI]
7. MOV AH, [BX+10]
8. MOV CX, DS: [BP+4]

6
14/05/2022

Exercice
Adresse physique = adresse de segment * 10H + offset

MOV AX, [BX] DS*10H+BX=10000+4000=14000,14001 Car il va lire deux octets successifs


MOV BX, [SI] DS*10H+SI=10000+5000=15000,15001 Car il va lire deux octets successifs
MOV AL, [DI] DS*10H+DI=10000+6000=16000 Car il va lire un seule octet
MOV BH, SS: [SI] SS*10H+SI=20000+5000=25000 SS (Stack Segment) pointe sur la base du
segment qui contient la pile gérée par les
registres SP et BP ;
MOV CX, ES: [DI] ES*10H+DI=30000+6000=36000, 36001 ES (Extra Segment) pointe sur la base d'un
segment supplémentaire qui est généralement
utilisé pour compléter le segment de données.

MOV AX, [BX+DI] DS*10H+DI+BX=10000+6000+4000 Car il va lire deux octets successifs


=1A000, 1A001
MOV AH, [BX+10H] DS*10H+BX+10=10000+4000+10=14010 Car il va lire un seule octet
MOV CX, DS: DS*10H+BP+4=10000+7000+4 Car il va lire deux octets successifs
[BP+4]
=17004, 17005

Exercice2
Définir le type d’adressage pour chacune des instructions suivantes :
MOV CX, 10 immédiat

MOV DI, 0 immédiat


MOV AX, CD Registre
MOV AL, [7000h] Direct
MOV AL, 2345h La taille de la donnée dépasse la taille du registre
DEC CX implicite
ADD AX, [DI+0200h] Indexé avec déplacement = relatif indexée
ADD AX, [BX+0100h] Basé avec déplacement = relatif basée

MOV [0300h], AX direct


MOV CS, 3490h Le registre segment CS ne peut pas modifier directement
MOV CS, BH Le registre segment CS ne peut pas modifier directement
MOV IP, 20h Le registre IP ne peut pas modifier directement
MOV DS, 20h Le registre DS ne peut pas recevoir une valeur immédiate
MOV DS, AX Registre

7
14/05/2022

Exercice2
Définir le type d’adressage pour chacune des instructions suivantes :
MOV CX, 10 immédiat

MOV DI, 0 immédiat


MOV AX, CD Registre
MOV AL, [7000h] Direct
MOV AL, 2345h La taille de la donnée dépasse la taille du registre
DEC CX implicite
ADD AX, [DI+0200h] Indexé avec déplacement = relatif indexée
ADD AX, [BX+0100h] Basé avec déplacement = relatif basée

MOV [0300h], AX direct


MOV CS, 3490h Le registre segment CS ne peut pas modifier directement
MOV CS, BH Le registre segment CS ne peut pas modifier directement
MOV IP, 20h Le registre IP ne peut pas modifier directement
MOV DS, 20h Le registre DS ne peut pas recevoir une valeur immédiate
MOV DS, AX Registre

Vous aimerez peut-être aussi