Che cos'è un registro di stato?

Il registro di stato - noto anche come registro flag, parola di stato del programma e registro codice condizione - è definito come un collettivo di bit flag all'interno di un processore. Un registro è un circuito del processore ed è molto simile a una posizione di memoria, il che significa che i dati potrebbero essere scritti e letti da esso. A differenza di una posizione di memoria, il registro di stato non ha spesso un indirizzo perché il microprocessore lo utilizza internamente. In un'unità di elaborazione centrale (CPU) a 8 bit, è possibile impostare un bit del registro di stato, uguale al numero 1, o azzerato , uguale al numero 0, in base a risultati di funzionamento del processore assortiti. Il processore a volte imposta o cancella i bit stessi, ma altre volte, una particolare istruzione di programma imposta o cancella i bit.

I bit del registro di stato sono anche chiamati flag o bit di flag e vengono utilizzati dal programmatore per determinati scopi di programmazione. Ogni flag in un registro di stato ha uno scopo unico. Il flag di carry si imposta se un'operazione precedente ha fatto traboccare il settimo bit - o flag negativo - o ha reso il underflow del flag di carry. Si imposta durante i turni di logica, confronto e aritmetica. Il flag zero viene impostato se il risultato dell'operazione più recente è stato 0.

Un flag chiamato "disabilita interrupt" opera consentendo o impedendo il funzionamento degli interrupt, che sono istruzioni che arrestano temporaneamente determinate operazioni in modo da poter eseguire altre operazioni. Quando questo particolare flag viene impostato, gli interrupt non possono funzionare, ma quando è chiaro, gli interrupt sono consentiti. Un altro flag chiamato flag decimale consente al processore di seguire una modalità binaria più avanzata per eseguire equazioni aritmetiche impeccabili. Quando il flag si imposta, utilizza questa modalità binaria avanzata. Un altro bit di registro è il bit del flag di interruzione, che viene impostato quando viene eseguito il comando Force Interrupt (BRK).

Un flag di overflow viene impostato durante le operazioni di aritmetica se un'operazione produce un risultato non valido. Il flag negativo viene impostato se il risultato dell'operazione più recente è stato impostato su 1. Un ultimo flag, chiamato bit 5, è senza nome e sempre impostato su 1. I programmatori essenzialmente non possono utilizzare questo particolare bit.

Il registro FLAGS è un esempio di un registro di stato che è stato utilizzato in alcune unità del processore centrale e conteneva gli stati correnti di un processore. Aveva una larghezza di 16 bit ed è stato seguito da EFLAGS e RFLAGS, rispettivamente un registro a 32 bit e un registro a 64 bit. Il registro FLAGS, tuttavia, aveva alcuni flag che erano diversi dal registro originale a 8 bit, inclusi il flag di parità, flag ausiliario e flag trap.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?