鱼C论坛

 找回密码
 立即注册
查看: 4200|回复: 7

关于CALL指令默认使用的栈

[复制链接]
发表于 2012-4-5 21:52:18 | 显示全部楼层 |阅读模式
1鱼币
我们都知道CALL指令执行前,会将一些数据入栈,问题是该栈到底是系统提供的栈还是用户自定义的栈?

最佳答案

查看完整内容

这要看你的程序是运行在实模式还是保护模式 实模式下入栈,是系统栈 保护模式下,要看具体情况, 一般Ring0程序是系统栈,而Ring3级别的用户程序都是自定义栈 如果call是长转移,还涉及堆栈的转移。 补充:系统栈的好像只有保护模式的程序下才会去区分的,如果你的程序在实模式下,栈也是你自己定义的 - - 所以也是自定义栈 - -
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-5 21:52:19 | 显示全部楼层
本帖最后由 wAterLoo 于 2012-4-6 21:15 编辑

这要看你的程序是运行在实模式还是保护模式

实模式下入栈,是系统栈
保护模式下,要看具体情况,
一般Ring0程序是系统栈,而Ring3级别的用户程序都是自定义栈
如果call是长转移,还涉及堆栈的转移。

补充:系统栈的好像只有保护模式的程序下才会去区分的,如果你的程序在实模式下,栈也是你自己定义的 - - 所以也是自定义栈 - -
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-6 08:27:37 | 显示全部楼层
我以前写call的时候就没有划分栈空间  应该是系统的吧!~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-6 11:48:14 | 显示全部楼层
debug一下就知道了,你会发现ss与cs一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-4-9 08:57:57 | 显示全部楼层
谢谢,有点懂了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-10 14:52:19 | 显示全部楼层
好东西,谢谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-10 17:30:01 | 显示全部楼层
我以前写call的时候就没有划分栈空间  应该是系统的吧!~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 18:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表