段在内存起始位置是0x10000,但段寄存器保存的是段的起始地址的前16位,所以0x10000/0x10等于0x1000,后面说的是段所占内存为0x100.
分段寻址是因为当时的微机有1M的内存20位的地址宽度,而CPU内部只有16
位宽度,16位宽的地址只能寻址64K的内存,其他的内存空间访问不了,因此因特尔设计了16位宽的段寄存器,段寄存器保存一个内存地址的高16位,段寄存器*0x10+BX SI DI BP SP 就能访问1M内存了!
你看 0xF000*0x10 +65536 是不是等于1M? 0xF000能用段寄存器来保存,由BX SI DI SP BP IP 来提供一个在64K范围内的地址
0Xf000*0x10
+ 64K
-----------------------
= 0x100000