TST条件指令
语法
TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中条件标志位的值。操作数1是要测试的数据,而操作数2是一个位掩码,根据测试结果设置相应标志位。当位与结果为0时,EQ位被设置。 指令示例
- TST R1,#%1 ;用于测试在寄存器R1中是否设置了最低位(%表示二进制数)。
比较指令和条件执行举例
例1:找出三个寄存器中数据最大的数
- mov r0, #3
- mov r1, #4
- mov r2, #5
- cmp r1,r0
- movgt r0,r1
- cmp r2,r0
- movgt r0,r2
例2:求两个数的差的绝对值
- mov r0,#9
- mov r1,#15
- cmp r0,r1
- beq stop
- subgt r0,r0,r1
- sublt r1,r1,r0
带条件码的指令执行请参考本篇表格《指令的条件码》
|