Einzelnen Beitrag anzeigen

Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#3

Re: Assembler: Flags bei CMP

  Alt 8. Dez 2003, 19:28
Mein Assembler-Buch sagt dazu:

Code:
Befehl  |  geprüfte Statusflags
-----------------------------------
JA/JBNE |  CF=0 und ZF=0
JAE/JNB |  CF=0
JB/JNAE |  CF=1
JBE/JNA |  FC=1 oder ZF=1
JE/JZ   |  ZF=!
JG/JNLE |  ZF=0
JGE/JNL |  SF gleich OF
JL/JNGE |  SF ungleich OF
JLE/JNG |  ZF=1
JNE/JNZ |  ZF=0
JC      |  CF=1
JNC     |  CF=0
JNP/JPO |  PF=0
JNS     |  SF=0
JO      |  OF=1
JP/JPE  |  PF=1
Und außerdem:

Zitat von Reiner Backer hat in 'Programmiersprache Assembler':
Das Carry Flag wird gesetzt, wenn nach einer Addition oder Subtraktion der Wertebereich in einem der Register überschritten ist. [...] Findet ein Übertrag statt, so steht das Carry Flag auf 1.

[...]

Das Parity Flag dient zur Fehlerprüfung bei der Datenübertragung über die serielle Schnittstelle. Das Parity Flag ist auf 1, wenn das Ergebnis der beiden Prüfsummen eine gerade Anzahl an Bytes im Low-Byte ergibt. Bei einer ungeraden Anzahl von bits wird das Parity Flag auf 0 gesetzt.

[...]

Das Auxiliary Flag [...] is dem Carry Flag sehr ähnlich. Zum Unterschied wird mit dem hilfsübertragsflag ein Übertrag von Bit 3 nach Bit 4 bei einer 8-Bit-Operation angezeigt. Bei einem Übertrag staht AF auf 1.

[...]

Das Zero Flag zeigt nach einer Operation an, ob das Ergebnis 0 ist oder nicht.Beim ergebnis 0 steht das Zero Flag auf 1.

[...]

Nach einem arithmetischen oder logischen Befhel befindet sich das höchstwertige Bit des Ergebnisses im Sign Flag. Das Sign Flag zeigt somit an, ob das Ergebnis positiv oder negativ ist. Ist das Ergebnis negativ, so wird das Sign Flag auf 1 gesetzt.

[...]

Wenn bei einer arithmetischen Operation ein Übertrag auf das höchstwertige Bit erfolgt, wird das Overflow Flag auf 1 gesetzt.
AF ist also nur für BCD-Arithmetik interessant und OF nur für Zahlen mit Vorzeichen wichtig.
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat