(转)GNU风格ARM汇编语法指南(非常详细)1

mac2022-06-30  87

原文地址:http://zqwt.012.blog.163.com/blog/static/120446842010111481551809/

汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作 ARM的协处理器等。这些初始化工作完成后就可以跳转到C代码main函数中执行。

1、GNU汇编语言语句格式

任何Linux汇编行都是如下结构:[<label>:][<instruction or directive or pseudo-instruction>} @comment

instruction为指令

directive为伪操作

pseudo-instruction为伪指令

<label>: 为标号,GNU汇编中,任何以冒号结尾的标识符都被认为是一个标号,而不一定非要在一行的开始。

comment为语句的注释

下面定义一个"add"的函数,最终返回两个参数的和:

.section .text, “x” .global add @ give the symbol “add” external linkage add: ADD r0, r0, r1 @ add input arguments MOV pc, lr @ return from subroutine @ end of program

 

注意:

ARM指令,伪指令,伪操作,寄存器名可以全部为大写字母,也可全部为小写字母,但不可大小写混用。

如果语句太长,可以将一条语句分几行来书写,在行末用“\”表示换行(即下一行与本行为同一语句)。“\”后不能有任何字符,包含空格和制表符(Tab)。

转载于:https://www.cnblogs.com/sheshiji/p/3623469.html

相关资源:GNU_ARM汇编语法
最新回复(0)