我想知道这个操作意味着什么?
Test EDX, 200
Run Code Online (Sandbox Code Playgroud)
我DWORD有价值EDX:
1A1B1C00
Run Code Online (Sandbox Code Playgroud)
当我做test EDX, 200
,然后a JE,跳跃.为什么?EDX不等于200.
我想更多地了解Test EDX, 200意义.
A test执行a AND而不修改操作数(它只修改一些标志,如ZFet al).一个je简单的测试ZF(零标志),如果设置跳跃.
因此,Test EDX, 200将AND在价值EDX与0x200并设置ZF到1如果这个结果AND是0.在您的情况下,将给我们:
0x1A1B1C00 AND 0x00000200 -> 0x00000000
Run Code Online (Sandbox Code Playgroud)
由于0x0200是0000 0010 0000 0000二进制,该指令的目的Test EDX, 200是测试的价值EDX,看看第9位(从0开始计数的权利9位)是0或1,并采取跳跃,如果它是一个零.
| 归档时间: |
|
| 查看次数: |
10116 次 |
| 最近记录: |