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

我的博客

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

[2023-04-17 10:32] 第3章 问题 3.6

问题 3.6

对于一个空栈,SS:SP 将指向一个怎样的位置?
先探讨内存中字型数据的情况。对于字型数据,仿佛存在一个字指针,字指针总是指向字型数据的低 8 位地址单元。本节前面讲过,出入栈操作都是以字为单位进行,可见栈顶元素就是一个字型数据;出入栈的操作对象是 SS:SP 指向的内存单元,可见 SS:SP 就是栈元素字型数据的字指针;因此 SS:SP 指向的正是栈顶元素字型数据的低 8 位地址单元而不是高 8 位地址单元。字型数据的低 8 位地址代表该字型数据的地址,可见表示字型数据的 [address] 与栈顶元素字型数据一一对应,而[address]与寄存器名表示的字型数据一一对应,所以寄存器名表示的字型数据也与栈顶元素字型数据一一对应。
假设栈中只存在一个栈顶元素 A,那么 SS:SP 将指向栈顶元素字型数据 A 的低 8 位内存单元;由于入栈是从高地址向低地址方向延伸的,因此栈为空时 SS:SP 将指向与 A 相邻的更高位地址处另一个字数据 B 的低 8 位内存单元,该内存单元的地址等于 A 的高 8 位单元地址加 1 —— 这就是空栈时 SS:SP 指向的内存单元。
评论次数(0)  |  浏览次数(107)  |  类型(问题分析) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码