数据处理指令(一)—— 搬移指令MOV、MVN(LDR 赋值)

本文介绍了ARM汇编语言中的几种基本数据处理指令,包括MOV(直接搬移)、MVN(先取反后搬移)及LDR(伪指令形式赋值)。详细解释了这些指令的格式、使用方法及优缺点。

数据处理指令指的是和数学运算、逻辑运算相关的指令,比如加减乘、与或非、赋值比较等  


目录

1、MOV ——  直接搬移

(1) MOV 指令格式

(2) MOV生成指令的策略(MOV的优点)

(3) MOV 只能搬移“立即数”的原因(MOV的缺点)

2、MVN —— 先取反,后搬移

3、LDR —— 伪指令形式赋值


1、MOV ——  直接搬移

MOV类似于C语言中的直接赋值,其实就是将数据搬移到寄存器中。MOV只能搬移立即数,搬移的内容如果不是立即数,会报赋值不合法的错误。

(1) MOV 指令格式

语法:MOV  <register>, #value

使用:

MOV R0, #0        @把0搬移到r0寄存器,类似于 R0 = 0x00000000
MOV R2, R0        @把寄存器R0的值赋给R2
MOV PC, #0        @ 设置PC寄存器的值为0(PC是专用寄存器,存的是地址,必须满足4的整数倍)
                  @ 即便赋给PC的值不是4的整数倍,编译器会强制将低2位置0,使其满足4的整数倍
                  @ 比如赋值7,对应二进制111,最终会强制转成100.

注意:给寄存器赋予的值建议在 [0 , 255] 之间,也就是0x00~0xFF之间。

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值