LPT1D EQU 3BCH LPT1S EQU LPT1D+1 .MODEL SMALL .STACK 100H .CODE ;Hoofdprogramma. MOV AL,0 CALL LPTOUT ;U3:=0 BEGIN: CALL LPTIN ;lees I3 t/m I0 in AL AND AL,1 CMP AL,1 JNE ANDERS ;als I0=1 MOV AL,8 ;dan CALL LPTOUT ; U3:=1 JMP EINDE ANDERS: MOV AL,0 ;anders CALL LPTOUT ; U3:=0 EINDE: CALL LPTIN ;lees I3 t/m I0 in AL AND AL,2 ;als I1=1 CMP AL,2 ;dan JNE BEGIN ; spring naar BEGIN MOV AL,0 CALL LPTOUT ;U3:=0 MOV AH,4CH ;terug naar OS INT 21H ;Subroutine LPTIN. ;Register AL bevat na afloop de waarde op I3 t/m I0 van LPT1. LPTIN: MOV DX,LPT1S IN AL,DX AND AL,78H MOV CL,3 SHR AL,CL RET ;Subroutine LPTOUT. ;Schrijf de inhoud van register AL naar U7 t/m U0 van LPT1. LPTOUT: MOV DX,LPT1D OUT DX,AL RET END