news 2026/2/14 10:10:01

【ARM汇编语言基础】-内存访问指令(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ARM汇编语言基础】-内存访问指令(二)

内存访问指令(二)

文章目录

  • 内存访问指令(二)
    • 2、寻址模式和偏移量形式
      • 2.3 寄存器偏移量
      • 2.4 预索引模式
      • 2.5 后变址寻址
      • 2.6 字面量(PC 相对)寻址
        • 2.6.1 加载常量

2、寻址模式和偏移量形式

2.3 寄存器偏移量

有时,相对于基址的偏移量并非恒定偏移量,而是动态计算并写入寄存器的。这意味着偏移量值可以在通用寄存器中指定,该通用寄存器的值会加到基址寄存器地址上或从基址寄存器地址中减去。这种寄存器偏移量形式在访问数组或数据块的程序中很常见。例如,在 C/C++ 中,代码 char c = my_string[i] 访问 my_string 数组第 i 个元素的单个字节,而 i 很可能存储或加载到寄存器中。

在深入探讨细节之前,让我们先来看看 A32 和 A64 指令集之间寄存器偏移量形式的差异。

A32 寄存器偏移量形式允许将偏移量值指定为通用寄存器。Rn 是基址寄存器,Rm 是寄存器偏移量。

LDR Rt, [Rn, Rm]

A32 缩放寄存器偏移量形式允许将偏移量寄存器移位一个立即数,然后再将其应用于基址寄存器地址。此形式常用于 C/C++ 程序中,将数组索引按每个数组元素的大小缩放。此偏移量形式可用的移位运算包括 LSL、LSR、ASR、ROR 和 RRX。

LDR Rt, [Rn, Rm, <shift> #imm]

A64 寄存器偏移量是 64 位通用寄存器 X0-X30 中的一个,语法标签为 Xm。请记住,在 A64 中,基址寄存器始终为 64 位 (Xn)。在这种情况下,SP 不能用作寄存器

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/12 5:23:31

为什么顶尖团队都在用Laravel 13自动生成API文档?真相令人震惊

第一章&#xff1a;为什么顶尖团队都在用Laravel 13自动生成API文档&#xff1f;真相令人震惊在现代Web开发中&#xff0c;API文档的维护常常成为团队效率的瓶颈。而Laravel 13结合Scribe等先进工具&#xff0c;实现了从代码注释到完整API文档的全自动构建&#xff0c;彻底改变…

作者头像 李华
网站建设 2026/2/2 22:50:08

信捷XD5与台达DT330温控器通讯实战

信捷XDPLC与台达DT330温控器通讯程序本体远程双设定温度输出启停控制(XJXD-5) 功能&#xff1a;通过信捷XD5&#xff0c;实现对台达DT330温控器设定温度&#xff0c;读取温度&#xff0c;控制温控器输出启停&#xff0c;温控器本体与远程都能设定反应灵敏&#xff0c;通讯稳定可…

作者头像 李华
网站建设 2026/2/12 11:49:56

TinyEngine2.9版本发布:更智能,更灵活,更开放!

前言 TinyEngine 是一款面向未来的低代码引擎底座&#xff0c;致力于为开发者提供高度可定制的技术基础设施——不仅支持可视化页面搭建等核心能力&#xff0c;更可通过 CLI 工程化方式实现深度二次开发&#xff0c;帮助团队快速构建专属的低代码平台。 无论是资源编排、服务…

作者头像 李华
网站建设 2026/2/6 2:13:59

python基础(逻辑回归例题)

一、参数选择在逻辑回归建模中&#xff0c;“过拟合”是绕不开的坑——当模型在训练数据上表现完美&#xff0c;却在新数据上一塌糊涂时&#xff0c;大概率是模型复杂度超出了数据所能支撑的范围。而惩罚因子&#xff08;也叫正则化参数&#xff09;&#xff0c;正是我们解决过…

作者头像 李华
网站建设 2026/2/5 16:50:51

打Web Developer靶机 修改root密码 夺取flag

虚拟机网络配置 虚拟机kali和Web Developer都用NAT模式 扫描靶机 kali查看自己的ip kali的ip是192.168.138.128&#xff0c;子网掩码是255.255.255.0 扫描存活主机 netdiscover -i eth0 -r 192.168.138.0/24 知道到靶机ip 192.168.138.130 nmap扫描端口和服务及版本 nma…

作者头像 李华
网站建设 2026/2/14 5:41:45

Ollama本地安装DeepSeek大模型

一、Ollama官网 ollama官网 搜索选择对应的大模型&#xff0c;根据机器规格选择合适的大模型 二、本地运行 新建如下环境变量&#xff1a; 变量名&#xff1a;OLLAMA_MODELS变量值: D:\AiProject\AIModel 变量名&#xff1a;OLLAMA_HOST变量值&#xff1a;127.0.0.1 变量名…

作者头像 李华