LDR{条件}
作用:将 存储器地址 所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。
LDR指令的寻址方式比较灵活,实例如下:
LDR R0,[R1]
;将存储器地址为R1的字数据读入寄存器R0。 LDR R0,[R1,R2]
;将存储器地址为R1+R2的字数据读入寄存器R0。 LDR R0,[R1,#8]
;将存储器地址为R1+8的字数据读入寄存器R0。 LDR R0,[R1],R2
;将存储器地址为R1的字数据读入寄存器R0,并将R1+R2的值存入R1。 LDR R0,[R1],#8
;将存储器地址为R1的字数据读入寄存器R0,并将R1+8的值存入R1。 LDR R0,[R1,R2]!
;将存储器地址为R1+R2的字数据读入寄存器R0,并将R1+R2的值存入R1。 LDR R0,[R1,LSL #3]
;将存储器地址为R1*8的字数据读入寄存器R0。 LDR R0,[R1,R2,LSL #2]
;将存储器地址为R1+R2*4的字数据读入寄存器R0。 LDR R0,[R1,,R2,LSL #2]!
;将存储器地址为R1+R2*4的字数据读入寄存器R0,并将R1+R2*4的值存入R1。 LDR R0,[R1],R2,LSL #2
;将存储器地址为R1的字数据读入寄存器R0,并将R1+R2*4的值存入R1。 LDR R0,Label
;Label为程序标号,Label必须是当前指令的-4~4KB范围内。
要注意的是
LDR Rd,[Rn],#0x04
;这里Rd不允许是R15。
另外LDRB 的指令格式与LDR相似,只不过它是将存储器地址中的8位(1个字节)读到目的寄存器中。
LDRH的指令格式也与LDR相似,它是将内存中的16位(半字)读到目的寄存器中。
LDR R0,=0xff
这里的LDR不是arm指令,而是伪指令。这个时候与MOVE很相似,只不过MOV指令后的立即数是有限制的。这个立即数必须是0X00-OXFF范围内的数经过偶数次右移得到的数,所以MOV用起来比较麻烦,因为有些数不那么容易看出来是否合法。
上一篇:arm汇编指令--STR
下一篇:ARM汇编中调用C函数的参数传递方式
推荐阅读最新更新时间:2024-03-16 14:49
设计资源 培训 开发板 精华推荐
- 2024年Automechanika Shanghai海量同期活动刷新历届记录,汇聚行业智慧,共谋未来发展
- 企业文化分享 如何培养稀缺的硅IP专业人员?SmartDV开启的个人成长与团队协作之旅
- 恩智浦发布首个超宽带无线电池管理系统解决方案
- 北交大本科生探秘泰克先进半导体开放实验室,亲历前沿高科技魅力
- 新帅上任:杜德森博士(Dr. Torsten Derr)将于2025年1月1日出任肖特集团首席执行官
- 边缘 AI 如何提升日常体验
- 苹果要首发!台积电宣布2nm已准备就绪
- AMD有望用上全新芯片堆叠技术:延迟大幅减少、性能显著提升
- 宁德时代发布10月战报
- 2024年10月电池行业:增长势头不减!