数据处理指令之: EOR逻辑异或指令
3.指令操作的伪代码
指令操作的伪代码如下面程序段所示。
If ConditionPassed{cond} then
Rd=Rn EOR 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.2】EOR指令举例。
(1)EOR的真值表(二者不同则结果为1)如表6.3所示。
表6.3 EOR指令真值表
Op_1 | Op_2 | 结 果 |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
(2)反转R0中的位0和1
EOR R0, R0, #3 ;
(3)将R1的低4位取反
EOR R1,R1,#0x0F;
(4)R2=R1∧R0
EOR R2,R1,R0;
(5)将R5和0x01进行逻辑异或,结果保存到R0,并根据执行结果设置标志位。
EORS R0,R5,#0x01;
评论