![background image](http://html1.mh-extra.com/html/ziatech-corporation/zt-8809a/zt-8809a_operating-manual_3659948108.webp)
Application Examples
;
LED_STROBE
PROC
;
; THIS PROCEDURE STROBES THE LED ON THE ZT 8809A,
;
THEREBY INDICATING TO THE USER THE INTERRUPT EXPECTED WAS RECEIVED.
;
FIRST THE PRINTER PORT BIT
;
THAT CONTROLS THE LED IS READ AND EXTRACTED, THEN
;
INVERTED AND OR’D BACK INTO THE BYTE READ. THE
;
BYTE IS THEN REWRITTEN TO THE PRINTER PORT. THIS TAKES
;
PLACE TWICE, SO THE LED IS PULSED EITHER ON OR OFF.
;
; INPUTS:
NONE
; OUTPUTS:
NONE
; CALLS:
NONE
; DESTROYS:
NONE
;
PUSH
AX
; SAVE REGISTERS USED
PUSH
BX
PUSH
CX
PUSH
DX
MOV
BL,2
; GO THRU TWICE
DO_TWICE:
GET
PRTR_CTRL
; READ THE CONTROL BYTE
MOV
AH,AL
; SAVE IT INTO AH
AND
AH,2
; EXTRACT THE BIT
NOT
AH
; INVERT IT
AND
AH,2
; ZERO ALL OTHERS
AND
AL,0FDH
; ZERO THE BIT IN CTRL BYTE
OR
AL,AH
; OR NEW ONE BACK INTO THE AL
PUT
PRTR_CTRL
; REPLACE INTO CONTROL BYTE
XOR
CX,CX
; ZERO CX
WAITLP:
LOOP
WAITLP
; WAIT A PERIOD OF TIME
DEC
BL
; CHECK TO SEE IF GONE THRU
; TWICE
JNZ
DO_TWICE
POP
DX
POP
CX
POP
BX
POP
AX
RET
LED_STROBE
ENDP
;
4-24