习题
一、选择题
1、下面指令执行后,改变R1寄存器内容的指令是(D)
A、TST R1,#2
B、ORR R1,R1,R1
C、CMP R1,#2
D、EOR R1,R1,R1
解析:
A、TST功能在给出的两个操作数上进行AND操作并把结果反映到状态标志上。
同CMP一样,不需要指定S后缀。
(TST和ANDS 类似,只是不回送结果)
B、ORR运算指令不会改变R1寄存器内容(R1不变)。
C、CMP允许把一个寄存器的内容同另一个寄存器的内容或立即数进行比较,进行一次减法,但不存储结果,同时更改CPSR的状态标志位的值。
D、EOR改变R1寄存器的内容。
举例:假设原来寄存器R1的值为32个全1,R1异或R1之后变为32个全0,再传送到R1寄存器(由32个全1变为32个全0,R1寄存器内容发生改变)。
正确答案是:D
2.下列ARM指令中,其源操作数的寻址方式是寄存器寻址方式的是(A)。
A、MOV R3,R4
B、LDR R1,[R2]
C、BEQ LOOP
D、MOV R1,#0。