微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 第1天-ARM汇编指令MOV/MVN

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

时间:11-26 来源:互联网 点击:

MOV : 传送

(Move)

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top