(在win7 64位上编码)
我昨天开始编写程序集,我下载了平面汇编程序。 现在,当我编译代码时,我得到一个.fas文件和一个.bin文件。
所以我听说你将扩展名更改为.exe或.com,这就是你构建的代码。 但是当我运行它时,我得到一个错误,因为我正在尝试运行32位应用程序。
我试过了:
通过文件属性(从谷歌读取)将文件执行更改为32位,但那里有这样的选项。
一个不同的汇编程序 - 很多。我已经尝试过NASM 64位,同样的问题。还有2个我已删除的因为它们不起作用。
任何人都可以给我一个工作64位组合器的下载链接吗?我一整天都在寻找1 :(
如果它有一个反汇编选项,它会更好,但不是必要的。
顺便说一句,我更喜欢一个也有IDE的汇编程序(比如FASM,你在程序中编写代码并在编译时通知你错误),而不像NASM那样只是一个汇编程序。
我还有另一个问题: 我发现了许多32位汇编程序指南,但更少的是64位汇编程序指南。我也应该从32位学习吗?我假设有64位指令,我在这些指南中找不到,但只要在64位编码时所有现有的32位指令都是EQU EQUAL,那对我来说没问题。那么,他们呢?
并且...如果有人有一个好的x64指南,我会在这里发布一个链接。
提前致谢。
答案 0 :(得分:2)
您必须链接生成的二进制文件。对于NASM(Netwide Assembler),您可以指定输出格式,但it defaults to bin
if you don't supply the argument。
只需指定nam -fwin64 ...
选项即可。有关NASM中Windows-64位汇编程序的更多信息,请参阅section 7.6 of the NASM manual。
答案 1 :(得分:1)