- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 ARM汇编指令 本章主要内容 掌握 指令寻址分类及其含义; 指令寻址方式及其操作; 汇编语言指令执行结果的分析方法。 算术运算——减法运算 SUB指令用寄存器Rn减去operand2,结果保存到Rd中。 SUB{cond}{S} Rd,Rn,operand2 SUBS R0,R0,#240 ;R0=R0-240 ,并影响标志位 SUBS R2,R1,R2 ;R2=R1-R2 ,并影响标志位 助记符 说明 操作 条件码位置 ADD Rd, Rn, operand2 加法运算指令 Rd←Rn+operand2 ADD{cond}{S} SUB Rd, Rn, operand2 减法运算指令 Rd←Rn-operand2 SUB{cond}{S} RSB Rd, Rn, operand2 逆向减法指令 Rd←operand2-Rn RSB{cond}{S} ADC Rd, Rn, operand2 带进位加法 Rd←Rn+operand2+Carry ADC{cond}{S} SBC Rd, Rn, operand2 带进位减法指令 Rd←Rn-operand2-(NOT)Carry SBC{cond}{S} RSC Rd, Rn, operand2 带进位逆向减法指令 Rd←operand2-Rn-(NOT)Carry RSC{cond}{S} RSB指令将operand2的值减去Rn,结果保存到Rd中。 RSB{cond}{S} Rd,Rn,operand2 RSB R3,R1,#0xFF00 ;R3=0xFF00-R1 RSBS R1,R2,R2,LSL #2 ;R1=(R22)-R2=R2×3 影响标志位 助记符 说明 操作 条件码位置 ADD Rd, Rn, operand2 加法运算指令 Rd←Rn+operand2 ADD{cond}{S} SUB Rd, Rn, operand2 减法运算指令 Rd←Rn-operand2 SUB{cond}{S} RSB Rd, Rn, operand2 逆向减法指令 Rd←operand2-Rn RSB{cond}{S} ADC Rd, Rn, operand2 带进位加法 Rd←Rn+operand2+Carry ADC{cond}{S} SBC Rd, Rn, operand2 带进位减法指令 Rd←Rn-operand2-(NOT)Carry SBC{cond}{S} RSC Rd, Rn, operand2 带进位逆向减法指令 Rd←operand2-Rn-(NOT)Carry RSC{cond}{S} 算术运算——逆向减法运算 ADC将operand2的值与Rn的值相加,再加上CPSR中的C条件标志位,结果保存到Rd寄存器。 ADC{cond}{S} Rd,Rn,operand2 应用示例(使用ADC实现64位加法,结果存于R1(高32位)、R0中): ADDS R0,R0,R2 ;R0等于低32位相加,并影响标志位 ADC R1,R1,R3 ;R1等于高32位相加,并加上低位进位 助记符 说明 操作 条件码位置 ADD Rd, Rn, operand2 加法运算指令 Rd←Rn+operand2 ADD{cond}{S} SUB Rd, Rn, operand2 减法运算指令 Rd←Rn-operand2 SUB{cond}{S} RSB Rd, Rn, operand2 逆向减法指令 Rd←operand2-Rn RSB{cond}{S} ADC Rd, Rn, operand2 带进位加法 Rd←Rn+operand2+Carry ADC{cond}{S} SBC Rd, Rn, operand2 带进位减法指令 Rd←Rn-operand2-(NOT)Carry SBC{cond}{S} RSC Rd, Rn, operand2 带进位逆向减法指令 Rd←operand2-Rn-(NOT)Carry RSC{cond}{S} 算术运算——带进位法运算 SBC用寄存器Rn减去operand2,再减去CPSR中的C条件标志位的非(即若C标志清零,则结果减去1),结果保存到Rd中。 SBC{cond}{S} Rd,Rn,operand2 应用示例(使用SBC实现64位减法,结果存于R1、R0中): SUBS R0,R0,R2 ; 低32位相减,并影响标志位 SBC R1,R1,R3 ;高32位相减,并减去低位借位 助记符 说
文档评论(0)