用softice看了一下GDT
select type base limit
0008 code32 00000000 FFFFFFFF
0028 TSS32 80042000 000020AB
base就是线性地址,0008:00000000 - 0008:FFFFFFFF
如果 0008:80042000 那么它的线性地址不就是 80042000 了吗?
那么线性地址也应该是唯一的,这样的话不就会重复了吗?
------解决方案--------------------------------------------------------
80042000 ;是基地址
000020AB ;是段界限
线性地址范围80042000H~800440ABH
------解决方案--------------------------------------------------------
select是选择子,base是基地址,limit是段界限,
在32位下逻辑地址是段选择子:偏移地址,线性地址是基地址+偏移地址(主要此时基地址不要乘以16),
所以你说:如果 0008:80042000 那么它的线性地址不就是 80042000是不对的,因为0008是段选择子,
基地址要通过段选择子在GDT表中去查找、获得