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


相关推荐
猫猫的小茶馆6 分钟前
【Linux 驱动开发】五. 设备树
linux·arm开发·驱动开发·stm32·嵌入式硬件·mcu·硬件工程
你怎么知道我是队长1 小时前
win11系统分盘2
c语言
爱编码的小八嘎1 小时前
C语言对话-6.Virtually Yours
c语言
恶魔泡泡糖2 小时前
51单片机外部中断
c语言·单片机·嵌入式硬件·51单片机
承渊政道3 小时前
C++学习之旅【C++拓展学习之反向迭代器实现、计算器实现以及逆波兰表达式】
c语言·开发语言·c++·学习·visual studio
郝学胜-神的一滴3 小时前
Linux网络字节序详解:从理论到实践
linux·服务器·c语言·开发语言·c++·网络协议·程序人生
划破黑暗的第一缕曙光4 小时前
[数据结构]:链表OJ
c语言·数据结构·链表
秦苒&4 小时前
【脉脉】AI 创作者 xAMA 知无不言:在浪潮里,做会发光的造浪者
大数据·c语言·数据库·c++·人工智能·ai·操作系统
秋深枫叶红4 小时前
嵌入式第五十篇——IMX6ULL时钟树
arm开发·单片机·嵌入式硬件
刃神太酷啦5 小时前
Linux 基础 IO 收官:库的构建与使用、进程地址空间及核心知识点全解----《Hello Linux!》(11)
java·linux·c语言·数据库·c++·算法·php