基本概念:

堆栈指针寄存器-SP是什么?

答:堆栈是计算机存储数据的一种数据结构,SP的作用就是指示当前要出栈或入栈的数据,并在操作执行后自动递增或递减。

至于是入栈递增还是入栈递减,就是由CPU的生产厂家确定,通常由一块存储区和指向该存储区的指针SP构成。

 1.  在堆栈中保存数据叫入栈/压栈,从堆栈中读取数据叫出栈。

2.  堆栈是一种具有“先进后出,后进先出”(LIFO---Last In First Out)特殊访问属性的存储结构。

3.  保存数据时SP总指向最后一个压入堆栈的数据所在的数据单元——栈顶。

ARM处理器中通常将寄存器R13作为堆栈指针(SP)。

堆栈作用:

计算机中的堆栈主要用来保存临时数据,局部变量和中断/调用子程序程序的返回地址。程序中栈主要是用来存储函数中的局部变量以及保存寄存器参数。

1) 保存现场;
2) 传递参数:汇编代码调用 C 函数时,需传递参数;
3) 保存临时变量:包括函数的非静态局部变量以及编译器自动生成的其他临时变量;

堆栈指针寄存器-SP详解相关推荐

  1. 3.堆栈指针寄存器 SP 详解

    堆栈指针寄存器 SP 详解 堆栈是一种具有"后进先出"(LIFO---Last In First Out)特殊访问属性的存储结构.堆栈一般使用RAM 物理资源作为存储体,再加上LI ...

  2. 堆栈指针寄存器 SP详解以及栈的作用

    本文引用地址:http://www.eepw.com.cn/article/201611/321963.htm 韦东山:https://blog.csdn.net/thisway_diy/articl ...

  3. ARM指针寄存器——堆栈指针寄存器SP、程序计数器PC、连接寄存器LR

    参考:堆栈指针寄存器 SP详解以及栈的作用 作者:蓝色鲜橙多 网址:https://blog.csdn.net/qq_36588941/article/details/89873633?utm_sou ...

  4. TI Cotex M3/4单片机关于寄存器操作详解

    TI Cotex M3/4单片机关于寄存器操作详解 前备知识 寄存器与偏移量 位带操作.位带区 TI单片机寄存器操作详解 快速在TI的手册里面确认某外设某寄存器的确切地址 寄存器操作介绍 本文参考 前 ...

  5. this指针的用法详解

    C++中this指针的用法详解 2010-11-12 20:40:45 分类: C/C++ this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果.th ...

  6. c语言二级指针有什么作用,C语言中二级指针的实例详解

    C语言中二级指针的实例详解 C语言中二级指针的实例详解 用图说明 示例代码: #include int main(int argc, const char * argv[]) { // int a = ...

  7. 51单片机的堆栈指针(SP)

    堆栈指针(SP,Stack Pointer),专门用于指出堆栈顶部数据的地址. 那么51单片机的堆栈在什么地方呢?由于单片机中存放数据的区域有限,我们不能够专门分配一块地方做堆栈,所以就在内存(RAM ...

  8. 【C语言】小妹不懂指针和数组的关系?那就安排指针数组关系详解

    目录 前言 一.什么是数组 二.什么是指针 三.指针变量的大小 四.数组和指针的关系 五.指针变量的自增自减运算 六.两个参数确定一个数组 七.字符型指针和字符型数组 总结 写在最后 前言 前段时间整 ...

  9. C语言(函数指针数组)详解

    要了解函数指针数组,可以从三个角度来分析.所谓函数指针数组,从字面意思上来解析,函数指针数组的组成有三个点,函数,指针,数组.首先我们知道,函数指针数组,是一个数组,数组的每个元素是函数指针,也就是一 ...

最新文章

  1. 利用PySpark进行迁移学习的多类图像分类
  2. ZooKeeper场景实践:(6)集群监控和Master选举
  3. ORACLE SQL SET运算符
  4. kali 安装volatility_volatility取证学习-linux
  5. uva10884 Persephone
  6. vue数组操作不更新视图问题
  7. 一种低延迟的超时中心实现方式
  8. css3中的border-image用法
  9. 基于java五子棋游戏设计与实现
  10. 复制粘贴之后出现问号怎么办_复制粘贴文字变乱码解决
  11. 【OTT】国内主要OTT平台背后的那些CDN服务商
  12. 基于 Amazon Nitro Enclaves 构建安全的可信执行环境
  13. Android 前置摄像头强制关闭镜像预览
  14. 什么是操作系统?操作系统介绍
  15. 杭电 2544 最短路(bellman详解)
  16. ps4系统软件升级无法连接服务器,这才是正确的解决办法 PS4怎么通过优盘升级系统...
  17. 机器学习中处理缺失值的7种方法
  18. matlab中如何转动三维图_MATLAB小技巧之:绕任意空间轴旋转三维图形
  19. Mac环境下Android一键自动打包发布到蒲公英平台
  20. python读取txt文本出现中文乱码已解决。

热门文章

  1. 开源操作系统期末知识总结
  2. ChatGPT会对未来5年的NLP算法从业者带来怎样的冲击?
  3. 7-108 三角形判断
  4. nginx启动无反应
  5. java卸载不了_java卸载不了怎么处理?卸载时总出现这个
  6. 10种常见的HTML标签错误写法
  7. 【VBA研究】输出PDF文件合并时出错
  8. 资产管理业务和财富管理
  9. win10 vs2015 wxWidgets编译
  10. HTML强制视频倍速,强行网页视频倍速播放