汇编语言结束指令
ARM汇编语言编程详解
硅谷芯微嵌入式学院技术贡献网址:
4.1 汇编语言
使用汇编语言编写程序,它的特点是程序执行速度快,程序代码生成量少,但汇编语言是一种不易学习的编程语言,并且可读性较差,这种语言属于低级语言。每一种汇编语言对应每一款芯片,使用这种语言需要对硬件有深刻的了解。在通常情况下,可以使用汇编语言编写驱动程序、需要严格计算执行时间的程序以及需要加速执行的程序。
先介绍一个例子来说明ARM汇编程序的格式。
例1 计算20+8,结果放入R0寄存器。
AREA          Buf, DATA, READWRITE                                ;声明数据段Buf Count              DCB        20                                                            ;定义一个字节单元Count              AREA          Example, CODE, READONLY                          ;声明代码段Example
ENTRY                                                                    ;标识程序入口
CODE32                                                                  ;声明32位ARM指令START
LDRB          R0, Count                                            ;R0 = Count =20
MOV            R1, #8                                                  ;R1 = 8
ADD            R0, R0, R1                                          ;R0 = R0 + R1
B                  START
END
例1中定义了两个段:数据段Buf和代码段Example 。数据段中定义了字节单元Count,其中Count用来保存一个被加数;代码段中包含了所有源程序代码,程序中首先读取Count字节单元的内容,然后与立即数8相加,计算结果保存到R0中。
由例1可见,ARM汇编语言的源程序是分段的,由若干个段组成一个源程序。源程序的一般格式为:
AREA          name1, attr                                                                    ;声明特定的段标号语句1                                                                            ;语句
...
语句n
AREA          name2, attr
标号语句n+1
...
语句n+m
END                                                                                                ;结束符
每一个段都有一个名字,并且段名是唯一的。每个段以符号AREA作为段的开始,以碰到下一个符号AREA 作为该段的结束。段都有自己的属性,如是代码段(CODE)还是数据段(DATA),是只读(READONLY )还是可读写(READWRITE)?这些属性可以在attr栏中设定。
注意:符号AREA和END都不能顶格写,只有标号可以而且必须顶格写。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。