当前位置:网站首页 > R语言数据分析 > 正文

ldr指令和str指令(ldr str指令)



但愿人长久

天涯共明月

前言


  指令集版本:arm v5te 32bit

LDR&STR指令分为两大类,

一种是操作32bit字数据 或 8bit无符号字节数据的,

另一种是操作16bit半字数据 或 8bit有符号字节数据的。

这里先只讲第一类,LDR LDRB这种。(LDR R0, [R1, # 4] ;   LDRB R0, [R1, # 4])


概念



看不懂不要紧,可以分析实例后再回头看概念对号入座


1 指令格式:

  • LDR {cond} {B} {T} <Rd>,{address_mode}
  • LDR {条件码} {字/无符号字节} {是否有 ! } <目标寄存器>,{第二个操作数的内存地址}

2 Load/Store指令由两部分组成

基址寄存器Rn与地址偏移量

3 地址偏移量分为三种形式(地址偏移量形式相同的指令,机器码数据结构相同)

(1)立即数

(2)寄存器

(3)寄存器及移位常数

4 地址计算方法分为三种

(1)偏移量方法

(2)事先更新(事先:先计算偏移,再访问内存,最后更新基址寄存器)

(3)事后更新(事后:先访问内存,然后计算新基址寄存器)

实例分析


1 指令的9种格式:



2 用伪代码解释指令的执行过程:



3 关于立即数和移位位数的取值范围



4 表格中同一横排的地址偏移量形式相同,机器码数据结构相同。

5 表格中同一竖排的计算方法相同。

指令的数据结构


1 地址偏移量类型:立即数



2 地址偏移量类型:寄存器



3 地址偏移量类型:寄存器移位常量



4 各bit位的含义:




若有错误希望能指出,共同学习进步~


本文由看雪论坛 爱吃菠菜 原创

转载请注明来自看雪社区

祝大家中秋快乐!


热门阅读

  • 蛰伏17年,看雪社区主办《安全开发者峰会》将于11月18日在北京举行
  • 通过滥用一个Windows中的糟糕假设来检测调试器
  • 消息断点在x64dbg中的应用
  • 汇编里看Wow64的原理

点击阅读原文/read,

更多干货等着你~

到此这篇ldr指令和str指令(ldr str指令)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ueditor官网(ueditor教程)2025-06-12 09:27:05
  • 如何安装虚拟机vmware(如何安装虚拟机软件)2025-06-12 09:27:05
  • hrnetone(hrnetone旗下有多少个品牌)2025-06-12 09:27:05
  • redis连接数配置(redis 连接数)2025-06-12 09:27:05
  • zipentry(zipentry转file)2025-06-12 09:27:05
  • chrony不同步(chrony 同步)2025-06-12 09:27:05
  • uchar code是什么意思(uchar code dsy_code)2025-06-12 09:27:05
  • strace工具安装(steadi工具包)2025-06-12 09:27:05
  • dockerdesktop运行错误(docker运行失败)2025-06-12 09:27:05
  • traceroute命令怎么用(tracert命令的用法)2025-06-12 09:27:05
  • 全屏图片