如果使用Intel语法,GAS可以在非Intel系统上组装吗?

问题描述

如果我在非Intel系统上进行汇编,是否可以在GAS(GNU汇编程序)中使用Intel语法?

从本质上来说,我starting out从事汇编程序设计,尽管我在高级语言方面有多年的经验,但我想选择一种适用于x86和ARM的汇编程序。可能还有其他体系结构,但这不是当前迫切的需求。

到目前为止,我对NASM感到满意,但我也需要ARM,因此GAS似乎是不错的候选人。没有写任何复杂的东西,但我同样愿意接受AT&T以及英特尔的语法。

我唯一不确定的是,如果选择Intel语法,是否也可以使用GAS进行跨体系结构编程?

我意识到,指令集自然会有所不同,但我只想选择一种工具来涵盖两种体系结构-我的想法是,如果我需要第三个工具,那么学习和维护的工具将会更少。从第一天开始,我就在GAS中做所有事情。

直觉上,我想说,使用GAS可能会构建AST,然后发出特定于体系结构的代码,而不管前端如何,因此使用Intel语法而不是AT&T在ARM或其他非Intel体系结构上汇编程序应该没有任何障碍。语法,但不幸的是,我无法使用ARM系统进行尝试,尽管如此,我还是非常想与知识渊博的人一起确认它。谢谢。

编辑:我想出了一个比喻,也许可以使我更清楚地了解自己的想法。假设有人学会了在Linux上有效地使用vim来使用Python,那么所有这些知识都可以轻松地转移到Mac上,以便使用Objective-C进行开发。

不用说,Python和Objective-C是两种截然不同的语言,但是工具知识(在此示例中为vim)仍然有用。

如果某天需要在Windows上开发Java,那么该Java仍然适用,程序员将能够在第三个系统上使用vim或衍生产品。

最终,Python,Obj-C和Java之类的语言之间的实际差异自然会使任何与工具相关的问题相形见but,但是当刚开始工作时,使用相同工具满足多种不同需求的想法就相当多了吸引人的。

这是我正在考虑的可重用性。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)