ARM汇编语言编程.pdfVIP

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM汇编语言编程

数据处理指令 简单的寄存器操作 立即数操作 寄存器移位操作 设置条码 条码的使用 乘法 简单的寄存器操作 算术操作 按位逻辑操作 寄存器传送操作 比较操作 简单的寄存器操作—算术操作 这类指令对两个32位操作数进行二进制算术操作 加 减和反向减 后者指把操作数次序颠倒后相 减 ADD ro, r1, r2 ;r0 = r1+r2 ADD ro, r1, r2 ; r0 = r1+r2+C SUB ro, r1, r2 ; r0 = r1-r2 SBC ro, r1, r2 ; r0 = r1-r2+C-1 RSB ro, r1, r2 ; r0 = r2-r1 RSC ro, r1, r2 ; r0 = r2-r1+C-1 简单的寄存器操作—按位逻辑操作 这类指令对输入操作数的对应位进行指定的布尔 逻辑操作 ADD r0,r1,r2 ;r0 = r1 and r2 ORR r0,r1,r2 ;r0 = r1 or r2 EOR r0,r1,r2 ;r0 = r1 xor r2 BIC r0,r1,r2 ; r0 = r1 and not r2 简单的寄存器操作—寄存器传送操作 这些指令不用第一操作数 它在汇编语言格式中被 省略 MOV r0,r2 ;r0 = r2 MVN r0r,2 ;r0 = not r2 简单的寄存器操作— 比较操作 这类指令不产生结果 仅根据所选择的操作来设置 CMP r1,r2 ;根据r1-r2 的结果设置cc CMN r1,r2 ;根据r1-r2 的结果设置cc TST r1,r2 ;根据r1 and r2 的结果设置cc TEQ r1,r2 ;根据r1 xor r2 的结果设置cc 立即数操作 如果只希望把一个常数加到寄存器 而不是两个寄存器 相加 可以用立即数值取代第二位操作数 立即数通常是常量 literal) 前面加“#” ADD r3,r3 #1; r3:=r3+1 AND r8,r7 # ff; r8:=r7[7:0] 立即数= 0 255 X22n 寄存器移位操作 第三种定义数据操作的方式同第一种类似 但 允许第二个寄存器操作数在同第一操作数运算 之前完成移位操作 例: ADD r3, r2, r1, LSL # 3 ;r3:=r2+8xr1 注意 它是一条RAM指令 在单个时钟周期内执行 设置条件码 如果程序员要 那么任何数据处理指令都能设置条件码 N Z C和V 比较操作只能设置条件码

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档