Das eBook Angewandte Mikroelektronik wurde von Hans Lohninger zur Unterstützung verschiedener Lehrveranstaltungen geschrieben. Weitere Informationen finden sie hier. |
Home Anhang Listing: Minimalsystem Includes Nicht initialisierte Interrupts ignorieren | |
|
|
Nicht initialisierte Interrupts ignorieren
;=================================================== ;------ INTERRUPT: receiver DART-A full ------------ ;=================================================== ; .GLOBAL GETICA GETICA: PUSH AF PUSH HL PUSH DE PUSH BC IN A,(DARTAD) ;Zeichen einlesen ; $5: LD HL,CNTRLA DEC (HL) ;Control-Bearbeitung INC (HL) ; ein ? JR Z,$2 ; IFA.NE. 'S'-40H,$3 ;^S ? LD HL,STPOTA LD (HL),TRUE ;Ausgang stoppen JR $1 ; $3: IFA.NE. 'Q'-40H,$6 ;^Q ? LD HL,STPOTA LD (HL),FALSE ;Ausgang starten CALL TRMDTA JR $1 ; $6: IFA.EQ. 'C'-40H,$4 ;^C ? ; $2: LD HL,VARDBF ;Zeichen in FIFO CALL WRFIFO LD HL,VARDBF ;RTS gesetzt ? CALL TSTFIF CP 0FAH ;mehr als 250 Zeichen JR C,$1 ; im Puffer ? LD A,5 OUT (DARTAC),A LD A,(DAREG5) RES 1,A LD (DAREG5),A OUT (DARTAC),A ;RTS rücksetzen $1: POP BC POP DE POP HL POP AF EI RETI ; $4: LD HL,WARM ;Warmstart PUSH HL LD HL,STPOTA ;Ausgang ein LD (HL),FALSE EI RETI ; ;=================================================== ;----- read character from DART A ------------------ ;=================================================== ; ;ENTRY: - ;EXIT: CF = 1, falls kein Zeichen vorhanden ; CF = 0, falls Zeichen gültig ; Zeichen in Akkumulator ; .GLOBAL RDV24A RDV24A: PUSH HL PUSH BC LD HL,VARDBF ;RTS gesetzt CALL TSTFIF CP 100 ;weniger als 100 JR NC,$1 ; Zeichen im Puffer ? LD A,5 OUT (DARTAC),A LD A,(DAREG5) SET 1,A LD (DAREG5),A OUT (DARTAC),A ;RTS rücksetzen $1: LD HL,VARDBF CALL RDFIFO POP BC POP HL RET
|
|
Home Anhang Listing: Minimalsystem Includes Nicht initialisierte Interrupts ignorieren |