arm 汇编指令--LDR

发布者:幸福满溢最新更新时间:2016-04-07 来源: eefocus关键字:arm  汇编指令  LDR 手机看文章 扫描二维码
随时随地手机看文章
LDR指令的格式: 

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  汇编指令  LDR 引用地址:arm 汇编指令--LDR

上一篇:arm汇编指令--STR
下一篇:ARM汇编中调用C函数的参数传递方式

推荐阅读最新更新时间:2024-03-16 14:49

ARM:64位处理器是高阶手机的下一波趋势
随着苹果手机iphone5s开始采用64位架构处理器,有关64位处理器的讨论日趋激烈,其他厂商也纷纷跟进,难道手机处理器多核发展趋势走错了道路?作为大赢家的ARM公司如何看待手机处理器未来发展趋势?近日,有媒体采访了ARM中国区移动市场经理王骏超,他就大家关注的问题进行了答复。 问:目前ARM64位处理器已经有多少家厂商获得授权?都是哪些厂商? 王骏超:目前获得64位处理器授权(包括V8架构授权)的厂商包括AMD,AppliedMicro,Broadcom,Calxeda,CAVIUM,Freescale,HiSilicon/Huawei,LG,Marvell,Nvidia,Qualcomm,Samsung,以及S
[手机便携]
ARM处理器和体系结构介绍(Cortex-A9)
ARM(Advanced RISC Machines) 概述:有三种含义,它是一个公司的名称,是一类微处理器的通称,还是一种技术的名称。 技术特征 体积小、低功耗、低成本、高性能。 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8/16位器件。 大量使用寄存器,指令执行速度更快。 大多数数据操作都在寄存器中完成。 寻址方式灵活简单,执行效率高。 指令长度固定。 嵌入式RISC微处理器 概述:RISC(Reduced Instruction Set Computer)是精简指令集计算机,RISC把着眼点放在如何使计算机的结构更加简单和如何使计算机的处理速度更加快速上。RISC选取了使用频率最高的简单指令,抛
[单片机]
<font color='red'>ARM</font>处理器和体系结构介绍(Cortex-A9)
关于ARM和存储器地址线错位连接详解
首先,SST39VF16 FLASH是16位的,也就是以两个字节(半字)为最小操作单位的。也就是说你在FLASH地址上给0x00000,则它给出的数据是第一个16位的半字;在FLASH地址上给0x00001,它给出的是第二个16位的半字;在FLASH地址上给0x00002,它给出的是第三个16位的半字。。。但ARM的地址是以字节编址的,它可以以字节单位来读取或者写外设。 假设我们要读取FLASH的第一个 字节 ,LDRB R0, ;将R1内容写0x00000,这个时候ARM执行的是这样的操作: 1、送出地址0x00000 2、在D0-D15上读取数据 3、将读到的16位数据的 低 8位给R0低8位(高24位为0) 假设我
[单片机]
常用的汇编指令介绍
注意:此文档会根据学习过程中遇到的ARM汇编指令,持续更新。 LDR汇编指令: LDR指令的格式为: LDR{条件} 目的寄存器, 存储器地址 LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器 中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时, 指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。该指令在程序设 计中比较常用,寻址方式灵活多样,请读者认真掌握。 指令示例: LDR R0, //将存储器地址为R1的字数据读入寄存器R0。 LDR R0, //将存储器地址为R1+R2的字数据读入寄
[单片机]
新岸线联手ARM广东芯片弯道超车
  南方日报讯(记者/田志明)广东省将高端新型电子信息产业作为三大战略性新兴产业之一,其中平板(包括LCD、OLED等)和芯片就是重点发展的内容,以解决广东乃至全国“缺芯少屏”的短板。   昨日,广东新岸线计算机系统芯片有限公司和半导体巨头安谋(ARM)公司在北京联手推出新岸线首个计算机系统芯片NuSmart2816,标志着我国在高端芯片和通用计算机单芯片方面取得了重大突破。据悉,NuSmart2816的成功推出,得到了工信部、广东省科技厅的大力支持。广东省副省长宋海亲临发布会现场祝贺,并表示广东省将出台一系列扶持措施,大力推动高端信息产业发展,形成有全球竞争力的超大规模高端新型电子信息产业群,促进产业转型升级和发展方式的转变。
[嵌入式]
ARM linux内核启动时几个关键地址
1.内核启动地址 1.1.名词解释 ZTEXTADDR 解压代码运行的开始地址。没有物理地址和虚拟地址之分,因为此时MMU处于关闭状态。这个地址不一定时RAM的地址,可以是支持读写寻址的flash等存储中介。 Start address of decompressor. here's no point in talking about virtual or physical addresses here, since the MMU will be off at the time when you call the decompressor code. You normally call the kernel at
[单片机]
ARM与英特尔,谁跑得更快?
  ARM与英特尔,谁跑得更快?毫无疑问,未来高端智能手持终端平台将主要是嵌入式X86架构与ARM架构的竞争,前者英特尔是主角,后者ARM为主角。两者谁跑得更快?我想,这场比赛既包括他们两家公司芯片处理速度上的比赛,也包括他们两家公司在移动互联网生态环境营造速度上的比赛。   笔者认为两家公司真正的交锋将从2008年二季度开始。虽然他们之间的口角战从去年开始就已打得热火朝天,但是在英特尔的Menlow平台(基于Silverthorne处理器)面市以前,他们之间的产品没有可比性。现在,英特尔已公开表示Menlow平台成熟,并已有终端厂商在CES上展示了基于该平台的MID样机。因此,比赛正式开始,Menlow平台对抗的是ARM Co
[嵌入式]
ARM汇编 MOV PC,LR
终于明白这个LR寄存器了 看下面这个ARM汇编吧 BL NEXT ;跳转到子程序 ......... ;NEXT处执行 NEXT .......... MOV PC,LR ;从子程序返回 这里的BL是跳转的意思,LR(R14)保存了返回地址 PC(R15)是当前地址,把LR给PC就是从子程序返回 这里有一下总结 首先 1.SP(R13) LR(R14)PC(R15) 2.lr(r14)的作用问题,这个lr一般来说有两个作用: 1》.当使用bl或者blx跳转到子过程的时候,r14保存了返回地址,可以在调用过程结
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved