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


相关推荐
枕星而眠10 分钟前
Linux 共享内存与信号量全解析:原理、实践与避坑指南
linux·c语言·开发语言·后端·ubuntu
nbwenren40 分钟前
ARM AArch32和AArch64通用寄存器、状态寄存器_arm64 寄存器
arm开发
程序leo源1 小时前
Linux深度理解
linux·运维·服务器·c语言·c++·青少年编程·c#
Severus_black2 小时前
【初阶数据结构】链式二叉树(BinaryTreeNode)与递归
c语言·数据结构·链表
故事还在继续吗2 小时前
嵌入式 C 语言程序性能优化
c语言·开发语言·性能优化
nuoxin1142 小时前
SSD201-富利威
arm开发·驱动开发·fpga开发·ffmpeg·射频工程
Lucky_ldy2 小时前
C语言学习:字符函数和字符串函数(内容丰富且易懂)
c语言·开发语言·学习
12.=0.2 小时前
【stm32_8】IIC内部集成电路——IIC的时序、利用IO口模拟IIC的时序、IIC通信器件的读写使用、半导体存储器的基本概述
c语言·stm32·单片机·嵌入式硬件
代码地平线2 小时前
【排序】C语言实现八大排序算法(含完整源码与性能测试)
c语言·算法·排序算法
上海合宙LuatOS2 小时前
Air8000多网通信-NTP
服务器·arm开发·物联网·网络协议·luatos