- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 ARM7TDMI(-S)指令系统汇
4.1 ARM指令系统概述 ARM指令集与Thumb指令集的关系 4.2 ARM处理器寻址方式 寻址方式分类 4.2.1 寄存器寻址 4.2.2 立即寻址 4.2.3 寄存器移位寻址 4.2.4 寄存器间接寻址 4.2.5 基址寻址 4.2.6 多寄存器寻址 4.2.7 堆栈寻址 堆栈寻址 堆栈寻址 堆栈寻址 4.2.8 块拷贝寻址 4.2.9 相对寻址 * 通信工程教研室 4.1 ARM指令概述 4.2 处理器寻址方式 4.3 ARM指令集 4.4 Thumb指令集 第4章 ARM7TDMI(-S)指令系统 指令系统是指特定计算机处理器上可执行的指令集合。 ARM处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单。 ARM7TDMI(-S)具有32位ARM指令集和16位Thumb指令集。 * ARM指令集效率高,但是代码密度低; * Thumb指令集具有较高的代码密度,却仍然保持ARM的大多数性能上的优势,它是ARM指令集的子集; * 所有的ARM指令都是可以有条件执行的,而Thumb指令仅有一条指令具备条件执行功能; * ARM程序和Thumb程序可相互调用,相互之间的状态切换开销几乎为零。 Thumb指令集具有灵活、小巧的特点 ARM指令集支持ARM核所有的特性,具有高效、快速的特点 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM处理器具有9种基本寻址方式。 1.寄存器寻址; 2.立即寻址; 3.寄存器移位寻址; 4.寄存器间接寻址; 5.基址寻址; 6.多寄存器寻址; 7.堆栈寻址; 8.块拷贝寻址; 9.相对寻址。 操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器值来操作。寄存器寻址指令举例如下: MOV R1,R2 ;将R2的值存入R1 SUB R0,R1,R2 ;将R1的值减去R2的值,结果保存到R0 0xAA 0x55 R2 R1 MOV R1,R2 0xAA 立即寻址指令中的操作码字段后面的地址码部分即是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取出了可以立即使用的操作数(这样的数称为立即数)。立即寻址指令举例如下: SUBS R0,R0,#1 ;R0减1,结果放入R0,并且影响标志位 MOV R0,#0xFF000 ;将立即数0xFF000装入R0寄存器 0x55 R0 MOV R0,#0xFF00 程序存储 MOV R0,#0xFF00 0xFF00 从代码中获得数据 寄存器移位寻址是ARM指令集特有的寻址方式。当第2个操作数是寄存器移位方式时,第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。寄存器移位寻址指令举例如下: MOV R0,R2,LSL #3 ;R2的值左移3位,结果放入R0, ;即是R0=R2×8 ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相 ;“与”操作,结果放入R1 0x55 R0 R2 0x01 MOV R0,R2,LSL #3 0x08 0x08 逻辑左移3位 寄存器间接寻址指令中的地址码给出的是一个通用寄存器的编号,所需的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。寄存器间接寻址指令举例如下: LDR R1,[R2] ;将R2指向的存储单元的数据读出 ;保存在R1中 SWP R1,R1,[R2] ;将寄存器R1的值和R2指定的存储 ;单元的内容交换 0x55 R0 R2 00xAA 0LDR R0,[R2] 0xAA 基址寻址就是将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址。基址寻址用于访问基址附近的存储单元,常用于查表、数组操作、功能部件寄存器访问等。基址寻址指令举例如下: LDR R2,[R3,#0x0C] ;读取R3+0x0C地址上的存储单元 ;的内容,放入R2 STR R1,[R0,#-4]! ;先R0=R0-4,然后把R1的值寄存 ;到保存到R0指定的存储单元 0x55 R2 R3 00xAA 0x4000000C LDR R2,[R3,#0x0C] 0xAA 将R3+0x0C作为地址装载数据 多寄存器寻址一次可传送几个寄存器值,允许一条指令传送
您可能关注的文档
- 移动通信天线原理及设计规范汇.doc
- 移动通信课程论文-GSM,GPRS原理与应用--基于SIM900A的应用与实现汇.doc
- 移动通信PPT电子课件教案-第1章 概述(二)汇.ppt
- 移动通信课程设计报告-第三代移动通信系统的网络组件和协议分析汇.doc
- 移动通信原理PPT教学课件-第八章 移动通信新技术展望汇.ppt
- 移民自(联)建房屋工程施工组织设计投标文件(技术标)汇.doc
- 移动通信工程设计无线专业入门培训汇.ppt
- 程序设计基础实验指导书(C++版)汇.doc
- 程序设计基础课程设计-自动售货机系统汇.doc
- 程序设计实习报告-学生信息管理系统汇.doc
- 场地脚手架工程施工方案(3篇).docx
- 2024年浙江省丽水市松阳县玉岩镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省郑州市惠济区古荥镇招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市淳安县文昌镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省台州市三门县小雄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省宁波市余姚市河姆渡镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省丽水市景宁畲族自治县雁溪乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市临安市板桥乡招聘社区工作者真题及答案详解一套.docx
- 2024年湖北省宜昌市点军区土城乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省台州市路桥区桐屿街道招聘社区工作者真题附答案详解.docx
最近下载
- JGJ33-2012 建筑机械使用安全技术规程.docx VIP
- TB_10307-2020 铁路通信、信号、信息工程施工安全技术规程.docx VIP
- 简明新疆地方史读本电子版 .pdf VIP
- 基于PLC的加热反应炉自动控制系统设计.pdf VIP
- 抗病毒药物的合理使用课件.pptx VIP
- TB10181-2017 铁路隧道盾构法技术规程.docx VIP
- 静脉输液课件(共87张PPT).pptx VIP
- 《商业银行经营与管理》22春平时作业1答卷.doc VIP
- 2024-2025学年小学美术五年级上册桂美版(2024)教学设计合集.docx
- 2022年版初中物理课程标准新课标考试题库及答案1 .pdf VIP
文档评论(0)