前言
汇编器:将汇编语言翻译为机器目标代码的程序。
ARM汇编开发指用ARM提供的汇编指令,进行ARM程序的开发。
ARM汇编开发,有两种开发方式,一种是使用ARM汇编,一种是使用ARM GNU汇编。两种汇编开发,使用的汇编指令是完全一样的,区别是宏指令,伪指令,伪操作不一样。其实两种开发方式的区别在于所使用的编译工具不一样。
对于ARM汇编,使用的是ARM公司开发的编译器,而ARM GNU汇编,是使用GNU为ARM指令集开发的编译器,也就是arm-gcc。
常用的两种汇编器:
-
ARM 公司官方的汇编器
ARM 格式:ARM 官方汇编语法 -
GNU AS 汇编器: aarch64-linux-gnu-as
GNU 工具链提供了一个 as 的命令作为器汇编器。并且 汇编码是 AT&T 格式的。
AT&T 格式源自贝尔实验室,为开发UNIX 系统而产生的汇编语法。
as 是 assembler 的简称。 -
伪操作:ARM汇编语言程序里的一些特殊指令助记符,其作用主要是完成汇编程序做各种准备工作,在源程序进行汇编时由汇编程序处理,而不是在计算机运行期间由机器执行。如程序段的定义,就属于伪操作。
-
宏指令:一段独立的程序代码,可插在源程序中,通过伪操作来定义。
-
伪指令:ARM汇编语言程序里的一些特殊指令助记符,不在处理器运行期间执行,在汇编时,被合适的ARM的机器指令代替,从而实现真正的指令操作。
正文-GNU AS ARM 参考
1-汇编程序控制指令
2-符号指令
3-常量定义指令
4-程序集列表指令
5-条件指令
6-调试指令
7-循环指令
8-宏指令
9-数字编码格式
10-转义码
11- 表达式运算符
参考链接:
https://re-eject.gbadev.org/files/GasARMRef.pdf
https://zhuanlan.zhihu.com/p/533821145