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 通用寄存器完整指南:EAX-EDI 及子寄存器存取

編輯:Linux 教學

80386 提供八個 32 位通用寄存器,為 8086 寄存器的超集,各具慣用用途:

32位寄存器慣用名稱/用途16位子寄存器8位高位元組8位低位元組
EAX累加器AXAHAL
EBX基址寄存器BXBHBL
ECX計數器CXCHCL
EDX資料寄存器DXDHDL
EBP基址指標BP—
ESP堆疊指標SP—
ESI源變址SI—
EDI目的變址DI—

子寄存器存取規則

  • 32 位操作:使用完整 EAX-EDI,影響整個 32 位值。
  • 16 位操作:使用 AX、BX、CX、DX、BP、SP、SI、DI,僅影響低 16 位,高 16 位保持不變。
  • 8 位操作:AH/AL、BH/BL、CH/CL、DH/DL 僅影響對應位元組。例如 8 位加法運算時,位 7 的進位不傳遞至位 8,而是設定 EFLAGS 中的進位旗標 (CF)。

此設計使八大通用寄存器同時支援 8/16/32 位資料運算,並兼容 16/32 位記憶體定址,保持向下相容性。

Copyright © Windows教程網 All Rights Reserved