新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 第1天-ARM汇编指令MOV/MVN

第1天-ARM汇编指令MOV/MVN

作者: 时间:2016-11-26 来源:网络 收藏

MOV : 传送

(Move)

本文引用地址:https://www.eepw.com.cn/article/201611/321991.htm
MOV{条件}{S} , dest = op_1MOV从另一个寄存器、被移位的寄存器、或一个立即值装载一个值到目的寄存器。你可以指定相同的寄存器来实现 NOP 指令的效果,你还可以专门移位一个寄存器:

MOVR0, R0; R0 = R0... NOP 指令
MOVR0, R0, LSL#3; R0 = R0 * 8
如果 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


关键词: ARM汇编指令MOVMV

评论


技术专区

关闭