这个问题特别涉及到实模式下的平面和分段模型。我正在阅读一本关于汇编语言的书,提到在DOS上,COM文件使用平面内存模型,而EXE文件使用分段内存模型。然而,我不明白是什么告诉DOS要使用哪种内存模型。我之所以问这个问题,是因为我正在阅读关于引导程序的内容。
这个问题特别涉及到实模式下的平面和分段模型。我正在阅读一本关于汇编语言的书,提到在DOS上,COM文件使用平面内存模型,而EXE文件使用分段内存模型。然而,我不明白是什么告诉DOS要使用哪种内存模型。我之所以问这个问题,是因为我正在阅读关于引导程序的内容。
COM 和 EXE 可执行文件在文件头中具有其内存需求:EXE header 和 COM (MS-DOS) header。如果程序需要 < 64KB,则使用平坦空间,如果 > 64KB,则使用分段内存。
在DOS中,没有任何东西可以阻止COM文件使用分段内存模型,因为DOS没有对其应用程序强制执行内存管理策略。
您可以阅读维基百科关于COM文件的条目,它可以让您深入了解这些旧事。