- 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章 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
您可能关注的文档
最近下载
- 岛津原子吸收分光光度计AA-6300软件硬件基本操作AA-6300-rj手册说明书.pdf VIP
- The Magic of Ordinary Days《平凡岁月的魅力(2005)》完整中英文对照剧本.docx VIP
- 注册税务师备考课件.pptx VIP
- MECG1000心电图机培训.pptx VIP
- 国内外CO2催化转化技术发展现状与未来展望.docx VIP
- 道路运输企业双重预防机制建设资料(安全风险分级管控和隐患排查治理).pdf
- HG∕T 5421-2018 噻唑膦原药(可复制版).pdf
- 括号里最大能填几326题.pdf VIP
- 公司物业服务投标方案(技术方案).docx VIP
- 实验动物学学堂云学堂在线课后题答案.docx VIP
文档评论(0)