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


Befehlssatz

Im Folgenden ist der Befehlssatz der CPU beschrieben, wobei Befehle, die das gleiche bewirken, aber auf verschiedene Register angewendet werden können, zusammengefasst sind. Eine alphabetisch sortierte Tabelle aller Z80-Befehle mit Maschinencode und Ausführungszeiten findet sich im Anhang.

Die Syntax der Befehlsbeschreibung hält sich an die von Zilog vorgeschlagenen Mnemotischen Codes. Dabei steht zuerst der Code für den Befehl (z.B. 'PUSH') und dann, durch ein Blank oder durch ein Tabulatorzeichen getrennt, die Operanden. Wirkt ein Befehl auf zwei Operanden, so wird zuerst der Zieloperand angegeben und dann durch einen Beistrich getrennt der Quelloperand. Der Befehl 'LD A,H' lädt also den Inhalt des Registers H in das Register A.

Konstanten werden als Zahl angegeben, indirekte Adressierung wird durch zwei runde Klammern symbolisiert. Der Befehl 'LD HL,(3E8AH)' lädt das 16-Bit-Register HL mit einem Wert aus dem Speicher an der Adresse 3E8AH. 16-Bit-Werte ('Worte' im Gegensatz zu 'Bytes') werden im Speicher an zwei aufeinander folgenden Speicherplätzen abgelegt, wobei das nieder wertige Byte an der niedrigeren Adresse gespeichert wird, das höherwertige Byte an der höheren.

In der folgenden Befehlsbeschreibung werden für verschiedene Register Platzhalter verwendet, die dann entsprechend eingesetzt werden müssen:

String

Platzhalter für

r1, r2

A, B, C, D, E, H, L

qq

AF, BC, DE, HL

dd

BC, DE, HL, SP

nn

Byte (8 Bit)

nnnn

Wort (16 Bit)

d

8 Bit Offset (-128 bis +127)


Last Update: 2008-05-31