Z80 CPU Blockbefehle history menue
es existiert nicht der Befehl zum Umschalten auf das Alternativregister und ein anderer, um zum Hauptregister zurückzukehren, sondern vom jeweiligen Zustand wird mit dem gleichen Befehl in den anderen Zustand geschalten
FLAGs werden nicht beeinflusst außer bei EX AF, dann werden die augenblicklichen FLAG-Stellungen des jeweils anderen Registersatzes gültig
LDI

Operation: (DE) (HL), DE DE+1, HL HL+1, BC BC-1

Maschinencode:

Binär

OBJECT-CODE

1110 1101B

EDH

1010 0000B

A0H

Beschreibung:

Der Inhalt der durch HL adressierten Speicherstelle wird in die durch DE adressierte Speicherstelle geladen. Danach werden die Registerpaare DE und HL um 1 erhöht und das Registerpaar BC um 1 vermindert.

M1-Zyklen: 4
T-Zyklen: 16
Flag-Register: 
S, Z - nicht definiert 
H, N - 0 gesetzt,
P/V - 1 falls, BC - 1 <> 0, sonst 0 
C - wird nicht beeinflusst
Beispiel: Es sei HL = 2178H, DE= 3455H, BC'= 0100H. Der Inhalt der Speicherzelle 2178EH sei A7H.Durch die Ausführung des Befehls LDI ergeben sich folgende Inhalte: HI. = 2179H, DE = 3456H, BC = 00FFH, (3455H) = A7H

LDIR

Operation: (DE) (HL), DE DE+1, HL HL+1, BC BC-1

Maschinencode:

Binär

OBJECT-CODE

1110 1101B

EDH

1011 0000B

B0H

Beschreibung:

Der Inhalt der durch HL adressierten Speicherstelle wird in die durch DE adressierte Speicherstelle geladen. Danach werden die Registerpaare DE und HL um 1 erhöht und das Registerpaar BC um 1 vermindert. Dieser Vorgang wird so lange wiederholt, bis BC = 0 erreicht ist.

M1-Zyklen: 5
T-Zyklen: 21 für BC <> 0
M1-Zyklen: 4
T-Zyklen: 16 für BC = 0
Flag-Register:  
S, Z - nicht definiert 
H, N, P/V - 0 gesetzt,
C - wird nicht beeinflusst
Beispiel: 
Beispiel: Die Registerpaare und Speicherplätze sind wie folgt geladen:
HL =1000H, DE. = 2000H, BC = 0003H
(2000H) = XX (10001) = 45H
(2001H) = XX (1001H) = 37H
(2002H) = XX {1002H) = 21H
Nach der Ausführung des Befehls LDIR ergeben sieh folgende Inhalte:
HL = 1003H, DE= 2003H, BC = 0000H 
(2000H) = 45H (1000H) = 45H 
(2001H) = 37H (1001H) = 37H
(2002H) = 21H (1002H) = 21H

LDDR

Operation: DE  HL

Maschinencode:

Binär

OBJECT-CODE

1110 1011B

EBH

Beschreibung:

Die l6-bit-Inhalte der Registerpaare DE und HL werden ausgetauscht. 

M1-Zyklen: 1
T-Zyklen: 4
Flag-Register:  wird nicht beeinflusst 
Beispiel: Das Registerpaar DE enthalte 2EC7H, und das Registerpaar HL enthalte 2EC7H. Nach dem Befehl EX DE, HL ist das Registerpaar DE mit 2EC7H, und das Registerpaar HL ist mit 2EC7H  geladen.

EXX

Operation: BC  BC', DE  DE', HL  HL'

Maschinencode:

Binär

OBJECT-CODE

1101 1001B

D9H

Beschreibung:

Die l6-bit-Inhalte der Registerpaare BC und BC' sowie  HL und HL'  werden ausgetauscht. 

M1-Zyklen: 1
T-Zyklen: 4
Flag-Register:  wird nicht beeinflusst 
Beispiel: Der Inhalt der Registerpaare sei
BC = 8895H, DE = A2D3H,
HL = 0978H, BC' = 5A44H,
DE' = 0093H, HL` =-B004H., Nach dem Befehl EXX sind die Registerpaare wie folgt geladen:
BC = 5A44H, DE 0093H; HL = B004H
BC' = 8895H, DE' = A2D3H,
HL' = 0978H

EX (SP), ii

Operation: IXH  (SP+1), IXL  (SP)

Maschinencode:

bezogenes Register Binär

OBJECT-CODE

IX

1100 1100B

1110 0011B

DD E3H

IY

1111 1100B

1110 0011B

FD E3H

Beschreibung:

Der Inhalt des niederwertigen Teils des Indexregisters ü wird mit dein Inhalt der,Speichersteüe, die durch SP adressiert wird, ausgetauscht. Der Inhalt des niederwertigen Teils: des Indexregisters ii wird mit dem Inhalt der Speichersteile, die durch SP + 1 adressiert wird, ausgetauscht.

M1-Zyklen: 6
T-Zyklen: 23
Flag-Register:  wird nicht beeinflusst 
Beispiel: Der Inhalt von IX sei 1398H; der von SP sei FF80H. Die Speicherstelle FF80H enthalte 02H,  die Speicherstelle FF81H enthalte 66H. Nach dem Befehl EX (SP), IX enthält das lndexregister IX 6602H, und der Speicherplatz FF80H ist mit 98H und der Speicherplatz, FF81H mit 13H, geladen. Der Stack-Pointer enthält dann FF80H.