- 1、本文档共137页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM伪指令——大范围的地址读取 ... LDR R0,=Delay ... Delay MOV R0,r14 ... 应用示例(源程序): ... 0x60 LDR R0,0xb4 ... 0x64 MOV R0, LR ... 0xb4 DCD 0x64 编译后的反汇编代码: LDR伪指令被汇编成一条LDR指令,并在文字池中定义了一个常量,该常量为Delay标号的地址 使用伪指令将程序标号Delay的地址存入R0 必须小于4KB 必须加入”=” 3.2 指令集介绍 ARM伪指令——空操作伪指令 NOP伪指令在汇编时将会被代替成ARM中的空操作,比如可能是“MOV R0,R0”指令等。NOP可用于延时操作。 指令格式: “NOP” NOP 思考与练习 ? 1.请使用NOP伪指令、比较指令、条件跳转指令等完成一个软件延时子程序,延时长度由R0寄存器的数值控制? 思考与练习 ? 1.请使用NOP伪指令、比较指令、条件跳转指令等完成一个软件延时子程序,延时长度由R0寄存器的数值控制? Delay NOP ;空操作 NOP NOP SUBS R0,R0,#1 ;循环次数减一 BNE Delay ;如果循环未结束,跳转Delay继续 MOV PC,LR ;子程序返回 1. ARM处理器的寻址方式 ——共有9种寻址方式; 2. ARM指令的特点 ——可条件执行、可选择影响标志位、具有非常灵活的第二操作数; 3. ARM指令的种类,它能完成哪些功能 ——共有6类指令,可以完成存储器访问、数据运算、程序跳转、以及帮助编程的伪指令等。 本章阶段总结 第3章 目录 1.ARM处理器寻址方式 2.指令集介绍 ARM指令集 Thumb指令集 3.2 指令集介绍 Thumb指令 Thumb指令集可以看作是ARM指令压缩形式的子集,它是为减小代码量而提出的,具有16位的代码密度。Thumb指令体系不完整,只支持通用功能。必要时仍需要使用ARM指令,如进入异常时。 简单的Thumb程序 ; 功能:使用BX指令切换处理器状态 AREA Example8,CODE,READONLY ENTRY CODE32 ARM_CODE ADR R0,THUMB_CODE+1 BX R0 ; 跳转并切换处理器状态 ? CODE16 THUMB_CODE MOV R0,#10 ; R0 = 10 MOV R1,#20 ; R1 = 20 ADD R0,R1 ; R0 = R0+R1 B . END 在Thumb程序段之前要用CODE16声明。 3.2 指令集介绍 Thumb指令集与ARM指令集的相似处 Thumb指令的格式与使用方式与ARM指令集类似,它也具有以下种类的指令: 存储器访问指令 数据处理指令 分支指令 杂项指令 伪指令 3.2 指令集介绍 Thumb指令集与ARM指令集的区别 Thumb指令集较ARM指令集有如下限制: 只有B指令可以条件执行,其它指令都不能条件执行; 分支指令的跳转范围有更多限制; 数据处理指令的操作结果必须放入其中一个; 单寄存器访问指令,只能操作R0~R7; LDM和STM指令可以对R0~R7的任何子集进行操作; 3.2 指令集介绍 ARM指令集—— B指令为简单的跳转指令,不附带其它功能。跳转范围限制在当前指令的±32M字节地址内(ARM指令为字对齐,最低2位地址固定为0)。 程序代码 B main xx main 分支指令 “B” BL Label 程序代码 BL Label xxx xxx Label xxx MOV PC,LR Addr1 Addr2 xxx xxx LR PC ARM指令——分支指令 带链接的分支指令——BL指令除了具有跳转功能,还能在跳转之前将下一条指令的地址拷贝到R14(即LR) 链接寄存器中,它适用于子程序调用。跳转范围限制在当前指令的±32M字节地址内。指令格式如下: Addr1 Label Addr2 Addr2 1.当程序执行到BL跳转指令时,硬件将下一条指令的地址Addr2装入LR寄存器,并把跳转地址装入程序计数器(PC) 2. 程序跳转到目标地址Label继续执行,当子程序执行结
您可能关注的文档
最近下载
- 外研版小学英语(三起)六年级下册单词表(含音标).pdf VIP
- 2024至2030年全球与中国智能听诊器市场现状及未来发展趋势.docx
- BS EN 14351-2-2018 门窗.产品标准.性能特性.第2部分:内部人行门.pdf
- 学前儿童游戏的理论与概述.ppt
- 【A-1】职能部门对落实情况进行定期检查、评价、分析,对存在的问题及时反馈,并提出整改建议。.docx
- [人教版]英语八年级上册Unit2 Section A 1a-2d 课件.pptx VIP
- 外研版小学英语(三起)三年级下册单词表(含音标).pdf VIP
- 九年级化学培优补差工作计划.docx
- 第三节 加强国防和军队现代化建设.ppt
- 2024届高考地理时事热点材料 课件.pptx
文档评论(0)