问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

004.ARM指令之LDR

发布网友 发布时间:2022-12-10 03:45

我来回答

1个回答

热心网友 时间:2023-12-25 13:37

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=R1+8。
LDR R0,[R1],#8 ;将存储器地址为R1的字数据读入寄存器R0,并将R1+8的值存入R1。
LDR R0,[R1,R2]! ;将存储器地址为R1+R2的字数据读入寄存器R0,并将R1+R2的值存入R1。
LDR R0,[R1,LSL #3] ;将存储器地址为R18的字数据读入寄存器R0。
LDR R0,[R1,R2,LSL #2] ;将存储器地址为R1+R2
4的字数据读入寄存器R0。
LDR R0,[R1,,R2,LSL #2]! ;将存储器地址为R1+R24的字数据读入寄存器R0,并将R1+R24的值存入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-0XFF范围内的数经过偶数次右移得到的数,所以MOV用起来比较麻烦,因为有些数不那么容易看出来是否合法。

LDR 是ARM中的指令,也是伪指令。
当用 LDR r, =imd // r 为寄存器, imd为立即数
LDR 是一条伪指令。编译器会根据 立即数的大小,决定用 ldr 指令或者是mov或mvn指令。
当imd能用mov或者mvn操作时,就将它翻译成一条mov或mvn指令。当imd大于mov或mvn能够操作的数时,编译器会将imd存在一个内存单元中,然后再用一条ldr指令加载这个内存单元的的值到寄存器中。
LDR r, label 和 LDR r, =label的区别:
LDR r, =label 会把label表示的值加载到寄存器中,而LDR r, label会把label当做地址,把label指向的地址中的值加载到寄存器中。
譬如 label的值是 0x8000, LDR r, =label会将 0x8000加载到寄存器中,而LDR r, label则会将内存0x8000处的值加载到寄存器中。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
太平盛世专辑曲目 梦见自家灶台缺个角 如何看待宝马3系? - 知乎 为什么缺爱的女人婚姻难幸福快乐 求一些好看的架空言情小说,最好是以第一人称为视角的。小白文请绕。 带双目相机的无人机有哪些 禄莱1982年后 工业3d相机国内有哪些靠谱的厂商,特别是在阳光和弱光环境 海康全新双目单线相机 | 消盲区、抑杂光,引领3D检测新突破 10米范围内实现零盲区大FoV深度测量,奥比中光发布Gemini 2双目... 我姓陆,希望给女儿起个名字,希望带伦字 求好听的名字伦*桐 在*里填上字让名字好听 伦在前面加什么字好听 战区2有辅助瞄准吗 微乐麻将有没有辅助 百战沙城H5有辅助没 公司账户进账100万交多少税 公司100万收入要交多少税 ...器但是水烧开后在水面上总是有一层像油膜一样的东西,不知道是什么... 为什么我的平板电脑玩植物大战僵尸2一点进暑假活动就闪退? 在安卓系统的平板电脑上能玩植物大战僵尸2吗? 怎样把平板电脑上的植物大战僵尸2的存档转移到手机上? 安卓植物大战僵尸2怎么ipad 第一次没进去,流了一点点血,第二次进去不流血正常么? 男朋友没进去但是一直蹭第二天用纸巾摖了一点血是处女膜破了吗? 英雄联盟吸血鬼打剑魔细节 英雄联盟吸血鬼打剑魔的注意事项 为何苹果12的酷狗音乐不如7的 照样孑写词语,反正(东西) 要在网站的首页前面加引导页。index.php优先级别最高且已被占用无法更改... 我自己用DW做了一个网页,想用它做为网站的引导页,请问怎样实现呢... Swift 数组去重的最佳方案 Swift 数组删除元素 swift 怎么去除数组重复元素 swift中数组操作 swift删除数组中的元素 迟到的Swift入门 - 数组操作 Swift4.2~数组和字典(Array, Dictionary)基本类型转换 如何在swift中实现数组的深拷贝 swift4.0 数组Array,集合Set和字典Dictionary Swift数组高阶函数 女人洒脱大气的句子 简单快乐做好自己! 潘朵拉之心全部背景音乐 先锋2000打碟机开机出现e8709?是怎么回事?求高手解答谢谢 先锋2000打碟机屏幕花屏并一直重启 谁能介绍几个好一点的游戏论坛!? 制作学生会工作证需要版权么 怎么制作学生会工作证? 枯叶龟能长多大,多大能分公母 水库边拾到一只乌龟,重12斤 求高人指点这个龟年龄与品种!!! jupyter自启动脚本