数据处理指令分为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)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。