目录

  • 基础汇编代码

    • LDR(load)
    • STR(store)
    • B
    • MOV(move)
    • LDR(注意跟读内存的LDR不一样,格式不同)
    • add(加)
    • sub(减)
    • BL(branch and Link)
    • ldm 和 stm
    • ldmia 和 stmdb
    • CPU,R0~R15图解

基础汇编代码

LDR(load)

读内存 LDR R0,[R1]

假设R1的值=x,读取地址x的数据(4字节)保存到R0中

STR(store)

写内存命令 STR R0,[R1]

​ 假设R1的值=x,把R0的值写入到地址X(4字节)

B

​ 跳转的意思

MOV(move)

赋值 MOV R0,R1

​ 把R1的值赋给R0,R0=R1

​ mov R0,#0x100, R0=0x100

LDR(注意跟读内存的LDR不一样,格式不同)

​ LOR R0,=0x12345678 //R0=0x12345678 伪指令后面跟的数可以是任意值

LOR是伪指令,它会被拆分为几条真正的RAM指令

  • 特别注意

    MOV R0,#0x12345678 ---->是无错误的,ARM指令 32位,这里64位了

    32位中,需要有某个位或某几位表示mov指令本身和R0本身,那么剩下的就不足32位了,就不能表示任意值了(如:0x12345678),只能表示简单值(如:0x100),一些简单的数值,也被称为立即值,所以为了能表示任意值,就引入了伪指令的概念

add(加)

​ add r0,r1,#4 //ro = r1+4;

sub(减)

​ sub r0,r1,#4 //r0=r1-4

BL(branch and Link)

​ bl xxx //先跳转到xxx;再把返回地址保存在1r寄存器中

ldm 和 stm

​ 2个指令的m 表示 many

  • ldm:读内存,写入多个寄存器
  • stm: 把多个寄存器的值写入内存

ldmia 和 stmdb

  • 说明:

    ​ 其他形式简单的描述指令的形式,意思分别是过后增加(Increment After)(ia)、预先增加(Increment Before)(ib)、过后减少(Decrement After)(da)、预先减少(Decrement Before)(db)

  • stmdb的图解

    stmdb sp!, {fp,ip,lr,pc}

    sp!=> !作用让 sp=最终的,被修改的sp值 = 4080

  • ldmia的图解
    ldmia sp,{fp,sp,pc}

CPU,R0~R15图解

转载于:https://www.cnblogs.com/panrongfeng/p/9501502.html

第六篇:汇编基础指令讲解相关推荐

  1. ESP8266--接线与基础指令(讲解与运用)

    目录 一.材料准备与接线 二.基础指令 1.基础指令介绍 2.基础指令应用 测试AT启动 重启模块 查询版本号 进入Deep-sleep模式 开关回显功能 恢复出厂设置 串口配置 设置USRT当前临时 ...

  2. 【Linux系统】第一篇:基础指令篇

    文章目录 一.Linux中的文件 二.Linux用户 三.Linux基本指令 ls指令 pwd命令 cd指令 touch指令 mkdir指令 rmdir指令 rm 指令 man指令 cp指令 mv指令 ...

  3. 汇编语言基础--汇编操作指令概述

    本文是接续"汇编语言基础--机器级数据存储",主要介绍汇编指令的构造.寻址和指令主要分类. 操作指令 指令的基本要素:       在"计算机处理器(CPU)基础&quo ...

  4. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(六)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](六) 六.adams与CAD数据转换篇 (一).proe与adams的联合仿真 1.ADAMS与Pro/E的接口组 ...

  5. 第六篇:python基础之文件处理

    第六篇:python基础之文件处理 阅读目录 一.文件处理流程 二.基本操作 2.1 文件操作基本流程初探 2.2 文件编码 2.3 文件打开模式 2.4 文件内置函数flush 2.5 文件内光标移 ...

  6. Python之路【第十六篇】:Django【基础篇】

    https://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django ...

  7. 生日祝福小程序_广告配音剪映零基础入门教程第二十六篇:如何给朋友制作生日祝福视频...

    经常听到小伙伴问到生日祝福视频怎么做,当然我想既然要为他人做生日祝福视频,那么这个人必定是自己身边比较重要的人,而生日又是每个人都是非常重要的,在这种充满意义的时刻,我们想给自己极其重要的人送上一份祝 ...

  8. 【二进制基础篇-1】汇编基础

    掌握汇编语言的目的是能够深入理解计算机系统的底层原理,在提高程序设计能力的同时也为二进制安全打下坚实的基础. 目录 1.CPU指令集 1.1 CPU的作用 1.2 CPU指令集 2.数据表示 2.1 ...

  9. c语言将两个16位变为一个32位,16位汇编第六讲汇编指令详解第第三讲(示例代码)...

    16位汇编第六讲汇编指令详解第第三讲 1.十进制调整指令 1. 十进制数调整指令对二进制运算的结果进行十进制调整,以得到十进制的运算结果 2.分成压缩BCD码和非压缩BCD码调整 简而言之: 以前的时 ...

最新文章

  1. 面试官吐槽:“Python程序员就是不行!”网友:我能把你面哭!
  2. 使用Cloudera Manager部署oozie
  3. 树莓派3b配置耳机音频输出
  4. android — JNI注册方法说明
  5. 【vulnhub】靶机- [DC系列]DC9(附靶机))
  6. wps 模拟分析 规划求解_【网友来稿】利用Excel求解线性规划问题
  7. 线程间通信————互斥
  8. pdo oracle返回参数游标,PDOStatement::closeCursor
  9. 华为全面屏鸿蒙,华为5G概念新机:真全面屏+鸿蒙OS 这才是旗舰手机
  10. GPU Architect Functional Verification
  11. jinja Comments
  12. 网站制作---asp操作数据库的一个小例子
  13. Linux 五种I/O模型
  14. 2525 小b的字符串(模拟)
  15. 发动机冒黑烟_发动机总冒黑烟 用这招解决最快!
  16. 【剖析 | SOFARPC 框架】之SOFARPC 连接管理与心跳剖析
  17. react Hook useReducer()和useContext()实现Redux效果
  18. 掌握IDEA的这两款插件,写“破解补丁”分分钟
  19. antlr 安装使用
  20. 制作自己的图片数据集(附代码)

热门文章

  1. android中屏保功能项目,【Android】一段时间不操作弹出【屏保】效果
  2. e5 e3 php,硬件百科:E3/E5为什么让“垃圾佬”痴迷
  3. 金融数据分析与挖掘实战练习-1.9
  4. 大学生学java要去培训机构吗?
  5. havc是什么意思_avc是什么意?eduis里h.264/a – 手机爱问
  6. mysql 大量数据 更改索引_MySql——来自狂神说Java - 贤贤贤sir
  7. 费诺码设计matlab,费诺编码的matlab实现.doc
  8. 途观l怎么使用_值得考虑的SUV车型,昂科威、探岳、途观L,你会如何选?
  9. 保证一致性吗_谈了千百遍的缓存数据一致性问题
  10. jq倒计时html源码,jQuery实现倒计时功能