我目前正在反转反汇编并偶然发现了一系列我不明白的指令:
给定一个对象指针在esi
.
.text:00C20263 cmp dword ptr [esi+80h], 0
.text:00C2026A jnz short loc_C2027D
如您所见,如果成员+0x80
不为 0(成员是整数),则代码跳转到00C2027D
:
.text:00C2027D add dword ptr [esi+80h], 0FFFFFFFFh
.text:00C20284 jnz short loc_C20291
这两个指令是我不太明白的。首先,成员增加0xFFFFFFFF;但是由于成员不是0,这不会超过32位整数的最大值吗?jnz
指令何时跳转?
有人能指出这两条指令的目的是什么吗?