 |
Zum eigentlichen Programmieren von Mirorechnern auf
Grundlage des Z80-Systems und egal auf welcher Ebene, ist die Kenntnis der
Funktionsweise der einzelnen Befehle von geradezu herausragender Bedeutung.
Ohne die Kenntnis ist insbesondere strukturiertes Programmieren nicht
möglich, da keine Befehle auf Hochsprachenbasis vorhanden sind. Vielmehr ist
nur die korrekte Auswertung der einzelnen Flag-Bits zur Programmsteuerung
möglich (aber auch hinreichend). |
 |
Object-Code |
Beschreibung |
Kurzbeschreibung |
Link auf vollständige OP-Code-Liste |
Allgemeine
Befehlsbeschreibung und FLAG-Wirkung |
Detaillierte Funktionsbeschreibung |
 |
ADC |
Add through
CARRY-Flag |
Addiert 8-Bit Werte sowie den Inhalt des CARRY-Flag
zu A |
siehe hier |
siehe hier |
siehe hier |
 |
ADD |
Add |
Addiert 8-Bit Werte zu A, ZERO, SIGN,
PARITY sowie EVEN-Bit werden in Abhängigkeit gesetzt |
siehe hier |
siehe hier |
siehe hier |
 |
AND |
Logical And |
Bitweise AND-Logik von 8-Bit Werten
sowie A (Zielbit gleich 1, wenn beide der beteiligten Bits gleich 1) |
siehe hier |
siehe hier |
siehe hier |
 |
BIT |
Test Bit |
Zielbit wird auf 1 verglichen,
wenn Ergebnis wahr, dann ZERO-FLAG gleich 0, sonst 1 |
siehe hier |
siehe hier |
siehe hier |
 |
CAC |
Call On
CARRY |
Aufruf eines Unterprogrammes, wenn CARRY gleich 1 |
siehe hier |
siehe hier |
siehe hier |
 |
CAM |
Call
M |
Aufruf eines Unterprogrammes, welches durch HL adressiert wird |
siehe hier |
siehe hier |
siehe hier |
 |
CANC |
Call On
Not CARRY |
Aufruf eines Unterprogrammes, wenn CARRY gleich 0 |
siehe hier |
siehe hier |
siehe hier |
 |
CALL |
Call |
Aufruf eines Unterprogrammes |
siehe hier |
siehe hier |
siehe hier |
 |
CANZ |
Call On
Not ZERO |
Aufruf eines Unterprogrammes, wenn ZERO gleich 0 |
siehe hier |
siehe hier |
siehe hier |
 |
CAP |
Call On
PARITY |
Aufruf eines Unterprogrammes, wenn PARITY gleich 0 |
siehe hier |
siehe hier |
siehe hier |
 |
CAPE |
Call On
PARITY Even |
Aufruf eines Unterprogrammes, wenn Ergebnis-Byte paarig |
siehe hier |
siehe hier |
siehe hier |
 |
CAPO |
Call On
PARITY Odd |
Aufruf eines Unterprogrammes, wenn Ergebnis-Byte unpaarig |
siehe hier |
siehe hier |
siehe hier |
 |
CAZ |
Call On
ZERO |
Aufruf eines Unterprogrammes, wenn ZERO gleich 1 |
siehe hier |
siehe hier |
siehe hier |
 |
CCF |
Complement
CARRY Flag |
Negieren des CARRY-Flags |
siehe hier |
|
|
 |
CMP |
Compare |
Bitweise Vergleich von 8-Bit Werten
mit A |
siehe hier |
|
siehe hier |
 |
CPD |
Compare And Decrement |
Vergleichen und um 1 vermindern |
|
|
|
 |
CPDR |
Compare
Decrement And Repeat |
Vergleichen und um 1 vermindern und wiederholen, bis BC=0 |
|
|
|
 |
CPI |
Compare And
Increment |
Vergleichen und um 1 erhöhen |
|
|
|
 |
CPIR |
Compare
Increment And Repeat |
Vergleichen und um 1 erhöhen bis BC=0 |
|
|
|
 |
CPL |
Complement |
Achtung: Es wird die Negation gebildet |
|
siehe hier |
|
 |
DAA |
Decimale
Adjust Accumulator |
BCD-Korrektur des Akkumulators nach arithmetischen Operationen |
|
siehe hier |
|
 |
DEC |
Decrement |
Verringern um genau eins |
siehe hier |
siehe hier |
|
 |
DI |
Disable
Interrupt |
Interrupt sperren |
siehe hier |
|
|
 |
DJNZ |
Decrement And
Jump Relative On
Not ZERO |
verminder B um 1 und springe relativ |
siehe hier |
siehe hier |
|
 |
EI |
Enable
Interrupt |
Interrupt freigeben |
siehe hier |
|
|
 |
EX |
Exchange |
Registerpaar mit Alternativregisterpaar tauschen |
siehe hier |
|
siehe hier |
 |
EXX |
Extended Exchange |
Registersatz mit Alternativregistersatz tauschen |
siehe hier |
|
siehe hier |
 |
HALT |
HALT |
HALT |
siehe hier |
|
|
 |
IM0 |
Interrupt-Mode
0 |
nur Interrptbetriebsart 0 möglich (NMI wird
weiterhin angenommen) |
siehe hier |
|
siehe hier |
 |
IM1 |
Interrupt-Mode
1 |
Interrptbetriebsart 0 und 1 möglich (NMI wird
weiterhin angenommen) |
siehe hier |
|
siehe hier |
 |
IM2 |
Interrupt-Mode
2 |
Interrptbetriebsart 1 und 2 möglich
(NMI wird weiterhin angenommen) |
siehe hier |
|
siehe hier |
 |
IN |
Input Extern Device |
Bytebreites Einlesen von externem Gerät (PIO, SIO, CTC, DMA) |
|
|
|
 |
INC |
Increment |
Erhöhen des Zieles um eins |
|
siehe hier |
|
 |
IND |
Intput Extern Device And Decrement |
der über C andressierte Gerätekanal wird eingelesen und in die
durch HL adressierte Speicherzelle abgelegt, B wird um eins erniedrigt, HL
um eins erniedrigt |
|
|
|
 |
INDR |
Intput Extern Device
Decrement And Repeat |
der über C andressierte Gerätekanal wird eingelesen und in die
durch HL adressierte Speicherzelle abgelegt, B wird um eins erniedrigt, HL
um eins erniedrigt und solange fort gefahren, bis B=0 |
|
|
|
 |
INF |
Intput Extern Device in
F |
Inhalt des externen Geräts mit 8 Bit
Breite ins FLAG-Register lesen |
|
|
|
 |
INI |
Intput Extern Device And
Increment |
der über C andressierte Gerätekanal wird eingelesen und in die
durch HL adressierte Speicherzelle abgelegt, B wird um eins erniedrigt, HL
um eins erhöht |
|
|
|
 |
INIR |
Intput Extern Device
Increment And Repeat |
der über C andressierte Gerätekanal wird eingelesen und in die
durch HL adressierte Speicherzelle abgelegt, B wird um eins erniedrigt, HL
um eins erhöht und solange fortgefahren, bis B=0 |
|
|
|
 |
JMP |
Jump |
unbedingter absoluter Sprung zum Ziel |
siehe hier |
|
|
 |
JPC |
Jump On
CARRY |
bedingter absoluter Sprung zum Ziel, wenn CARRY gesetzt |
siehe hier |
|
|
 |
JPM |
Jump
M |
unbedingter absoluter Sprung Programmstelle , welche durch HL adressiert wird
(L - niederwertiger Teil der Zieladresse, H - höherwertiger Teil der
Zieladresse) |
siehe hier |
|
|
 |
JPNC |
Jump On
Not CARRY |
bedingter absoluter Sprung zum Ziel, wenn CARRY nicht gesetzt |
siehe hier |
|
|
 |
JPNZ |
Jump On
Not ZERO |
bedingter absoluter Sprung zum Ziel, wenn ZERO nicht gesetzt |
siehe hier |
|
|
 |
JPP |
Jump On
Parity |
bedingter absoluter Sprung zum Ziel, wenn PARITY gesetzt |
siehe hier |
|
|
 |
JPPE |
Jump On
Parity Even |
bedingter absoluter Sprung zum Ziel, wenn EVEN gesetzt (Anzahl 1
gerade) |
siehe hier |
|
|
 |
JPPO |
Jump On
Parity Odd |
bedingter absoluter Sprung zum Ziel, wenn EVEN nicht gesetzt
(Anzahl 1 ungerade) |
siehe hier |
|
|
 |
JPZ |
Jump On
ZERO |
bedingter absoluter Sprung zum Ziel, wenn ZERO gesetzt |
siehe hier |
|
|
 |
JRC |
Jump
Relative On CARRY |
relativer Sprung zum Ziel, wenn CARRY gesetzt |
siehe hier |
|
|
 |
JR |
Jump Relative |
unbedingter relativer Sprung zum Ziel, |
siehe hier |
|
|
 |
JRNC |
Jump Relative On
Not CARRY |
relativer Sprung zum Ziel, wenn CARRY nicht gesetzt |
siehe hier |
|
|
 |
JRNZ |
Jump
Relative On Not
ZERO |
relativer Sprung zum Ziel, wenn ZERO nicht gesetzt |
siehe hier |
|
|
 |
JRZ |
Jump
Relative On ZERO |
relativer Sprung zum Ziel, wenn ZERO gesetzt |
siehe hier |
|
|
 |
LD |
Load |
Lade 8- oder 16-Bit-Register |
siehe hier |
|
|
 |
LDD |
Load And
Decrement |
Lade die die durch HL adressierte
Speicherzelle mit dem Inhalt der durch DE adressierten Speicherzelle,
erniedrige HL sowie DE um eins |
|
|
siehe hier |
 |
LDDR |
Load
Decrement And Repeat |
Lade die die durch HL adressierte Speicherzelle mit dem Inhalt der
durch DE adressierten Speicherzelle, erniedrige HL sowie DE um eins,
vermindere BC um eins, wiederhole bis BC=0 |
|
|
siehe hier |
 |
LDI |
Load And
Increment |
Lade die die durch HL adressierte
Speicherzelle mit dem Inhalt der durch DE adressierten Speicherzelle, erhöhe
HL sowie DE um eins |
|
|
siehe hier |
 |
LDIR |
Load
Increment And Repeat |
Lade die die durch HL adressierte Speicherzelle mit dem Inhalt der
durch DE adressierten Speicherzelle, erhöhe HL sowie DE um eins,
vermindere BC um eins, wiederhole bis BC=0 |
|
|
siehe hier |
 |
NEG |
Negation |
Achtung: Es wird das Zweikomplement gebildet |
|
siehe hier |
|
 |
NOP |
No Operation |
keine Operation der CPU (Füllbefehl) Refresh wird
aufrecht erhalten, Zeit zur Befehlsabarbeitung wird benötigt |
|
|
|
 |
OR |
Logical OR |
Bitweise OR-Logik von 8-Bit Werten
sowie A (Zielbit gleich 1, wenn mindestens eines der beteiligten Bits
gleich 1) |
|
siehe hier |
|
 |
OTDR |
Output Extern Device
Decrement And Repeat |
Lade die die durch C adressierte
Geräteadresse mit dem Inhalt des Registers A |
|
|
siehe hier |
 |
OTIR |
Output Extern Device
Increment And Repeat |
auf den über C andressierte Gerätekanal wird der durch HL
adressierte Speicherinhalt ausgegeben, B wird um eins erniedrigt, HL um
eins erhöht und solange fort gefahren, bis B=0 |
|
|
siehe hier |
 |
OUT |
Output Extern Device |
Ausgabe eine Datenmusters aus 8-Bit-Datenquelle
auf externes Gerät (PIO, SIO, CTC, DMA) mit C als Register mit Geräteadresse |
|
|
|
 |
OUTD |
Output Extern Device
Decrement |
Ausgabe eine Datenmusters aus 8-Bit-Datenquelle
auf externes Gerät (PIO, SIO, CTC, DMA) mit C als Register mit Geräteadresse
- anschließendes Verringern von C |
|
|
siehe hier |
 |
OUTI |
Output Extern Device
Increment |
Ausgabe eine Datenmusters aus 8-Bit-Datenquelle
auf externes Gerät (PIO, SIO, CTC, DMA) mit C als Register mit Geräteadresse
- anschließendes Erhöhen von C |
|
|
siehe hier |
 |
POP |
Pop |
gruppenweises Zurückladen der Registerinhalte von den durch den
Stackpointer adressierten RAM-Zellen |
|
|
|
 |
PUSH |
Push |
gruppenweises Schreiben der Registerinhalte in die durch den
Stackpointer adressierten RAM-Zellen |
|
|
|
 |
RES |
Reset Bit |
Setzen des Zielbits auf 0 |
|
|
|
 |
RET |
Return |
unbedingte Rückkehr aus Unterprogramm (Rückkehradresse
vom Stack geholt, SP um zwei vermindert) |
siehe hier |
siehe hier |
|
 |
RC |
Return On
CARRY |
Rückkehr aus Unterprogramm, wenn
CARRY-Bit gesetzt, Aktualisierung des PC via SP - SP um zwei vermindert |
siehe hier |
siehe hier |
|
 |
RM |
Return On Sign
(Mathematical) |
Rückkehr aus Unterprogramm, wenn SIGN-Bit gesetzt
(die letzte Opertion war eine logische oder arithmetische), Aktualisierung des PC via SP - SP um zwei vermindert |
siehe hier |
siehe hier |
|
 |
RNC |
Return On
Not CARRY |
Rückkehr aus Unterprogramm, wenn
CARRY-Bit nicht gesetzt, Aktualisierung des PC via SP - SP um zwei vermindert |
siehe hier |
siehe hier |
|
 |
RNZ |
Return On
Not ZERO |
Rückkehr aus Unterprogramm, wenn ZERO-Bit
nicht gesetzt, Aktualisierung des PC via SP - SP um zwei vermindert |
siehe hier |
siehe hier |
|
 |
RP |
Return On
Parity |
Rückkehr aus Unterprogramm, wenn
PARITY-Bit gesetzt, Aktualisierung des PC via SP - SP um zwei
vermindert |
siehe hier |
siehe hier |
|
 |
RPE |
Return On Not
Parity Even |
Rückkehr aus Unterprogramm, wenn Parität
der letzten arithmetischen oder logischen Operation gerade, Aktualisierung des PC via SP - SP um zwei vermindert |
siehe hier |
siehe hier |
|
 |
RPO |
Return On Not
Parity Odd |
Rückkehr aus Unterprogramm, wenn Parität
der letzten arithmetischen oder logischen Operation ungerade, Aktualisierung des PC via SP - SP um zwei vermindert |
siehe hier |
siehe hier |
|
 |
RZ |
Return On
ZERO |
Rückkehr aus Unterprogramm, wenn ZERO-Bit
gesetzt, Aktualisierung des PC via SP |
siehe hier |
siehe hier |
|
 |
RETI |
Return From
Interrupt |
Rückkehr aus Interruptservice-Routine,
Aktualisierung des PC via SP |
siehe hier |
siehe hier |
|
 |
RETN |
Return From
Non Mascable Interrupt |
Rückkehr aus NMI-Interruptservice-Routine,
Aktualisierung des PC via SP |
siehe hier |
siehe hier |
|
 |
RL |
Rotation
Left |
Bitweise Linksrotation durch das
Ziel-Byte |
siehe hier |
siehe hier |
|
 |
RLA |
Rotation
Left Arithmetical |
Bitweise Rotation des Ziel-Bytes um eine
Stelle nach links |
siehe hier |
siehe hier |
|
 |
RLC |
Rotation Left Through CARRY |
Bitweise Rotation des Ziel-Bytes um eine
Stelle nach links durch das CARRY-Bit |
siehe hier |
siehe hier |
|
 |
RLD |
Rotation Left Accumulator And M |
|
siehe hier |
siehe hier |
|
 |
RR |
Rotation Right |
|
siehe hier |
siehe hier |
|
 |
RRA |
Rotation Right Arithmetical |
|
siehe hier |
siehe hier |
|
 |
RRC |
Rotation Right Through CARRY |
|
siehe hier |
siehe hier |
|
 |
RRCA |
Rotation Right CARRY Accumulator |
|
siehe hier |
siehe hier |
|
 |
RRD |
Rotation Right Accumulator And M |
|
siehe hier |
siehe hier |
|
 |
RST |
Restart |
Aufruf einer Kurzrufadresse |
|
|
|
 |
SBC |
Subtraction Through CARRY |
|
|
siehe hier |
|
 |
SCF |
Set CARRY Flag |
CARRY-Bit wird auf "1" gesetzt |
|
siehe hier |
|
 |
SET |
Set Bit |
Ziel-Bit wird auf "1" gesetzt |
|
|
|
 |
SLA |
Shift Left Arithmetical |
|
siehe hier |
siehe hier |
|
 |
SRA |
Shift Right Arithmetical |
|
siehe hier |
siehe hier |
|
 |
SRL |
Shift Right Logical |
|
siehe hier |
siehe hier |
|
 |
SUB |
Subtraction |
Subtrahiert 8-Bit Werte von A |
|
siehe hier |
|
 |
XOR |
Exclusive OR |
Bitweise XOR-Logik von 8-Bit Werten
sowie A (Zielbit gleich 1, wenn bei den beteiligten Bits gleich) |
|
siehe hier |
|