我对Assembly和FASM很新,实际上新的我无法让我的程序运行。
我从一些Hello world教程中“回收”了一些代码,我发现从KERNEL32.DLL调用ExitProcess在PE格式中工作正常,但不能在PE64中编译。
我正在尝试编译的程序是:
format PE64
entry start
include 'win32a.inc'
section '.code' code readable executable
start:
invoke ExitProcess,0
section '.idata' import data readable writeable
library kernel,'KERNEL32.DLL'
import kernel, ExitProcess,'ExitProcess'
当我尝试编译它时,FASM说call ExitProcess
是非法指令
在print.ASM [9]
在proc32.inc [20]
有人可以向我解释这里发生了什么,为什么?
如何解决这个问题还是有任何可靠的替代方案?