汇编中TEST的问题

来源:百度知道 编辑:UC知道 时间:2024/05/20 09:28:52
已知(BL)=0EFH,执行TEST BL,45H后
(BL)=??

我觉得依然时0EFH,但答案是45H
为什么

已知(BL)=0EFH,执行TEST BL,45H即将BL中的0EFH和45H相与,但结果不回送,所以目的操作数BL的值不变仍然为0EFH 。

TEST A1,B1运算不改变任何值,只影响标志位.CF,ZF..

你的感觉不是错的, 答案肯定不是45H,而是0EFH

TEST 指令执行时,只是通过运算来影响标志位,而不影响其他任何数据寄存器. r代表由结果决定
C Z S O P
0 r r 0 r

TEST 指令执行时,执行两数的位相与,只是通过运算来影响标志位.CF\ZF,而不影响其他数据寄存器.