X86下经常使用test+je指令来完成跳转。
0x30001005 test eax, eax
0x30001007 je 0x3000101a
test 指令用于两个操作数的按位AND运算,并根据结果设置标志寄存器,结果本身不会写回到目的操作数。
上面两行的用法是用来测试寄存器是否为0: 寄存器为0, 则ZF零标志为1, 则跳转
因此对于上面的代码块,很容易得到对应的C++代码:
If块中的代码没有完全解析出来,留待明天吧。
X86下经常使用test+je指令来完成跳转。
0x30001005 test eax, eax
0x30001007 je 0x3000101a
test 指令用于两个操作数的按位AND运算,并根据结果设置标志寄存器,结果本身不会写回到目的操作数。
上面两行的用法是用来测试寄存器是否为0: 寄存器为0, 则ZF零标志为1, 则跳转
因此对于上面的代码块,很容易得到对应的C++代码:
If块中的代码没有完全解析出来,留待明天吧。