ARM 堆栈寻址类型区分

文章目录

      • 堆栈指向分类
      • 堆栈指向数据分类
      • 满递增与满递减
      • 空递增与空递减

堆栈指向分类

根据堆栈指针的指向的方向不同,可以划分为向上生成型和向下生成型。

向上生成型:

  • 随着数据的入栈,堆栈的指针逐渐增大,称为:递增堆栈。

向下生成型:

  • 随着数据的入栈,堆栈的指针逐渐减小,称为:递减堆栈。

堆栈指向数据分类

根据堆栈指针是否指向数据,可以划分为满堆栈和空堆栈。

满堆栈:

  • 堆栈指针指向最后压入堆栈的有效数据项。

空堆栈:

  • 堆栈指针指向下一个要存放数据的空位置。

满递增与满递减

用于描述寄存器或内存中的值在递增或递减操作时,增加或减少一个完整的数据单元的大小。

数据单元的大小通常由操作系统或架构规定,可以是字节、字、双字等。

满递增是按照完整的数据单元大小增加,不论数据单元的大小是多少,递增时都会增加整个数据单元的大小。

满递减是按照完整的数据单元大小递减,不论数据单元的大小是多少,递减时都会减少整个数据单元的大小。

假设在堆栈中存储 R0R1R2 寄存器的值,按照满递增与满递减存储,如下所示:

先进行递增或者递减,然后再存入数据。

空递增与空递减

同样也是用于描述寄存器或内存中的值在递增或递减操作时,增加或减少一个空间单元的大小。

空间单元的大小可能不是完整的数据单元大小,而是根据指定的步长进行增加或减少。

空递增是按照指定的步长或空间单元大小增加,可以根据需要自定义递增步长。

空递减是按照指定的步长或空间单元大小递减,可以根据需要自定义递减步长。

直接指向存入的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/145010.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows系统如何查看Linux文件系统中的图片缩略图

背景 使用autoDL云算力资源,没有GUI界面,实验结果都是图片为主,为了可视化查看图片,所以萌生了是否有软件可以查看Linux文件系统中的图片缩略图。 目前网上有几种方法可以支持在windows系统上查看Linux文件系统中的图片缩略图&a…

langchain agent简单使用;文档总结load_summarize_chain

1、langchain agent简单使用 参考:https://zhuanlan.zhihu.com/p/643868934?utm_id0 from langchain.agents.agent_toolkits import create_python_agent from langchain.agents import load_tools, initialize_agent from langchain.agents import AgentType fr…

【计算机网络】TCP 协议的相关特性

TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的协议。以下是TCP协议的相关特性: 可靠性:TCP通过确认和重传机制保证数据的可靠传输。 面向连接:TCP在传输数据前需要先建立连接。连接的建立过程包括三次握手…

Whisper 整体架构图

Attention 注意力机制模块,兼容自注意力和交叉注意力。 AttentionBlock Transformer 模块,包含一个自注意力,一个交叉注意力(可选)和一个 MLP 模块。 AudioEncoderTextDecoder 音频编码器和文本解码器。编码器的 Tr…

前端工作方式要换了?HTMX简介:无需JavaScript的动态HTML

HTMX允许你使用扩展的HTML语法代替 JavaScript 来实现交互性。HTMX 在标记中直接为你提供HTTP 交互,并支持许多其他交互需求,无需求助于 JavaScript。这是一个有趣的想法,可能最终会影响到web前端的工作方式。让我们看看如何使用HTMX以及它的…

filebeat(8.9.0)采集日志到logstash,由logstash发送的es

filebeat采集日志到logstash,由logstash发送的es 下载并配置filebeat下载配置logback.xml logstash配置 下载并配置filebeat 下载 参考 配置 filebeat.inputs: - type: filestreamenabled: truepaths:# 日志文件目录- D:\modellog\elkdemo\*\*.logparsers:# 多…

swagger gin 文档接口排序,写了一个小工具,自定义接口排序

起因没找到swagger 自定义接口排序 代码原理就是替换 swag init 生成的docs.go paths 部分 ,取到swagger.json paths 部分排序,正则匹配docs.go paths 部分,然后通过自定义排序,替换paths部分,这个根据自定义的需求来…

USB学习(1):USB基础之接口类型、协议标准、引脚分布、架构、时序和数据格式

连接计算机外围设备最简单的方法是通过USB(通用串行总线)。USB是即插即用接口,可以将扫描仪、打印机、数码相机、闪存驱动器等计算机外围设备连接到计算机上。本篇文章就来介绍一下USB的一些基础知识,包括。 文章目录 1 接口类型和标准规范2 引脚分布3 …

Flutter的Don‘t use ‘BuildContext‘s across async gaps警告解决方法

文章目录 问题有问题的源码 问题原因问题分析Context的含义BuildContext的作用特殊情况 解决方法 问题 Flutter开发中遇到Don’t use BuildContext’s across async gaps警告 有问题的源码 if (await databaseHelper.isDataExist(task.title)) {showDialog(context: context,…

大语言模型(LLM)综述(二):开发大语言模型的公开可用资源

A Survey of Large Language Models 前言3. RESOURCES OF LLMS3.1 公开可用的模型CheckPoints或 API3.2 常用语料库3.3 库资源 前言 随着人工智能和机器学习领域的迅速发展,语言模型已经从简单的词袋模型(Bag-of-Words)和N-gram模型演变为更…

idea的debug调试

目录 断点条件设置(condition) 断点表达式(evaluate expression) 断点回退(reset frame) 断点条件设置(condition) 条件断点,一般是满足我们设置的某个条件时,debug断点才会生效。这种条件断点设置,我们一般用在多重循环中。 这儿我们以li…

【C语言小游戏--猜数字】

文章目录 前言1.游戏描述2.代码实现2.1打印菜单2.2构建基础框架2.3玩游戏2.3.1生成随机数2.3.1.1rand()2.3.1.2srand()2.3.1.3time() 2.3.2game() 2.4自己设定猜的次数 3.完整代码 前言 猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏,下…