作者在 2008-11-01 13:20:36 发布以下内容
http://bbs.bccn.net/thread-238091-1-1.html
INVOKE是编译器支持的伪指令,会检查参数. CALL会直接去栈里取参. INVOKE最后也会变成 PUSH PUSH ... CALL 的形式.
TASM5.0:
extrn ExitProcess:proc
call ExitProcess,0
:0040103C 6A00 push 00000000
:0040103E E8B5020000 call KERNEL32.ExitProcess
MASM32:
invoke ExitProcess,NULL
:00401026 6A00 push 00000000
:00401028 E801000000 call KERNEL32.ExitProcess
本质一样,在MASM32下还是用invoke保险。但是TASM下缺失参数一样会出错的。
INVOKE是编译器支持的伪指令,会检查参数. CALL会直接去栈里取参. INVOKE最后也会变成 PUSH PUSH ... CALL 的形式.
TASM5.0:
extrn ExitProcess:proc
call ExitProcess,0
:0040103C 6A00 push 00000000
:0040103E E8B5020000 call KERNEL32.ExitProcess
MASM32:
invoke ExitProcess,NULL
:00401026 6A00 push 00000000
:00401028 E801000000 call KERNEL32.ExitProcess
本质一样,在MASM32下还是用invoke保险。但是TASM下缺失参数一样会出错的。