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


相关推荐
WIFI_BT_DEV2 小时前
Linux设备驱动开发-中断
linux·c语言·arm开发·驱动开发·嵌入式硬件·硬件架构·gnu
烟雨迷2 小时前
八大排序算法(C语言实现)
c语言·数据结构·学习·算法·排序算法
tt5555555555552 小时前
每日一题——打家劫舍
c语言·数据结构·算法·leetcode
共享家95273 小时前
深入理解C语言中的位段
c语言
W说编程4 小时前
在嵌入式Linux中实现高并发TCP服务器:从select到epoll的演进与实战
linux·服务器·c语言·嵌入式硬件·tcp/ip
___波子 Pro Max.4 小时前
ARM TCM(itcm和dtcm)
arm开发
y.Ghost4 小时前
数据结构与算法:均值滤波
c语言·图像处理·人工智能·算法·计算机视觉·均值算法·均值滤波
Terasic友晶科技5 小时前
第30篇 基于ARM A9处理器用C语言实现中断<六>
c语言·fpga开发·中断
Zfox_5 小时前
【C++11】 并发⽀持库
c语言·开发语言·c++·并发
╮壞孩子的天5 小时前
C语言多人聊天室 ---s(服务端)
c语言·开发语言·tcp/ip