第1天-ARM汇编指令MOV/MVN
MOV : 传送
(Move)
本文引用地址:https://www.eepw.com.cn/article/201611/321991.htmMOV{条件}{S} , dest = op_1MOV从另一个寄存器、被移位的寄存器、或一个立即值装载一个值到目的寄存器。你可以指定相同的寄存器来实现 NOP 指令的效果,你还可以专门移位一个寄存器:
如果 R15 是目的寄存器,将修改程序计数器或标志。这用于返回到调用代码,方法是把连接寄存器的内容传送到 R15:
MOV PC, R14 ; 退出到调用者 MOVS PC, R14 ; 退出到调用者并恢复标志位
MVN : 传送取反的值
(MoveNegative)
MVN{条件}{S} , dest = !op_1
MVN从另一个寄存器、被移位的寄存器、或一个立即值装载一个值到目的寄存器。不同之处是在传送之前位被反转了,所以把一个被取反的值传送到一个寄存器中。这是逻辑非操作而不是算术操作,就是二进制的取反,比如二进制是0B11001100,取反就是0B00110011,转换为10进制就是,这个取反的值加 1 才是它的取负的值:
MVN R0, #4 ; R0 = -5 MVN R0, #0 ; R0 = -1
评论