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


INTERRUPT: Zeichen auf DART-A senden

;===================================================
;------ INTERRUPT: Zeichen auf DART-A senden -------
;===================================================
;
PUTICA:     CALL    TRMDTA      ;ein Zeichen senden
            EI
            RETI
;
            .GLOBAL TRMDTA
TRMDTA:     PUSH    AF
            PUSH    HL
            IFTRUE  STPOTA,$1   ;^S ?
            LD      HL,VAWRBF
            CALL    RDFIFO
            JR      C,$2
            OUT     (DARTAD),A  ;Zeichen ausgeben
$1:         POP     HL
            POP     AF
            RET
;
$2:         LOAD    USOTLA,TRUE
            LD      A,1         ;Interrupt abschalten
            OUT     (DARTAC),A
            LD      A,(DTAWR1)
            RES     1,A
            LD      (DTAWR1),A
            OUT     (DARTAC),A
            JR      $1
;
            .DATA
DTAWR1:     DEFB    0           ;Interrupt DART A
            .CODE
;
;===================================================
;---- Ausgabe eines Zeichens auf DART-A ------------
;===================================================
;
;ENTRY: Zeichen in AKKU
;EXIT:  Zeichen in den Spooler-Puffer geschrieben
;
            .GLOBAL WRV24A
WRV24A:     PUSH    AF
            PUSH    HL
            PUSH    DE
$1:         LD      HL,VAWRBF   ;Spooler voll ?
            DI
            CALL    WRFIFO      ;Zeichen schreiben
            EI
            JR      C,$1        ;FIFO voll, warten
            DI
            IFFALSE USOTLA,$2   ;Spooler leer ?
            LOAD    USOTLA,FALSE;Spooler empty flag
            LD      A,1         ;  rücksetzen
            OUT     (DARTAC),A
            LD      A,(DTAWR1)
            SET     1,A
            LD      (DTAWR1),A
            OUT     (DARTAC),A
            CALL    TRMDTA      ;erstes Zeichen senden
$2:         EI
            POP     DE
            POP     HL
            POP     AF
            RET


Last Update: 2008-05-31