Hva er et statusregister?
Statusregisteret - også kjent som flaggregister, programstatusord og tilstandskoderegister - er definert som et kollektiv av flaggbiter inne i en prosessor. Et register er en prosessorkrets og er omtrent som et minneplass, noe som betyr at data kan skrives og leses fra den. I motsetning til et minneplass, har ikke statusregisteret ofte en adresse fordi mikroprosessoren bruker den internt. I en sentral prosesseringsenhet (CPU) som er 8-bit, kan en statusregisterbit settes , lik tallet 1, eller ryddet , lik tallet 0, ved forskjellige prosessordriftsresultater. Prosessoren setter eller tømmer noen ganger selve bitene, men andre ganger setter eller sletter en bestemt programinstruksjon bitene.
Statusregisterbiter kalles også flagg, eller flaggbiter, og brukes av programmereren for visse programmeringsformål. Hvert flagg i et statusregister har et unikt formål. Bæreflagget angir hvis en tidligere operasjon fikk den syvende biten - eller det negative flagget - til å strømme over, eller fikk bæreflagget til å strømme. Det stilles i løpet av skift av logikk, sammenligning og aritmetikk. Nullflagg angir om det siste operasjonsresultatet var 0.
Et flagg kalt “interrupt disable” opererer ved å tillate eller ikke tillate operasjonen av avbrytelser, som er instruksjoner som midlertidig stopper visse operasjoner slik at andre operasjoner kan utføres. Når dette flagget setter, har ikke avbrytelser lov til å fungere, men når det er klart, er avbrudd tillatt. Et annet flagg kalt desimalt flagg gjør at prosessoren kan følge en mer avansert binær modus for å utføre feilfri aritmetiske ligninger. Når flagget setter, bruker det denne avanserte binære modus. En annen registerbit er break flag bit, som angis når Force Interrupt (BRK) kommandoen utføres.
Et overløpsflagg angis under aritmetikkoperasjoner hvis en operasjon gir et ugyldig resultat. Det negative flagget angir hvis den nyeste operasjonens resultat hadde satt seg til 1. Et siste flagg, kalt bit 5, er navnløst og er alltid satt til 1. Programmerere har egentlig ingen bruk for denne bestemte biten.
FLAGS-registeret er et eksempel på et statusregister som ble brukt i visse sentrale prosessorenheter og inneholdt strømtilstander for en prosessor. Den var 16 bit bred og ble etterfulgt av henholdsvis EFLAGS og RFLAGS, et 32-bitsregister og 64-bitsregister. FLAGS-registeret hadde imidlertid noen flagg som var forskjellige fra det opprinnelige 8-bits registeret, inkludert paritetsflagget, hjelpe flagg og felleflagg.