- 25
- 0
- 约1.42万字
- 约 48页
- 2016-08-21 发布于重庆
- 举报
第3章ARM的指令系统
* 3.2.3 Load/Store指令 3.2.3.1 单寄存器的Load/Store指令 用于把单一的数据传入或者传出一个寄存器。支持的数据类型有字节(8位)、半字(16位)和字(32位)。 单寄存器Load/Store指令 3.2 ARM处理器的指令集 * LDR和STR指令应用示例: 1.加载/存储字和无符号字节指令 LDR R2,[R5] ;将R5指向地址的字数据存入R2 STR R1,[R0,#0x04] ;将R1的数据存储到R0+0x04地址 LDRB R3,[R2],#-1 ;将R2指向地址的字节数据存入R3,R2=R2-1 2.加载/存储半字和有符号字节指令 LDRSB R1,[R0,R3] ;将R0+R3地址上的字节数据存入R1, ;高24位用符号扩展 LDRH R6,[R2],#2 ;将R2指向地址的半字数据存入R6,高16位用0扩展 ;读出后,R2=R2+2 STRH R1,[R0,#2]! ;将R1的半字数据保存到R0+2地址, ;只修改低2字节数据,然后R0=R0+2 * 为了加载更大的立即数, 汇编器提供了伪指令: LDR rd, =const 这将: 产生一条 MOV 或者 MVN 指令 产生一条 PC相对寻址的LDR 指令将立即数从literal pool 里读出来 举例 LDR r0, =0xFF = MOV r0, #0xFF LDR r0, =0= LDR r0, [PC, #Imm12] … … DCD 0推荐用这种方式将常数加载到寄存器 LDR伪指令——加载32位的常数 * 3.2.3 Load/Store指令 3.2.3.2 多寄存器的Load/Store内存访问指令 多寄存器的Load/Store内存访问指令也叫批量加载/存储指令,它可以实现在一组寄存器和一块连续的内存单元之间传送数据。LDM用于加载多个寄存器,STM用于存储多个寄存器。多寄存器的Load/Store内存访问指令: 3.2 ARM处理器的指令集 注意不同类型的基址寄存器变化情况 R5 R6 R7 R1 ? R1’ ? 指令STMIA R1!,{R5-R7} 4008H 4004H 4000H 4014H 4010H 400CH R5 R6 R7 R1 ? R1’ ? 指令STMDA R1!,{R5-R7} 4008H 4004H 4000H 4014H 4010H 400CH R5 R6 R7 R1 ? R1’ ? 指令STMIB R1!,{R5-R7} 4008H 4004H 4000H 4014H 4010H 400CH R5 R6 R7 R1’ ? R1 ? 指令STMDB R1!,{R5-R7} 4008H 4004H 4000H 4014H 4010H 400CH * 3.2.3 Load/Store指令 3.2.3.2 多寄存器的Load/Store内存访问指令 【举例】 使用LDM/STM进行数据复制。 LDR R0,=SrcData ;设置源数据地址 LDR R1,=DstData ;设置目标地址 LDMIA R0,{R2~R9} ;加载8字数据到寄存器R2~R9 STMIA R1,{R2~R9} ;存储寄存器R2~R9到目标地址 【举例】 使用LDM/STM进行现场寄存器保护,常在子程序或异常处理使用。 SENDBYTE STMFD SP!,{R0~R7,LR} ;寄存器压栈保护 … BL DELAY ;调用DELAY子程序 … LDMFD SP!,{R0~R7,PC} ;恢复寄存器,并返回 * 3.2.3 Load/Store指令 3.2.3.3 单数据交换指令 交换指令是Load/Store指令的一种特例,它把一个寄存器单元的内容与寄存器内容交换。交换指令SWP: 3.2 ARM处理器的指令集 * 3.2.4 跳转指令 跳转(B)和跳转连接(BL)指令是改变指令执行顺序的标准方式。ARMv5架构指令集包含的跳转指令如表所示。 3.2 ARM处理器的指令集 * 3.2.4 跳转指令 1.跳转指令B及带连接的跳转指令BL 跳转指令B使程序跳转到指定的地址执行程序。 BL将下一条指令的地址拷贝到R14(即返回地址连接寄存器LR)寄存器中,然后跳转到指定地址运行程序。 * 3.2.4 跳转指令 程序举例 ①程序跳转到
您可能关注的文档
- 第3章(数据及运算).ppt
- 第3章-用户界面.ppt
- 第3章C编程基础.ppt
- 第3章FoxPro数据及其.ppt
- 第3章GNOME与KDE窗口.ppt
- 第3章Java基本数据类型.ppt
- 第3章LINUX命令常用命令.ppt
- 第3章PhotoshopCS3界面与基本.ppt
- 第3章SQLServer数据库基本对象.ppt
- 2026年及未来5年市场数据中国卷烟行业竞争状况及投资发展前景分析报告.docx
- 三年级下册语文1-8单元默写通关训练(含答案)(2).docx
- 2026年及未来5年市场数据中国金属钒市场发展规划及投资战略可行性预测报告.docx
- 2026年及未来5年市场数据中国金属工艺品行业全景调研及投资可行性报告.docx
- 2026年及未来5年市场数据中国金属家具市场分析及投资战略研究预测可行性报告.docx
- 2026年及未来5年市场数据中国金属膜电阻器行业市场需求预测与投资战略规划分析报告.docx
- 2026年及未来5年市场数据中国金银花行业市场发展战略分析及投资前景专项预测报告.docx
- 2026年及未来5年市场数据中国金银花行业市场研究及投资战略预测报告.docx
- 2026年及未来5年市场数据中国抗氧化剂市场专项调查分析及投资前景预测报告.docx
- 2026年及未来5年市场数据中国救护车市场运行格局及投资战略研究报告.docx
- 2026年及未来5年市场数据中国精细化工行业发展前景预测及投资分析报告.docx
最近下载
- 泵站安全培训课件.ppt VIP
- 年产5万吨氢氧化镁、5万吨碱式碳酸镁、1万吨氧化锆、1000吨硼酸锌、1000吨五硼酸铵和100吨钛酸钡产品项目环境影响报告书.pdf VIP
- 工程成本会计会计要素03会计要素7利润.pdf VIP
- 《电气工程复习题》课件.ppt
- 贵州国企招聘:2025贵州省黔晟国有资产经营有限责任公司选聘考前自测高频考点模拟试题及答案详解1套.docx VIP
- 高一中外历史纲要(上)的知识点总结 .pdf VIP
- 【通用版】高考地理常考必背15种主观题题型答题模板梳理汇编(含高考模拟试卷及答案3套).docx VIP
- 25秋 典中点 三年级数学上(R版)极速提分法.docx VIP
- 2026秋招:贵州黔晟国有资产经营公司笔试题及答案.doc VIP
- 体检主要检查项目临床意义及正常值详解-体检主要检查项目临.docx VIP
原创力文档

文档评论(0)