gpt4 book ai didi

operating-system - 什么决定了内存模型?

转载 作者:行者123 更新时间:2023-12-05 00:35:07 24 4
gpt4 key购买 nike

具体来说,这个问题是关于实模式下的平面和分段模型。我正在阅读一本关于汇编的书,其中提到在 DOS 上,COM 文件使用平面内存模型,而 EXE 文件使用分段内存模型。但是我不明白是什么告诉 DOS 使用哪种内存模型。我问这个问题是因为我正在阅读有关引导加载程序的信息。

最佳答案

COM 文件使用“平面内存模型”,因为当程序加载时,段寄存器全部由 DOS 设置为指向同一段,并且按照惯例,所有代码和指针都相对于段寄存器。

另一方面,EXE 文件格式允许以不同的偏移量加载段。 DOS 不会将段寄存器设置为默认值;这取决于代码本身。 16 位 EXE 代码要复杂得多,因为该代码必须管理段寄存器。

现在很多EXE代码或多或少又忽略了段寄存器;不需要将 32 位或 64 位寄存器添加到段寄存器来生成可用地址。

关于operating-system - 什么决定了内存模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com