汇编网首页登录博客注册
smallwolf的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
友情链接

[2009-10-09 19:01] 栈的综述

(1)8086CPU提供了栈操作机制,方案如下。
在SS、SP中存放栈顶的段地址和偏移地址;
提供入栈和出栈指令,它们根据SS:SP指示的地址,按照栈的方式访问内存单元。
(2)PUSH指令的执行步骤:①SP=SP-2;②向SS:SP指向的字单元中送入数据。
(3)POP指令的执行步骤:①从SS:SP指向的字单元中读取数据;②SP=SP+2。
(4)任意时刻,SS:SP指向栈顶元素。
(5)8086CPU只记录栈顶,栈空间的大小我们要自己管理。栈顶的变化范围最大为:0~FFFFH。
(6)用栈来暂存以后需要恢复的寄存器的内容时,寄存器出栈的顺序要和入栈的顺序相反。
(7)push、pop实质上是一种内存传送指令,注意它们的灵活应用。
评论次数(3)  |  浏览次数(1059)  |  类型(默认类型) |  收藏此文  | 

[  scuzg   发表于  2009-10-10 07:12  ]

写的不错!
SP的初值=堆栈容量=栈底的偏移量+2。
而ss决定栈段起点。
即堆栈的所有结构元素都是由SS、SP决定的。

[  smallwolf   发表于  2009-10-10 13:41  ]

呵呵,这是书上的!

[  younggay   发表于  2009-10-10 13:44  ]

言简意赅!

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码