刘帅嵌入式系统-TEQ相等测试指令

刘帅嵌入式系统-TEQ相等测试指令_第1张图片

TEQ指令将< shifter_operand > 表示的数值与寄存器< Rn >的值按位做逻辑异或操作,根据操作的结果更新CPSR中相应的条件标志位。

指令的编码格式

刘帅嵌入式系统-TEQ相等测试指令_第2张图片

指令的语法格式

TEQ{< cond >} {S} < Rd >, < Rn> ,< shifter_operand >

其中:

  • < cond >为指令执行的条件码。当< cond >忽略是指令为无条件执行。
  • < Rn > 寄存器为第1个操作数所在的寄存器。
  • < shifter_operand >为第2个操作数。计算方法见之前介绍。

指令操作的伪代码

if ConditionPassed<cond> then
	alu_out=Rn EOR shifter_operand
	N Flag=alu_out[31]
	Z Flag=if alu_out==0 then 1 else 0
	C Flag=shifter_carry_out
	V Flag=unaffected

指令的使用

TEQ指令通常用于比较两个数是否相等,这种比较操纵通常不影响CPSR寄存器中的V位和C位。

TEQ指令也可以用于比较两个操作数符号是否相等,该指令执行后,CPSR寄存器中的N位为两个操作数符号位做异或操作的结果。

你可能感兴趣的:(ARM)