IOY0 EQU 0600H
MY8255_A EQU IOY0+00H*2
MY8255_B EQU IOY0+01H*2
MY8255_C EQU IOY0+02H*2
MY8255_CON EQU IOY0+03H*2
SSTACK SEGMENT STACK
DW 16 DUP(?)
SSTACK ENDS
DATA SEGMENT
DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
FEN DB 00H,00H
LED DB 00H
HZ DB 05FH
FLAG DB 00H,00H,00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,3000H
MOV DI,3005H
MOV BX,0
MOV AH,01H
MOV DX,MY8255_CON
MOV AL,81H
OUT DX,AL
CALL CLEAR
FIRST: CALL KAISHI
BEGIN: CALL BISAI
CALL INK
CALL DELAY
JMP BEGIN
BISAI: MOV AH,FLAG+1
CALL CCSCAN
AND AL,0FH
CMP AL,08H
JNC NEXT2
CALL CLEAR
CALL KAISHI
RET
NEXT2: AND AL,07H
CMP AL,04H
JNC NEXT1
CALL KAISHI
RET
NEXT1: CMP AL,AH
JZ JUDGE
MOV FLAG+1,AL
AND AL,03H
AND AL,01H
AND AH,01H
CMP AL,AH
JNZ B2
B1: MOV AL,LED
CMP AL,80H
JNZ JUDGE
MOV FLAG,02H
JMP JUDGE
B2: MOV AL,LED
CMP AL,01H
JNZ JUDGE
MOV FLAG,00H
JMP JUDGE
JUDGE: MOV AL,LED
CMP AL,01H
JNC NEXT
RET
NEXT: MOV AL,FLAG
CMP AL,01H
JNC L2
L1: MOV AL,HZ
DEC AL
JNZ L12
MOV AL,LED
SHL AL,1
MOV DX,MY8255_B
OUT DX,AL
MOV LED,AL
CMP AL,01H
JNC L11
MOV AL,FEN+1
ADD AL,1
MOV FEN+1,AL
L11: MOV AL,5FH
L12: MOV HZ,AL
JMP KERR
L2: MOV AL,HZ
DEC AL
JNZ L22
MOV AL,LED
SHR AL,1
MOV DX,MY8255_B
OUT DX,AL
MOV LED,AL
CMP AL,01H
JNC L21
MOV AL,FEN
ADD AL,1
MOV FEN,AL
L21: MOV AL,5FH
L22: MOV HZ,AL
RET
KAISHI:
MOV AH,FEN
MOV AL,FEN+1
CMP AH,AL
JNC NEXTX
MOV LED,01H
MOV FLAG,00H
MOV AL,01H
MOV DX,MY8255_B
OUT DX,AL
NEXTX: MOV LED,80H
MOV FLAG,02H
MOV AL,80H
MOV DX,MY8255_B
OUT DX,AL
RET
INK: MOV DX,MY8255_C
MOV AL,0EFH
OUT DX,AL
MOV DX,MY8255_A
MOV BH,00H
MOV BL,FEN
MOV AL,DTABLE[BX]
OUT DX,AL
CALL DELAY
MOV DX,MY8255_C
MOV AL,0DFH
OUT DX,AL
MOV DX,MY8255_A
MOV BL,FEN+1
MOV AL,DTABLE[BX]
OUT DX,AL
CALL DELAY
KERR: RET
CCSCAN: MOV DX,MY8255_C
IN AL,DX
RET
DELAY:
PUSH CX
PUSH AX
MOV CX,0006H
T1: MOV AX,009FH
T2: DEC AX
JNZ T2
LOOP T1
POP AX
POP CX
RET
CLEAR: MOV DX,MY8255_C
MOV AL,0CFH
OUT DX,AL
MOV DX,MY8255_A
MOV AL,03FH
OUT DX,AL
MOV FEN,00H
MOV FEN+1,00H
RET
GOBACK: RET
CODE ENDS
END START
ppqks
最新推荐文章于 2024-06-11 00:15:55 发布