GNU风格 ARM汇编语法指南(非常详细)1
转自:GNU风格 ARM汇编语法指南(非常详细)1汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作 ARM的协处理器等。这些初始化工作完成后就可以跳转到C代码main函数中执行。1、 GNU汇编语言语句格式 任何Linux汇编行都是如下结构:[:][instruction or directiveor pseudo-instruction>}
汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作 ARM的协处理器等。这些初始化工作完成后就可以跳转到C代码main函数中执行。
1、 GNU汇编语言语句格式
任何Linux汇编行都是如下结构:[<label>:][<instruction or directive or pseudo-instruction>} @comment
l instruction为指令
l directive为伪操作
l pseudo-instruction为伪指令
l <label>: 为标号, GNU汇编中,任何以冒号结尾的标识符都被认为是一个标号,而不一定非要在一行的开始。
l 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
注意:
l ARM指令,伪指令,伪操作,寄存器名可以全部为大写字母,也可全部为小写字母,但不可大小写混用。
l 如果语句太长,可以将一条语句分几行来书写,在行末用“\”表示换行(即下一行与本行为同一语句)。“\”后不能有任何字符,包含空格和制表符(Tab)。更多推荐
所有评论(0)