MS-DOS将COM或EXE文件加载到内存中的步骤是什么?网上是否还有关于这是如何发生的参考?我能想到的最好的可能是指dosbox来源。
答案 0 :(得分:19)
当要求command.com执行.com或.exe文件时,它将调用中断服务21h / AH = 4B,EXEC服务。调用程序取决于:
当中断21h被调用时(这里是我朦胧的地方):
for exe:
for com:
现在应该执行程序。
注意:
在微软的KB文档“定位可执行文件的优先顺序”中,它提到了 使用“MS-DOS EXEC功能(中断21h服务4Bh)”来执行.com和.exe文件 http://support.microsoft.com/kb/35284
所以我们可以看看Ralph Brown在Int 21 / AH = 4Bh上的中断列表
以及使用示例:
和dos exe头格式:
(这是基于一些谷歌搜索,所以请随意添加建议)