BIC指令
BIC指令的格式为:
BIC{条件}{S}目的寄存器,操作数1,操作数2
BIC指令用于清除操作数1的某些位,并把结果放置到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或一个立即数。操作数2为32位的掩码,如果在掩码中设置了某一位,则清除这一位。未设置的掩码位保持不变。指令示例:
TST指令的格式为:
TST{条件}操作数1,操作数2
TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位与运算,并根据运算结果更新CPSR中条件标志位的值。操作数1是要测试的数据,而操作数2是一个位掩码,该指令一般用来检测是否设置了特定的位。指令示例:TSTR1,#%1;用于测试在寄存器R1中是否设置了最低位(%表示二进制数)TSTR1,#0xffe;将寄存器R1的值与立即数0xffe按位与,并根据结果设
置CPSR的标志位
BIC指令的格式为:
BIC{条件}{S}目的寄存器,操作数1,操作数2
BIC指令用于清除操作数1的某些位,并把结果放置到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或一个立即数。操作数2为32位的掩码,如果在掩码中设置了某一位,则清除这一位。未设置的掩码位保持不变。指令示例:
BICR0,R0,#%1011;该指令清除R0中的位0、1、和3,其余的位保持不变
TST指令的格式为:
TST{条件}操作数1,操作数2
TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位与运算,并根据运算结果更新CPSR中条件标志位的值。操作数1是要测试的数据,而操作数2是一个位掩码,该指令一般用来检测是否设置了特定的位。指令示例:TSTR1,#%1;用于测试在寄存器R1中是否设置了最低位(%表示二进制数)TSTR1,#0xffe;将寄存器R1的值与立即数0xffe按位与,并根据结果设
置CPSR的标志位
TST R9,#0x00000002
BNE Next
LDR R0,#0x00000000
先进行