Wat is een statusregister?

Het statusregister - ook bekend als vlagregister, programmastatuswoord en conditiecoderegister - wordt gedefinieerd als een verzameling vlagbits in een processor. Een register is een processorcircuit en lijkt veel op een geheugenlocatie, wat betekent dat gegevens kunnen worden geschreven en gelezen. In tegenstelling tot een geheugenlocatie heeft het statusregister niet vaak een adres omdat de microprocessor dit intern gebruikt. In een centrale verwerkingseenheid (CPU) die 8-bit is, kan een statusregisterbit worden ingesteld , gelijk aan het nummer 1, of gewist , gelijk aan het nummer 0, door verschillende bewerkingsresultaten van de processor. De processor stelt soms de bits zelf in of wist deze, maar op andere momenten stelt een bepaalde programma-instructie de bits in of wist u de bits.

Statusregisterbits worden ook vlaggen of vlagbits genoemd en worden door de programmeur gebruikt voor bepaalde programmeerdoeleinden. Elke vlag in een statusregister heeft een uniek doel. De carry-vlag wordt ingesteld als een vorige bewerking de zevende bit - of negatieve vlag - overstroomde of de carry-vlag onderstroom maakte. Het wordt ingesteld tijdens verschuivingen van logica, vergelijking en rekenen. Nulvlag wordt ingesteld als het meest recente bewerkingsresultaat 0 was.

Een vlag genaamd "interrupt disable" werkt door de werking van interrupts toe te staan ​​of te weigeren. Dit zijn instructies die bepaalde bewerkingen tijdelijk stoppen zodat andere bewerkingen kunnen worden uitgevoerd. Wanneer deze specifieke vlag wordt ingesteld, mogen interrupts niet werken, maar als het duidelijk is, zijn interrupts toegestaan. Met een andere vlag, de decimale vlag, kan de processor een meer geavanceerde binaire modus volgen om foutloze rekenkundige vergelijkingen uit te voeren. Wanneer de vlag wordt ingesteld, gebruikt deze deze geavanceerde binaire modus. Een ander registerbit is het break-flagbit, dat wordt ingesteld wanneer de opdracht Force Interrupt (BRK) wordt uitgevoerd.

Een overloopvlag wordt tijdens rekenkundige bewerkingen ingesteld als een bewerking een ongeldig resultaat oplevert. De negatieve vlag wordt ingesteld als het resultaat van de meest recente bewerking is ingesteld op 1. Een laatste vlag, bit 5 genoemd, is naamloos en altijd ingesteld op 1. Programmeurs hebben in wezen geen nut voor dit specifieke bit.

Het FLAGS-register is een voorbeeld van een statusregister dat in bepaalde centrale verwerkingseenheden werd gebruikt en de huidige status van een processor bevatte. Het was 16 bits breed en werd opgevolgd door EFLAGS en RFLAGS, respectievelijk een 32-bits register en 64-bits register. Het FLAGS-register had echter enkele vlaggen die anders waren dan het oorspronkelijke 8-bits register, waaronder de pariteitsvlag, hulpvlag en trapvlag.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?