ARM处理器的指令集
一、数据处理类指令
数据处理指令只能对寄存器的内容进行操作,而不能对内存中的数据进行操作,所以ARM数据处理指令均可以选择使用S后缀,以影响状态标志位。
影响状态标志位的命令:
MOVS–>数据传送指令(只能用在寄存器和寄存器之间)
MVNS–>数据传送指令(和mov区别是,不仅进行数据传输,还进行数据取反)
ADDS–>加法指令
SUBS–>减法指令
MULS–>乘法指令
ANDS–>逻辑与指令(相同是1,不同是0,区别“按位与TST"指令)
ORRS–>逻辑或指令(不同是0,相同是1,区别“按位与TST"指令)
BICS–>设置某一位为1
CMP–>比较指令
TST–>安位与指令
1.数据传送指令
用于操作数传送到目的寄存器中。
MOV R1,R0 ;将寄存器R0的值传送到寄存器R1中。
MVN R0,#0 ;将立即数0按位取反传送到寄存器R0中。
可以在MOV和MVN后面加S,S会改变CPSR的值,不加就不会改变。
2.比较指令
用于对2个操作数进行比较,同时更新CPSR中的条件标志位的值。该指令进行一次减法运算,但不存储结果,只更改条件标志位。
CMP R1,R0 ;将R1的