64位Windows汇编程序

时间:2012-05-22 19:10:17

标签: assembly 64-bit compatibility 32-bit

我想编程64位窗口程序集(最好使用NASM)。我看起来相当不错但谷歌似乎我找不到64位Windows编译器。有些网站提到了ml64,但似乎它已不再包含在VC ++中了。我试过32位汇编,但显然它只是在我的64位机器上崩溃了。是否可以在64位Windows机器上编写,编译和运行32位汇编应用程序?或者应该为64位编写和编译?

感谢。

2 个答案:

答案 0 :(得分:6)

Yasm(*)是一个现代的,多平台的NASM重写汇编程序,能够组装x86和AMD64 / x86-64指令集。

然而......你可能意味着你需要一个链接器来链接组装的目标代码/文件来创建一个可执行文件。至少完全免费的MinGW(Minimal GNU for Windows)项目包附带了一个链接器(称为ld),能够从目标文件(至少ELF和PE对象格式)组装32位和64位Windows可执行文件。

您可以在64位环境中交叉编译/构建32位项目,反之亦然,因为您为汇编器和链接器提供了正确的命令行参数。有关更精确的详细信息,请参阅选择工具的文档。

*)http://yasm.tortall.net/

答案 1 :(得分:3)

可以在64位Windows上编写,汇编和运行32位程序集。我在Windows 7 x64机器上的masm32中编写了一些实用程序。如果你想组装64位代码,我相信FASM支持64位目标代码。