关于CALL指令默认使用的栈
我们都知道CALL指令执行前,会将一些数据入栈,问题是该栈到底是系统提供的栈还是用户自定义的栈?本帖最后由 wAterLoo 于 2012-4-6 21:15 编辑
这要看你的程序是运行在实模式还是保护模式
实模式下入栈,是系统栈
保护模式下,要看具体情况,
一般Ring0程序是系统栈,而Ring3级别的用户程序都是自定义栈
如果call是长转移,还涉及堆栈的转移。
补充:系统栈的好像只有保护模式的程序下才会去区分的,如果你的程序在实模式下,栈也是你自己定义的 - - 所以也是自定义栈 - -
我以前写call的时候就没有划分栈空间应该是系统的吧!~ debug一下就知道了,你会发现ss与cs一样 谢谢,有点懂了。 好东西,谢谢分享! 我以前写call的时候就没有划分栈空间 应该是系统的吧!~
页:
[1]