LDM:(load  much)多数据加载,将地址上的值加载到寄存器上

STM:(store much)多数据存储,将寄存器的值存到地址上

(1)IA:(Increase After) 每次传送后地址加4,其中的寄存器从左到右执行,例如:STMIA R0,{R1,LR} 先存R1,再存LR

(2)IB:(Increase Before)每次传送前地址加4,同上

(3)DA:(Decrease After)每次传送后地址减4,其中的寄存器从右到左执行,例如:STMDA R0,{R1,LR} 先存LR,再存R1

(4)DB:(Decrease Before)每次传送前地址减4,同上

(5)FD:  满递减堆栈 (每次传送前地址减4)

(6)FA:  满递增堆栈 (每次传送后地址减4)

(7)ED:  空递减堆栈 (每次传送前地址加4)

(8)EA:  空递增堆栈 (每次传送后地址加4)

注意:其中在数据块的传输中是STMMDB和LDMIA对应,STMMIA和LDMDB对应

而在堆栈操作是STMFD和LDMFD对应,STMFA和LDMFA对应

格式:

LDM{cond}  mode  Rn{!}, reglist{^}

STM{cond}  mode  Rn{!}, reglist{^}

其中

Rn:基址寄存器,装有传送数据的起始地址,Rn不允许为R15;

!:表示最后的地址写回到Rn中;

reglist:可包含多于一个寄存器范围,用“,”隔开,如{R1,R2,R6-R9},寄存器由小到大顺序排列;

^:不允许在用户模式和系统模式下运行

数据块的传输-实例:

Ldr R1,=0x10000000          //传送数据的起始地址0x10000000     

LDMIB R1!,{R0,R4-R6}      //从左到右加载,相当于 LDR R0,10000004  LDR R4,10000008... ...

/*传送前地址加+4,

所以地址加4,R0=0X1000004地址里的内容,

地址加4,R4=0X10000008地址里的内容,

地址加4,R5=0X1000000C地址里的内容,

地址加4,R6=0X10000010 地址里的内容,

由于!, 最后的地址写回到R1中,R1=0X10000010   */

汇编指令:LDM、STM详解相关推荐

  1. swi 指令能用在C语言吗,SWI指令---软件中断实例详解

    SWI指令---软件中断实例详解 转载于:http://blog.csdn.net/panqihe/article/details/1615574 SWI,即software interrupt软件中 ...

  2. SWI指令---软件中断实例详解(原创)

                              SWI指令---软件中断实例详解 关键字:  SWI,指令,软件中断,实例,详解 SWI,即software interrupt软件中断.该指令产生 ...

  3. 计算机汇编指令mov和mova,汇编语言中mov和lea指令的区别详解

    指令(instruction)是一种语句,它在程序汇编编译时变得可执行.汇编器将指令翻译为机器语言字节,并且在运行时由 CPU 加载和执行. 一条指令有四个组成部分: 标号(可选) 指令助记符(必需) ...

  4. call指令和ret指令【笔记+详解】

    笔记目录 call指令和ret指令[笔记] 1 引子 2 call和ret的简单运用 3 call指令本质含义详解 4 ret指令 5 总结及汇编环境资源 call指令和ret指令[笔记] 1 引子 ...

  5. Linux 中使用 sort 指令分组排序详解

    Linux 中使用 sort 指令分组排序详解 sort 中进行分组排序主要用到的选项为 -k,此文,我们着重于该选项的使用方式,用到的其它选项不做解释,有兴趣的同学可以查看帮助文档 1. 数据准备 ...

  6. AT指令(中文详解版)(二)

    AT指令(中文详解版)(二) 常 用 AT 命 令 手 册   1.常用操作 1.1 AT 命令解释:检测 Module 与串口是否连通,能否接收 AT 命令: 命令格式:AT<CR> 命 ...

  7. hnc8进linux环境,最新发布linux指令大全总汇详解完整珍藏版-8

    最新发布linux指令大全总汇详解完整珍藏版-8.txt这是一个禁忌相继崩溃的时代,没人拦得着你,只有你自己拦着自己,你的禁忌越多成就就越少.自卑有多种档次,最高档次的自卑表现为吹嘘自己干什么都是天才 ...

  8. jmp指令【原理详解 8086汇编语言+笔记】

    笔记目录 jmp指令原理详解篇(无条件转移指令) 1 初步理解 2 jmp指令格式(小总结) 3 jmp指令本质-详解 3.1 引子 3.2 jmp short 标号(jmp short s为例) 怎 ...

  9. 大脸猫讲逆向之ARM汇编中PC寄存器详解

    i春秋作家:v4ever 近日,在研究一些开源native层hook方案的实现方式,并据此对ARM汇编层中容易出问题的一些地方做了整理,以便后来人能有从中有所收获并应用于现实问题中.当然,文中许多介绍 ...

  10. x86汇编知识以及应用详解

    基础知识: 指令规则:movl $0 %eax,把常数0加载到eax寄存中.这里的后缀字母l表示long:4字节,此外还有w表示word:2字节(为了服从传统而已,其实现代意义的word就是4字节了) ...

最新文章

  1. Drools 6.4.0.Final提供
  2. pb通过对象名称调用对象_C++ 可调用对象(二)
  3. 如何用HTML编写长方体框架,直角梯形长方体形状_html_开发99编程知识库
  4. Mysql学习总结(9)——MySql视图原理讲解与使用大全
  5. hibernate数据库扫描实体类的配置
  6. 如何写好周报并建立周报模板
  7. java课程设计 扫雷_java扫雷游戏课程设计报告
  8. [Android]使用ActivityGroup来切换Activity和Layout
  9. [网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
  10. 【密码学原理与实践】(五)希尔密码
  11. 二叉搜索树 根据前序序列求中序序列
  12. 【转载】Oracle之同义词(SYNONYM)
  13. EXCEL之绝对引用、相对引用和混合引用
  14. 移植Python3到TQ2440(一)
  15. 手机微博保存的图片无法在Win10电脑端查看 - 解决方案
  16. 计算机xp系统ie8,WinXP系统IE8安装失败的解决方法
  17. 在线装机测试软件,完美装机大师工具V3.0专业版
  18. 【联机对战】一张图看懂联机对战服务
  19. 每日新闻丨​滴滴发布AI技术与解决方案开放平台;中关村发布超300亿创新母基金...
  20. (python)实现一个简单的图片文字识别脚本

热门文章

  1. mvc中循环遍历分配的代码
  2. 从小屏到大屏,触控技术的现在与未来
  3. 使用Oracle中fileopen命令加载文件时遇到的怪问题(转)
  4. javap使用实例图解
  5. Java SSH 资料总结
  6. 一个批量停止和启动服务的工具
  7. SpringBoot2.0 整合 ElasticSearch框架,实现高性能搜索引擎
  8. [APIO2018]铁人两项——圆方树+树形DP
  9. java(13)内部类
  10. [Elasticsearch] 部分匹配 (三) - 查询期间的即时搜索