GNU AS汇编质量

简介: GNU AS汇编质量

前言

汇编器:将汇编语言翻译为机器目标代码的程序。

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

目录
相关文章
|
存储 移动开发 前端开发
linux内核1-GNU汇编入门_X86-64&ARM(下)
linux内核1-GNU汇编入门_X86-64&ARM(下)
|
存储 前端开发 rax
linux内核1-GNU汇编入门_X86-64&ARM(上)
linux内核1-GNU汇编入门_X86-64&ARM
|
开发工具 IDE 语音技术
GNU ARM汇编快速入门
   前言: 以前用ARM的 IDE工具,使用的是ARM标准的汇编语言。现在要使用GNU的工具,当然要了解一点GNU ARM汇编的不同之处。其实非常的简单,浏览一下文档然后再看看程序就完全可以搞定了,或者你硬着头皮看GNU ARM的汇编程序,用不了多少时间你就就可以无师自通了。
1501 0
|
17天前
|
编译器 Linux 开发工具
|
17天前
|
NoSQL 编译器 开发工具
006.gcc编译器
gcc是什么?
50 0
006.gcc编译器
|
17天前
|
存储 NoSQL 算法
从一个crash问题展开,探索gcc编译优化细节
问题分析的过程也正是技术成长之路,本文以一个gcc编译优化引发的crash为切入点,逐步展开对编译器优化细节的探索之路,在分析过程中打开了新世界的大门……
461 1
|
17天前
|
C语言
gcc的简易用法(编译、参数与链接)
【5月更文挑战第14天】gcc的简易用法(编译、参数与链接)。
18 1
|
17天前
|
Unix Java 编译器
安装gcc
【5月更文挑战第14天】安装gcc。
33 1
|
17天前
|
C语言
gcc的简易用法
【5月更文挑战第10天】gcc的简易用法。
22 8
|
17天前
|
C语言
转载 - gcc/ld 动态连接库和静态连接库使用方法
本文介绍了如何在GCC中实现部分程序静态链接、部分动态链接。使用`-Wl`标志传递链接器参数,`-Bstatic`强制链接静态库,`-Bdynamic`强制链接动态库。
43 0