Compte Rendu
Note de Recherches : Compte Rendu. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresn3 dw 3 dup (?) n4 dw ? data ends code segment assume code:cs,data:ds,pile:ss main : mov ax,data mov ds,ax mov ax,pile mov ss,ax mov sp,base mov ax,n1 cmp ax,n2 je etiq mov n4,0 jmp fin etiq : mov n4,1 fin : mov ah,4cH int 21H code ends end main
Programme :
Questions :
1. Que fait ce programme ? Quelle sera la valeur de n4 à la fin de l’exécution du programme ? Les valeurs de n1,n2,n3 sont-elles modifiées ? -La valeur de n4 est : 0. -Les valeurs n1,n2 et n3 ne sont pas modifiées.
2. La pile est composée de combien d’octet ? -On a dw 256 dup (?)=> 256*2=512octet. Donc la pile est composée de 512 octet.
3. Combien y a-t-il de variables crées dans le segment de données ? Quelle taille occupent-elles ? -4 variables dont la taille est : 2+2+2+2+2+1=11.
4. Que se passe-t-il si vous enlevez l’instruction jmp fin ? Quelle sera la valeur de n4 dans ce cas-là à la fin de l’exécution du programme ? -N4 aura toujours la valeur 1.
Les drapeaux (Flags)
But du TP : Connaitre les différents flags et leurs utilités.
I. Instructions et Flags
1-Quels sont les drapeaux qui peuvent être positionné par chacune des instructions suivantes :
| CF | ZF | SF | OF | PF | AF | IF | DF |
AND | * | * | * | * | * | * | | |
INC | | * | * | * | * | * | | |
SUB | * | * | * | * | * | * | | |
CMP | * | * | * | * | * | * | | |
MUL | * | | | * | | | | |
DIV | | | | | | | | |
AND | | * | * | | * | | | |
TEST | | * | * | | * | | | |
L’instruction add et le flag OF : L’addition de deux nombres positifs donne un nombre positif. L’addition de deux nombres négatifs donne un nombre négatif =>Résultat logique, donc OF=0. Dans le cas contraire OF=1.
2-Pour ces instructions proposer un programme permettant de positionner un ou plusieurs drapeaux. 3-Vérifier pratiquement les programmes proposés.
Instruction add :
Le programme ci-dessous permet de positionner les drapeaux suivant : CF=1, ZF=1, SF=0, OF=0, PF=1, AF=1.
mov ah,78h mov al, 88h add ah,al
Instruction sub :
Le programme ci-dessous permet de positionner les drapeaux suivant : CF=1, ZF=0, SF=1, OF=1, PF=0, AF=0.
mov ah,00h mov al, 80h sub ah,al
...