- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008年3月28日 南京大学计算机系 第4章 ARM指令集 主要介绍以下内容: ARM指令集的基本特点 与Thumb指令集的区别 与x86处理器的区别 ARM指令格式 ARM寻址方式 ARM指令集分类详解 4.6 ARM处理器的寻址方式和指令系统 ARM指令集和Thumb指令集具有以下共同点: ⒈较多的寄存器,可以用于多种用途。 ⒉对存储器的访问只能通过Load/Store指令。 两种指令集的差异特征在下页给出 ARM指令集和Thumb指令集 的不同点 ARM指令集与x86指令集的主要不同点 ARM指令集 规整指令格式 即:正交指令格式 三地址指令 由指令的附加位决定运算完毕后是否改变状态标志 状态标志位只有4位 有两种指令密度 无整数除法指令 大多数ARM指令都可以条件执行 有适合DSP处理的乘加指令 Load/Store访存体系结构 x86指令集 非规整指令格式 即:非正交指令格式 二地址指令 指令隐含决定运算完毕后是否改变状态标志 状态标志位有6位 单一指令密度 有整数除法指令 专用条件判断指令进行程序分支 没有适合DSP处理的乘加指令 运算指令能够访问存储器 4.6.2 ARM指令集的编码格式和语法 一条典型的ARM指令语法如下所示: opcode{cond}{S} Rd, Rn {,Operand2} 其中: opcode 是指令助记符,决定了指令的操作。 例如:ADD表示算术加操作指令。 {cond} 是指令执行的条件,可选项。 {S} 决定指令的操作是否影响CPSR的值,可选项。 Rd 表示目标寄存器,必有项。 Rn 表示包含第1个操作数的寄存器,当仅需要一个源操作数时可省略。 Operand2 表示第2个操作数,可选项。 第2操作数有两种格式:#immed_8r,Rm{, Shift} ARM数据处理指令中第2操作数编码格式图解 灵活的第2操作数 立即数型 格式: #32位立即数 也写成#immed_8r #32位立即数是取值为数字常量的表达式,并不是所有的32位立即数都是有效的。 有效的立即数很少。它必须由一个8位的立即数循环右移偶数位得到。原因是32位ARM指令中条件码和操作码等占用了一些必要的指令码位,32位立即数无法编码在指令中。 举例: ADD r3, r7, #1020 ;#immed_8r型第2操作数, ;1020是0xFF循环右移30位后生成的32位立即数 ;推导:1020=0x3FC=0x000003FC 灵活的第2操作数(续1) 数据处理指令中留给Operand2操作数的编码空间只有12位,需要利用这12位产生32位的立即数。其方法是:把指令最低8位(bit[7:0])立即数循环右移偶数次,循环右移次数由2*bit[11:8] (bit[11:8]是Operand2的高4位)指定。 例如:MOV R4, #0x8000000A ;其中的立即数#0x8000000A是由8位的0xA8循环右移0x4位得到。 又例如:MOV R4, #0xA0000002 ;其中的立即数#0xA0000002是由8位的0xA8循环右移0x6位得到。 灵活的第2操作数(续2) 寄存器移位型 格式:Rm{, shift} Rm是第2操作数寄存器,可对它进行移位或循环移位。shift用来指定移位类型(LSL,LSR,ASR,ROR或RRX)和移位位数。其中移位位数有两种表示方式,一种是5位立即数(#shift),另外一种是位移量寄存器Rs的值。参看下面的例子。例子中的R1是Rm寄存器。 ADD R5, R3, R1, LSL #2 ;R5←R3+R1*4 ADD R5, R3, R1, LSL R4 ;R5←R3+R1*2R4 ;R4是Rs寄存器,Rs用于计算右移次数 寄存器移位方式生成的第2操作数Rm{, shift} 将寄存器的移位结果作为操作数,但Rm值保存不变,移位方法如下: ASR # n ;算术右移n位(1≤n≤32)。 LSL # n ;逻辑左移n位(1≤n≤31)。 LSR # n ;逻辑右移n位(1≤n≤32)。 ROR # n ;循环右移n位(1≤n≤31)。 RRX ;带扩展的循环右移1位。 寄存器位移方式生成第2操作数应用举例 ADD R1, R1, R1, LSL # 3 ;R1=R1*9,因为R1← R1+R1*8。 SUB R1, R1, R2, LSR # 2 ;R1=R1-R2÷4, ;因为R2右移2位相当于R2除以4。 EOR R11, R12, R3, ASR #5 ;R11= R12⊕(R3÷32) ;第2操作数是R3的内容除以32 指令的条件执行 大多数ARM指令可包含一个可选的
您可能关注的文档
- 招商大会活动方案.ppt
- 招商实战之租金水平与业态规划.ppt
- 招商引资微软CRM解决方案.ppt
- 招商总结-王永福.ppt
- 招商引资讲座介绍2011年版本.ppt
- 招商推介会方案模拟计划.ppt
- 招商手册-带您走进绿安.ppt
- 招商操作实务培训20080803.ppt
- 招商方案(090608).ppt
- 招商方案(广告公司版).ppt
- 农村生活污水管网建设项目环境影响报告书(范文).docx
- 2024年铁路职业技能鉴定模拟试题含答案详解(黄金题型).docx
- 军事测试题真题及答案.doc
- 2024年铁路职业技能鉴定模拟试题含答案详解(预热题).docx
- 市政供水设施设备更新项目商业计划书.docx
- 2024年铁路职业技能鉴定模拟试题含完整答案详解(有一套).docx
- 2024年铁路职业技能鉴定模拟试题附参考答案详解【精练】.docx
- 2024年铁路职业技能鉴定模拟试题附参考答案详解(黄金题型).docx
- 2024年铁路职业技能鉴定模拟试题附参考答案详解【综合题】.docx
- 2024年铁路职业技能鉴定模拟试题附参考答案详解【培优】.docx
文档评论(0)