📄 down1.asm
字号:
; 游戏界面上方字母随机下落的子程序
;入口参数--------------主程序中的字母表table
;出口参数--------------键盘的输入值ax
down proc far
push cx
push dx
push ax
push si
INC TOTAL ;下降的字符个数的计数器增一
MOV CX,1
MOV DH,1
call random
MOV DL,BL ;bl为random产生的随机数
REPTDO:
MOV AH,2
INT 10H ; set cursor position
MOV SI,BL
MOV AL,TABLE[SI]
MOV AH,10
INT 10H ; display spade
CALL DELAY
MOV AL,0
MOV AH,10
INT 10H
MOV AH,1 ;判断键盘是否有输入
INT 16H
JZ COND ;无输入时转字符继续下落
; CALL FAR PTR SPEKEY ;有输入时转特殊键处理
jmp back
COND: INC DH
CMP DH,24
JNE REPTDO
back: MOV DH,1
MOV DL,BL
MOV AH,2
INT 10H ;recover the top character
MOV SI,BL
MOV AL,TABLE[SI]
MOV AH,10
INT 10H
pop si
pop ax
pop dx
pop cx
ret
DOWN ENDP
DELAY PROC FAR
PUSH CX
PUSH DX
MOV DX,32
DL1:
MOV CX,0FFFFH
DL2:
LOOP DL2
DEC DX
JNZ DL
POP DX
POP CX
RET
DELAY ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -