解惑,解惑,汇编大人请入
main proc far
assume cs:program,ds:datarea
start:
;set up stack for return
push ds
sub ax,ax
push ax
..........
书上是这样描述以上语句的:“这里把主程序建立为过程,由dos调用该过程。进入程序后,首先把ds的内容和0作为段地址和偏移地址入栈,以便在程序结束时用ret指令返回dos”
这段话我看的非常胡涂,
1文章中并没有call main的语句,为什么说dos调用该过程
2程序不就是在dos环境下运行的嘛为什么有“返回dos”之说
3为什么通过以上压栈就可以实现“返回dos”
初学汇编不能看透其中奥妙请大人详解,谢谢