博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.6 栈
阅读量:5262 次
发布时间:2019-06-14

本文共 430 字,大约阅读时间需要 1 分钟。

在这里,我们对栈的研究只限于这个角度,栈是一种具有特殊访问方式的存储空间。它的特殊性在于,最后进入这个空间的数据,最先出去,后进先出(LIFO---last in first out)。

.CPU提供的栈机制

8086CPU提供入栈和出栈指令,最基本的如同push ax,表示将寄存器ax中的数据入栈,pop ax,表示将栈顶数据弹出送入ax,8086中的入栈和出栈操作都是以字为单位的。

CPU如何知道当前要执行的指令所在的位置?CS、IP中存放着当前指令的段地址和偏移地址。

CPU如何知道栈顶的位置?有两个寄存器,段寄存器SS和寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中。任意时刻,SS:SP指向栈顶元素。SS*16+SP=栈顶元素地址。8086CPU入栈时,栈顶从高地址向低地址增长。

.栈的越界问题

.push、pop指令

 

转载于:https://www.cnblogs.com/yangguang-it/p/6727138.html

你可能感兴趣的文章
windows下mongodb安装与使用
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
Python 环境傻瓜式搭建 :Anaconda概述
查看>>
趁热打铁第一季《移动APP开发使用什么样的原型设计工具比较合适?》
查看>>
debian6之eclipse和jdk安装
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
Python并发编程03/僵尸孤儿进程,互斥锁,进程之间的通信
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
前端03 /css简绍/css选择器
查看>>
Python并发编程06 /同步/异步调用/异步调用+回调函数
查看>>
前端06 /JavaScript之BOM、DOM
查看>>
数据库/MySQL的安装
查看>>
MySQL之存储引擎
查看>>
前端08 /jQuery标签操作、事件
查看>>
数据库03 /库、表、记录的详细操作、单表查询
查看>>
数据库04 /多表查询
查看>>
前端02 /HTML标签
查看>>
前端04 /css样式
查看>>