Télécharger - Site personnel de Serge Moutou
Télécharger - Site personnel de Serge Moutou
Télécharger - Site personnel de Serge Moutou
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
segment sera le segment <strong>de</strong> données DS.<br />
Exemple : MOV AX,[200]<br />
3°) Adressage indirect par registre<br />
Dans ce cas l'adresse n'est plus donnée directement dans l'instruction mais est stockée provisoirement dans un<br />
registre.<br />
Exemple :<br />
MOV BX,200<br />
MOV AX,[BX] aura le même effet que l'instruction précé<strong>de</strong>nte. Cette instruction ne peut utiliser que BX comme registre<br />
entre crochets.<br />
4°) Adressage relatif à une base<br />
L'adresse effective est calculée à partir d'une base, stockée dans un registre <strong>de</strong> base BX ou BP et d'un déplacement.<br />
Exemple : MOV BX,1F0<br />
MOV AX,[BX+10]<br />
5°) Adressage direct in<strong>de</strong>xé<br />
C'est le dual du précé<strong>de</strong>nt : la base est une constante et le déplacement est dans un registre d'in<strong>de</strong>s SI ou DI.<br />
Exemple : MOV DI,10<br />
MOV AX,[1F0+DI]<br />
6°) Adressage in<strong>de</strong>xé par rapport à une base<br />
C'est la combinaison <strong>de</strong>s <strong>de</strong>ux adressages précé<strong>de</strong>nts.<br />
Exemple : MOV AX,[BX+DI+1E0].<br />
Exercice 13<br />
Reprendre tous les exemples et calculer les adresses physiques correspondants aux mo<strong>de</strong>s d'adressage présentés.<br />
On donne pour cela : DS=10FF, BX=0100, DI=0200<br />
VI) Les instructions<br />
1°) Les instructions <strong>de</strong> transfert<br />
- Transfert <strong>de</strong> données :<br />
MOV : déjà étudiée.<br />
PUSH (empiler), POP (dépiler) : POP AX ; PUSH BX<br />
XCHG (échange) : XCHG AX,BX ; XCHG BL,[350]<br />
- Transfert d'adresses<br />
LEA (Load effective Adress) : LEA BX,[BX+DI+200] met BX+DI+200 et non son contenu dans BX.<br />
IN, OUT : instructions d'entrées/sorties. Opéran<strong>de</strong>s : accumulateur (AX ou AL), port. Si le numéro <strong>de</strong> port est inférieur à<br />
FF il peut - être écrit directement dans l'instruction, autrement il faudra le charger dans DX.<br />
2°) Les instructions arithmétiques et logiques<br />
- les instructions logiques : AND, OR, XOR avec tous les mo<strong>de</strong>s d'adressage.<br />
- TEST, NOT test (<strong>de</strong> <strong>de</strong>ux opéran<strong>de</strong>s) et négation,<br />
- décalages et rotations : SHL, SHR, ROL, ROR, SAR (décalage signé), RCR et RCL (décalage avec la retenue) : SHL<br />
AX,CL....<br />
- les instructions arithmétiques : ADD, ADC, DAA, INC, SUB, SBB, DAS, DEC, NEG, MUL, IMUL, AAM, DIV, IDIV, AAD<br />
Une instruction est très importante à détailler : la comparaison CMP op1,op2<br />
36 /163