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


相关推荐
你怎么知道我是队长9 分钟前
C语言---预处理器
c语言·开发语言·chrome
范纹杉想快点毕业30 分钟前
欧几里得算法与扩展欧几里得算法,C语言编程实现(零基础全解析)
运维·c语言·单片机·嵌入式硬件·算法
云qq32 分钟前
x86操作系统23——进程相关系统调用
linux·c语言·汇编·ubuntu
松涛和鸣2 小时前
51、51单片机
c语言·网络·单片机·嵌入式硬件·tcp/ip·51单片机
KeLin&2 小时前
讯为iTOP4412-Qt5.7环境搭建
开发语言·arm开发·qt·arm
奋斗者1号3 小时前
paho-mqtt-c + OpenSSL 3.x 连接华为云 IoTDA TLS 握手失败问题分析
c语言·网络·华为云
飞机和胖和黄3 小时前
王道C语言第一周作业
c语言·开发语言
你怎么知道我是队长12 小时前
C语言---typedef
c语言·c++·算法
带土113 小时前
5. enum(枚举)关键字在C/C++中的作用
c语言·c++
凉、介18 小时前
深入 QEMU Guest Agent:虚拟机内外通信的隐形纽带
c语言·笔记·学习·嵌入式·虚拟化