初始化程序
MOV AL,10101110B
MOV DX,1000000011B
OUT DX,AL
MOV AL,00001101B
OUT DX,AL
MOV AL,00000100B
OUT DX,AL
键盘扫描程序
MOV AL,82H
OUT 83H, AL
MOV AL,00H
OUT 80H,AL
LOOA: IN AL,81H
AND AL,0FH
CMP AL,0FH
JZ LOOA
CALL D20ms
IN AL,81H
AND AL,0FH
CMP AL,0FH
JZ LOOA
;判断哪一个键按下
START: MOV BL,4
MOV BH,4
MOV AL,0FEH
MOV CL,0FH
MOV CH, 0FFH
LOP1: OUT 80H,AL
ROL AL,1
MOV AH,AL
IN AL,81H
AND AL,CL
CMP AL,CL
JNZ LOP2
ADD CH,BH
MOV AL, AH
DEC BL
JNZ LOP1
JMP START
LOP2: INC CH
ROR AL,1
JC LOP2
MOV AL,CH
CMP AL,0
JZ KEY0
CMP AL,1
JZ KEY1
CMP AL,0EH
JZ KEY14
JMP KEY15