0

段寄存器是否保存用作基地址的物理地址,或者因为段只能在段落边界上开始,段寄存器只保存该段边界的序号,然后乘以 10H 最终物理基数形成地址,然后添加偏移量。我对吗?

4

1 回答 1

0

段寄存器的工作方式与您在实际 8086 处理器上描述的一样。内存操作数的物理地址是通过将相关段寄存器中的值乘以 16 并将其添加到操作数的有效地址来确定的。

在现代英特尔处理器上,分段仅在实模式和虚拟 8086 模式下以这种方式工作。(严格来说,它的工作原理就像这是计算虚拟/物理地址的方式一样。实际上,在实模式下加载段寄存器会加载带有段基的隐藏选择器缓存条目,并且在计算时使用缓存中的值虚拟/物理地址。选择器缓存的存在是为了在保护模式下加速分段,其中段寄存器用作内存中表的索引。)

于 2015-04-23T01:58:11.980 回答