Herunterladen Inhalt Inhalt Diese Seite drucken

Ein- Und Ausgabebefehle - Sharp PC-G850V Bedienungsanleitung

Inhaltsverzeichnis

Werbung

SHARP PC-G850V(S) Bedienungsanleitung - Anhang L: Kurzanleitung zur Programmierung im Z80-
CPDR
21
Ein- und Ausgabebefehle
Mit diesen Befehlen können Datenbytes zwischen Registern oder Speicheradressen und
externen Bausteinen ausgetauscht werden. Der externe Baustein wird dabei über eine
sogenannte Portadresse (8-Bit-Wert) angesprochen. Diese Portadresse wird je nach
Befehl entweder direkt angegeben (als Konstante) oder muss im Register C zur
Verfügung stehen. Ähnlich den Blocktransferbefehlen existieren auch hier Befehle für die
Datenein- und -ausgabe ganzer Speicherbereiche.
Wird für die Adressierung das Register C benutzt, liegt der Inhalt des Registers B an den
höherwertigen 8 Bits des Adressbusses an.
Mnemonik
T
IN A,(n)
11
IN r,(C)
12
INI
16
INIR
21
IND
16
INDR
21
OUT (n),A
11
OUT (C),r
12
OUTI
16
OTIR
21
OUTD
16
mit dem Inhalt des Akkumulators (A-Register)
A = (HL) -> Z = 1
A <> (HL) -> Z = 0
anschließend wird das Register HL und BC um eins vermindert
BC = 0 -> P = 0
BC <> 0 -> P = 1
vergleicht mehrere Datenbytes durch Ausführung des Befehls CPD
Wiederholung des Befehls, bis BC = 0 oder A = (HL) ist
Wirkungsweise des Befehls
die Eingabekanaladresse wird mit der Konstante n eingestellt;
Zielregister ist der Akkumulator (n) -> A
die Eingabekanaladresse wird indirekt mit dem Register C
eingestellt; Zielregister ist r
die Eingabekanaladresse wird mit der Konstante n eingestellt;
Zielregister ist der durch HL adressierte Speicherplatz
B wird um eins vermindert und HL um eins erhöht
(C) -> (HL)
B-1 -> B
B=0? -> Z=1 sonst Z=0
HL+1 -> HL
wiederholte Ausführung des Befehls INI, bis das Register B gleich
Null ist
die Eingabekanaladresse wird mit der Konstante n eingestellt;
Zielregister ist der durch HL adressierte Speicherplatz
B und HL wird um eins vermindert
(C) -> (HL)
B-1 -> B
B=0? -> Z=1 sonst Z=0
HL-1 -> HL
wiederholte Ausführung des Befehls IND, bis das Register B gleich
Null ist
die Ausgabekanaladresse wird mit der Konstante n eingestellt;
Quellregister ist der Akkumulator A -> (n)
die Ausgabekanaladresse wird indirekt mit dem Register C
eingestellt; Quellregister ist r
ie Ausgabekanaladresse wird mit der Konstante n eingestellt;
Quellregister ist der durch HL adressierte Speicherplatz; B wird um
eins vermindert und HL um eins erhöht
(HL) -> (C)
B-1 -> B
B=0? -> Z=1 sonst Z=0
HL+1 -> HL
wiederholte Ausführung des Befehls OUTI, bis das Register B
gleich Null ist
die Ausgabekanaladresse wird mit der Konstante n eingestellt;
(C) -> r
r -> (C)
311
Maschinencode
****1-
SZHPNC
------
**0P0-
x*xx1-
x1xx1-
x*xx1-
x1xx1-
------
------
x*xx1-
x1xx1-
x*xx1-

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Pc-g850vs

Inhaltsverzeichnis