主题:8086近程调用到底是要有几个字节压栈啊?
水乐中华
[专家分:410] 发布于 2007-03-19 17:38:00
题目:
8086微机系统中,若当前堆栈指针SP=1258H,CS=2560H,IP=0200H在执行下一条近程调用指令CALL N_PEOC 后,堆栈指针的当前值SP= 栈顶的数据SS:SP=0203
它的答案是SP=1254,那不是要4个字节了?把CS也给压进去了?
最后更新于:2007-03-19 17:40:00
回复列表 (共7个回复)
沙发
ccpp [专家分:9360] 发布于 2007-03-19 20:49:00
”栈顶的数据SS:SP=0203“
这个条件是做什么用的?
板凳
mufasa [专家分:420] 发布于 2007-03-19 22:29:00
进程调用 不压cs的,至于为什么不清楚
3 楼
水乐中华 [专家分:410] 发布于 2007-03-19 23:20:00
[quote]”栈顶的数据SS:SP=0203“
这个条件是做什么用的?[/quote]
不明白这位大哥的意思?这个【sp】=0203当然是函数调用完后sp返回个IP的。就是不知道SP的值怎么会减少4而不是减少2
4 楼
水乐中华 [专家分:410] 发布于 2007-03-19 23:23:00
[quote]进程调用 不压cs的,至于为什么不清楚[/quote]
会不会答案有错误啊,呵呵,我有点怀疑啊
5 楼
chenzep [专家分:3640] 发布于 2007-03-20 14:18:00
答案错的,还是看我下面的教材.最好的话就是自己DEBUG一下.
现在的人为了赚钱,连清华出版社出的书都有盗版人家的.看教程要当心,不要随便相信.
6 楼
ccpp [专家分:9360] 发布于 2007-03-20 20:37:00
[quote][quote]进程调用 不压cs的,至于为什么不清楚[/quote]
会不会答案有错误啊,呵呵,我有点怀疑啊[/quote]
同意
进程调用 只压ip
7 楼
def [专家分:3380] 发布于 2007-03-23 20:47:00
8086push:
先改变栈顶再进行SUB SP,2
80286+push:
先SUB SP,2再改变栈顶
我来回复