网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式系统原理与开发Ch3-ARM指令系统.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.3 ARM数据处理指令 3.基本数据处理指令用法 (2)AND、ORR、EOR、BIC EOR指令 指令格式:EOR{条件}{S}目的寄存器, 操作数1, 操作数2 格式说明:EOR指令用于在两个操作数上进行逻辑异或运算,并把结果放置到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或一个立即数。该指令常用于反转操作数1的某些位。 实例4. 20 EOR R0, R0, #3;该指令反转 R0的 0. 1位,其余位保持不变。 3.3 ARM数据处理指令 3.基本数据处理指令用法 (2)AND、ORR、EOR、BIC BIC指令 指令格式:BIC{条件}{S}目的寄存器, 操作数1, 操作数2 格式说明:BIC指令用于清除操作数1的某些位,并把结果放置到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或一个立即数。操作数2为 32位的掩码,如果在掩码中设置了某一位,则清除这一位。未设置的掩码位保持不变。 实例4. 21 BIC R0, R0,#%1011;该指令清除 R0中的位 0. 1.和 3,其余的位保持不变。 3.3 ARM数据处理指令 3.基本数据处理指令用法 (3)MOV、MVN MOV指令 指令格式:MOV{条件}{S} 目的寄存器, 源操作数 格式说明:MOV指令可完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。其中S选项决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值。 实例4. 22 MOV R1, R0;将寄存器R0的值传送到寄存器 R1 MOV PC, R14;将寄存器R14的值传送到PC,用于子程序返回 MOV R1, R0, LSL #3;将寄存器R0的值左移3位后送到R1 3.3 ARM数据处理指令 3.基本数据处理指令用法 (3)MOV、MVN MVN指令 指令格式:MVN{条件}{S} 目的寄存器, 源操作数 格式说明:MVN指令可完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。与MOV指令不同之处是在传送之前按位被取反了,即把一个被取反的值传送到目的寄存器中。其中S决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值。 实例4. 23 MVN R0, #0;将立即数 0取反传送到寄存器 R0中,完成后 R0=-1 3.3 ARM数据处理指令 3.基本数据处理指令用法 (4)CMP、CMN CMP指令 指令格式:CMP{条件} 操作数1, 操作数2 格式说明:CMP指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行比较,同时更新CPSR中条件标志位的值。该指令进行一次减法运算,但不存储结果,只更改条件标志位。标志位表示的是操作数1与操作数2的关系(大。孝相等),例如,当操作数1大于操作操作数2,则此后的有GT后缀的指令将可以执行。 实例4. 24 CMP R1, R0 ;将寄存器 R1的值与寄存器 R0的值相减,并根据结果设置 CPSR的标志位 CMP R1,#100 ;将寄存器 R1的值与立即数 100相减,并根据结果设置 CPSR的标志位 3.3 ARM数据处理指令 3.基本数据处理指令用法 (4)CMP、CMN CMN指令 指令格式:CMN{条件} 操作数1, 操作数2 格式说明:CMN指令用于把一个寄存器的内容和另一个寄存器的内容或立即数取反后进行比较,同时更新CPSR中条件标志位的值。该指令实际完成操作数1和操作数2相加,并根据结果更改条件标志位。 实例4. 25 CMN R1, R0 ;将寄存器 R1的值与寄存器 R0的值相加,并根据结果设置 CPSR的标志位 CMN R1,#100 ;将寄存器 R1的值与立即数 100相加,并根据结果设置 CPSR的标志位 3.3 ARM数据处理指令 3.基本数据处理指令用法 (5)TST、TEQ TST指令 指令格式:TST{条件}操作数1, 操作数2 格式说明:TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中条件标志位的值。操作数1是要测试的数据,而操作数2是一个位掩码,该指令一般用来检测是否设置了特定的位。 实例4. 26 TST R1,#%1 ;用于测试在寄存器 R1中是否设置了最低位(%表示二进制数) TST R1,#0xffe;将寄存器 R1的值与立即数 0xffe按位与,并根据结果设置 CPSR的标志位 3.3 ARM数据处理指令 3.基本数据处理指令用法 (5)TST、TEQ TEQ指令 指令格式:TEQ{条件}操作数1, 操作数2 格式说明:TEQ指令用于把一个寄存器的内容和另一个

您可能关注的文档

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档