Assembly Language:Can物理地址在分段内存模型中是16位?

Assembly Language:Can physical address be 16 bits in segmented memory model?

我正在做与内存相关的汇编语言的大学作业addressing.Can物理地址是 16 位吗?以下是导师提供的数值。

BX=0x0000
SI=0x01A2
DS=0x0A2E

Effective Address:
EA = Base + Index + Offset
    = 0x0000+0x01A2+0xFF00
    =0x100A2
    = 0x00A2

Physical:
=Segment * 10 + EA
=0x0A2E * 10 + 0x00A2
= 0xA382 (16 bits)

是否正确,因为物理内存地址必须是 20 位长。

前导零

16 位模式的 x86 处理器中的物理地址实际上是 20 位长。在您的示例中,前导零已被删除。

0x0A2E * 0x10   = 0x0A2E0
       + 0x00A2 = 0x0A382 
                = 0xA382

所以地址0A2E:00A2指向与0000:A382相同的内存单元。