assembly - 如何将.s 转换为.asm?
问题描述
所以我在 MikeOS 上玩得很开心,但我在 Assembly 上很烂。所以我用 C 写了一个程序,并用 GCC(在 Ubuntu 中)将它转换为程序集。但是当我转换它时,它最终成为一个 .s 文件。那么如何将其转换为 .asm?我用来制作 .s 文件的命令是;
gcc -S test.c
所以另一种方法是,如何将 .s 转换为 .bin?这也可能有帮助。
谢谢!
解决方案
无需转换。扩展名用于组装,.s
就像.asm
.
同一种语言只有两个不同的扩展名。
如果你想使用,你可以重命名文件.asm
。
但请记住,由 GCC 等编译器生成的程序集不太可能直接在自定义操作系统等独立环境中使用,因为它将依赖 GCC 和您的主机系统中可用的东西。
如果您希望将 ASM 生成为不同的方言,请查看 GCC 标志,例如-masm
:
-masm=intel
英特尔语法-masm=att
AT&T 语法
编辑
正如 Peter Cordes 所提到的,该约定通常.s
用于 AT&T 语法和.asm
Intel。
请注意,GCC 仍然会生成一个.s
具有 Intel 语法的文件,尽管...
推荐阅读
- python - 多类意味着ROC计算
- c# - 单元测试和断言结果
- java - Java ClientProtocolException 异常优先级
- reactjs - 如何在 React C3js 中对 X 轴点进行分组?
- python - 来自 pandas 数据框的 plotly 折线图
- winapi - 如何一次将超过 4GB 的数据加载到内存缓冲区中?
- c# - 抽象类和 IModelBinder,如何获得正确的 ValidationState?
- elasticsearch - 没有在 kubernetes 之外获取 kibana gui
- pandas - 根据分组查找第三列 - Pandas
- castle-windsor - Castle Windsor Interceptor 是否可以仅拦截类中的特定方法而忽略其他方法?