【问题标题】:Assembly Language Compiler [closed]汇编语言编译器 [关闭]
【发布时间】:2017-11-22 10:07:15
【问题描述】:

我需要一个用于 LINUX 的汇编语言编译器。 你能帮我一个链接吗? 目前我正在为 Windows 使用 EMU8086。 但是我需要这个用于 LINUX OS 的编译器。

【问题讨论】:

  • 我强烈建议安装 Linux 发行版,也许在虚拟机中。
  • 离题,因为要资源。 binutilspackage 提供了 GNU as 汇编器并且默认安装(如果你已经安装了gccclang)。 nasm 包是独立的,并提供不同的汇编语法。
  • 你可以在 Wine 下运行 EMU8086,但如果你想弄乱 16 位 DOS / PC-BIOS 的东西,在 Linux 下使用 NASM + BOCHS。或者使用 NASM 和/或 gcc 制作原生 32 位或 64 位可执行文件。
  • @PeterCordes nasm + dosbox 不是更接近 emu8086 的情况吗?嗯...我有时应该尝试一下 bochs 以获得更好的想法,实际上它有一些用于调试的内置工具(而 dosbox 默认情况下没有,必须从具有不同配置的源重新编译以获得一些调试支持)?那么nasm+bochs可能更接近emu8086。
  • @Ped7g:我忘记了 BOCHS 是否为使用 int 21h 的代码提供了完整的 DOS 环境。但 BOCHS 默认启用内置调试器,这是 asm 开发设置的 key 部分。

标签: linux ubuntu assembly


【解决方案1】:

对于汇编,您没有编译器,您需要一个汇编器和一个链接器。 我正在使用nasm 来组装我的代码和 gcc 以在 Linux 中链接。

【讨论】:

  • gcc 将从binutils 包(几乎总是安装)调用ld(有时是as