📄 新建 文本文档.txt
字号:
附录 源程序
DATA SEGMENT
INF DB 'Press 1-8','$'
SAV DB 200 DUP(0)
DATA ENDS
CK SEGMENT STACK
DB 100 DUP(?)
CK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:CK
JIA:MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET INF
MOV AH,9 ;显示提示信息
INT 21H
MOV SI,0
MOV BX,OFFSET SAV
MOV AL,10110110B ;8253初始化
OUT 43H,AL
WU: MOV AH,0 ;检查键盘
INT 16H
MOV CL,AL
CMP AL,'1'
JZ A
CMP AL,'2'
JZ B
CMP AL,'3'
JZ C
CMP AL,'4'
JZ D
CMP AL,'5'
JZ E
CMP AL,'6'
JZ F
CMP AL,'7'
JZ G
CMP AL,'8'
JZ H
CMP AL,'0'
JZ EXI
CMP AL,'9'
JNZ KKO
JMP PLAY
KKO:JMP WU
EXI:JMP EXIT
A:
MOV AX,523
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MA
B: MOV AX,494
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MA
C: MOV AX,440
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MA
D: MOV AX,392
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MA
E: MOV AX,349
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MA
F: MOV AX,330
out 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MA
G: MOV AX,294
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MA
H: MOV AX,262
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
MA:CMP DI,200 ;检查存储区数据是否溢出?
JNZ OK ;无溢出则跳转
MOV DI,0
OK:MOV AL,CL
MOV BYTE PTR [BX][DI],AL
INC DI
IN AL, 61H
OR AL ,3
OUT 61H, AL
JMP WU
EXIT: MOV AL,0
OUT 61H,AL
MOV AH,4CH
INT 21H
PLAY:MOV AL,10110110B ;8253初始化
OUT 43H,AL
PUSH DI
INC DI
MOV CX,DI
MOV SI,OFFSET SAV
TT:MOV AL,[SI]
CMP AL,'1'
JZ AA
CMP AL,'2'
JZ BB
CMP AL,'3'
JZ CC
CMP AL,'4'
JZ DDC
CMP AL,'5'
JZ EE
CMP AL,'6'
JZ FF
CMP AL,'7'
JZ GG
CMP AL,'8'
JZ HH
CMP AL,'0'
JZ EXIT
JMP WU
AA:
MOV AX,523
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MAA
BB: MOV AX,494
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MAA
CC: MOV AX,440
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MAA
DDC: MOV AX,392
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MAA
EE: MOV AX,349
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MAA
FF: MOV AX,330
out 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MAA
GG: MOV AX,294
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
JMP MAA
HH: MOV AX,262
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
MAA: IN AL, 61H
OR AL ,3
OUT 61H, AL
MOV CX,60
L2:PUSH CX
MOV CX,0B0H
L3:LOOP L3
POP CX
LOOP L2
INC SI
LOOP KO
POP DI
JMP WU
KO:JMP TT
CODE ENDS
END JIA
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -