一、字数据传送指令

作用:用于把单一的数据传入或者传出一个寄存器。

  1、LDR指令

    1.1、作用

      根据<addr_mode>所确定的地址模式从内存中将一个32位的字段读取到目标寄存器<Rd>,如果指令中的寻址方式确定的地址不是字对齐的,则读出的数值要进行循环右移。

    1.2、语法格式

      LDR{<condition>} <Rd>,<addr_mode>

    1.3、参数说明

      <Rd>确定使用哪个通用寄存器作为目标寄存器

      <addr_mode>确定了指令编码中的I、P、U、W、Rn和<addr_mode>位

  2、STR指令

    2.1、作用

      将一个32位的字数据写入到指令中指定的内存单元

    2.2、语法格式

      STR{<condition>} <Rd>,<addr_mode>

二、字节数据传送指令(LDRB/STRB)

  1、LDRB指令

    1.1、作用

      根据<addr_mode>所确定的地址模式将一个8位字节读取到指令中的目标寄存器<Rd>

    1.2、语法格式 LDR{<condition>}B <Rd>,<addr_mode>

  2、STRB指令

    2.1、作用

      从寄存器中取出指定的8位字节放入指令中指定的内存单元的低8位,并将其高位补0

    2.2、语法格式 STR{<condition>}B <Rd>,<addr_mode>

三、半字数据传送指令(LDRH/STRH)

  1、LDRH

    1.1、作用

      从内存中将一个16位的半字读取到目标寄存器

    1.2、语法格式

      LDR{<condition>}H <Rd>,<addr_mode>

  2、STRH

    2.1、作用

      从寄存器中取出知道你个的16位半字放入指令中指定的内存单元的低16位,并将其高位补0

    2.2、语法格式

      STR{<condition>}H <Rd>,<addr_mode>

四、用户模式字数据传送指令

  1、LDRT

    1.1、作用

      在用户模式下,根据<addr_mode>所确定的地址模式从内存中将一个32位的字读取到目标寄存器<Rd>

    1.2、语法格式

      LDR{<condition>}T <Rd>,<post_indexed_addressing_mode>

    1.3、参数说明

      <post_indexed_address_mode>:使用后索引地址模式寻址

  2、STRT

    2.1、作用

      将一个32位的字数据写入到指令中指定的内存单元

    2.2、语法格式

      STR{<condition>}T <Rd>,<post_indexed_addressing_mode>

五、用户模式字节数据传送指令

  1、LDRBT指令

    1.1、作用

      根据<post_indexed_addressing_mode>地址模式将一个8位字节读取到指令中的目标寄存器<Rd>

    1.2、语法格式

      LDR{<condition>}BT <Rd>,<post_indexed_addressing_mode>

  2、STRBT指令

    2.1、作用

      将一个8位的字节数据写入到指令中指定的内存单元

    2.2、语法格式

      STR{<condition>}BT <Rd>,<addr_mode>,<post_indexed_addressing_mode>

六、有符号的字节/半字数据传送指令

  1、LDRSB指令

    1.1、作用

      根据<addr_mode>所确定的地址模式将一个8位字节读取到指令中的目标寄存器<Rd>

    1.2、语法格式

      LDR{<condition>}SB <Rd>,<addr_mode>

  2、LDRSH指令

    2.1、作用

      根据<addr_mode>所确定的地址模式将一个16位半字读取到指令中的目标寄存器<Rd>

    2.2、语法格式

      LDR{<condition>}SH <Rd>,<addr_mode>

ARM学习笔记4——加载存储指令的更多相关文章

  1. 学习笔记TF015:加载图像、图像格式、图像操作、颜色

    TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有 ...

  2. [WPF学习笔记]动态加载XAML

    好久没写Blogs了,现在在看[WPF编程宝典],决定开始重新写博客,和大家一起分享技术. 在编程时我们常希望界面是动态的,可以随时变换而不需要重新编译自己的代码. 以下是动态加载XAML的一个事例代 ...

  3. 自己写CPU第九阶段(3)——加载存储指令说明2(swl、swr)

    我们会继续上传新书<q=%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E5%86%99CPU&ie=utf-8&src=se_lighten_quot ...

  4. Away3D 学习笔记(一): 加载3DS格式的模型文件

    加载外部的3DS文件分为两种: 1: 模型与贴图独立于程序的,也就是从外部的文件夹中读取 private function load3DSFile():Loader3D { loader = new ...

  5. flutter源码学习笔记-图片加载流程

    本文基于1.12.13+hotfix.8版本源码分析. 0.大纲 Image ImageProvider 图片数据加载 ImageStream.ImageStreamCompleter 缓存池 Pai ...

  6. Unity3D学习笔记9——加载纹理

    目录 1. 概述 2. 详论 2.1. Resources方式 2.2. API方式 2.3. Web方式 1. 概述 理论上,Unity中加载纹理并没有什么难度,只需要将图片放置在Assets文件夹 ...

  7. ARM学习笔记2——分支跳转指令

    一.Arm指令条件码和条件助记符 二.跳转指令B 1.作用 跳转指令B使程序跳转到指定的地址执行程序(跳转范围是PC-32MB到PC+32MB) 2.指令格式(注:B后面如果有条件,条件就是紧跟在B后 ...

  8. ARM学习笔记6——程序状态寄存器访问指令

    这两条指令结合,可用于对CPSR或SPSR进行读/写操作. 当需要保存或修改当前模式下CPSR或SPSR的内容时,首先必须将这些内容传递到通用寄存器中 1.MRS指令(Move to Register ...

  9. 深入java虚拟机学习 -- 类的加载机制(续)

    昨晚写 深入java虚拟机学习 -- 类的加载机制 都到1点半了,由于第二天还要工作,没有将上篇文章中的demo讲解写出来,今天抽时间补上昨晚的例子讲解. 这里我先把昨天的两份代码贴过来,重新看下: ...

随机推荐

  1. C++中delete和delete[]的使用

    偶然的机会要使用到动态分配整形数组,怎么删除new出来的东西一时有点模糊(也许一直就不知道),于是在VS上试了试(写代码时经常用这种方法去验证模凌两可的东西),总结出来有两点. 1.基本数据类型new ...

  2. Sdut 2416 Fruit Ninja II(山东省第三届ACM省赛 J 题)(解析几何)

    Time Limit: 5000MS Memory limit: 65536K 题目描述 Haveyou ever played a popular game named "Fruit Ni ...

  3. bootstrap实现手风琴功能(树形列表)

    首先把架包拷进项目,然后在页面中引进css,js <script src="js/jquery/jquery-2.1.1.min.js"></script> ...

  4. Web用户自定义控件

    在新建项的时候,选择Web用户控件,可用来自定义自己的控件,做好后,直接拖到页面即可使用自定义控件与WEB交互,需要在 自定义控件里面 写 属性,如: public string CityID { g ...

  5. 菜鸟的MySQL学习笔记(四)

    MySQL中的运算符和函数: 1.字符函数: 2.数值运算符与函数: 3.比较运算符与函数: 4.日期时间函数: 5.信息函数: 6.聚合函数: 7.加密函数等:   6-1.字符函数: CONCAT ...

  6. Null Pointer --设计模式

    在Joshua Bloch很有名的一本书<Effective in java>中建议不要在代码中返回空的collection/map/array,就像下面的代码一样: public Lis ...

  7. Linux 进程编程

    Linux通过维护者五个状态来调度进程的运行.这五个状态分别为:运行.可中断.不可中断.僵死.停止 . PID来标识不同的进程的,Linux中每一个进程都有一个唯一的进程号 . PCB块就是一个进程资 ...

  8. validate插件的使用

    方法如下: 插件: jquery.validate.js jquery.validate.custom.js bootstrap html代码: <form id="form_name ...

  9. html锚点

    ID模式 <h3><a href="#start">开始</a></h3> <div> 你好 <b/> &l ...

  10. [python]字符串方法

    字符串的方法及注释 字符串的方法及注释             capitalize()   把字符串的第一个字符改为大写   casefold()   把整个字符串的所有字符改为小写   cente ...