Sistemi E Reti

Il Registro Dei Flags

Emu8086: Analisi completa del registro FLAGS

Durata

50 minuti

Software

emu8086

Il Registro dei Flags è un registro speciale a 16 bit dell'architettura x86, di cui solo 9 bit sono effettivamente utilizzati.

differenza degli altri registri (come AX o BX) che contengono dati numerici o indirizzi, il registro dei Flags funge da pannello di controllo e di segnalazione: ogni suo bit attivo è un "interruttore" indipendente che indica lo stato della CPU dopo un'operazione o ne condiziona il comportamento futuro.

Il registro dei Flag è l'unico registro della CPU dove ogni singolo bit ha un compito specifico. Per studiarli meglio, li dividiamo in due tabelle separate in base alla loro funzione.


Flag di Stato (Status Flags)

Questi 6 bit reagiscono automaticamente alle operazioni aritmetiche e logiche della ALU.

FlagNomeSignificato quando è impostato a 1
CFCarry FlagRiporto (somma) o prestito (sottrazione) oltre il bit più significativo.
ZFZero FlagIl risultato dell'operazione è esattamente zero.
SFSign FlagIl risultato è negativo (copia il bit di segno MSB).
OFOverflow FlagErrore di segno: il risultato eccede il range dei numeri con segno.
PFParity FlagIl numero di bit "1" nel byte meno significativo del risultato è pari.
AFAuxiliary CarryRiporto/Prestito tra il terzo e il quarto bit (usato per calcoli BCD).

2. Flag di Controllo (Control Flags)

Questi 3 bit sono istruzioni impartite dal programmatore alla CPU per modificarne il modo di lavorare.

FlagNomeFunzione
DFDirection Flag0: Elaborazione stringhe in avanti. 1: Elaborazione stringhe all'indietro.
IFInterrupt Flag1: La CPU risponde agli interrupt esterni. 0: Gli interrupt sono disabilitati.
TFTrap FlagAttiva la modalità Single Step: la CPU si ferma dopo ogni istruzione (usato dai debugger).

Come visualizzare i flag in emu8086

  • Scrivi il tuo programma nell'editor.
  • Clicca sul tasto Emulate.
  • Nella finestra in basso trovi il pulsante che ti permette di aprire la finestra dei flags: cliccalo e si aprirà la finestra con gli 8 flags in quanto il flag TF rimane nascosto.




    Flags Register, Stato, Controllo, 8086, Sistemi e Reti,