ARM指令及功能描述..docVIP

  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文档。上传文档
查看更多
ARM指令及功能描述 指令格式: 指令{条件}{S} {目的Register},{OP1},{OP2} { }中的内容可选。即,可以不带条件只有目的寄存器,或 只有目的寄存器和操作数1,也可以同时包含所有选项。“S” 决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值 助记符 英文全称 示例、功能 跳 转 指 令 B Branch B Label ;程序无条件跳转到标号Label处执行 BL Branch with Link BL Label ;当程序无条件跳转到标号Label处执行时,同时将当前的PC值保存到R14中 BLX Branch with Link and exchange BLX Label ;从ARM指令集跳转到指令中所指定的目标地址,并将处理器的工作状态有ARM状态切换到Thumb状态,该指令同时将PC的内容寄存器14中ADD R0,R2,R3,LSL#1 ; R0 = R2 + (R3 1) ADC Add with carry ADCS R2,R6,R10 ; R2 = R6+R10+!C,且更新CPSR的进位标志位 SUB Subtract SUB R0,R1,#256 ; R0 = R1 – 256 SBC Subtract with carry SUBS R0,R1,R2 ; R0 = R1 - R2 - !C,并根据结果设置CPSR的进位标志位 RSB Reverse subtract RSB R0,R1,R2 ; R0 = R2 – R1 R0,R1,R2 ; R0 = R2 – R1 - !C AND And AND R0,R0,#3 ; 该指令保持R0的0、1位,其余位清零。 ORR OR ORR R0,R0,#3 ; 该指令设置R0的0、1位,其余位保持不变。 EOR Exclusive OR EOR R0,R0,#3 ; 该指令反转R0的0、1位,其余位保持不变。 BIC Bit clear BIC R0,R0,#0b1011 ; 该指令清除 R0 中的位 0、1、和 3,其余的位保持不变。 CLZ Count left zero 计算操作数最高端0的个数 乘 加 指 令 MUL Multiply MUL R0,R1,R2 ;R0 = R1 × R2 MLA Multiply and accumulate MLAS R0,R1,R2,R3 ;R0 = R1 × R2 + R3,同时设置CPSR中的相关条件标志位 SMULL Signed multiply long SMULL R0,R1,R2,R3 ;R0 = (R2 × R3)的低32位 R1 = (R2 × R3)的高32位 SMLAL Signed mul l and accumulate l SMLAL R0,R1,R2,R3 ;R0 =(R2 × R3)的低32位+R0; R1 =(R2 × R3)的高32位+ R1 UMULL Unsigned multiply long UMULL R0,R1,R2,R3 ;R0 = (R2 × R3)的低32位;R1 =(R2 × R3)的高32位 UMLAL Unsigned mulaccumulate lon UMLAL R0,R1,R2,R3 ;R0 =(R2 × R3)的低位+R0;R1 =(R2 × R3)的高32位+R1 PSR 访问 MRS Move PSR to register MRS R0,CPSR ;传送CPSR的内容到R0 MSR Move register to PSR MSR CPSR_c ,R0 ;传送R0的内容到SPSR,但仅仅修改CPSR中的控制位域 加载/ 存储 指令 LDR Load word LDR R0,[R1,R2]! ;将存储器地址为R1+R2的字数据读入R0,并将新地址R1+R2写入R1。 LDRB Load byte LDRB R0,[R1,#8] ;将存储器地址为R1+8的字节数据读入R0,并将R0的高24位清零 LDRH Load half word LDRH R0,[R1] ;将存储器地址为R1的半字数据读入寄存器R0,并将R0的高16位清零 LDM Load multiple LDMFD R13!,{R0,R4-R12,PC} ;将堆栈内容恢复到寄存器(R0,R4到R12,LR) STR Store STR R

文档评论(0)

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

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

1亿VIP精品文档

相关文档