1 / 53
文档名称:

5嵌入式系统 课件 ARM微控制器基础与实战5.ppt

格式:ppt   页数:53
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

5嵌入式系统 课件 ARM微控制器基础与实战5.ppt

上传人:企业资源 2012/2/2 文件大小:0 KB

下载得到文件列表

5嵌入式系统 课件 ARM微控制器基础与实战5.ppt

文档介绍

文档介绍:1
§ ARM汇编语言程序设计
2
本节的主要内容:
预定义的寄存器和协处理器名
ARM编译器所支持的伪指令
汇编语言的语句格式
汇编语言的程序结构
相关的程序示例
3
2. 5. 1 预定义的寄存器和协处理器名
ARM汇编器对ARM的寄存器进行了预定义,所有的寄存器和协处理器名都是大小写敏感的。预定义的寄存器如下:

fp和FP(帧指针,r11);
ip和IP(过程调用中间临时寄存器,r12);
sp和SP(堆栈指针,r13);
lr和LR(链接寄存器,r14);
pc和PC(程序计数器,r15)。
R0~R15和r0~r15;
a1~a4 (参数、结果或临时寄存器,与r0一r3同义);
v1一v8 (变量寄存器,r4~r11);
sb和SB (静态基址,r9);
sl和SL (堆栈限制,r10);
在Thumb状态下通用寄存器只有R0~R7,所以只有v1~v4能使用;
R12~R15一般有特殊用途,通常也被称为IP、SP、LR和PC。
4

cpsr和CPSR;
spsr和SPSR。

f0~f7和F0~F7(FPA寄存器);
s0~s31和S0~S31(VFP单精度寄存器);
d0~d15和D0~D15(VFP双精度寄存器)。

p0~p15(协处理器0~15);
c0~c15(协处理器寄存器0~15)。
5
ARM汇编器所支持的伪指令
在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令;
伪指令所完成的操作称为伪操作。
伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。
在ARM的汇编程序中,有如下几种伪指令:
符号定义伪指令;
数据定义伪指令;
汇编控制伪指令;
宏指令以及其他伪指令。
6
符号定义(Symbol Definition)伪指令
符号定义伪指令用于定义ARM汇编程序中的变量、对变量赋值以及定义寄存器的别名等操作。常见的符号定义伪指令有如下几种:
用于定义全局变量的GBLA、GBLL和GBLS。
用于定义局部变量的LCLA、LCLL和LCLS。
用于对变量赋值的SETA、SETL、SETS。
为通用寄存器列表定义名称的RLIST。
7
1. GBLA、GBLL和GBLS
语法格式:
GBLA(GBLL或GBLS) 全局变量名
GBLA、GBLL和GBLS伪指令用于定义一个ARM程序中的全局变量,并将其初始化。
其中:
GBLA伪指令用于定义一个全局的数字变量,并初始化为0;
GBLL伪指令用于定义一个全局的逻辑变量,并初始化为F(假);
GBLS伪指令用于定义一个全局的字符串变量,并初始化为空;
由于以上三条伪指令用于定义全局变量,因此在整个程序范围内变量名必须唯一。
8
使用示例:
GBLA Test1 ;定义一个全局的数字变量,变量名为Test1
Test1 SETA 0xaa ;将该变量赋值为0xaa
GBLL Test2 ;定义一个全局的逻辑变量,变量名为Test2
Test2 SETL {TRUE} ;将该变量赋值为真
GBLS Test3 ;定义一个全局的字符串变量,变量名为Test3
Test3 SETS “Testing”;将该变量赋值为“Testing'’
9
2. LCLA、LCLL和LCLS
语法格式:
LCLA (LCLL或LCLS) 局部变量名
LCLA、LCLL和LCLS伪指令用于定义一个ARM程序中的局部变量,并将其初始化。
其中:
LCLA伪指令用于定义一个局部的数字变量,并初始化为0; ;
LCLL伪指令用于定义一个局部的逻辑变量,并初始化为F(假);
LCLS伪指令用于定义一个局部的字符串变量,并初始化为空;
以上三条伪指令用于声明局部变量,在其作用范围内变量名必须唯一。
10
使用示例:
LCLA Test4 ;声明一个局部的数字变量,变量名为Test4
Test3 SETA 0xaa ;将该变量赋值为0xaa
LCLL Test5 ;声明一个局部的逻辑变量,变量名为Test5
Test4 SETL {TRUE};将该变量赋值为真
LCLS Test6 ;定义一个局部的字符串变量,变量名为Test6
Test6 SETS “Testing”;将该变量赋值为“Testing”

最近更新

2024年绍兴文理学院单招职业倾向性测试题库汇.. 40页

2024年绵阳飞行职业学院单招职业适应性测试题.. 40页

2024年自贡职业技术学院单招职业倾向性考试模.. 41页

2024年苏州健雄职业技术学院单招职业适应性考.. 39页

2024年苏州工业园区职业技术学院单招职业技能.. 40页

2024年荆州职业技术学院单招职业技能考试题库.. 41页

2024年萍乡卫生职业学院单招职业适应性测试模.. 41页

2024年西安交通工程学院单招职业技能测试题库.. 41页

2024年西安科技大学高新学院单招职业技能测试.. 40页

2024年西安高新科技职业学院单招综合素质考试.. 40页

2024年贵州健康职业学院单招职业技能考试题库.. 39页

2024年贵州工商职业学院单招综合素质考试题库.. 41页

2024年贵州应用技术职业学院单招职业倾向性考.. 42页

2024年贵州文化旅游职业学院单招职业技能测试.. 40页

2024年贵州水利水电职业技术学院单招职业适应.. 40页

2024年贵州航空职业技术学院单招职业适应性测.. 39页

2024年赣南卫生健康职业学院单招职业适应性测.. 40页

2024年赤峰应用技术职业学院单招综合素质考试.. 41页

2024年辽宁医药职业学院单招职业技能考试题库.. 40页

2024年辽宁工程职业学院单招职业适应性测试题.. 40页

2024年辽宁现代服务职业技术学院单招职业倾向.. 40页

2024年辽宁省交通高等专科学校单招职业倾向性.. 41页

2024年辽宁省沈阳市单招职业倾向性考试题库最.. 39页

2025年重庆市《保安员证》考试题库含答案 39页

预防滑倒、绊倒及跌落专题培训课件 45页

混凝土工程培训课件优秀PPT 26页

小学数学六年级下册《鸽巢问题》作业设计 9页

住院患者自带药品使用管理规定通知 3页

个人检讨反思(向管理服务对象借钱) 5页

花卉学课件7 花卉的栽培管理 79页