3

nasm 只能通过-f bin选项生成机器代码。我想在 masm 上做同样的事情,但我找不到怎么做。

它看起来总是生成的目标代码是 COFF 格式,并且似乎不是关闭它的选项。

有什么建议吗?

4

3 回答 3

1

MASM必须使用链接器,但仍然可以通过使用/TINY选项跳过创建可执行标头。请参阅有关创建 COM 可执行文件的 MS 信息 - 这是一个平面二进制文件:

http://support.microsoft.com/kb/24954

正如其他人已经说过的那样,限制较少的工具。FASM是我的偏好 - 默认情况下生成平面二进制文件。:)

于 2013-03-31T07:49:52.940 回答
0

您可以将您的 masm 代码制作成 exe 并使用十六进制编辑器查看机器代码

于 2013-04-01T19:55:59.170 回答
0

你不能。但是,如果您的目标只是将一个二进制块写入文件,那么您很容易滥用汇编程序来帮助您。

用两部分编写你的汇编程序

  • 您要作为二进制块生成的部分。给它一个开始标签 BLOCK 和结束标签 BLOCKEND。

  • 加载可执行文件时获得控制权的部分,并在操作系统(例如,Windows)上调用以将块写入文件;完成后,它只是退出。执行此操作的实际调用实际上并不难编写。在本节中,您可能会有 50-100 行代码。

于 2013-03-31T08:35:40.180 回答