DIY编程器网
标题:
ARM数据处理指令
[打印本页]
作者:
liyf
时间:
2012-1-16 18:42
标题:
ARM数据处理指令
数据处理指令分为3类:数据传送指令,如MOV;算术逻辑运算指令,如ADD、SUB和AND等;比较指令,如TST等。
数据传送指令用于向寄存器传入一个常数。该指令包括一个目标寄存器和一个源操作数。
算术逻辑运算指令通常包括一个目标寄存器和两个源操作数。其中一个源操作数为寄存器的值;
比较指令不保存运算结果,只更新CPSR中相应的条件标志位。
数据处理指令包括以下指令。
(1)MOV 数据传送指令
MOV指令可完成从另一个寄存器、被移位的寄存器装载一个值到目的寄存器;或将一个立即值装载到目的寄存器。可以指定相同.的寄存器来实玑NOP指令的效果。还可以专门移位一个寄存器。
(2)MVN 数据求反传送指令
MVN指令可完成从另一个寄存器、被移位的寄存器装载一个值到目的寄存器;或将一个立即值装载到目的寄存器。不同之处是在传送之前位被反转了,所以把一个被取反的值传送到一个寄存器中。这是逻辑非操作而不是算术操作,这个取反的值加1才是它的取负的值。
(3)CMP 比较指令
CMP允许把一个寄存器的内容与另一个寄存器的内容或立即值进行比较,更改状态标志来允许进行条件执行。它进行一次减法,但不存储结果,而是正确地更改标志。标志表示的是操作数1比操作数2如何(大小等)。如果操作数1大于操作数2,则此后的有GT后缀的指令将可以执行。明显地,不需要显式地指定S后缀来更改状态标志;如果指定了它则被忽略。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
欢迎光临 DIY编程器网 (http://diybcq.com/)
Powered by Discuz! X3.2