如何使用两个 16 位寄存器制作 20 位地址?

Zia*_*man 1 assembly real-mode memory-segmentation x86-16

IAPX88 可以处理 1 兆字节内存(20 位寻址),现在我的问题是我们如何使用两个 16 位寄存器来制作 20 位地址。请举例说明。

vy3*_*y32 5

IAPX88 物理地址的计算方法是取段寄存器,将其左移 4 位,然后加上偏移寄存器。

例如,代码在内存中执行的物理地址是 (CS<<4)+IPCS 是代码段,IP 是指令指针。

您可以在Intel 8086 维基百科页面上获得详细信息。