汇编语言中proc

时间:2021.11.04 发布人:plae251232

汇编语言中proc

已解决问题

谷歌plae251232用户在2021.11.04提交了关于“马自达2汇编语言中proc”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-08T02:29:14。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你就是当代的活雷锋,太感谢了 !

希望以下的回答,能够帮助你。

第1个回答

用户名:匿名用户  

问答你说的大概是这么一种程序框架:

mainprocfar

pushds

x充免入适orax,ax

pu始shax

ret

mainendp

endmain

这是一种最原始的DOS下EXE程序的框架。

那时候,DOS的版本很低,DOS还没有提供4Ch**号DOS功能调用,结束程序只能用INT20h**完成。

而INT20h**结束程序要求执行时CS指向程序段前缀(PSP)所在的段地址。

所以,程序需要将主程曾与长果房仍宜西序定义成远调用过程(p素安鱼伤命阿福rocfar),这样就会将re级督使父演主五当t指令汇编成远调用返回(RETF)。而代码静预保远序义到掌开始的三条指令是将PSP段地址入栈,再将0入栈。这样,执行RET的时候就会执行到PSP段偏移地址为0处的一条INT20h**指令,保正确返回DOS。

后来稍高一点版本的DOS有了4Ch**号功能调用,就庆绿误集卫他皮扬到不需要这种程序框架了。

教科书上很多程序是抄来的,所以人们还常常会看到这种早就过时被淘汰了的代码。