spekey.asm

来自「用汇编语言实现的类似DOS下打字的游戏」· 汇编 代码 · 共 46 行

ASM
46
字号
;对ESC、ENTER、TAB等特殊键处理的子程序
;入口参数------------键盘输入的值ax
;出口参数------------对特殊键处理完毕,非特殊键给后面的hit子程序处理

spekey proc far 

	cmp al,'Q'
	jz  exit	;为'Q'键则结束游戏
	cmp ah,01h
	jnz concmp
	call far ptr time
	JMP  START	;为ESC键跳转到主程序头,调出主界面
concmp: cmp al,20h
	jnz out
	call far ptr time	;为TAB键则暂停
	call far ptr tab
out:	call far ptr comkey	;非特殊键转一般键处理
	ret
exit:	mov ah,4ch
	int 21h
spekey endp



;判断输入是否ESC、ENTER、TAB等特殊键,若是则进行处理否则转comkey子程序进行处理
;入口参数------------键盘输入的值ax
;出口参数------------对特殊键处理完毕,非特殊键给后面的comkey子程序处理

spekey proc far 

	cmp al,'Q'
	jz  exit	;为'Q'键则结束游戏
	cmp ah,01h
	jnz concmp
	call far ptr time
	JMP  START	;为ESC键跳转到主程序头,调出主界面
concmp: cmp al,20h
	jz  istap
	call far ptr comkey	;非特殊键转一般键处理
	jmp gback 
istap:	call far ptr time	;为TAB键则暂停计时
	call far ptr tab
gback:	ret
exit:	mov ah,4ch
	int 21h
spekey endp	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?