保护模式——段寄存器的结构

时间:2024-05-20 08:46:48

什么是段寄存器,有哪些段寄存器

当我们用汇编读写某一个地址时:
mov dword ptr ds:[0x123456],eax
我们真正读写的地址是:ds.base + 0x123456
ES CS SS DS FS GS LDTR TR 共8个


段寄存器的结构

保护模式——段寄存器的结构
段寄存器中有16位是可见部分,有八十位是不可见部分,一共96位。
可见部分为16位的Selector部分
16位的Attribute为这个段寄存器的属性,它的意义为:表示该段寄存器是可读还是可写还是可执行的。
32位的Base表示该段是从哪里开始的。
32位的Limit表示整个段的长度有多少。


段寄存器的读写

读段寄存器的时候只能够读16位。

比如:MOV AX,ES 只能读16位的可见部分

读写LDTR的指令为:SLDT/LLDT

读写TR的指令为:STR/LTR

写段寄存器的时候写的是96位。

比如:MOV DS,AX 写时是写96位

相关文章