ldr加载指令,ldr伪指令

转载于ARM中LDR伪指令与LDR加载指令 - Leo Chin - 博客园

一、ldr作为加载指令

(1)格式为:LDR{条件}  目的寄存器,<存储器地址>

(2)LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。

(3)指令示例:

LDR R0,[R1]         ;将存储器地址为R1的字数据读入寄存器R0。

LDR R0,[R1,R2]  ;将存储器地址为R1+R2的字数据读入寄存器R0。

LDR R0,[R1,#8]   ;将存储器地址为R1+8的字数据读入寄存器R0。

LDR R0,[R1,R2]!;将存储器地址为R1+R2的字数据读入寄存器R0,并将新地址R1+R2写入R1。

LDR R0,[R1,#8]!  ;将存储器地址为R1+8的字数据读入寄存器R0,并将新地址R1+8写入R1。 

LDR R0,[R1],R2  ;将存储器地址为R1的字数据读入寄存器R0,并将新地址R1+R2写入R1。

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。

(4)ARM是RISC结构,数据从内存到CPU之间的移动需要通过ldr/str指令。

  • 比如想把数据从内存中某处读取到寄存器中,只能使用ldr 。
  • 比如ldr r0, 0x12345678 ,就是把0x12345678这个地址中的值存放到r0中?

二、ldr伪指令

(1)ARM指令集中,LDR通常都是作加载指令的,但是它也可以作伪指令。

LDR伪指令的形式是“LDR Rn,=expr”。

(2)例子:

COUNT EQU       0x40003100

LDR       R1,=COUNT

MOV      R0,#0

STR       R0,[R1]

  • COUNT是我们定义的一个变量,地址为0x40003100。
  • LDR       R1,=COUNT是将COUNT这个变量的地址,也就是0x40003100放到R1中。
  • MOV      R0,#0是将立即数0放到R0中。
  • 最后一句STR      R0,[R1]是一个典型的存储指令,将R0中的值放到以R1中的值为地址的存储单元去。实际就是将0放到地址为0x40003100的存储单元中去。
  • 这三条指令是为了完成对变量COUNT赋值。用三条指令来完成对一个变量的赋值,跟ARM的采用RISC有关。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

桌面秀

介绍一款桌面秀给大家——Rainmeter。个人觉得Rainmeter最大的优点就是能自己编写插件&#xff0c;当然&#xff0c;你也可以去一下网站搜索插件下载。 国内&#xff1a; http://bbs.rainmeter.cn/ 国外&#xff1a; http://rainmeter.net/转载于:https://www.cnblogs.com/HTWo…

javascript函数,值得参考!

2019独角兽企业重金招聘Python工程师标准>>> javascript函数一共可分为五类&#xff1a;   常规函数   数组函数   日期函数   数学函数   字符串函数   1.常规函数   javascript常规函数包括以下9个函数&#xff1a;   (1)alert函数&#xff1a;显…

Index

★【简书】 Nordic文集 Python FreeRTOS 转载于:https://www.cnblogs.com/shaoyang-v/p/11265393.html

时钟系统——S5PV210的时钟系统的理论及操作

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考内容 s5pv210——初始化时钟 - biaohc - 博客园 用户手册 一、SoC时钟系统 1、时钟的含义与作用 时钟是同步工作系统的同步节拍。 SoC内部有很多器件&#xff0c;比如CPU、串口、DRAM控制器、…

Oracle 协议适配器错误

1.首先确认你的 OracleDBConsoleORACLE&#xff0c;OracleOraDb11g_home1TNSListener&#xff0c;OracleServiceORACLE 这三个服务是否已经正常的开启。 2. 确认你的listener 的端口是否被占用&#xff0c; 在命令行执行&#xff1a;netstat -aon|findstr "1521" &am…

php变量作用域(花括号、global、闭包)

变量的作用域是变量的一个作用范围&#xff0c;在这个范围内变量为可见的&#xff0c;即可以访问该变量的代码区域&#xff0c; 相反&#xff0c;如果不在这个范围内&#xff0c;变量是不可见的&#xff0c;无法被调用。 &#xff08;全局变量可以将作用范围看作为整个程序&…

C# 文件流相关操作

二进制转换成图片: MemoryStream ms new MemoryStream(bytes); ms.Position 0; Image img Image.FromStream(ms); ms.Close(); this.pictureBox1.Image C#中byte[]与string的转换代码: System.Text.UnicodeEncoding converter new System.Text.UnicodeEncoding();byte[] in…

递归求链表的长度

时间复杂度&#xff1a;每个节点各访问一次&#xff0c;时间复杂度为O(n)。 程序代码&#xff1a; int length(LinkList llist) { if(llist NULL) return 0; return 1length(llist->link); } 转载于:https://www.cnblogs.com/maomaohhmm/archive/2012/09/09/2677889.html

串口通信——串口通信的基础概念

以下内容源于朱友鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 同步通信与异步通信区别_wind19的博客-CSDN博客 SPI、I2C、UART&#xff08;即串口&#xff09;三种串行总线详解_天糊土的博客-CSDN博客_串口总线 一、电子通信相关的概念 1、同步通信和…

MS CRM 2011 RC中的新特性(9)—全新的工作流 脚本设计模式

MS Dynamics CRM 2011中&#xff0c;在流程处理方面&#xff0c;除了以往版本中具有的工作流之外&#xff0c;又加入了新的内容——脚本Dialog。脚本Dialog&#xff0c;是同步的、需要用户输入内容的流程。当启动了脚本后&#xff0c;系统会弹出向导风格的对话框&#xff0c;用…

前端开发中那些不招人“待见”的功能

互联网上优秀的Web开发案例不胜枚举&#xff0c;但也有一些开发者费劲心血开发出的网站仅因为某些功能就遭到吐槽的也屡屡不鲜。这不&#xff0c;原文作者Scott Hanselman发表的这篇文章《Stop Doing Internet Wrong 》就例举了互联网上那些不招人“待见”的功能。当然&#xf…

串口通信——S5PV210串口通信接口详解

以下内容源于 朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 s5pv210——串口通信 - biaohc - 博客园 一、S5PV210的串口控制器 S5PV210的串口控制器的相关内容&#xff0c;在用户手册的section8.1章节。 &#xff08;1&#xff09;串口控制器包含…

网上看到的一个百度实习生笔试题

编写函数&#xff0c;统计在某段英文文本完整句子的数目&#xff0c;文本只包括大小写英文字母&#xff0c;空格&#xff0c;点号&#xff08;.&#xff09;&#xff0c;逗号(,)&#xff0c;完整句子必须包含至少一个字母并以一个点号结束。 实现了一下&#xff0c;不知道可有漏…

javascript学习(11)——[设计模式]工厂模式

其实学过java的人基本都知道&#xff0c;工厂模式&#xff0c;我们是基本每天都在用&#xff0c;只不过工厂模式也分为几种情况&#xff1a;简单工厂&#xff0c;抽象工厂和智能工厂。 简单工厂其实&#xff0c;大家时时刻刻都在用&#xff0c;个人理解&#xff0c;当我们在一个…

串口通信——S5PV210串口通信的简单案例

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客&#xff1a;s5pv210——串口通信 - biaohc - 博客园 一、代码与测试 1、代码文件 完整的案例文件见链接。 &#xff08;1&#xff09;start.S文件 /* * 演示串口通信 */#define WTCON …

iOS学习系列 - 扩展机制category与associative

category与associative作为objective-c的扩展机制的两个特性&#xff0c;category即类型&#xff0c;可以通过它来扩展方法&#xff1b;associative&#xff0c;可以通过它来扩展属性&#xff1b;在iOS开发中&#xff0c;可能category比较常见&#xff0c;相对的associative&am…

Spring Boot JWT 快速入门

本章节讨论 jwt 在 spring boot 中的应用。意在快速入门 jwt。 java jdk1.8maven 3.2spring boot 2.0JSON Web Token&#xff08;JWT&#xff09; 他是一个用于 Web 身份验证的令牌。 1 JWT 概述 1.1 什么是JWT 直观的理解 JWT 就是一串字符串&#xff0c;如下&#xff08;来自…

Flex与Java通信之HttpService方式

2019独角兽企业重金招聘Python工程师标准>>> Flex用RemoteObject方式与Java通信是最常用的方式&#xff0c;这是一种最直观的方式。当然Flex也可以用HttpService与服务器类如servlet通信&#xff0c;这也是本次学习的重点。 这次学习是在上节的基础上进行的。本节学…

常用数据验证正则表达式释义(附:正则表达式常用符号)

正则表达式&#xff0c;要想完全掌握&#xff0c;几乎是不可能的。而且&#xff0c;正则表达式&#xff0c;也并不是万能的&#xff0c;很多情况&#xff0c;并不能做倒完全的匹配。如果我们仅仅是做网站&#xff0c;在数据验证、简单查询的时候使用&#xff0c;我们只需要掌握…

中断——S5PV210的中断体系简介

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 s5pv210的中断体系 - biaohc - 博客园 我的RTOS 之一 --S5PV210 异常向量表基址和软中断测试_liujia2100的博客-CSDN博客 从0开始学ARM-异常及中断处理、异常向量表、swi_一口Linux的技术…