arm adr指令
在ARM汇编中,ADR(Address Relative)指令是一个伪指令,作用是将一个与PC(程序计数器)相关的地址加载到目标寄存器中。以下是详细解释:
核心特点:
-
位置无关(PIC)
ADR生成的地址是相对于当前PC的偏移量,因此代码无论加载到内存哪个位置都能正确执行(常用于动态链接库、可重定位代码)。 -
地址计算方式
汇编器将ADR转换为等效的ADD Rd, PC, #offset或SUB Rd, PC, #offset指令(偏移量范围通常为±4095字节)。 -
伪指令
ADR本身不是CPU的直接指令,而是由汇编器转换成一条或多条实际指令(如ADD/SUB)。
语法:
ADR{cond} Rd, label
Rd: 目标寄存器(如R0-R12)label: 要加载的地址标签(需在当前指令±4KB范围内){cond}: 可选条件码(如EQ/NE)
示例:
_start:
ADR R1, message ; 将message地址加载到R1
BX LR ; 返回
message:
.asciz "Hello, World!" ; 字符串数据
?️ 与LDR的区别:
| 指令 | 用途 | 地址范围 | 代码体积 |
|---|---|---|---|
| ADR | 加载附近地址(PC相对) | ±4KB | ⭐短(1条指令) |
| LDR Rd,=label | 加载任意绝对地址 | 任意32位地址 | ⭐⭐⭐长(需内存读取) |
ADRL:如果需要加载超出±4KB的地址,可使用ADRL伪指令(转换为2条指令)。
关键场景:
- 访问同一函数内的局部变量或常量。
- 编写位置无关代码(PIC)。
- 初始化栈指针、向量表等靠近PC的地址。
注意:
若目标地址超出范围,汇编器会报错(Error: invalid constant ... after fixup)。此时应改用LDR Rd, =label。
ADR1001 adi
电子发烧友网为你提供ADI(ADI)ADR1001相关产品参数、数据手册,更有ADR1001的引脚图、接线图、封装手册、中文资料、英文资料,ADR
讲讲ARM指令集格式以及常用的ARM汇编指令
对于搞嵌入式驱动或者操作系统的人来说,掌握汇编语言的使用还是比较重要的,毕竟有时候在分析定位问题的时候,多多少少都会有汇编的身影。本文主要讲讲ARM指令集格式以及常用的
2023-11-08 12:34:22
ADR3525/ADR3530/ADR3533/ADR3540/ADR3550:微功耗、高精度基准电压表
ADR3525/ADR3530/ADR3533/ADR3540/
资料下载
李伟
2021-05-13 20:45:52
ARM汇编指令(6)——批量数据加载/存储指令资料下载
电子发烧友网为你提供ARM汇编指令(6)——批量数据加载/存储指令资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文
资料下载
h1654155275.3301
2021-04-23 08:46:23
ARM MOV和LDR的指令关系是怎么样的
ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令比如想把数据从内存中某处读取到寄存器中,只能
资料下载
佚名
2019-05-16 18:05:00
ADR3625/ADR3630/ADR3650: Precision, Micropower, High Current Output Voltage References Data Sheet ADR3625/ADR3630/ADR3650: Precision, Microp
电子发烧友网为你提供ADI(ADI)ADR3625/ADR3630/ADR3650: Precision, Micropower, High C
ARM汇编指令集分享
)0x0000_0014: 下一条数据.arm / .code32 声明以下的代码是ARM指令.thumb /.code16 声明以下的代码是t
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机