Flat memory Model 平坦内存模型

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

***************Title: Flat memory Model****************

*************** 标题:平坦内存模型********************

*=================译自Tutor by Hutch==================*

*===Original:Collected and packed by dREAMtHEATER=====*

*======翻译:小桥 from QDU huasoft@163.com============*

*==================20020820 at home===================*

*******************************************************

之一:

平坦内存模型(Flat memory Model)

一个用本地32位Windows格式写成的程序是由所谓“平坦内存模型”创建的,它只有一个包含代码和数据的段。这个程序必须在386或更高的处理器上运行。

早期的16位代码,由段和偏移地址混合达到寻址64k(段的限制)。与此不同的是,平坦内存模型只需要偏移量却有4G的寻址范围。这使得汇编更容易书写,而代码总得来说也将快一点。

在这种平坦内存模型下,所有的段寄存器都被自动设为相同的值,而这意味着段/偏移寻址方式一定不能用于在32位Windows上运行的32位程序。

对于曾经在DOS下写程序的程序员来讲,一个32位的Windows PE可执行文件就像一个DOS下的COM文件,它们仅有一个包含程序代码和数据的段,而它们都直接用偏移地址,而不是段/偏移寻址方式。

平坦模型程序是近(NEAR)代码寻址以及近数据寻址,都是在4G的范围之内。

FS和GS段寄存器不在普通的程序中用到,但却被操作系统的某些程序实例所利用。

========================================================

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有