6、ARM Cortex-M3汇编语言编程:数据操作详解

ARM Cortex-M3汇编语言编程:数据操作详解

1. 将常数加载到寄存器

在ARM Cortex-M3处理器中, MOV MVN 指令用于将常数加载到寄存器中。 MOV 指令将常量复制到寄存器中,而 MVN 指令则是 “移动非”,将常量的反码复制到寄存器中。

MOV R1, #100      ; 将100复制到R1
MVN R1, #100      ; 将100的反码复制到R1

常数总是以井号 ( # ) 开头,默认情况下以十进制形式编写;十六进制常数必须以 0x 开头,例如 MOV R1, #0xF3

如果编写了一个负数常量,汇编器会将其转换为等效的 MVN 指令。例如, MOV R1, #-100 会被替换为 MVN R1, #99

不幸的是, MOV MVN 指令不支持完整的32位值范围,因为只有指令的一部分位用于保存常量。因此,当需要不同的值时,唯一的替代方法是将常量存储在单独的内存位置,并使用内存引用指令加载它。

LDR R1, =10       ; 汇编器将此替换为 MOV R1,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值