我现在在汇编中编写新代码,我需要你的帮助! 我使用了16h中断,我想检查键击是否可用,所以我想检查是否现在有零旗。 - 我该怎么办?
谢谢! :)
答案 0 :(得分:1)
正如您可以看到here,ZF=1
时没有可用的按键,以及有可用按键时ZF=0
。您可以使用J(N)Z
指令进行相应的分支
使用JZ
:
mov ax, 0100h
int 16h
jz no_key
; Handle case if there is a key press here
; AH will contain the scan code; AL will contain the ASCII code
no_key:
; Handle case if there is no key press here
使用JNZ
:
mov ax, 0100h
int 16h
jnz key_pressed
; Handle case if there is no key press here
key_pressed:
; Handle case if there is a key pressed here
; AH contains the scan code; AL contains the ASCII code