我有 64 位 Ubuntu,但我需要为 Intel 8086 Windows 编写 ASM 代码……你可以推荐任何软件或 IDE 或模拟器吗?
我知道每种处理器都有不同的指令......
首先,您始终可以使用适当的编译器将程序编译为 32 位 Windows PE 可执行文件。我不知道其他汇编程序,但是,例如,FASM可以很容易地做到这一点。
最大的问题在于测试——即如何运行和调试编译的程序?
我所知道的唯一能够从 Linux 编译、运行和调试 Windows 和 Linux 应用程序的 IDE 是Fresh IDE(它基于 FASM 编译器)。Fresh IDE 是 Windows 应用程序,因此您需要安装WINE才能使用它(它使用 Wine 以便能够从 Linux 运行 Windows 应用程序)。
据我所知,WINE 可以在 64 位 Linux 上运行,但我从未使用过它,因此无法提供任何安装指南。
安装 WINE 后,按照安装指南中的说明安装和配置 Fresh IDE 。
注意:Fresh IDE 是我的产品,我可能有点偏见。但它具有此答案中描述的功能(以及更多有用的功能)。:)
特定的汇编语法是编译器特定的。无论您打算使用哪种编译器,您都需要对此进行调查。我不知道在 Linux 中有任何特定的 IDE/仿真器用于此目的,但是您可以使用您选择的任何编辑器(vi、emacs、eclipse、nano、textedit 等)来编写包含您的代码的文本文档。然后,您可以使用适当的编译器将其传输到 Windows 机器。但是,除非您无法定期访问编译机,否则在您要编译的环境中工作可能更符合您的兴趣。
您可以在任何您想要的机器上编写代码。测试它完全是另一回事。在您的情况下,您至少需要一个交叉汇编器来在您的 Linux 机器上构建 Windows 二进制文件,然后可能需要一个运行某种 Windows 的 VM 来测试您的程序。如果您要努力设置 VM,您也可以在那里使用本地汇编程序。