内核学习之段寄存器
关于段寄存器的介绍大部分只是介绍其分类和在寻址中的应用,很少提到段寄存器如何去寻址的。这几天一直在纠结着方面的内容,今天算是大体明白了吧!
还是首先提一下段寄存器的作用和分类。在8086模式下,对内存的访问由段基址和段内偏移共同组成的。段寄存器存放的即各个分段的段基址。并指示了4个正在使用的逻辑段,包括代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS和附加段数据寄存器ES。代码段寄存器CS存放正在执行的代码的段基址,堆栈寄存器SS存放的是当前堆栈的段基址,数据段寄存器DS存放的是当前数据段的段基址,ES为附加数据段的段基址。
深入了解段寄存器,我们首先介绍另一个概念GDT(全局描述符表),在计算机刚刚启动的时候首先运行在real mode