假设我有这样的东西...
bool isPatched;
我有几个其他的图形用户界面,其中我设置了 isPatched = true;
和 isPatched = false;
,isPatched = !isPatched;
void __declspec( naked ) test(void) { //
__asm {
PUSHAD
PUSHFD
MOV EAX, isPatched
CMP EAX, 0
je noPatched
MOV EAX, DWORD PTR DS:[ESI+0x77C]
MOV John.oldA, EAX
MOV EAX, John.A
MOV DWORD PTR DS:[ESI+0x77C], EAX
JMP finish
noPatched:
PUSH EDX
MOV DWORD PTR DS:[ESI+0x77C], EDX
finish:
POPFD
POPAD
JMP gotoAddressBack
}
}
在内联汇编中使用bool
运算符是否可行?
我认为它认为isPatched是一个标签...从这个错误信息来看。
error C2094: 标签'isPatched'未定义
isPatched != isPatched
总是为假。你是不是想说= !
? - Linus Kleencmp eax, 0
,要么使用test eax, eax
。 - sharptooth