第2章ARMTHUMB微处理器结构及指令系统.pptVIP

  • 3
  • 0
  • 约2.67万字
  • 约 103页
  • 2023-05-04 发布于重庆
  • 举报

第2章ARMTHUMB微处理器结构及指令系统.ppt

助记符 说明 操作 条件码位置 CMP Rn, operand2 比较指令 标志N、Z、C、V←Rn-operand2 CMP{cond} CMN Rn, operand2 负数比较指令 标志N、Z、C、V←Rn+operand2 CMN{cond} TST Rn, operand2 位测试指令 标志N、Z、C、V←Rn operand2 TST{cond} TEQ Rn, operand2 相等测试指令 标志N、Z、C、V←Rn ^ operand2 TEQ{cond} 负数比较指令——CMN指令使用寄存器Rn的值加上operand2的值,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。指令格式如下: CMP{cond} Rn, operand2 (4). ARM数据处理指令:比较指令 应用示例: CMN R0,#1 ;R0+1,判断R0是否为1的补码。若是,则Z ;位置1。 注意: CMN指令与ADDS指令的区别在于CMN指令不保存运算结果。 位。 第六十二页,共一百零三页。 助记符 说明 操作 条件码位置 CMP Rn, operand2 比较指令 标志N、Z、C、V←Rn-operand2 CMP{cond} CMN Rn, operand2 负数比较指令 标志N、Z、C、V←Rn+operand2 CMN{cond} TST Rn, operand2 位测试指令 标志N、Z、C、V←Rn operand2 TST{cond} TEQ Rn, operand2 相等测试指令 标志N、Z、C、V←Rn ^ operand2 TEQ{cond} 位测试指令——TST指令将寄存器Rn的值与operand2的值按位作逻辑“与”操作,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。指令格式如下: TST{cond} Rn, operand2 (4). ARM数据处理指令:比较指令 应用示例: TST R0,#0x01 ; 判断R0的最低位是否为0 TST R1,#0x0F ; 判断R1的低4位是否为0 注意: TST指令与ANDS指令的区别在于TST指令不保存运算结果。 TST指令通常与EQ、NE条件码配合使用,当所有测试位均为0时,EQ有效,而只要有一个测试位不为0,则NE有效。 第六十三页,共一百零三页。 助记符 说明 操作 条件码位置 CMP Rn, operand2 比较指令 标志N、Z、C、V←Rn-operand2 CMP{cond} CMN Rn, operand2 负数比较指令 标志N、Z、C、V←Rn+operand2 CMN{cond} TST Rn, operand2 位测试指令 标志N、Z、C、V←Rn operand2 TST{cond} TEQ Rn, operand2 相等测试指令 标志N、Z、C、V←Rn ^ operand2 TEQ{cond} 相等测试指令——TEQ指令将寄存器Rn的值与operand2的值按位作逻辑“异或”操作,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。指令格式如下: TEQ{cond} Rn, operand2 (4). ARM数据处理指令:比较指令 应用示例: TEQ R0,R1 ; 比较R0与R1是否相等 (不影响V位和C位) 注意: TEQ指令与EORS指令的区别在于TEQ指令不保存运算结 果。使用TEQ进行相等测试时,常与EQ、NE条件码配合使用。当两个 数据相等时,EQ有效;否则NE有效。 第六十四页,共一百零三页。 (5).乘法指令 ARM7TDMI具有三种乘法指令,分别为: 32×32位乘法指令; 32× 32位乘加指令; 32× 32位结果为64位的乘/乘加指令。 第六十五页,共一百零三页。 助记符 说明 操作 条件码位置 MUL Rd,Rm,Rs 32位乘法指令 Rd←Rm*Rs (Rd≠Rm) MUL{cond}{S} MLA Rd,Rm,Rs,Rn 32位乘加指令 Rd←Rm*Rs+Rn (Rd≠Rm) MLA{cond}{S} UMULL RdLo,RdHi,Rm,Rs 64位无符号乘法指令 (RdLo,RdHi) ←Rm*Rs UMULL{

文档评论(0)

1亿VIP精品文档

相关文档