nasm只能通过-f bin
选项生成机器代码。我想在masm上做同样的事情,但我找不到。
看起来始终生成的目标代码是COFF格式,并且似乎不是关闭它的选项。
有什么建议吗?
答案 0 :(得分:1)
MASM
必须使用链接器,但仍可以使用/TINY
选项跳过创建可执行标头。请参阅有关创建COM可执行文件的MS信息 - 这是一个平面二进制文件:
http://support.microsoft.com/kb/24954
正如其他人已经说过的那样,限制工具的限制较少。 FASM是我的偏好 - 默认情况下生成一个平面二进制文件。 :)
答案 1 :(得分:0)
你做不到。但是如果你的目标只是将一个二进制块写入文件,你很容易滥用汇编程序来帮助你。
用两部分编写汇编程序
要作为二进制块生成的部分。给它一个起始标签,BLOCK和结束标签BLOCKEND。
加载可执行文件时获得控制权的部分,并在OS(例如Windows)上调用该块以将该块写入文件;完成后,它就会退出。这样做的实际调用实际上并不难写;你可能会在本节中拥有50-100行代码。
答案 2 :(得分:0)
您可以将您的masm代码转换为exe并使用十六进制编辑器查看机器代码