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


相关推荐
半夏微凉半夏殇11 小时前
除了arm 还有那些开源的芯片架构
arm开发·架构·开源
XINVRY-FPGA12 小时前
XC7A100T-2FGG484I Xilinx Artix-7 FPGA
arm开发·嵌入式硬件·fpga开发·硬件工程·信息与通信·信号处理·fpga
天桥下的卖艺者12 小时前
R语言手搓一个计算生存分析C指数(C-index)的函数算法
c语言·算法·r语言
Yurko1313 小时前
【C语言】基本语法结构(上篇)
c语言·开发语言·学习
小糖学代码15 小时前
Linux:11.线程概念与控制
linux·服务器·c语言·开发语言·c++
Kratzdisteln20 小时前
【C语言】Dev-C++如何编译C语言程序?从安装到运行一步到位
c语言·c++
Doro再努力21 小时前
数据结构04:力扣顺序表3道例题解题思路与代码实现
c语言·数据结构
疯狂吧小飞牛1 天前
Lua C API 中的注册表介绍
java·c语言·lua
疯狂吧小飞牛1 天前
Lua C API 中一段LUA建表过程解释
c语言·junit·lua
potato_may1 天前
第18讲:C语言内存函数
c语言·数据结构·算法