📄 四人抢答器.asm
字号:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
LED DB 06H,5BH,4FH,66H ;1-4的数码表
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,63H ;设8255为A口输出,B口输入
MOV AX,82H
OUT DX,AL
MOV BX,OFFSET LED ;使BX指向段码管首址
D: MOV AL,3FH
MOV DX,60H
OUT DX,AL
MOV DX,61H
IN AL,DX
AND AL,80H
JZ A
JMP D
A: MOV DL,07H
MOV AL,00H ;灭灯
MOV DX,60H
OUT DX,AL
MOV DX,61H
IN AL,DX ;从8255的B口输入数据
OR AL,AL ;比较是否为0
JE A ;若为0,则表明无键按下,转A
MOV CL,0FFH ;CL作计数器,初值为-1
B: SHR AL,1
INC CL
JNC B
MOV AL,CL
XLAT
MOV DX,60H
OUT DX,AL
MOV DL,07H ;响铃ASC码为07
E: MOV DX,61H
IN AL,DX
AND AL,80H
JNZ D
JMP E
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -