下面程序段实现什么功能?在什么情况下,其执行结果是AH=0?

追问下面程序段实现什么功能?在什么情况下,其执行结果是AH=0?
BEGIN:IN AL, 5FH
TEST AL,80H
JZ BRCH1
MOV AH, 0
JMP STOP
BRCH1 : MOV -AH,0FFH
STOP: HLT

BEGIN:IN AL, 5FH ;开始程序,将5F端口的值存入AL
TEST AL,80H ;测试AL是否为80H
JZ BRCH1 ;如果为80,跳转到BRCH1
MOV AH, 0 ;将AH存入0
JMP STOP ;跳转到STOP(暂停命令)
BRCH1 : MOV -AH,0FFH ;BRCH1:将ff存入AH
STOP: HLT ;暂停程序

很简单啊,当端口5F值不为80h的时候,AH不就为0了吗
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-29
80H是10000000,是1的地方对应的是第七位,TEST 80H意思是检测AX中的第七位,也就是最高位,是否为1,当为1时,标志寄存器ZF=0,也就是AL=0

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网