Befehl |
Kurzbeschreibung |
Erläuterung |
Flags |
ADD A,r |
A <-- A + r |
Der Inhalt des Registers r wird zum Inhalt des Akkumulators addiert; das Ergebnis wird im Akkumulator abgelegt. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
ADD A,nn |
A <-- A + nn |
Die Konstante nn wird zum Register A addiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
ADD A,(HL) |
A <-- A + (HL) |
Der Inhalt der Speicherzelle, die durch HL adressiert wird, wird zum Register A addiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
ADD A,(IX+dd) ADD A,(IY+dd) |
A <-- A + (IX+dd)
A <-- A + (IY+dd) |
Der Inhalt der Speicherzelle, die durch IX+dd bzw. IY+dd adressiert wird, wird zum Register A addiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
ADC A,r |
A <-- A + r + CF |
Der Inhalt des Registers r wird zum Inhalt des Akkumulators unter Einbeziehung des Carry-Flags addiert; das Ergebnis wird im Akkumulator abgelegt. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
ADC A,nn |
A <-- A + nn + CF |
Die Konstante nn wird zum Register A unter Einbeziehung des Carry-Flags addiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
ADC A,(HL) |
A <-- A+(HL)+CF |
Der Inhalt der Speicherzelle, die durch HL adressiert wird, wird zum Register A unter Einbeziehung des Carry-Flags addiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
ADC A,(IX+dd)
ADC A,(IY+dd) |
A <-- A+(IX+dd)+CF
A <-- A+(IY+dd)+CF |
Der Inhalt der Speicherzelle, die durch IX+dd bzw. IY+dd adressiert wird, wird unter Einbeziehung des Carry-Flags zum Register A addiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
SUB A,r |
A <-- A - r |
Der Inhalt des Registers r wird vom Inhalt des Akkumulators subtrahiert; das Ergebnis wird im Akkumulator abgelegt. |
S=1, wenn Ergebnis negativ
|
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
SUB A,nn |
A <-- A - nn |
Die Konstante nn wird vom Register A subtrahiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
SUB A,(HL) |
A <-- A - (HL) |
Der Inhalt der Speicherzelle, die durch HL adressiert wird, wird vom Register A subtrahiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
SUB A,(IX+dd) SUB A,(IY+dd) |
A <-- A - (IX+dd)
A <-- A - (IY+dd) |
Der Inhalt der Speicherzelle, die durch IX+dd bzw. IY+dd adressiert wird, wird vom Register A subtrahiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
SBC A,r |
A <-- A - r - CF |
Der Inhalt des Registers r wird vom Inhalt des Akkumulators unter Einbeziehung des Carry-Flags subtrahiert; das Ergebnis wird im Akkumulator abgelegt. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
SBC A,nn |
A <-- A - nn - CF |
Die Konstante nn wird vom Register A unter Einbeziehung des Carry-Flags subtrahiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
SBC A,(HL) |
A <-- A - (HL) - CF |
Der Inhalt der Speicherzelle, die durch HL adressiert wird, wird vom Register A unter Einbeziehung des Carry-Flags subtrahiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
SBC A,(IX+dd)
SBC A,(IY+dd) |
A <-- A-(IX+dd)–CF
A <-- A-(IY+dd)-CF |
Der Inhalt der Speicherzelle, die durch IX+dd bzw. IY+dd adressiert wird, wird unter Einbeziehung des Carry-Flags vomRegister A subtrahiert; das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
AND r |
A <-- A AND r |
Der Inhalt des Registers r wird mit dem Inhalt des Akkumulators durch ein logisches UND bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
AND nn |
A <-- A AND nn |
Die Konstante nn wird mit dem Inhalt des Akkumulators durch ein logisches UND bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
AND (HL) |
A <-- A AND nn |
Der Inhalt der Speicherzelle, die durch Register HL adressiert wird, wird mit dem Inhalt des Akkumulators durch ein logisches UND bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
AND (IX+dd)
AND (IY+dd) |
A <-- A AND (IX+dd)
A <-- A AND (IY+dd) |
Der Inhalt der Speicherzelle, die durch IX+dd bzw. durch IY+dd adressiert wird, wird mit dem Inhalt des Akkumulators durch ein logisches UND bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
OR r |
A <-- A OR r |
Der Inhalt des Registers r wird mit dem Inhalt des Akkumulators durch ein logisches ODER bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
OR nn |
A <-- A OR nn |
Die Konstante nn wird mit dem Inhalt des Akkumulators durch ein logisches ODER bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
OR (HL) |
A <-- A OR nn |
Der Inhalt der Speicherzelle, die durch Register HL adressiert wird, wird mit dem Inhalt des Akkumulators durch ein logisches ODER bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
OR (IX+dd) OR (IY+dd) |
A <-- A OR (IX+dd)
A <-- A OR (IY+dd) |
Der Inhalt der Speicherzelle, die durch IX+dd bzw. durch IY+dd adressiert wird, wird mit dem Inhalt des Akkumulators durch ein logisches ODER bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
XOR r |
A <-- A XOR r |
Der Inhalt des Registers r wird mit dem Inhalt des Akkumulators durch ein logisches exklusives ODER bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
XOR nn |
A <-- A XOR nn |
Die Konstante nn wird mit dem Inhalt des Akkumulators durch ein logisches exklusives ODER bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
XOR (HL) |
A <-- A XOR nn |
Der Inhalt der Speicherzelle, die durch Register HL adressiert wird, wird mit dem Inhalt des Akkumulators durch ein logisches exklusives ODER bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
XOR (IX+dd)
XOR (IY+dd)
|
A <-- A XOR (IX+dd)
A <-- A XOR (IY+dd)
|
Der Inhalt der Speicherzelle, die durch IX+dd bzw. durch IY+dd adressiert wird, wird mit dem Inhalt des Akkumulators durch ein logisches exklusives ODER bitweise verknüpft. Das Ergebnis wird im Akkumulator abgespeichert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1 |
C=0 |
N=0 |
P/V=1, wenn Parität gerade, sonst P/V=0 |
CP r |
A - r |
Der Inhalt des Registers r wird mit dem Inhalt des Akkumulators verglichen. Es werden keine Register geändert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
CP nn |
A - nn |
Die Konstante nn wird mit dem Akkumulator verglichen. Es werden keine Register geändert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
CP (HL) |
A - (HL) |
Der Inhalt der Speicherzelle, die durch HL adressiert wird, wird mit Register A verglichen. Es werden keine Register geändert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
CP (IX+dd)
CP (IY+dd) |
A - (IX+dd)
A - (IY+dd) |
Der Inhalt der Speicherzelle, die durch IX+dd bzw. IY+dd adressiert wird, wird mit Register A verglichen. Es werden keine Register geändert. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C=1, wenn Übertrag von Bit 7 |
N=1 |
P/V=1, wenn Überlauf, sonst P/V=0 |
INC r |
r <-- r + 1 |
Der Inhalt des Registers r wird um eins erhöht. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C bleibt unverändert |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
INC (HL) |
(HL) <-- (HL) + 1 |
Der Inhalt der Speicherzelle, die von HL adressiert wird, wird um eins erhöht. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C bleibt unverändert |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
INC (IX+dd)
INC (IY+dd) |
(IX+dd) <--(IX+dd)+1
(IY+dd) <--(IY+dd)+1 |
Der Inhalt der Speicherzelle, die von IX+dd bzw. IY+dd adressiert wird, wird um eins erhöht. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 3, sonst H=0 |
C bleibt unverändert |
N=0 |
P/V=1, wenn Überlauf, sonst P/V=0 |
DEC r |
r <-- r - 1 |
Der Inhalt des Registers r wird um eins erniedrigt. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C bleibt unverändert |
N=0 |
P/V=1, wenn Unterlauf, sonst P/V=0 |
DEC (HL) |
(HL) <-- (HL) - 1 |
Der Inhalt der Speicherzelle, die von HL adressiert wird, wird um eins erniedrigt. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C bleibt unverändert |
N=0 |
P/V=1, wenn Unterlauf, sonst P/V=0 |
DEC (IX+dd)
DEC (IY+dd) |
(IX+dd)<--(IX+dd)–1
(IY+dd)<--(IY+dd)-1 |
Der Inhalt der Speicherzelle, die von IX+dd bzw. IY+dd adressiert wird, wird um eins erniedrigt. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn Übertrag von Bit 4, sonst H=0 |
C bleibt unverändert |
N=0 |
P/V=1, wenn Unterlauf, sonst P/V=0 |
CPL |
A <-- not A |
Der Inhalt des Akkumulators wird Bit für Bit invertiert und wieder im Akkumulator abgelegt. |
H=1 |
N=1 |
alle anderen Flags unverändert |
NEG |
A <-- 0 - A |
Zum Inhalt des Akkumulators wird das 2er-Komplement gebildet und das Ergebnis wieder im Akkumulator abgelegt. |
S=1, wenn Ergebnis negativ |
Z=1, wenn Ergebnis = 0 |
H=1, wenn kein Übertrag von Bit 4, sonst H=0 |
C=1, wenn Ergebnis <> 0, sonst C=0 |
N=1 |
P/V=1, wenn Akkumulator = 80H vor der Negation |
DAA |
Dezimalanpassung. |
Der Inhalt des Akkumulators wird in eine gepackte BCD-Zahl umgeformt. Dieser Befehl darf nur nach einer Addition bzw. Subtraktion verwendet werden und dient zur Unterstützung von Addition und Subtraktion mit BCD-Zahlen. |
S = Bit 7 des Akkumulators |
Z=1, wenn Ergebnis = 0 |
H verändert |
C verändert |
N unverändert |
P/V=1 wenn Akkumulator gerade Anzahl von Nullbits enthält |