Web Design
Assembler

 

 

cpm-z80z180

Beispiel-Code für MICO 85 Mikroprozessor 8085

Übertragungsprogramm für ein ASCII-Zeichen an den Drucker

; Übergabe des ASCII-Codes im Register C

ZA1MS      EQU      0341H
PB              EQU      22H
PC              EQU      PB+1

DRUCK:      PUSH      PSW
BUSY:        IN            PC            ; Port C  (23) , bit 4 = BUSY = L?
                   RLC
                   RLC
                   RLC
                   RLC
                   JC         BUSY         ; Sprung, solange BUSY = H
                   MOV     A,C             ; ASCII-Wert in den Akku
                   OUT      PA              ; und an den Drucker weitergeben.
                   IN         PB               ; Zustand von Port B (22) erfragen.
                   ORI      80H              ; Port B, bit 7 = Strobe = H setzen
                   OUT     PB
                   MVI      A,1
                   CALL   ZA1MS      ; 1 ms warten
                   IN         PB
                   ANI      7FH
                   OUT     PB              ; Port B, bit 7 = Strobe = L setzen
                   POP     PSW
                   RET
                   END


; Zeitschleife: Aufruf: (A) = Anzahl der ms
ZA1MS:      PUSH   PSW
                   PUSH   B
OBER:         MVI      B,0D6H
LAUF:         DCR     B
                   JNZ      LAUF
                   DCR     A
                   JNZ      OBER
                   POP      B
                   POP      PSW
                   RET

Z80-PIO

A0         A1         angesprochenes Port

0                0               A Daten
0                1               B  Daten
1                0               A Steuerwort
1                1               B Steuerwort


Beispiel I/O-Adressen 2CH,2DH,2EH und 2FH


Moduswort für Z80-PIO

Modus 0         0FH
Modus 1         4FH
Modus 2         8FH
Modus 3         0CFH

Z80-PIO Modus 0 (Nur-Ausgabe)

                LD       A,0FH
                OUT     (2EH),A         ; Ausgabe des Steuerwortes

; Port A = Ausgabe, B/A = 0, C/D = 1
; Ausgabe von 53H zum Port A

                LD        A,53H
                OUT      (2CH),A      ; Ausgabe der Daten



; Programmieren von Port B

                   LD       A,0FH
                   OUT     (2FH),A      ; Ausgabe des Steuerwortes

; Port B = Ausgabe, B/A = 1, C/D = 1

; Port B kann als universelles Ausgabeport benutzt werden.
; Dazu werden Daten zur Port-Adresse 2DH geschrieben.


Z80-PIO Modus 1 (Nur-Eingabe)

              LD       A,0FH
              OUT     (2EH),A         ; Ausgabe des Steuerwortes

; Port A ist jetzt ein Ausgabeport


                LD        A,4FH
                OUT      (2FH),A      ; Ausgabe des Steuerwortes

; Port B ist jetzt ein Eingabeport

                IN         A,(2DH)        ; Lese Daten vom Port B
                OUT      (2CH),A       ; Ausgabe der Daten zum Port A


 

[index] [Assembler] [Pascal] [TTL] [Z180] [Computer] [Terminal] [Software] [ZFEST2006] [ZFEST2007] [ZFEST2008] [Kontakt]