首页 > 解决方案 > 如何将.s 转换为.asm?

问题描述

所以我在 MikeOS 上玩得很开心,但我在 Assembly 上很烂。所以我用 C 写了一个程序,并用 GCC(在 Ubuntu 中)将它转换为程序集。但是当我转换它时,它最终成为一个 .s 文件。那么如何将其转换为 .asm?我用来制作 .s 文件的命令是;

gcc -S test.c

所以另一种方法是,如何将 .s 转换为 .bin?这也可能有帮助。

谢谢!

标签: assemblygccgnu-assembler

解决方案


无需转换。扩展名用于组装,.s就像.asm.
同一种语言只有两个不同的扩展名。

如果你想使用,你可以重命名文件.asm

但请记住,由 GCC 等编译器生成的程序集不太可能直接在自定义操作系统等独立环境中使用,因为它将依赖 GCC 和您的主机系统中可用的东西。

如果您希望将 ASM 生成为不同的方言,请查看 GCC 标志,例如-masm

  • -masm=intel英特尔语法
  • -masm=attAT&T 语法

编辑

正如 Peter Cordes 所提到的,该约定通常.s用于 AT&T 语法和.asmIntel。
请注意,GCC 仍然会生成一个.s具有 Intel 语法的文件,尽管...


推荐阅读