汇编语言 TEST AL,81H

汇编语言 TEST AL,81H
请问为什么是81H?判断BUF为正偶数.
若TEST AL,81H
JNZ.(即,若测试结果不等于0,则跳转)
tiansansi 1年前 已收到1个回答 举报

ysy_d 幼苗

共回答了22个问题采纳率:100% 举报

TEST AL,81H,是把最高位、最低位,保留下来,其它各个位,都变成零.
JNZ 就是非零转移.
也就是说:当最高位,或最低位为1的时候转移.
最高位为1,代表,原来的数字,是负数.
最低位为1,代表,原来的数字,是奇数.
不转移的时候,就说明原来的数字是 正、偶,数.

1年前 追问

4

tiansansi 举报

额 原题是检查BUF的内容是否为正偶数,如是正偶数,则0—>AL。 答案是:MOV AL,BUF/TEST AL,81H/JNZ K3 MOV AL,O/K3.......(其中/代表语句的分隔) 按你上面说的,貌似刚好相反?

举报 ysy_d

没有反。 MOV AL, BUF TEST AL, 81H ;保留下来最高位、最低位,其它各个位,清零 JNZ K3 ;非零转移,即为负转移、为奇转移 OV AL, O ;这里即是 正、偶数 的处理。 .... K3.......( ;这里是负数或奇数的处理。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.021 s. - webmaster@yulucn.com