faecher:informatik:oberstufe:techinf:assembler:register:statusflags:start

Statusflags

Das Zeroflag, ZF, deutsch Nullflag, wird gesetzt, wenn das Ergebnis der letzten arithmetischen oder bitweise logischen Operation Null war. Beispiel:

mov ax,1 ;Zahlenwert 1 nach ax transportieren
dec ax ;ax um 1 erniedrigen, Ergebnis ist Null
       ;Zeroflag wird gesetzt

Das Signflag, SF, Vorzeichenflag ist gesetzt, wenn das Ergebnis der letzten Operation negativ war. Beispiel:

mov ax,5 ;Zahlenwert 5 nach ax einschreiben
sub ax,7 ;7 von ax subtrahieren Ergebnis ist negativ
         ;Signflag wird gesetzt

Das Carryflag, CF, Übertragsflag ist gesetzt, wenn bei der letzten Operation der vorzeichenlose Wertebereich überschritten wird. Anders ausgedrückt: wenn die Anzahl der vorhandenen Bits für das Ergebnis nicht ausreicht (s.auch Overflowflag) Beispiel:

mov al,250 ;Zahlenwert 250 nach al einschreiben
add al,10 ;10 zu al addieren. Ergebnis (260) überschreitet
          ;den Wertebereich, da AL ein 8-Bit-Register ist und die
          ;Werte 0..255 darstellen kann; Carryflag wird gesetzt

Das Overflowflag, OF, Überlaufsflag ist gesetzt, wenn bei der letzten Operation der vorzeichenbehaftete Wertebereich überschritten wird. Im Gegensatz zum Carryflag betrifft das Overflowflag das Rechnen mit vorzeichenbehafteten Zahlen, also Zahlen die positiv und negativ sein können. Beispiel:

mov al,120 ;Zahlenwert 120 nach al einschreiben
add al,10 ;10 zu al addieren. Ergebnis (130) überschreitet
          ;den Wertebereich, da AL ein 8-Bit-Register ist und die
          ;Werte -128..+127 darstellen kann; Overflowflag wird gesetzt

Das Parityflag, PF, Paritätsflag wird gesetzt, wenn bei der letzten Operation ein Bitmuster entstanden ist, das in den niederwertigen acht Bit aus einer geraden Anzahl von Einsen besteht. Das Parityflag wird relativ selten benutzt, u.a. weil es nur acht Bit auswertet. Beispiel:

mov dl,110010b ; binären Zahlenwert 110010 nach dl einschreiben
add dl,1 ;1 zu ax addieren. Das Ergebnis 110011 hat eine
         ;gerade Anzahl von Einsen -> Parityflag wird gesetzt

Das Auxiliary Carry Flag, AF, Hilfsübertragsflag, wird gesetzt, wenn bei der letzten Operation ein Übertrag von Bit 3 auf Bit 4, also ein Übertrag vom der unteren auf die obere Tetrade, ent- standen ist. Dieses Flag ist nur beim Rechnen mit BCD-Zahlen nützlich und wird prozessorintern von den Ausrichtungsbefehlen benutzt.

  • faecher/informatik/oberstufe/techinf/assembler/register/statusflags/start.txt
  • Zuletzt geändert: 13.09.2021 18:41
  • von sbel