- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM汇编程序基本知识
ARM汇编程序基本知识
1.汇编程序的基本组成
ARM汇编语言程序中,程序是以程序段为单位组织代码的。段是相对独立的指令或者代码序列,拥有特定的名称。段的种类有代码段、数据段和通用段,代码段的内容为执行代码,数据段存放代码运行时需要用到的数据,通用段不包含用户代码和数据,所有通用段共用一个空间。段使用AREA伪操作来定义,并且说明相关属性,如
代码段定义
????? AREA Init, CODE, READONLY
????? …
数据段定义
????? AREA Stack1,DATA,READWRITE,NOINIT,ALIGN=3
????? ……
等
一个汇编程序至少应该有一个代码段,可以有零或者多个数据段。在格式上,一个汇编程序需要至少有一个ENTRY(关于ENTRY具体内容看伪操作符ENTRY),还需要在汇编源文件结束处,写上END表示该源文件的结束。
如一个基本的汇编源程序
??????????? AREA Init, CODE, READONLY ;定义一个代码段
??????????? ENTRY ;标记程序入口点
Start??? LDR R0,0x3FF5000 ;标号Start可以要,也可以不要
??????????? LDR R1,0Xff
??????????? STR R1,[R0]
??????????? LDR R0,=0x3FF5000
??????????? LDR R1,0x01
??????????? STR R1,[R0]
??????????? ……
??????????? END ;END伪操作表示本源文件结束
当汇编程序较长时,可以分割为多个代码段和多个数据段,多个段在程序编译链接时,最终形成一个可执行的映像文件。一个可执行映像文件通常由以下几部分组成
一个或者多个代码段,代码段属性为只读(只读数据也放在代码段?RO)
零个或者多个初始化数据的数据段,可读写(存放初始化了的变量数据,RW)
零个或者多个不包含初始化数据的数据段,可读写(所有未初始化的变量,也就是ZI)
链接器根据系统默认或者用户设定的规则,将各段安排在存储器中的相应位置,因此源程序中段之间的相对位置与可执行映像文件中的段的相对位置一般不会相同。
2.汇编语句应该注意的地方
汇编语句格式
[LABEL] OPERATION, [OPERAND], [;COMMENT]
LABEL必须在一行的开头写。
OPERATION包括指令、伪操作、宏指令或伪指令。每一条操作助记符必须全部大写或者全部小写。在写操作助记符前,必须有空格。
OPERAND 表示操作的对象,可以使常量、变量、标号、寄存器或者表达式,不同的对象之间必须用逗号分开。
例子:
??????????? AREA EX2,CODE,READONLY ;操作助记符前面必须有空格
??????????? GBLA DATA ;操作助记符前面必须有空格
DATA??? SETA,0x20 ;变量名DATA前面不能留空格
??????????? ADD R0,R1,R2
??????????? ADD R0,R1,r2
??????????? add R0,R1,r2
??????????? Add R0,R1,r2 ;寄存器小写正确,指令助记符大小写混合错误
3.常用符号
汇编语言中,经常使用各种符号表示变量、常量和地址。
变量的定义:使用伪操作GBLA、GBLL、GBLS,分别是定义全局的数值变量、逻辑变量和字符变量;LCLA、LCLL、LCLS定义局部的数值变量、逻辑变量和字符变量。相应的变量使用SETA、SETL、SETS来进行赋值。注意字符串长度不应超过512个字节。
例子:
??????????? GBLA DATA
DATA??? SETA 0x20
??????????? LCLS str1
??????????? str1 SETS “PEN”
??????????? LCLL lc
??????????? lc SETL {TRUE}
常量是在运行过程中不能改变的量。ARM支持数值常量、逻辑常量和字符串常量。汇编中使用EQU来定义一个数值常量,如
Test EQU 10; 定义标号Test的值为20.
Addr EQU 0x55,CODE32;
关于EQU的具体使用,看伪操作EQU。
数值常量一般为32为的整数,可以使十进制、十六进制,也可以是n进制(n=2~9)如8_247是一个八进制数。
4.常见的伪操作符
符号定义伪操作
GBLA、GBLL、GBLS
LCLA、LCLL、LCLS
SETA、SETL、SETS
RLIST
其中RLIST用来定义通用寄存器列表名称,使用该伪操作定义的名称可以在ARM指令LDM/STM中使用。在LDM/ST
您可能关注的文档
- 70团连队居住区转型发展总体规划.doc
- 715《戏剧戏曲学基础》考试大纲.doc
- 712昆虫的生殖和发育.doc
- 6离散时间信号与系统的时域分析.doc
- 72现代生物进化理论的主要内容.doc
- 7人脑与电脑.doc
- 7抗结核病药.doc
- 7上第一单元复习.doc
- 7安全生产目标指标分解.doc
- 7有机化学基础.doc
- 国际标准 IEC 61169-47:2015 EN Radio-frequency connectors - Part 47: Sectional specification for radio-frequency coaxial connectors with clamp coupling, typically for use in 75 Ω cable networks (type F-Quick) 无线电频率连接器 - 第47部分:用于无线电频率同轴连接器的部分规范,.pdf
- 国际标准 IEC 61158-5-17:2007 EN 工业通信网络 - 现场总线规范 - 第5-17部分:应用层服务定义 - 类型17元素 Industrial communication networks - Fieldbus specifications - Part 5-17: Application layer service definition - Type 17 elements.pdf
- 国际标准 IEC 61158-5-17:2007 EN Industrial communication networks - Fieldbus specifications - Part 5-17: Application layer service definition - Type 17 elements 工业通信网络 - 现场总线规范 - 第5-17部分:应用层服务定义 - 类型17元素.pdf
- 国际标准 IEC 60939-2-2:2004 EN_D 完整抑制无线电干扰滤波器单元-第2-2部分:空白详细规范-用于抑制电磁干扰的被动滤波器单元-仅需进行安全测试的滤波器(安全测试) Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference .pdf
- 国际标准 IEC 60939-2-2:2004 EN_D Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference suppression - Filters for which safety tests are required (safety.pdf
- 国际标准 IEC 60670-23:2006 EN-FR Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求.pdf
- 国际标准 IEC 60670-23:2006 EN-FR 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求 Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures.pdf
- 2024版完整的货物运输合同书.doc
- 2024版无财产的离婚协议书书模板.doc
- 2024版委托融资租赁合同书书.doc
文档评论(0)