在这种情况下,“解读”意味着什么?

时间:2014-02-25 05:02:55

标签: x86 x86-64 intel

有人可以告诉我这本手册中的“unscrambled”是什么意思?

http://www.intel.com/Assets/ja_JP/PDF/manual/253668.pdf

根据英特尔手册第5.10.3节,解释LSL指令:

  

如果权限级别和类型检查通过,则加载未加密的   限制(根据G标志的设置缩放的限制   段描述符)进入目标寄存器并设置ZF标志   在EFLAGS注册表中。如果段中的段选择器不可见   当前权限级别或LSL指令的无效类型,   该指令不会修改目标寄存器并清除   ZF旗帜。

2 个答案:

答案 0 :(得分:1)

根据G标志,限制以不同的方式解释。 从手册:

When the G flag is clear (byte granularity), the effective limit is the value
of the 20-bit limit field in the segment descriptor. Here, the limit ranges 
from 0 to FFFFFH (1 MByte). When the G flag is set (4-KByte page granularity), 
the processor scales the value in the limit field by a factor of 212 (4 KBytes). 
In this case, the effective limit ranges from FFFH (4 KBytes) to FFFFFFFFH 
(4 GBytes).

答案 1 :(得分:1)

基本上,这是因为限制字段分布在GDT条目中的几个位上。

GDT条目的结构从较小的早期版本扩展而来。最初,当保护模式仍然只有16位时,每个条目由一个16位基数和限制组成。通过添加32位模式,需要一种方法来扩展基数/限制而不会破坏向后兼容性。因此,英特尔只是为高位添加了新字段,这导致基本/限制字段在条目中不连续。

The OSDev Wiki有一个描述GDT条目的漂亮小图;如图所示,基本/限制字段被分成较低/中/上“片段”。因此,“未加扰”限制是指将下限/上限字段组合成单个20位限制。设置粒度位时,它还包括4K乘法器。