Im Folgenden ist ein Programmlisting abgebildet, mit dem der Datenaustausch zwischen zwei Computer möglich ist.
Adresse Label Mnemonik Code Kommentar
E000 LXI SP,FC32 Registerpaar SP mit FC32H laden
E003 MVI A,00 leere Akku
E005 OUT 61 Akkuinhalt auf Port 61 ausgeben
E007 OUT 61 - -
E009 OUT 61 - -
E00B MVI A,40 lade Akku mit 40H
E00D OUT 61 Akkuinhalt ins Betribsartre-gister schreiben
E00F MVI A,7F lade Akku mit 7FH
E011 OUT 61 Akkuinhalt Kommandoregister schreiben
E013 MVI A,35 lade Akku mit 35H
E015 OUT 61 Akkuinhalt auf Port 61 ausgeben
E017 START IN 12 Port 12 einlesen
E019 CALL SEND zum UP SEND springen
E01C CALL EMPF zum UP EMPF springen
E01F OUT 13 Akkuinhalt auf Port 13 ausgeben
E021 JMP START zum Label START springen
E024 SEND MOV B,A Registerinhalt A nach B kopieren
E025 STATUS IN 61 Statusreg. Abfragen
E027 ANI 01 Maske setzen
E029 JZ STATUS wenn Akku=0 springe zum Label Status
E02C MOV A,B Akkuinhalt von Reg. B nach A ko¬pieren
E02D OUT 60 Akkuinhalt ins Senderegister schreiben
E02F RET Rücksprung
E030 EMPF IN 61 Statusregister abfragen
E032 ANI 02 Maske setzen
E034 JZ EMPF wenn Akku=0 springe zu EMPF
E037 IN 60 Empfangsregister abfragen
E039 RET Rücksprung
6
Programmablaufplan für das oben aufgeführte Programmlisting.
Anfang
FC32H ins Register SP laden
Akkuinhalt leeren
Akkuinhalt 3 mal auf Port
61 ausgeben
Akku mit 40H laden
Kommandoregister des 8251
mit Akkuinhalt laden
Akku mit 7FH laden
Betriebsartenregister des 8251
mit Akkuinhalt laden
Akku mit 35H laden
Kommandoregister des 8251
mit Akkuinhalt laden
parallele Eingabe lesen
SEND
EMPF
Akkuinhalt auf parallele
Ausgabe legen
ENDE
7
SEND
Register B mit Akkuinhalt laden
Akku mit Inhalt des
Statusregisters laden
Akku mit Konstante 01H
UND verknüpfen
Akkuinhalt
= 0?
Inhalt des Registers B
in Akku laden
Senderegister mit Akkuinhalt laden
RÜCKSPRUNG
EMPF
Akku mit Inhalt des
Statusregisters laden
Akkuinhalt mit Konstante
02H UND verknüpfen
Akkuinhalt
= 0?
Akku mit Inhalt des
Empfangsregisters laden
RÜCKSPRUNG
8
Oszilloskopauszug beim übertragen der Zahl 81H mit dem seriellen Schnittstellenbaustein 8251 (V.24-Pegel).
|