Kurze Übersicht über die Befehle des Z80
Abkürzungen:
r,r’ - Einfachregister A, B, C, D, E, H, L
dd - Doppelregister BC, DE, HL, SP
qq - Doppelregister AF, BC, DE, HL 33297usn13ueq7e
pp - Doppelregister BC, DE, SP
n - 8-Bit-Konstante
nn - 16-Bit-Konstante, Adresse
d - Verschiebung bei Adressierung über Indexregister, im Bereich -128 £ d £ 127 se297u3313ueeq
b - Bit, das in den Einzelbitbefehlen behandelt werden soll 0 £ b £ 7
m,M - Inhalt der 8-Bit-Speicherstelle, die durch HL adressiert wird (L enthält Bits 0-7 ; H Bits 8-15)
p - einer der Werte 00h, 08h, 10h, 18h, 20h, 28h, 30h, 38h
CY - Carry-Flag
T - Anzahl der Taktzyklen des Befehls
Bei Befehlen, die Flag-Bedingungen für Programmsprünge auswerten, sind 2 Taktzyklen angegeben. Die erste Zahl bezieht sich auf den Fall, daß der Sprung ausgeführt, die zweite dafür, daß kein Sprung ausgeführt wird und am nächsten im Speicher stehenden Befehl weitergearbeitet wird. Die Beeinflussung der Flags durch die Befehle wird hinten beschrieben.
8-Bit-Ladebefehle:
Die Ladebefehle transportieren 8-Bit-Daten intern zwischen Registern oder zwischen Registern und dem Speicher. Dabei steht im Operandenfeld als erstes der Zielspeicherplatz und danach (durch Komma getrennt) der Quellenspeicherplatz. Der Inhalt des Quellenspeicherplatzes wird bei diesen Befehlen nicht verändert.
|table cellspacing="0" cellpadding="0" cols="4">
Mnemonik |
T |
Wirkungsweise des Befehls |
SZHPNC
V |
LD r,r’ |
4 |
der Inhalt des Registers r’ wird in das Register r geladen |
------ |
LD r,n |
7 |
die 8-Bit-Konstante n wird im Register r gespeichert |
------ |
LD r,m |
7 |
der Inhalt des durch HL adressierten Speicherplatzes wird in das Register r geladen |
------ |
LD r,(IX+d)
LD r,(IY+d) |
19
19 |
der Inhalt des durch IX (oder IY) plus Verschiebung d adressierten Speicherplatzes wird in das Register r geladen |
------ |
LD m,r |
7 |
der Inhalt des Registers r wird in den durch HL adressierten Speicherplatz geladen |
------ |
LD (IX+d),r
LD (IY+d),r |
19
19 |
der Inhalt des Registers r wird in den durch IX (oder IY) plus Verschiebung d adressierten Speicherplatz geladen |
------ |
LD m,n |
10 |
die Konstante n wird in den durch HL adressierten Speicherplatz geladen |
------ |
LD (IX+d),n
LD (IY+d),n |
19
19 |
die Konstante n wird in den durch IX (oder IY) plus Verschiebung d adressierten Speicherplatz geladen |
------ |
LD A,(BC)
LD A,(DE) |
7
7 |
der Inhalt des durch BC (oder DE) adressierten Speicherplatzes wird in den Akkumulator (A-Register) geladen |
------ |
LD A,(nn) |
13 |
der Inhalt des Speicherplatzes nn wird in den Akkumulator (A-Register) geladen |
------ |
LD (BC),A
LD (DE),A |
7
7 |
der Inhalt des Akkumulators (A-Register) wird in den durch BC (oder DE) adressierten Speicherplatz geladen |
------ |
LD (nn),A |
13 |
der Inhalt des Akkumulators (A-Register) wird an die Stelle des Speicherplatzes nn geladen |
------ |
LD A,I |
9 |
der Inhalt des Interruptregisters I wird in den Akkumulator (A-Register) geladen |
**0F0- |
LD A,R |
9 |
der Inhalt des Refreshregisters R wird in den Akkumulator (A-Register) geladen |
**0F0- |
LD I,A |
9 |
der Inhalt des Akkumulators (A-Register) wird in das Interruptregister I geladen |
------ |