检测点6.1
6.1第二题,按书上所给思路其实只需一个字单元的栈空间即可完成改写,所以将sp的值设为12h,但是debug之后发现只能改写一部分,这是为什么? 如果你不用DEBUG调试直接运行这个程序,SP设置成12H是没有问题的但你用DEBUG调试就涉及到了DOS的中断例程,DOS的中断例程也是会用到栈的,这个后期有讲
这个栈不是你的数据在用而已,DEBUG的数据也跟你一起在用,所以SP就往后减了
57158597@qq.com 发表于 2018-7-26 09:08
如果你不用DEBUG调试直接运行这个程序,SP设置成12H是没有问题的
但你用DEBUG调试就涉及到了DOS的中断例程 ...
那这个中断例程用的栈就正好是你定义的那段栈空间? Maschinist 发表于 2018-7-28 08:35
那这个中断例程用的栈就正好是你定义的那段栈空间?
是啊,不是正好用,是肯定用你定义的栈空间 57158597@qq.com 发表于 2018-7-28 08:56
是啊,不是正好用,是肯定用你定义的栈空间
老哥,这个部分在王爽老师的教材在哪一章? Maschinist 发表于 2018-7-28 11:07
老哥,这个部分在王爽老师的教材在哪一章?
记不清楚了,应该是在DOS中断例程讲解那吧
页:
[1]