最近自已在学习裸机,因为需要设计一点的汇编语言,所以也写点来记录。

首先讲的是LDR的指令
LDR指令的格式: 
LDR{条件}  目的寄存器, <存储器地址>
作用:将 存储器地址 所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。

我个人学到的就是两个指令:

(1)ldr R0, [R1, #8]   将地址R1 + 8的字数据读入以R0存储器中

(2)ldr R0, [R1], #8 将R1的数据读入到R0,并将R1 + 8的值存入R1

第二个指令就是STR指令

STR指令的格式为:
STR{条件}  源寄存器, <存储器地址>
STR指令用亍从源寄存器中将一个字数据传送到存储器中。

我个人学到的就是两个指令:
(1)str R0, [R1, #8]   将R0中的字数据读入以R1 + 8为地址的存储器中
这里就是说R1的地址为0x00001000,R0装的是0x00aa,将0x00aa装入0x00001000 + 8的地址里,也就是0x00001008地址

(2)str R0, [R1], #8   将R0的字数据读入R1,并将R1 + 8的值存入R1,也就是把R1的等于
这里我还是解释一下,将R0的字数据读入的是以R1中数据为地址的存储器中,比如r1中装的是0x00001000,R0
是0x00aa,通俗的说就是把0x00aa读入以0x0001000的地址里面。

最后还在这里感谢两个人(微龙和女帝),他们两个为我解释了许多,让我真正懂得了这几个指令真正的做法。

记录自已学习之ARM汇编语言ldr和str相关推荐

  1. ARM指令ldr、str、stm、ldm理解

    1.LDR:L表示LOAD 理解为:Load from memory into register. LDR   R1,     [R2] R1[寄存器]<--[R2][内存RAM] 将R2的me ...

  2. ARM汇编语言学习笔记

    汇编是对寄存器操作的,不知道一些和主控制器相关的寄存器的作用,根本无法理解某些指令,所以先自己学习相关寄存器和工作模式. 下面是<ARM 嵌入式体系结构与接口技术(Cortex-A8 版) &g ...

  3. 【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 分析 malloc 函数的 arm 汇编语言 )

    文章目录 一.分析 malloc 函数的 arm 汇编语言 一.分析 malloc 函数的 arm 汇编语言 在上一篇博客 [Android 逆向]arm 汇编 ( 使用 IDA 解析 arm 架构的 ...

  4. ARM汇编语言中的程序结构

    在 ARM ( Thumb )汇编语言程序中,以程序段为单位组织代码.段是相对独立的指令或数据序列,具有特定的名称.段可以分为代码段和数据段,代码段的内容为执行代码,数据段存放代码运行时需要用到的数据 ...

  5. 汇编指令的学习1——ARM汇编的特点

    以下内容源于朱友鹏<物联网大讲堂>的课程学习,如有侵权,请告知删除. 1.指令和伪指令 指令是CPU机器指令的助记符,经过编译(汇编器加工)后会得到一串10组成的机器码,可以由CPU读取执 ...

  6. ARM 汇编语言入门

    [翻译]二进制漏洞利用(二)ARM32位汇编下的TCP Bind shell:https://bbs.pediy.com/thread-253511.htm ARM汇编语言入门 From:ARM汇编语 ...

  7. ARM裸机开发篇3:ARM汇编语言程序设计

    写在前面: 本文章为<ARM Cortex-A7裸机开发篇>系列中的一篇,全系列总计11篇.笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板). 针对FS-MP ...

  8. 嵌入式:ARM汇编语言程序设计基础教程

    文章目录 汇编语言程序设计的步骤 顺序程序设计 分支程序设计 循环程序设计 子程序设计 寄存器传递参数方式 存储区域传递参数方式 堆栈传递参数方式 汇编语言程序设计的步骤 ① 合理地分配存储器资源,将 ...

  9. linux arm 汇编学习,如何在LINUX平台上学习GNU ARM汇编

    本例说明如何在LINUX平台上学习GNU ARM汇编. 1.软件环境 vmware 5.0 + redhat 9.0 + skyeye 1.2.4 + arm-elf 工具 2. 源文件 a.s -- ...

最新文章

  1. 一个量子物理学家是怎样研究 AI 的? | 8月书讯
  2. mapreduce shuffle过程
  3. 【BZOJ3700】发展城市 [LCA][RMQ]
  4. 一些debug常用的魔法数值
  5. 动态页面技术(JSP/EL/JSTL)
  6. 前端学习(2743):重读vue电商网站53之项目上线
  7. java面向对象(封装-继承-多态)
  8. 【推荐】开源领袖陆首群力作:什么是数字经济?
  9. 需求分析岗的一点总结
  10. 【编译】GCC与CMAKE的关系 MinGW32 和 MinGW-w64的关系
  11. 清华上交等发表Nature子刊!分片线性神经网络最新综述!
  12. 以后咱家客厅就得装修成这样!
  13. 直播视频卡顿延迟时如何优化
  14. predict函数 R_第四十讲 R-线性回归:预测模型及可信区间
  15. 蜗牛爬井题目c语言,【3年级】40、蜗牛爬井问题
  16. android 开游艇游戏,游艇狂飙游戏-游艇狂飙安卓版预约_第一手游网
  17. 程序员都应该知道的福利
  18. 实现安卓直播-第三方平台(暴风云视频直播)
  19. 《塔木德智慧全书》摘要(之一)
  20. 另类弹窗十倍放大流量

热门文章

  1. python 涨停统计_python 轻松实现获取涨跌停数据
  2. Flink Record has Long.MIN_VALUE timestamp (= no timestamp marker). Is the time characteristic
  3. 市场调研-全球与中国标准振荡器市场现状及未来发展趋势
  4. 深度学习:交叉验证(Cross Validation)
  5. 类别型数据的预处理方法
  6. OData介绍 (SAP)
  7. 收敛级数加发散级数是什么情况?
  8. angelababy都靠它保持身材,只需10秒随时随地喝到新鲜果汁!
  9. java clip_java – 使用Clip对象播放多个声音片段
  10. C++ 如何保留两位小数