Hvad er et statusregister?
Statusregistret - også kendt som flagregister, programstatusord og tilstandskoderegister - er defineret som et kollektiv af flagbit inde i en processor. Et register er et processor-kredsløb og ligner en hukommelsesplacering, hvilket betyder, at data kunne skrives og læses fra det. I modsætning til en hukommelsesplacering har statusregistret ikke ofte en adresse, fordi mikroprocessoren bruger den internt. I en central bearbejdningsenhed (CPU), der er 8-bit, kan en statusregistreringsbit indstilles , lig med nummeret 1, eller ryddes , lig med tallet 0, ved hjælp af forskellige processoroperationsresultater. Processoren sætter eller sletter undertiden selve bitene, men andre gange sætter eller rydder en bestemt programinstruktion bitene.
Statusregisterbits kaldes også flag eller flagbits og bruges af programmereren til bestemte programmeringsformål. Hvert flag i et statusregister har et unikt formål. Bæreflagget indstilles, hvis en tidligere operation foretog den syvende bit - eller negativt flag - overløb, eller gjorde bæreflagget til underløb. Det indstiller under skift af logik, sammenligning og aritmetik. Nul-flag indstiller, hvis det seneste driftsresultat var 0.
Et flag kaldet “interrupt disable” fungerer ved at tillade eller afvise betjening af afbrydelser, som er instruktioner, der midlertidigt standser visse operationer, så andre handlinger kan udføres. Når dette særlige flag sætter, er afbrydelser ikke tilladt at fungere, men når det er klart, er afbrydelser tilladt. Et andet flag kaldet decimalflag giver processoren mulighed for at følge en mere avanceret binær tilstand for at udføre fejlfri aritmetiske ligninger. Når flaget sætter, bruger det denne avancerede binære tilstand. En anden registerbit er break flag bit, der indstilles når kommandoen Force Interrupt (BRK) udføres.
Et overløbsflag indstilles under aritmetikoperationer, hvis en operation giver et ugyldigt resultat. Det negative flag indstiller, hvis den seneste operations resultat havde sat den til 1. Et sidste flag, kaldet bit 5, er navnløst og er altid sat til 1. Programmerere har i det væsentlige ingen brug for denne bestemte bit.
FLAGS-registeret er et eksempel på et statusregister, der blev brugt i visse centrale processorenheder og indeholdt aktuelle processorer. Den var 16 bit bred og blev efterfulgt af henholdsvis EFLAGS og RFLAGS, et 32-bit register og 64-bit register. FLAGS-registret havde imidlertid nogle flag, der adskiller sig fra det originale 8-bit-register, inklusive paritetsflag, hjælpeflag og fældeflag.