装配 - 如何检查ZF是0还是1?

时间:2017-02-06 08:34:32

标签: assembly flags zero

我现在在汇编中编写新代码,我需要你的帮助! 我使用了16h中断,我想检查键击是否可用,所以我想检查是否现在有零旗。 - 我该怎么办?

谢谢! :)

1 个答案:

答案 0 :(得分:1)

正如您可以看到hereZF=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