瀏覽單個文章
anomaly
Advance Member
 

加入日期: Feb 2003
文章: 406
引用:
作者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
舊 2021-03-23, 01:39 PM #8
回應時引用此文章
anomaly離線中