ARM体系结构和结构---第三章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 ARM指令系统;第3章 目录;ARM指令集——跳转(分支)指令;取指;B、BL指令格式如下: B{L}{cond} target_address target_address 为指令跳转的目标地址。如:B Label B、BL指令跳转范围限制在当前指令的±32M字节地址内(ARM指令为字对齐,最低2位地址固定为0)。 跳转指令中的实际值(signed_immed_24)是相对PC值的一个偏移量;它的值由汇编器来计算,它是 24 位有符号数,左移两位后(去掉一位符号位后,有效偏移为 25 位(+/- 32 M)) ,由符号扩展到 32 位。;BL Label;3.2 指令集介绍;3.2 指令集介绍;ARM数据处理指令——数据传送;ARM数据处理指令——数据传送;3.2 指令集介绍;ADD(addition加)指令格式如下: ADD{cond}{S} Rd,Rn,operand2 ; Rd←Rn+operand2 加法运算指令——ADD将operand2的值与Rn的值相加,结果保存到Rd寄存器, operand2 为立即数时,必须为合法立即数。 应用示例: ADDS R1,R1,#1 ;R1=R1+1,并影响标志位 ADD R1,R1,R2 ;R1=R1+R2 ;ARM数据处理指令——算术运算;SUB(subtract减)指令格式如下: SUB{cond}{S} Rd,Rn,operand2 ; Rd←Rn-operand2 减法运算指令——SUB指令用寄存器Rn减去operand2,结果保存到Rd中。 应用示例: SUB R0,R0,#1 ;R0=R0-1 ,不影响标志位 SUBS R2,R1,R2 ;R2=R1-R2 ,并影响标志位;SBC指令格式如下: SBC{cond}{S} Rd,Rn,operand2 ; Rd←Rn-operand2-(非)Carry 带进位减法指令——SBC用寄存器Rn减去operand2,再减去CPSR中的C标志位的非(减法中产生借位时C位=0),结果保存到Rd中。 应用示例(使用SBC实现64位减法,结果存于R1、R0中): SUBS R0,R0,R2;低32位相减,并影响标志位 SBC R1,R1,R3;高32位相减,并减去低位借位C的 ;反码;ARM数据处理指令——算术运算;RSC指令格式如下: RSC{cond}{S} Rd,Rn,operand2 ;Rd←operand2-Rn-(NOT)Carry 带进位逆向减法指令——RSC指令用寄存器operand2减去Rn,再减去CPSR中的C位的非(减法中产生借位时C位=0),结果保存到Rd中。 应用示例(使用RSC指令实现求64位数值的负数 ): RSBS R2,R0,#0 RSC R3,R1,#0;3.2 指令集介绍;AND指令格式如下: AND{cond}{S} Rd,Rn,operand2 ; Rd←Rn operand2( 为与运算符) 逻辑与操作指令——AND指令将operand2的值与寄存器Rn的值按位作逻辑“与”操作,结果保存到Rd中。 应用示例: ANDS R0,R0,#0x01 ;R0=R00x01,取出最低位数据。 ;影响标志位 AND R2,R1,R3 ;R2=R1R3 ;ORR指令格式如下: ORR{cond}{S} Rd,Rn, operand2 ; Rd←Rn | operand2 ( | 为或运算符) 逻辑或操作指令——ORR指令将operand2的值与寄存器Rn的值按位作逻辑“或”操作,结果保存到Rd中。 应用示例: ORR R0,R0,#0x0F ;将R0的低4位置1 MOV R1,R2,LSR #24 ORR R3,R1,R3,LSL #8 ;使用ORR指令将R2的高8位数据移入到R3低8位中;ARM数据处理指令——逻辑运算指令;ARM数据处理指令——逻辑运算指令;ARM数据处理指令——比较指令;ARM数据处理指令——比较取反指令;ARM数据处理指令——位测试指令;ARM数据处理指令——比较指令;ARM指令小节目录;ARM指令集——乘法指令;ARM指令——乘法指令;ARM指令——乘法指令;ARM指令——乘法指令;ARM指令——乘法指令;ARM指令——乘法指令;ARM指令——乘法指令;杂类的算术指令;程序状态寄存器访问指令(MRS/MSR);寄存器类别;1.6 程序状态寄存器;N;程序状态寄存器访问指令(MRS/MSR

文档评论(0)

sy78219 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档