如果 8086 的 CS 寄存器的值为 0xA000,则相关段的物理地址范围是多少?

If the CS register of a 8086 has the value 0xA000, what is the range of the physical addresses of the associated segment?

正如标题所说,如果8086的CS寄存器的值为0xA000,我想知道关联段的物理地址范围是多少?

左移 4 位。

0xa0000 + 应用 CS 的任何值。

由于 cpu 寄存器和其他值是 16 位的,因此您得到 0xAxxxx,其中 xxxx 是 16 位值。即段寄存器规定了哪64k可以寻址。通过这样的窗口,你可以得到一个 20 位的物理地址 space.

有关详细信息,请参阅 this old post。曾几何时,这是常见的教学,但我想现在更难找到了。也许你可以通过亚马逊商城找到一些旧书。

经过一番研究,我发现这是问题的正确答案:

0xA0000 + 0xFFFF = 0xAFFFF(段的最高物理地址)

0xA0000 + 0x0000 = 0xA0000(段的最低物理地址)

所以物理地址的范围是0xA0000 - 0xAFFFF。