Linux下的MASM?

Posted

技术标签:

【中文标题】Linux下的MASM?【英文标题】:MASM under Linux? 【发布时间】:2008-11-20 07:27:04 【问题描述】:

有没有办法让我在 Linux 下使用MASM。即使是坚韧的 NASM 在 Linux 下也很流行,但在代码上的一些指令风格上还是有区别的。

【问题讨论】:

【参考方案1】:

维基说

MASM32 EULA 不允许在开源软件的开发中使用,只允许在 Windows 操作系统中运行。

所以它是一个不。

【讨论】:

听起来像是一种旧的 EULA。如今,没有多少微软产品拥有如此激进的许可协议。 另外,在 Linux 上使用 MASM32 并不意味着开发了开源软件。 如果 EULA 仍然说“只允许在 Windows 操作系统中运行”,那么在 Linux 上使用它是否自动意味着正在开发开源软件并不重要。跨度> 好吧,你可以在 linux 上的虚拟机中运行 windows,这样你就不会违反他们的 EULA ;-) 你能把这句话链接到它的来源吗?它相当可疑,不再出现在 wiki 上。【参考方案2】:

我使用 DosBox,它对我来说确实很好用。

详情here

【讨论】:

欢迎来到 Stack Overflow!您不应该只提供指向另一个站点的链接作为答案,因为该站点将来可能会过时。相反,请单击此答案上的“编辑”链接,并在此处包含该页面中解决方案的基本部分。见:meta.stackexchange.com/q/8259 @PeterO。看起来事情就是这样。【参考方案3】:

您应该能够在Wine 下运行 MASM。

【讨论】:

【参考方案4】:

MASM 不能与 WINE 一起运行,我在 Virtual Box 下运行 MASM

【讨论】:

【参考方案5】:

我个人更喜欢 NASM 风格,但您可能可以在 Wine 下运行 MASM(或者在 VM 中失败)。毕竟它不应该需要任何外来的 API 调用。

我已经能够在 Linux 上的 Wine 下运行 Win32 NASM 二进制文件而没有任何问题 [长篇大论,没有网络连接]。

如果您想将 Microsoft 的 OMF 二进制格式转换为 ELF,那么您应该可以使用 objcopy 来执行此操作,但您可能需要编译以支持正确的对象格式。

【讨论】:

【参考方案6】:

在 Wine 下运行 MASM 或在 wiki 上查看 MASM 只能在 Windows 上运行。

问候。

【讨论】:

【参考方案7】:

MASM 的替代品是UASM。

UASM 是基于 JWasm 的免费 MASM 兼容汇编器。

它适用于创建通用 Linux 二进制文件。 但是,UASM 无法使用需要 -fPIC 选项的共享对象。

【讨论】:

以上是关于Linux下的MASM?的主要内容,如果未能解决你的问题,请参考以下文章

linux0.00 masm版

C/C++中书写汇编指令

在线测试MASM程序

masm与nasm的搭建使用

MASM驱动开发环境及示例

试图弄清楚 MASM 语法