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后缀来更改状态标志;如果指定了它则被忽略。 欢迎转载,信息来源维库电子市场网()