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相同的内存单元。
我正在做与内存相关的汇编语言的大学作业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相同的内存单元。