|
Advance Member
|
引用:
|
作者anomaly
如果不介意code變大, 可以嘗試不要用function, 而是把這些asm 用 #define 處理. compile的時候會在pre-processor階段把#define 的内容直接替換到原始碼内, 而且不用後續再手動復原CPU register。
|
類似這樣
#define FUN \
{ \
__asm cmp ecx, 0x4000 \
__asm jnz NO_Trinity \
__asm push 0x1E \
__asm push offset STRS_TRINITY_Tutorial \
__asm lea ecx, [ebp-0x20] \
caddr = 0x004040E0; \
__asm call caddr \
}
呼叫的時候就打一個FUN
|