您的位置:首页 > 其它

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

2014-03-25 16:39 239 查看
原文地址: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)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: