push动作是每次sp-2,'自身程序'管控的栈域是sp或以后的内存,换言之,sp前面的区域是'未定义'的.
用户按一下t,p,甚至输入任何字符,debug都会取回控制权去处理插入的命令,它的动作是先push一堆暂存器,标志等等,
然后运作对应程序,完了后就pop回一堆暂存器,再交回控制权,这一连串PUSH/POP是平冲的,以保证用户的SP或以后的内存不变,
你看见sp之前的东西就是DEBUG残留的
.
上图红框和蓝框前FFF0一列的变化,就是DEBUG做完T后遗留的东西.
即使dos不是多功系统,但计时中断,或其他不定时的中断都会随时插入,完成后也一样还原用户的栈针.
用户SP之前的东西是随时变化的.
用户也应该只关心本身SP或之后的内存,SP之前的是没有意义的.