问题
单项选择题
为了使AX和BX寄存器中的两个16位二进制数具有相同的符号位,下面的程序段中应填写什么指令?PUSHAX____________TESTAX,8000HJZSAMEXORBX,8000HSAME:POPAX
A.ANDAX,BX
B.XORAX,BX
C.SUBAX,BX
D.ORAX,BX
答案
参考答案:B
解析:执行指令“TESTAX,8000H”时,如果AX的符号位为1,那么就执行指令“XORBX,8000H”,将BX的符号位取反。如果AX的符号位为0,那么保持BX寄存器的符号位,为了使AX和BX寄存器中的两个16位二进制数具有相同的符号位,那么就要求“TESTAX,8000H”指令执行之前,AX和BX寄存器的符号位要相反或者均为0,四个选项中只有B能够满足要求。