【ARM指令】LDRD与STRD

LDR和STR是数据加载/存储指令
一般的
LDR R0,[R1],#8 ;
将R1指示的存储器中的字节数据读入R0,并将新地址R1+8写入R1

STR R0,[R1,#8] ;
将R0的数据写入以R1+8为地址的存储器中

//正当我以为oh就这的时候,LDRD和STRD出现了,一下整蒙

举个栗子:
LDRD R3,R4,[R0],#0x10;
大家很快发现了不同,这里有两个地址等待数据加载,分别是R3和R4
那么R0+0x10应该怎么分配?R3、R4该何去何从?

都想不到吧 邪魅一笑
ARM指令字长是32位
所以R3中加载到的是R0+0x10所指存储器中的数据
R4中加载到的是R0+0x10+4所指存储器中的数据
简单地表述则R3=[R0+0x10] R4=[R0+0x10+4]
//因为32位是4个字节,就是让R4接着加载后面一个字的数据了

同样的
STRD R3,R4,[R0],#0x10;
[R0+0x10]=R3,[R0+0x10+4]=R4

p.s [R0]是寄存器间接寻址
就是以寄存器中的值作为操作数地址,而操作数本身存放在存储器中,用于间接寻址的寄存器必须用[ ]括起来。

【ARM指令】LDRD与STRD相关推荐

  1. arm 指令 学习载录

    ARM处理器汇编 ARM寻址方式: 1. 立即寻址,操作数在指令中给出. ADDR0,R0,#1;    R0ßR0+1 ANDR8,R7,#&FF; R8ßR7[7:0]; ADDR0,R0 ...

  2. ARM 指令 对齐访问等

    关于 ARMv8 的基础知识,请查看这篇文章 ARMv8 简介. ARM 指令 指令编码 逻辑运算指令 LSL 逻辑左移 按操作数所指定的数量向左移位,低位用零来填充 ASL 算术左移 同逻辑左移,A ...

  3. 常用ARM指令总结(未完待续)

    ARM指令集介绍 7种工作模式,2种工作状态 ARM指令的种类,共有7类指令,可以完成存储器访问,数据运算,程序跳转,处理器控制,以及帮助编程的伪指令等. 数据处理指令大致分为三类: a.数据传送指令 ...

  4. ARM指令寻址方式之: 内存访问指令寻址

    4.2  内存访问指令寻址 根据内存访问指令的分类,内存访问指令的寻址方式可以分为以下几种. ① 字及无符号字节的Load/Store指令的寻址方式. ② 杂类Load/Store指令的寻址方式. ③ ...

  5. ARM指令寻址方式之: 数据处理指令的寻址方式

    4.1  数据处理指令的寻址方式 4.1.1  数据处理指令的寻址方式概要 数据处理指令的基本语法格式如下. <opcode> {<cond>} {S} <Rd>, ...

  6. Trumb/ARM 指令模式

     ARM ARM 指令集是一组提供一整套运算的 32 位指令. ARMv4T ARMv4T 及更高版本定义了一个名为 Thumb 指令集的 16 位指令集. 32 位 ARM指令的多数功能都可用,但有 ...

  7. arm 指令1(转)

    指令格式:  指令{条件}{S} {目的Register},{OP1},{OP2} "{ }"中的内容可选.即,可以不带条件只有目的寄存器,或 只有目的寄存器和操作数1,也可以同时 ...

  8. 汇编指令的学习2——常用的ARM指令

    一.常用ARM指令1:数据处理指令 (1)数据传输指令 mov mvn(源目标按位取反后赋给目标) (2)算术指令 add sub rsb adc sbc rsc (3)逻辑指令 and orr eo ...

  9. Android ARM指令学习

    在逆向分析Android APK的时候,往往需要分析它的.so文件.这个.so文件就是Linux的动态链接库,只不过是在ARM-cpu下编译的.所以学习Android下的ARM指令很重要.目前,市面上 ...

最新文章

  1. 决策树算法(三)——计算香农熵
  2. Nature子刊 | 研究人员提出神经脆性可作为癫痫发作区(SOZ)的脑电图(EEG)标志物
  3. macOS 10.12 Sierra 中文官网正式推出
  4. JPA和Hibernate的关系(转)
  5. 服务端统一时间戳 boost::date_time UTC
  6. 安装archlinux_archlinux/manjaro 上安装percona-server
  7. html华为官网静态网页,Web静态页面:华为商城主页
  8. [Abp 源码分析]后台作业与后台工作者
  9. bmp转换tiff c++代码_如何用Java语言将图像转换为PDF?Spire.PDF for Java轻松搞定
  10. html选项卡_UltraEdit文字编辑何使用选项卡式子窗口教程
  11. shell编程快捷方法
  12. feign直接走熔断_SpringCloud基于OpenFeign实现服务熔断降级
  13. JavaScript继承方式详解[转]
  14. 《21天学通C语言(第6版•修订版)》一1.7 问与答
  15. 善政治理、兴业创新:来看看这几个智慧城市建设案例!
  16. 基于flowplayer的视频缩略图的视频预览
  17. 网线水晶头接法图解8根线芯顺序排序图示
  18. linux mysql.sock文件_关于linux上mysql.sock文件的个人理解
  19. win11电脑上如何设置微信双开(打开两个微信)
  20. TXT文件导入mysql

热门文章

  1. Python数据分析:美国警察枪击案EDA分析
  2. Vue3 路由跳转如何刷新当前页重新请求数据
  3. 摇杆芯片速度测试软件,摇杆控制小车+L9110芯片
  4. 全国计算机等级考试二级教程——c语言程序设计》,格式为doc.,全国计算机等级考试二级笔试样卷C语言程序设计样本.doc...
  5. 哈工大机械原理凸轮机构大作业
  6. java对外接口 入参实体命名_支付中心接口设计之参数命名
  7. ACDSEE无法加载“IDE_ACDStd.apl”
  8. 【PyTorch】10 文本篇更多代码——BOW、N-Gram、CBOW、LSTM、BI-LSTM CRF
  9. SOLIDWORKS Simulation 2021增强的交互功能到底有多强?
  10. 【洞幺邦】基于卷积神经网络的垃圾图像分类识别