首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

逻辑地址和线性地址的有关问题

2012-06-14 
逻辑地址和线性地址的问题用softice看了一下GDTselecttypebaselimit0008code3200000000FFFFFFFF0028TSS328

逻辑地址和线性地址的问题
用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表中去查找、获得 

热点排行