`test`指令如何工作?

Her*_*ton 6 x86 assembly bit-manipulation bitwise-operators instructions

如果我们有:

test dword ptr [eax], 2000h
je label1:
Run Code Online (Sandbox Code Playgroud)

是否有任何值比其他0dword ptr [eax],否则会给跳跃花费的地方吗?

GJ.*_*GJ. 9

指令测试就像指令一样工作,唯一的区别是结果不会存储回目标操作数.所以答案是肯定的.所有二进制数都没有设置内存地址[eax]的第13位,或者所有数字都存在,如b'xxxxxxxx xxxxxxxx xx0xxxxx xxxxxxxx',其中x是0或1,恰好有2 ^ 31个数字.

  • @BlackBear:**如果eax ** = 0,则**测试eax,eax **将置零标志**和eax,eax **(也影响符号和奇偶校验标志并清除进位和溢出标志)。 (2认同)