- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令格式与条件码
本章目标 3.1 ARM指令集概述 3.2 ARM指令系统 ARM指令的种类: 存储器访问指令 数据处理指令 乘法指令 ARM分支指令 协处理器指令 杂项指令 伪指令 总 结 MTSE1.0 MTSE1.0 * * * 3 嵌入式ARM指令系统 第 章 了解ARM指令系统的特点 掌握ARM指令的寻址方式及指令 了解Thumb指令系统 ARM指令的基本格式如下: 3.1.1 指令格式 ARM指令集——指令格式 opcode {cond} {S} Rd ,Rn, {operand2} 其中号内的项是必须的,{}号内的项是可选的。各项的说明如下: opcode:指令助记符; Rd:目标寄存器(操作数据的最终结果存放的寄存器); cond:执行条件; Rn:第1个操作数的寄存器; S:它是标记,是否影响/修改CPSR寄存器对应位的值; operand2:第2个操作数; ARM指令格式举例: ARM指令:用黑色表示;条件码:用蓝色表示;标记:用红色表示; LDR R0,[R1];读取R1地址上的存储单元内容,执行条件AL; BEQ DATAEVEN;条件执行分支指令,执行条件EQ,即相等则跳转到DATAEVEN; ADDS R2,R1,#1;加法指令,R2?R1+1,影响/修改CPSR寄存器对应C位的值; SUBNES R2,R1,#0x20;条件执行的减法运算,执行条件NE,R1-0x20 --R2,影响CPSR寄存器; ARM指令的基本格式如下: ARM指令集——第2个操作数,使用的非常灵活 opcode {cond} {S} Rd ,Rn{,operand2} 灵活的使用第2个操作数“operand2”能够提高代码效率。它有如下的形式: #immed_8r——常数表达式,立即数 (挺难理解); Rm——寄存器方式(操作数即为寄存器中的数值); Rm,shift——寄存器移位方式; ARM指令集——第2个操作数 #immed_8r——常数表达式 一个立即数必须用一个字节(8bit)可以描述完成 该常数必须对应8位位图(pattern),即一个8位的常数通过循环右移偶数位得到,为合法常量。 循环右移10位 0x00 0 0 0 0 0 0 0 0 0x00 0 0 0 0 0 0 0 0 0x00 0 0 0 0 0 0 0 0 0x00 0 0 0 0 0 0 0 0 0x00 0 0 0 0 0 0 0 0 0x80 1 0 0 0 0 0 0 0 0x04 0 0 0 0 0 1 0 0 8位常数 0x12 0 0 0 1 0 0 1 0 ARM指令集——第2个操作数 例如: MOV R0,#1 ; R0 = 1 AND R1,R2,#0x0F ; R2与0x0F,结果保存在R1中 LDR R0,[R1],#-4 ;读取R1地址上的存储器单元内容, ;且R1=R1-4 如何判断合法常量与非法常量? 一个常数中的两个“1”在8个比特中实现,并且后面跟偶数个零(二进制) 合法常量 0xFF、0x104、0xFF0、0xFF000、0xFF000000、0xF000000F 非法常量: 0x101、0x102、0xFF1、0xFF04,0xFF003、0xFFFFFFFF ARM指令集——第2个操作数 Rm——寄存器方式(可以实现复杂的立即数(非法)) 在寄存器方式下,操作数即为寄存器中内容的数值。 例如: SUB R1,R1,R2 ;R1-- R2?R1 MOV PC,R0 ;PC=R0,程序跳转到指定地址 LDR R0,[R1],-R2 ;读取R1地址上的存储器单元内容 ;并存入R0,且R1=R1-R2 ARM指令集——第2个操作数 Rm,shift——寄存器移位方式 将寄存器的移位结果作为操作数,但Rm值保持不变,移位方法如下: 带扩展的循环右移1位 RRX 算术左移n位(与LSL同义) ASL #n 循环右移n位(1≤n≤31) ROR #n 逻辑右移n位(1≤n≤32) LSR #n 算术右移n位(1≤n≤32) ASR #n 逻辑左移n位(1≤n≤31) LSL #n 说明 操作码 说明 操作码 ARM指令集——第2个操作数 0 LSR移位操作:
您可能关注的文档
- 投资担保公司主要业务品种.doc
- 投资担保试卷.doc
- 把神奇的汉字装进瓶子里.ppt
- 抗RPE-LTP压缩编码的语音加密.ppt
- 投标设计说明.doc
- 投资学全英文ppt8.ppt
- 抗体纯化及纯 度的检测课件2012.11.27.ppt
- 投影参数的说明.ppt
- 抗冻技术17.ppt
- 抗菌药物分级管理.特殊使用抗菌药物应用管理流程doc.doc
- 2026中国农业银行广东省分行校园招聘1235人备考题库及答案详解(有一套).docx
- 2026中国工商银行平台金融发展中心秋季校园招聘备考题库精选答案详解.docx
- 2026中国建设银行大连市分行校园招聘90人备考题库含答案详解(新).docx
- 2026中国农业银行浙江省分行校园招聘925人备考题库含答案详解(培优b卷).docx
- 2026中国工商银行内蒙古分行秋季校园招聘备考题库及答案详解(夺冠).docx
- 2026中国工商银行上海市分行秋季校园招聘备考题库及答案详解(全国通用).docx
- 2026中国建设银行大连市分行校园招聘90人备考题库及答案详解(网校专用).docx
- 2026中国建设银行厦门市分行秋季校园招聘120人备考题库附答案详解(考试直接用).docx
- 2026中国工商银行长春金融研修院校园招聘备考题库参考答案详解.docx
- 2026中国工商银行国际结算单证中心秋季校园招聘备考题库附答案详解(培优).docx
最近下载
- 城市总体规划水资源论证报告书.pdf VIP
- ZSMC之山智控 G2系列伺服驱动器使用手册.pdf VIP
- 2024球墨铸铁管外表面锌基涂层第1部分:带终饰层的金属锌及锌合金涂层.docx VIP
- 剑桥英语PU1-Unit 1 知识清单.pptx VIP
- 全国高考10年(2015-2024)地理真题分类汇编 专题16城市、产业与区域发展含详解.docx
- 第18课 辛亥革命(共28张PPT)必修 中外历史纲要(上).pptx VIP
- 形考作业1:实训3 完成App项目原型的制作.doc VIP
- TB∕T 1010-2016 铁道车辆轮对及轴承型式与基本尺寸(可复制版).pdf
- (2025年)事业单位会计面试真题及答案.docx VIP
- 剑桥PU1-Unit 4 知识清单.pdf VIP
原创力文档


文档评论(0)