这种指令用于把单一的数  传入或者传出一个寄存器。支持的数据类型有字(32 位 ) 、半字(16 位)  和字节。常用的单寄存器加载与存储指令包括:

LDR/STR            字数据加载/ 存储指令
          LDRB/STRB        字节数据加载/ 存储指令
          LDRH/STRH       半字数据加载/ 存储指令
          LDRSB/LDRSH   有符号数字节/ 半字加载指令
          ( 注意:没有strsb/strsh 指令)

1. 汇编格式 : LDR{<cond>}{T} Rd ,addr
        功能: LDR 指令用于从存储器中将一个 32 位的字数据加载到目的寄存器 Rd 中。该指令通常用于从存储器中读取32 位的字数据到通用寄存器,然后对数据进行处理。当程序计数器 PC 作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。

例 3.41   LDR 指令示例:
;使用标号
LDR R4,START                               ;将存储地址为START 的字数据读入R4

STR R5,DATA1                               ;将R5 存入存储地址为DATA1 中

;前索引
LDR R0 ,[R1]                                 ;将存储器地址为R1 的字数据读入寄R0 
LDR R0 ,[R1 ,R2]                         ;将存储器地址为R1+R2 的字数据读入寄存器R0 。
LDR R0 ,[R1 ,#8]                        ;将存储器地址为R1+8 的字数据读入寄存器R0 。
LDR R0 ,[R1 ,R2 ,LSL  #2]         ;将存储器地址为R1 +R2×4 的字数据读入寄存器R0 。

;自动索引

STR R0 ,[R1 ,R2]  !                   ;将 R0 字数据存入存储器地址为R1+R2 的存储单元中,并将新地址R1 +R2 写入R1 。
STR R0 ,[R1 ,#8]  !                  ;将 R0 字数据存入存储器地址为R1+8 的存储单元中,并将新地址R1 +8 写入R1
STR R0 ,[R1 ,R2 ,LSL  #2]  !   ;将 R0 字数据存入地址为R1 +R2×4 的存储单元中,并将新地址R1 +R2×4 写入R1 。

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

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

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

转载于:https://www.cnblogs.com/auleaf/archive/2011/09/19/2180911.html

单寄存器加载与存储指令相关推荐

  1. 深入理解Java虚拟机——加载和存储指令

    目录 一.加载和存储指令的概述 二.加载和存储指令的内容 三.加载和存储指令的示例 一.加载和存储指令的概述 加载和存储指令用于将数据在栈帧中的局部变量表和操作数栈之间来回传输. 二.加载和存储指令的 ...

  2. ARMv8体系结构基础03:加载和存储指令

    目录 1 A64指令集概述 1.1 A64指令集特征 1.1.1 指令定长 1.1.2 可使用64位指针 1.1.3 使用一致的编码结构(consistent encoding scheme) 1.1 ...

  3. ARM多寄存器加载/存储指令

    ARM中如何实现跳转? a. 直接向PC 寄存器赋值实现跳转 MOV PC ,R14 b.使用分支指令直接跳转 分支指令种类 1.B:分支指令 2.BL:带链接的分支指令(可返回) 3.BX:带状态切 ...

  4. 借由ARM CORTEX-M芯片分析C程序加载和存储模型

    https://zhuanlan.zhihu.com/p/22048373 写文章 借由ARM CORTEX-M芯片分析C程序加载和存储模型 王小军 1 年前 阿军最近在忙着血氧手环嵌入式系统的技术预 ...

  5. 《利用Python进行数据分析·第2版》第6章 数据加载、存储与文件格式

    第1章 准备工作 第2章 Python语法基础,IPython和Jupyter 第3章 Python的数据结构.函数和文件 第4章 NumPy基础:数组和矢量计算 第5章 pandas入门 第6章 数 ...

  6. pandas入门(6)——数据加载、存储与文件格式

    pandas入门(6)--数据加载.存储与文件格式 输入输出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用Web API操作网络资源 一.读取文本格式数据 函 ...

  7. 利用Python进行数据分析(四):数据加载、存储与文件格式

    标题利用Python进行数据分析(四):数据加载.存储与文件格式 学习笔记来源于:简书https://www.jianshu.com/p/047d8c1c7e14 输入输出通常可以划分为几个大类:读取 ...

  8. 《利用python进行数据分析》——第6章 数据加载、存储与文件格式——读书笔记

    第6章 数据加载.存储与文件格式 6.1 读写文本格式的数据 pandas提供了一些用于将表格型数据读取为DataFrame对象的函数. 其中read_csv和read_talbe用得最多 panda ...

  9. Python之pandas数据加载、存储

    Python之pandas数据加载.存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 利用Web API操作网络资源 1. 读 ...

最新文章

  1. tar -xf_青铜表选什么?不可错过的XF帝舵碧湾小铜盾
  2. 我为什么逃离无人车公司
  3. springboot集成rocketmq生产者
  4. Fiori Elements - list report.xml layout and fragment xml load
  5. thinking-in-java(20)注解
  6. 为什么服务端程序都需要先 listen 一下?
  7. C++基础12-类和对象之操作符重载-string练习
  8. java实现蛇蛇大作战_蛇蛇大作战3D旋涡版
  9. 一键保存网页为PDF
  10. 通过输入的年份判断生肖
  11. Scrum立会报告+燃尽图(十月二十七日总第十八次)
  12. 华为视频显示服务器异常,给予用户一份贴心|(数十份案例)APP异常界面与Toast产品设计落地...
  13. 从校招时间谈大学求职准备
  14. IPC Send timeout/node eviction etc with high packet reassembles failure
  15. 扬帆致远跨境电商:跨境电商品牌如何锁定真实用户
  16. 指定window.print 打印区域
  17. word2007 正文自动变为大纲一级 问题
  18. 2021年部分漏洞整合+检测工具
  19. 年内涨幅超500%,现代牙科蹭了谁的“热度”?
  20. 织梦cms一键清除清理回收站文章

热门文章

  1. c++驱动键鼠源码,C++ 驱动打印机源码
  2. C语言经典例25-阶乘累加求和
  3. 【Android 内存优化】自定义组件长图组件 ( 自定义组件构造方法 )
  4. mysql,int(5)、int(10)啥区别联系
  5. Java基础笔记-异常
  6. [转]window.open居中
  7. 用Windows Live Writer发布博客也可以不生成缩略图
  8. Delphi 调用外部程序并等待其运行结束
  9. idea git 提交代码
  10. bootstrap中点击左边展开