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


CPU-Kontrollbefehle

Befehl Kurzbeschreibung Erläuterung Flags

NOP

No operation.

Die CPU führt keine Operation durch. Es werden weder Register noch Flags geändert. Dieser Befehl wird eingesetzt, wenn man beider Bearbeitung eines Programms etwas Zeit gewinnen möchte, um zum Beispiel auf die Reaktion eines I/O-Bausteins zu warten.

unverändert

CCF

CF <-- not CF

Das Carry-Flag wird invertiert.

H = Kopie der Carry-Flags vor der Operation

N=0

C=0, wenn vorher 1 und umgekehrt

SCF

CF <-- 1

Das Carry-Flag wird auf eins gesetzt.

H=0

N=0

C=1

HALT

Halt.

Dieser Befehl setzt die CPU in einen Wartezustand, der so lange dauert, bis entweder ein Interrupt auftritt oder ein Reset durchgeführt wird. Während des HALT-Zustandes führt die CPU intern NOP-Befehle aus, um den Refresh der dynamischen Speicherzu gewährleisten. Bei Ausführung des HALT-Befehls wird der Anschluss /HALT der CPU auf LOW gesetzt

unverändert

DI

Disable Interrupt.

Verhindert die Bearbeitung eines maskierbaren Interrupts durch Rücksetzen der Interrupt-Enable-Flip-Flops IFF1 und IFF2.

unverändert

EI

Enable Interrupt.

Ermöglicht die Bearbeitung eines maskierbaren Interrupts durch Setzen der Interrupt-Enable-Flip-Flops IFF1 und IFF2.

unverändert

IM 0

Interrupt Mode 0.

Durch diesen Befehl wird der Interrupt Modus 0 gesetzt. In diesem Modus kann der Baustein, der die Unterbrechung anfordert, jeden beliebigen Opcode auf den Bus legen, den die CPU dann ausführt.

unverändert

IM 1

Interrupt Mode 1.

Durch diesen Befehl wird der Interrupt Modus 1 gesetzt. In diesem Modus reagiert die CPU auf jede Interruptanforderung durch Ausführung eines RST 7 Befehls, d.h. dass die Interrupt-Service-Routine an der Adresse $0038 beginnen muss.

unverändert

IM 2

Interrupt Mode 2.

Durch diesen Befehl wird der Interrupt Modus 2 gesetzt. Dieser Modus erlaubt die vektorisierte Verarbeitung von Interrupts, beider der entsprechende Baustein den Start der Adresse der Interrupt-Service-Routine (in Kombination mit dem I-Register) festlegt.

unverändert


Last Update: 2008-05-31