数据处理指令之:AND逻辑与指令

时间:2013-09-13来源:网络

3.指令操作的伪代码

指令操作的伪代码如下面程序段所示。

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=unaggected

4.指令举例

【例6.1】AND指令举例。

(1)AND的真值表(二者都是1则结果为1)如表6.2所示。

表6.2 AND指令真值表

Op_1

Op_2

结 果

0

0

0

0

1

0

1

0

0

1

1

1

(2)保留R0中的0位和1位,丢弃其余的位。

AND R0, R0, #3 ;

(3)R2=R1R3

AND R2,R1,R3 ;

(4)R0=R00x01,取出最低位数据

ANDS R0,R0,#0x01 ;



[1] op2即为指令中的第二个操作数。ARM数据处理指令使用3地址格式,这就意味着分别指定两个源操作数和一个目的寄存器。第一个源操作数总是目的寄存器,第二个源操作数又叫移位操作数(a shifter operand),它可能是寄存器、移位后的寄存器或立即数。第二个操作数如果是寄存器,则应用于它的移位可能是逻辑或算术移位,或是循环移位。移位的位数可以由立即数指定,也可以由第4个寄存器指定。

1 2

关键词: 数据处理指令 AND逻辑 伪代码 ARM 操作系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版