14.1 物理地址构成

80386为8086程序提供了1M + 64Kbyte的存储器空间。段变换与8086中类似:段选择符向左移动4位构成段基址。有效地址的高4位补零后与段机制相加构成线性地址,见图14-1。(线性地址就是物理地址,因为没有启用页。)与80286不同的是,相加后的线性地址可以有21位有效位。在段基址和有效地址相加后有可能产生进位。在8086,进位位被截断,而在80386,进位位则被存储在线性地址的D20位。

不同于8086和80286,可以产生32位的有效地址(通过使用地址长度前缀);然而,当地址超过65536时,会长生异常。为了和80286实地址模式完全兼容,如果有效地址超出了65536将产生伪保护错误(不带错误码的中断12和13)。