我正在查看一些小的汇编代码,我无法理解TEST指令及其用法.我在循环结束时查看以下代码:
8048531: 84 c0 test al,al
8048533: 75 dc jne 8048511 <function+0x2d>
Run Code Online (Sandbox Code Playgroud)
我理解TEST的方式是它有点像AND运算符,它设置了一些标志.我想我真的不明白旗帜是如何运作的.test al,al对我来说,它看起来像检查相同的低位,并将始终得到相同的结果.
谁能解释一下?
如果我们有:
test dword ptr [eax], 2000h
je label1:
Run Code Online (Sandbox Code Playgroud)
是否有任何值比其他0的dword ptr [eax],否则会给跳跃花费的地方吗?
x86 assembly bit-manipulation bitwise-operators instructions