You are on page 1of 2

Zero Flag (ZF)

Cet indicateur est positionn 1 si les deux oprandes utiliss sont gaux, sinon positionn 0. Son nom vient de la diffrence
nulle entre les deux oprandes.

Overflow Flag (OF)


Cet indicateur est positionn 1 si le dernier rsultat a dbord de la taille du registre,sinon 0 .
Cet indicateur est utilis par les sauts conditionnels :

L'instruction JO permet de poursuivre l'excution l'adresse indique si l'incateur OF est 1 (Jump if Overflow),
L'instruction JNO permet de poursuivre l'excution l'adresse indique si l'incateur OF est 0 (Jump if No
Overflow),

Quand cet indicateur est 1, l'instruction INTO (INTerrupt if Overflow) appelle l'interruption 4 (dbordement). S'il est 0,
l'instruction INTO ne fait rien.

Carry Flag (CF)


Cet indicateur est positionn 1 si la dernire opration a gnre une retenue (mode non sign),sinon 0 .
Trois instructions permettent de modifier cet indicateur :

L'instruction CLC (CLear Carry) positionne l'indicateur CF 0 (pas de retenue),


L'instruction STC (SeT Carry) positionne l'indicateur CF 1 (retenue),
L'instruction CMC (CompleMent Carry) change l'indicateur CF 0 s'il valait 1, ou 1 s'il valait 0.

Cet indicateur est utilis par les sauts conditionnels (JC, JNC, JB, JNB, ...).
Il est galement pris en compte par les instructions arithmtiques suivantes :

L'instruction ADC (ADd with Carry) ajoute la valeur de l'indicateur la somme des oprandes,
L'instruction SBB (SuBstract with Borrow) soustrait la valeur de l'indicateur la diffrence entre les oprandes.

Auxiliary carry Flag (AF)


Cet indicateur est positionn 1 si la dernire opration a gnre une retenue du bit numro 3 vers le bit numro 4, 0 sinon.

Sign Flag (SF)


Cet indicateur est positionn 1 si la dernire opration a gnre un rsultat ngatif, 0 s'il est positif ou nul.

Parity Flag (PF)


Cet indicateur est positionn 1 si dans les 8 bits de poids faible du rsultat de la dernire opration, le nombre de bits 1 est
pair, 0 si ce nombre est impair.
Cet indicateur est utile pour la dtermination du bit de parit pour la transmission octet par octet.

Interrupt Flag (IF)


Cet indicateur est positionn 1 si les interruptions sont autorises, 0 sinon.
Deux instructions permettent de modifier cet indicateur :

L'instruction CLI (CLear Interrupt) positionne l'indicateur IF 0 (interruptions ignores),


L'instruction STI (SeT Interrupt) positionne l'indicateur IF 1 (interruption autorises).

Direction Flag (DF)


Cet indicateur est positionn 1 si le transfert de donnes se fait en dcrmentant les offsets, 0 sinon (incrmentation des
offsets). Cet indicateur modifie le comportement des instructions de chanes d'octets (STOS*, LODS*, CMPS*, SCAS*,
MOVS*).
Deux instructions permettent de modifier cet indicateur :

L'instruction CLD (CLear Direction) positionne l'indicateur DF 0 (UP : incrmentation des offsets),
L'instruction STD (SeT Direction) positionne l'indicateur DF 1 (DOWN : dcrmentation des offsets).

Trap Flag (TF)


Cet indicateur est positionn 1 pour excuter les instructions en mode pas pas. Avant chaque instruction, l'interruption 1
(INT 1) est appele. Cette interruption est utilise par les dbogueurs.

Accs au registre des indicateurs


Les indicateurs sont utiliss par les instructions de saut conditionnels.
Il est possible d'accder au registre des indicateurs de deux manires :

En utilisant la pile :
o Le registre des indicateurs est copi sur la pile (empil) par l'instruction PUSHF,
o Il est lu depuis la pile (dpil) par l'instruction POPF.
En passant par le registre AH :
o L'instruction LAHF charge les 8 bits de poids faible du registre des indicateurs vers le registre AH,
o L'instruction SAHF copie le contenu du registre AH dans les 8 bits de poids faible du registre des
indicateurs.

You might also like