Ladebefehle
Ladebefehle bewirken den Transport von Information von einer Stelle im Computersystem zu einer anderen Stelle. Die Quell- und Zieloperanden können entweder Register oder eine Stelle im Speicher sein, der Quelloperand bleibt dabei unverändert. Manche dieser Befehle bewegen jeweils ein Byte, manche ein Wort. Die Flags bleiben bei allen Ladebefehlen unverändert, ausgenommen die Befehle zum Laden der Register I und R in den Akkumulator.
Befehl |
Kurzbeschreibung |
Erläuterung |
Flags |
LD r1,r2 |
r1 <-- r2 |
Lädt das Register r1 mit dem Inhalt von Register r2. |
unverändert |
LD r1,nn |
r1 <-- nn |
Lädt das Register r1 mit der Konstante nn. |
unverändert |
LD r1,(HL) |
r1 <-- (HL) |
Lädt das Register r1 mit dem Wert, der im Speicher an der Stelle steht, die durch das Register HL adressiert wird. |
unverändert |
LD r1,(IX+d)
LD r1,(IY+d) |
r1 <-- (IX+d),
r1 <-- (IY+d) |
Lädt das Register r1 mit dem Wert, der im Speicher an der Stelle steht, die durch das Register IX + Offset d (bzw. IY + Offset d) adressiert wird.
Beispiel: LD A,(IX+12) lädt das Register A mit dem Wert aus dem Speicher an der Adresse IX+12. |
unverändert |
LD (HL),r1 |
(HL) <-- r1 |
Speichert den Inhalt von Register r1 an der Stelle im Speicher, die durch das Register HL adressiert wird. |
unverändert |
LD (IX+d),r1
LD (IY+d),r1 |
(IX+d) <-- r1,
(IY+d) <-- r1 |
Speichert den Inhalt von Register r1 an der Stelle im Speicher,die durch das Register IX + Offset d (bzw. IY + Offset d) adressiert wird. |
unverändert |
LD A,(BC) |
A <-- (BC) |
Lädt den Inhalt der Speicherzelle, die durch das Register BC adressiert wird, in das Register A. |
unverändert |
LD A,(DE) |
A <-- (DE) |
Lädt den Inhalt der Speicherzelle, die durch das Register DE adressiert wird, in das Register A. |
unverändert |
LD A,(nnnn) |
A <-- (nnnn) |
Lädt den Inhalt der Speicherzelle nnnn in das Register A. |
unverändert |
LD (BC),A |
(BC) <-- A |
Speichert den Inhalt von Register A in der Speicherzelle, die durch BC adressiert wird. |
unverändert |
LD (DE),A |
(DE) <-- A |
Speichert den Inhalt von Register A in der Speicherzelle, die durch DE adressiert wird. |
unverändert |
LD (nnnn),A |
(nnnn) <-- A |
Speichert den Inhalt von Register A in der Speicherzelle nnnn. |
unverändert |
LD A,I |
A <-- I |
Lädt den Inhalt von Register I in das Register A. |
Z = 1 falls I=0 |
S = Bit 7 von I |
P/V = Zustand des Interrupt-Enable-Flip-Flops. |
LD A,R |
A <-- R |
Lädt den Inhalt von Register R in das Register A. |
Z = 1 falls R=0 |
S = Bit 7 von R |
P/V = Zustand des Interrupt-Enable-Flip-Flops |
LD I,A |
I <-- A |
Das Register I wird mit dem Inhalt des Registers A geladen. |
unverändert |
LD R,A |
R <-- A |
Das Register R wird mit dem Inhalt des Registers A geladen. |
unverändert |
LD dd,nnnn |
dd <-- nnnn |
Das 16-Bit-Register dd wird mit der Konstante nnnn geladen. |
unverändert |
LD IX,nnnn
LD IY,nnnn |
IX <-- nnnn,
IY <-- nnnn |
Das Register IX bzw. IY wird mit der Konstante nnnn geladen. |
unverändert |
LD dd,(nnnn) |
dd <-- (nnnn) |
Das Register dd wird mit dem Wort, das an der Stelle nnnn im Speicher liegt, geladen. |
unverändert |
LD IX,(nnnn)
LD IY,(nnnn) |
IX <-- (nnnn),
IY <-- (nnnn) |
Das Register IX bzw. IY wird mit dem Wort, das an der Stelle nnnn im Speicher liegt, geladen. |
unverändert |
LD (nnnn),dd |
(nnnn) <-- dd |
Der Inhalt des Registers dd wird an der Stelle nnnn im Speicher abgelegt. |
unverändert |
LD (nnnn),IX
LD (nnnn),IY |
(nnnn) <-- IX,
(nnnn) <-- IY |
Der Inhalt des Registers IX bzw. IY wird an der Stelle nnnn im Speicher abgelegt. |
unverändert |
LD SP,HL |
SP <-- HL |
Lädt den Stackpointer mit dem Inhalt des Registers HL. |
unverändert |
LD SP,IX
LD SP,IY |
SP <-- IX,
SP <-- IY |
Lädt den Stackpointer mit dem Inhalt des Registers IX bzw. IY. |
unverändert |
PUSH qq |
(SP) <-- qq,
SP <-- SP-2 |
Lädt den Inhalt des Registers qq auf den Stack. Der Stackpointer wird um zwei erniedrigt. |
unverändert |
PUSH IX |
(SP) <-- IX, SP <-- SP-2 |
Lädt den Inhalt des Registers IX auf den Stack. Der Stackpointer wird um zwei erniedrigt. |
unverändert |
PUSH IY |
(SP) <-- IY, SP <-- SP-2 |
Lädt den Inhalt des Registers IY auf den Stack. Der Stackpointer wird um zwei erniedrigt. |
unverändert |
POP qq |
SP <-- SP+2,
qq <-- (SP) |
Lädt den Inhalt des Stacks in das Register qq. Der Stackpointer wird um zwei erhöht. |
unverändert |
POP IX |
SP <-- SP+2, IX <-- (SP) |
Lädt den Inhalt des Stacks in das Register IX. Der Stackpointer wird um zwei erhöht. |
unverändert |
POP IY |
SP <-- SP+2, IY <-- (SP) |
Lädt den Inhalt des Stacks in das Register IY. Der Stackpointer wird um zwei erhöht. |
unverändert |
|