汇编语言 TEST AL,81H

问题描述:

汇编语言 TEST AL,81H
请问为什么是81H?判断BUF为正偶数.
若TEST AL,81H
JNZ.(即,若测试结果不等于0,则跳转)

TEST AL,81H,是把最高位、最低位,保留下来,其它各个位,都变成零.
JNZ 就是非零转移.
也就是说:当最高位,或最低位为1的时候转移.
最高位为1,代表,原来的数字,是负数.
最低位为1,代表,原来的数字,是奇数.
不转移的时候,就说明原来的数字是 正、偶,数.额原题是检查BUF的内容是否为正偶数,如是正偶数,则0—>AL。答案是:MOV AL,BUF/TEST AL,81H/JNZ K3 MOV AL,O/K3.......(其中/代表语句的分隔)按你上面说的,貌似刚好相反?没有反。MOVAL, BUFTESTAL, 81H;保留下来最高位、最低位,其它各个位,清零JNZK3 ;非零转移,即为负转移、为奇转移OVAL, O ;这里即是 正、偶数 的处理。....K3.......(;这里是负数或奇数的处理。