如果我们有:
test dword ptr [eax], 2000h
je label1:
除了
0
之外还有其他值吗?在 dword ptr [eax]
那会让跳跃发生吗?
最佳答案
使用说明 测试 像 和 指令,唯一的区别是结果不会存储回目标操作数。
所以答案是肯定的。所有没有在内存地址 [eax] 上设置第 13 位的二进制数,或所有存在的数字,如 b'xxxxxxxx xxxxxxxx xx0xxxxx xxxxxxxx',其中 x 是 0 或 1,正好有 2^31 个数字。
关于assembly - `test` 指令是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4458368/