CODE SEGMENT
ASSUME CS:CODE
IOCONPT EQU 0073H
IOCPT
EQU 0072H
IOBPT
EQU 0071H
CONTPORT EQU 00DFH
DATAPORT EQU 00DEH
DATA1
EQU 0500H
START:
JMP IOLED
IOLED:
CALL FORMAT
CALL LEDDISP
MOV AL,89H
MOV DX,IOCONPT
OUT DX,AL
NOP
NOP
NOP
IOLED1: MOV DX,IOCPT
IN AL,DX
MOV DX,IOBPT
OUT DX,AL
MOV CX,0FFFFH
DELAY:
LOOP DELAY
JMP IOLED1
LEDDISP:MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[0600H],00
LED1:
CMP BYTE PTR DS:[0600H],07H
JA LED2
MOV BL,DS:[0600H]
MOV BH,0H
MOV AL,CS:[BX+DATA1]
MOV DX,DATAPORT
OUT DX,AL
ADD BYTE PTR DS:[0600H],01H
JNZ LED1
LED2:
RET
FORMAT: MOV BX,0
MOV WORD PTR DS:[BX+0500H],4006H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4040H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6D6DH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH
RET
CODE ENDS
END START
|