Das eBook Angewandte Mikroelektronik wurde von Hans Lohninger zur Unterstützung verschiedener Lehrveranstaltungen geschrieben. Weitere Informationen finden sie hier.


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


Last Update: 2008-05-31