电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>单片机>单片机的堆栈资料介绍和实例程序等资料免费下载

单片机的堆栈资料介绍和实例程序等资料免费下载

2019-08-15 | pdf | 0.11 MB | 次下载 | 1积分

资料介绍

  堆栈是内存中一段连续的存储区域,用来保存一些临时的数据,比如,可以保存中断指令INT中的标志寄存器值、代码段寄存器CS值、指令指针寄存器IP值;还可以用以RET指令从中可以得到返回的地址;堆栈还可以保存其他的数据等等。在汇编语言中堆栈操作由PUSH、POP两条指令来完成。它的操作数均为子类型[两个字节]进行操作。程序内存可以分为:堆区、栈区、全局区、程序代码区、文字常亮区。在一个程序编译完后,已经为全局变量、静态变量分配好内存空间,所以在函数运行的时候,程序内存要为局部变量非配好栈空间,当中断来时,也需要把函数指针入栈,用来保护当前的情况(保护现场),以便于中断处理完之后可以再回到之前的函数。栈是从高到低的分配或者说先进后出(就像子弹夹),堆是从低到高的分配(就是先到先买,后到后买)。在一般的交谈中我们所说的堆栈默认为栈(子弹夹)。然而,堆栈可以分为硬堆栈和软堆栈,硬堆栈就是SP(stack pointer栈顶元素的下一个位置,所以数据入栈的时候,SP先加1,再压入数据,出栈时,数据先出,然后SP再减1),软堆栈就是在硬堆栈和全局变量区之间的空间。我们知道,单片机在启动的时候,不需要使用bootlloader将代码从ROM搬移到ARM,但是ARM则需要使用bootlloader将代码搬移。所以我们可以从单片机的执行步骤(获取执行指令—分析指令—执行指令);获取指令的过程就是根据上位机的值从程序存储器读出指令,送到指令寄存器,然后去分析指令,这样单片机就从内部程序存储器取到代码指令,从RAM存或获取相关的数据。我们知道RAM(随机存取存储器)的存取数据的速度高于ROM(只读存储器)的速度,而一般的单片机的运行频率不太高,所以从ROM获取指令慢并不受影响,但是RAM就不一样了,CPU运行的频率高,速度比ROM快,所以一般的操作系统,都会将代码部分拷贝到RAM中在执行,这样才可以使其运行速率更快。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 651单片机窗帘控制器仿真程序
  12. 1.93 MB  |  2次下载  |  免费
  13. 751单片机大棚环境控制器仿真程序
  14. 1.10 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费