Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

x86 段寄存器演進:從 8086 基址到 80386 選擇子

編輯:Linux 教學

在 8086 處理器中,存在四個 16 位段寄存器:CS(代碼段)、DS(資料段)、SS(堆疊段)、ES(附加段),分別儲存對應段的基址。

進入 80386 時代,段寄存器增至六個(新增 FS、GS),但其功能發生根本變化:不再直接儲存段基址,而是儲存 段選擇子。因 16 位寄存器無法容納 32 位段基址,段基址改存放於 描述符表 中。段選擇子作為索引指向描述符表中的段描述符,後者包含段基址、界限、屬性等資訊。

80386 六大段寄存器

寄存器名稱用途
CS代碼段寄存器指向可執行代碼所在段
DS資料段寄存器指向預設資料段
SS堆疊段寄存器指向堆疊段
ES附加段寄存器額外資料段
FS附加段寄存器額外資料段(常用於執行緒區域儲存)
GS附加段寄存器額外資料段

段選擇子、描述符表(GDT/LDT)以及系統表地址寄存器(GDTR/LDTR/IDTR/TR)的詳細機制將在「段機制」章節深入說明。

Copyright © Windows教程網 All Rights Reserved