Viene chiamato EFLAG ed il suo contenuto riporta 32 bit di stato, ciascuno dei quali ha un suo peculiare significato. Sebbene non sia direttamente accessibile mediante il suo nome, come avviene con tutti gli altri registri precedenti, è possibile in qualche modo leggerlo ed alterarlo indirettamente, tramite l'aiuto di un paio di istruzioni.
PUSHFD ;Salva lo stato dei flags nello stack POP EAX ;Estrae dallo stack e salva in EAX (o qualunque altro registro generale)
PUSH EAX ;Salva il registro EAX sullo stack (o qualunque altro registro generale) POPFD ;Estrae dallo stack e memorizza nel registro dei flags
Le istruzioni precedenti salvano e ripristinano lo stato di EFLAG nella versione a 32 bit. Ma è possibile salvare/ripristinare solo i 16 bit meno significativi utilizzando PUSHF/POP AX e PUSH AX/POPF rispettivamente.
La dimensione (16 o 32 bit) dipende dalla dimensione dell'operando all'interno del contesto corrente.
Nel registro dei flag a ciascun bit (o raggruppamento di essi) viene assegnato un significato preciso ed indica lo stato del processore. Se un dato bit viene impostato ad 1 si dice che quel flag è nello stato set, se impostato a 0 si dice che è nello stato reset o clear.
Nella tabella seguente i numeri indicano la posizione del bit, mentre le sigle indicano il nome simbolico del flag.
V8 | RF | NT | PL | PL | OF | DF | IF | TF | SF | ZF | AF | PF | CF | ||||||||||||||||||
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Significato di ciascun Flag:
Attenzione: i bit non descritti non vengono utilizzati e sono riservati ad uso futuro; il loro valore non dovrebbe essere modificato e, se letto, non dovrebbe essere preso in considerazione.
L'amore ispira somme gesta ma raramente permette che diventino concrete.
Chamfort