ARM将常数加载到寄存器方法之LDR伪指令

一、是什么?

LDR Rd,=const伪指令可在单个指令中构造任何32位数字常数,使用伪指令可以生成超过MOV和MVN指令
允许范围的常数.
实现原理:
(1)如果可以用MOV或MVN指令构造该常数,则汇编程序会生成适当的指令
(2)如果不能用MOV或MVN指令构造该常数,则汇编程序会执行下列操作
将该值放入文字池(在代码中嵌入一部分内存,用于从文字池中读取该常数)
LDR rn,pc,#offset to literal pool

二、使用步骤

1.LDR加载常数进寄存器例子

代码如下(示例):

c 复制代码
.global _start
_start:
	mov r0,#0x18
	LDR R3,=0x55555555


相关推荐
老当益壮梁奶奶几秒前
ARM 汇编学习笔记(二)启动代码、指令、函数调用与 C 混合编程
c语言·arm开发·单片机·嵌入式硬件·51单片机
xxy2224142 分钟前
ARM裸机开发(4)GPIO与LED/按键驱动详解——引脚复用与电气特性配置
arm开发·gpio
Awh-1 小时前
ARM裸机开发 Day01 学习笔记
arm开发·arm·arm裸机
wuminyu1 小时前
Markword在紧凑对象头上的实现原理剖析
java·linux·c语言·jvm·c++
潘潘的嵌入式日记2 小时前
位操作怎么写才不出错?置位、清位、翻转、取位一次讲清
c语言·嵌入式·寄存器·位操作
无忧.芙桃2 小时前
数据结构之排序算法(上):从评价指标到插入、希尔、选择与堆排序
c语言·c++·排序算法
SuperByteMaster3 小时前
configUSE_TIME_SLICING和configUSE_PREEMPTION
c语言
周杰偷奶茶3 小时前
【C 语言】分支、循环和 goto 语句(附实战)
c语言
LuminousCPP3 小时前
数据结构-排序(五):计数排序与排序专题阶段总结|从外部归并到线性排序,再看算法边界与选型
c语言·数据结构·笔记·算法·排序算法
山下梅子酒2253 小时前
洛谷-入门-B2046
c语言