referat interpretation charakterisierung

REFERAT-Menü

Deutsch
Geographie
Geschichte
Chemie
Biographien
Elektronik
Englisch
Epochen
Französisch
Biologie
Informatik
Italienisch
Kunst
Latein
Literatur
Mathematik
Musik
Philosophie
Physik
Politik
Psychologie
Recht
Sonstige
Spanisch
Sport
Technik
Wirtschaft
Wirtschaftskunde-BWL

Projekt Kurze Übersicht über die Befehle des Z80

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
------
LD R,A
9
der Inhalt des Akkumulators (A-Register) wird in das Refreshregister R geladen
------

16-Bit-Ladebefehle:

Die Ladebefehle transportieren 16-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. Spezielle 16-Bit-befehle sind die PUSH- und POP-Befehle. Mit ihnen werden 16-Bit-Daten aus Doppelregistern in den Kellerspeicher (Stack) gebracht bzw. zurück in die Doppelregister geholt.

Alle 16-Bit-Daten werden grundsätzlich in der Intel-Order (niederwertiges Byte zuerst) gespeichert.

Mnemonik
T
Wirkungsweise des Befehls
SZHPNC
V
LD dd,nn
10
die Konstante nn wird in das Doppelregister geladen
------
LD IX,nn
LD IY,nn
14
14
die Konstante nn wird in das Indexregister IX (oder IY) geladen
------
LD HL,(nn)
16
der Inhalt der Speicherplätze nn und nn+1 wird in das Doppelregister HL geladen (nnàL, nn+1àH)
------
LD pp,(nn)
20
der Inhalt der Speicherplätze nn und nn+1 wird in das Doppelregister pp geladen (nnàniederwertig, nn+1àhöherw.)
------
LD IX,(nn)
LD IY,(nn)
20
20
der Inhalt der Speicherplätze nn und nn+1 wird in das Doppelregister IX (oder IY) geladen (nnàX (oder Y), nn+1àI)
------
LD (nn),HL
16
der Inhalt des Doppelregisters HL wird an die Adressen nn und nn+1 geladen (Lànn, Hànn+1)
------
LD (nn),pp
20
der Inhalt des Doppelregisters pp wird an die Adressen nn und nn+1 geladen (niederwertigànn, höherwertigànn+1)
------
LD (nn),IX
LD (nn),IY
20
20
der Inhalt des Doppelregisters IX (oder IY) wird an die Adressen nn und nn+1 geladen
(X (oder Y)ànn, Iànn+1)
------
LD SP,HL
6
der Inhalt des Doppelregisters HL wird im Stackpointer SP gespeichert
------
LD SP,IX
LD SP,IY
10
10
der Inhalt des Doppelregisters IX (oder IY) wird im Stackpointer SP gespeichert
------
PUSH qq
11
der Inhalt des Doppelregisters qq wird im Stack gespeichert DEC SP; LD (SP),H; DEC SP; LD (SP),L
------
PUSH IX
PUSH IY
15
15
der Inhalt des Doppelregisters IX (oder IY) wird im Stack gespeichert DEC SP; LD (SP),I; DEC SP; LD (SP),X
------
POP qq
10
der letzte Wert im Stack wird in das Doppelregister qq geladen LD L,(SP); INC SP; LD H,(SP); INC SP
------
POP IX
POP IY
14
14
der letzte Wert im Stack wird in das Doppelregister IX (oder IY) geladen LD X,(SP); INC SP; LD I,(SP); INC SP
------


8-Bit-Arithmetik und Logikbefehle

Diese Befehle arbeiten mit Daten, die sich im Akkumulator (Register A als ersten Operanden) und mit Daten in anderen Registern oder auf Speicherplätzen (als zweiten Operanden) befinden. Das Ergebnis dieser Operantionen wird im Akkumulator (A-Register) abgelegt.

Mnemonik
T
Wirkungsweise des Befehls
SZHPNC
V
ADD r
4
der Inhalt des Registers r wird zum Akkumulatorinhalt addiert
***V0*
ADD m
7
der Inhalt des durch das Register HL adressierten Speicherplatzes m wird zum Akkumulatorinhalt addiert
***V0*
ADD n
7
die Konstante n wird zum Akkumulatorinhalt addiert
***V0*
ADD (IX+d)
ADD (IY+d)
19
19
der Inhalt des durch das Register IX (oder IY) plus Verschiebung adressierten Speicherplatzes wird zum Akkumulatorinhalt addiert
***V0*
ADC r
4
der Inhalt des Registers r plus Carry-Flag wird zum Akkumulatorinhalt addiert
***V0*
ADC m
7
der Inhalt des durch HL adressierten Speicherplatzes m plus Carry-Flag wird zum Akkumulatorinhalt addiert
***V0*
ADC n
7
die Konstante n plus Carry-Flag wird zum Akkumulatorinhalt addiert
***V0*
ADC (IX+d)
ADC (IY+d)
19
19
der Inhalt des durch das Register IX (oder IY) plus Verschiebung plus Carry-Flag adressierten Speicherplatzes wird zum Akkumulatorinhalt addiert
***V0*
SUB r
4
der Inhalt des Registers r wird vom Akkumulatorinhalt subtrahiert
***V1*
SUB m
7
der Inhalt des durch das Register HL adressierten Speicherplatzes m wird vom Akkumulatorinhalt subtrahiert
***V1*
SUB n
7
die Konstante n wird vom Akkumulatorinhalt subtrahiert
***V1*
SUB (IX+d)
SUB (IY+d)
19
19
der Inhalt des durch das Register IX (oder IY) plus Verschiebung adressierten Speicherplatzes wird vom Akkumulatorinhalt subtrahiert
***V1*
SBC r
4
der Inhalt des Registers r plus Carry-Flag wird vom Akkumulatorinhalt subtrahiert
***V1*
SBC m
7
der Inhalt des durch HL adressierten Speicherplatzes m plus Carry-Flag wird vom Akkumulatorinhalt subtrahiert
***V1*
SBC n
7
die Konstante n plus Carry-Flag wird vom Akkumulatorinhalt subtrahiert
***V1*
SBC (IX+d)
SBC (IY+d)
19
19
der Inhalt des durch das Register IX (oder IY) plus Verschiebung plus Carry-Flag adressierten Speicherplatzes wird vom Akkumulatorinhalt subtrahiert
***V1*
AND r
AND m
AND n
AND (IX+d)
AND (IY+d)
4
7
7
19
19
logische UND-Verknüpfung mit dem Inhalt eines Registers, Speicherbytes oder Konstanten und dem Akkumulatorinhalt
es wird bitweise konjunktiv verknüpft (nur dann 1, wenn beide Bits 1 sind)
**1P00
**1P00
**1P00
**1P00
**1P00
OR r
OR m
OR n
OR (IX+d)
OR (IY+d)
4
7
7
19
19
logische ODER-Verknüpfung mit dem Inhalt eines Registers, Speicherbytes oder Konstanten und dem Akkumulatorinhalt
es wird bitweise disjunktiv verknüpft (nur dann 0, wenn beide Bits 0 sind)
**0P00
**0P00
**0P00
**0P00
**0P00