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

汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作 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)。

Logo

更多推荐