刘帅嵌入式系统-AND逻辑与操作指令

AND指令将< shifter_operand > 表示的数值与寄存器< Rn >值按位做逻辑与操作,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果更新CPSR中相应的条件标志位。

指令的编码格式

刘帅嵌入式系统-AND逻辑与操作指令

指令的语法格式

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

其中:

  • < Rn > 寄存器为第1个操作数所在的寄存器。
  • < shifter_operand >为第2个操作数。

指令操作的伪代码

if ConditionPassed<cond> then
	Rd=Rn AND shifter_operand
	if S==1 and Rd==R15 then
		CPSR=SPSR
	else if S==1 then
		N Flag=Rd[31]
		Z Flag=if Rd==0 then 1 else 0
		C Flag=shifter_carry_out
		V Flag=unaffected

指令的使用

AND指令可用于提取寄存器中 某些位的值。具体做法是设置一个掩码值,将该值中对应于寄存器中欲提取的位设置位1,其他的位设置成0。将寄存器的值与该掩码值做操作,即可得到想提取的位的值。

相关文章:

  • 2021-04-19
  • 2021-11-07
  • 2021-09-27
  • 2021-04-10
  • 2021-11-08
  • 2021-09-07
  • 2021-10-26
  • 2021-10-11
猜你喜欢
  • 2021-07-31
  • 2021-06-30
  • 2021-03-31
  • 2021-11-29
  • 2021-06-15
  • 2021-10-05
  • 2021-04-29
相关资源
相似解决方案