首页
社区
课程
招聘
[旧帖] [求助]关于栈的超界问题 0.00雪花
发表于: 2010-3-31 11:12 1748

[旧帖] [求助]关于栈的超界问题 0.00雪花

2010-3-31 11:12
1748
最近正在看汇编,王爽的汇编语言第二版,在第三章存储器(内存访问)这一章中关于栈的超界问题提了这样一问,说,
"8086CPU不保证我们对栈的操作不会超界,这也就是说,8086CPU只知道栈顶在何处(由SS:SP指示),而不知道我们安排的栈空间有多大。这点好像CPU只知道当前要执行的指令在何处,而不知道要执行的指令有多少。从这两点上我们可以看出8086CPU的工作机理,它只考虑当前的情况:当前的栈顶在何处,当前要执行的指令是哪一条。"完了作者提了个假设,就是说如果在CPU中有记录栈顶上限和栈底的寄存器,我们可以通过填写这些寄存器来制定栈空间的范围,然后,CPU在执行push指令的时候靠检测栈顶上限寄存器,在执行pop指令的时候靠检测栈底寄存器保证不会超界。
现在我想问问,CPU发展了这么长时间了,这个假设有没有实现,或者用别的方法解决了栈超界的问题?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为啥子木有人评论一下子捏
2010-3-31 22:01
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我觉得没有吧,如果有的话,现在也不会有堆栈的溢出问题了
2010-4-2 00:23
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
木有吧 有代码兼容的问题 而且也没啥用啊 CPU都是为合法程序设计的
现在有DEP 可以保证不会执行到stack代码区 基本就解决堆栈溢出问题了吧?
2010-4-2 02:57
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
调用堆栈,确实是个问题
2010-4-2 06:48
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最近正在看汇编,学习一下
2010-4-2 08:04
0
游客
登录 | 注册 方可回帖
返回
//