80x86基本寄存器
	   
	   8086~Pentium微處理器的寄存器組按功能可分為四類――基本寄存器、系統(tǒng)級寄存器、調(diào)試和測試寄存器、浮點寄存器。
  基本寄存器包括通用寄存器、指令指針寄存器、標志寄存器和段寄存器,這些寄存器在程序設計中非常重要。
  系統(tǒng)級寄存器包括5個控制寄存器CR0~CR4,4個系統(tǒng)地址寄存器GDTR、IDTR、LDTR和TR?刂萍拇嫫鰿R0~CR4用于存放全局特征,如是否用高速緩沖和浮點寄存器,是否分段分頁等。系統(tǒng)地址寄存器用于保護模式下地址轉(zhuǎn)換和信息的保護。
  調(diào)試寄存器DR0~DR7共8個32位可編程寄存器,用于支持系統(tǒng)的調(diào)試功能;測試寄存器TR3~TR7共5個,用于高速緩沖和轉(zhuǎn)換后援緩沖器TLB的測試。
  浮點寄存器共13個,用于支持浮點運算。
   PC系列微機的寄存器總體上可分為程序可見和不可見兩類。在程序設計期間要使用的、并可由指令來指定它們的寄存器稱為程序可見寄存器。在應用程序設計期 間,不能直接尋址的寄存器稱為程序不可見寄存器,但系統(tǒng)程序設計期間可以被間接引用。只有80286及其以上的微處理器包含程序不可見寄存器,用于控制和 操作保護模式存儲器系統(tǒng)。
  2.2.1 基本寄存器
  基本寄存器可分為通用寄存器和專用寄存器。通用寄存器包括 EAX、EBX、ECX、EDX、EBP、EDI和ESI。這些寄存器存儲邏輯和算術運算中的操作數(shù),或保存地址運算中的操作數(shù)(通常為32位的地址)。 專用寄存器包括:指令指針寄存器EIP,堆棧指針ESP,標志寄存器EFLAGS,段寄存器CS、DS、ES、SS、FS和GS。
  由可見,基本寄存器又可分為8位、16位和32位寄存器。
   16位寄存器有AX、BX、CX、DX、SP、BP、DI、SI、IP、FLAGS、CS、DS、ES、SS、FS和GS。其中AX、BX、CX和DX 可拆分為8位寄存器AH、AL, BH、BL, CH、CL, DH、DL。16位寄存器主要用于8086到80286的16位微處理器和實地址方式。
  32位擴展寄存器是EAX、EBX、ECX、EDX、ESP、EBP、EDI、ESI、EIP和EFLAGS。這些32位擴展寄存器和16位寄存器FS、GS只用于80386及更高型號的微處理器中。
  1.通用寄存器
  1)EAX(累加器)
  EAX可作為32位寄存器(EAX)、16位寄存器(AX)或8位寄存器(AH或AL)引用。累加器用于如乘法、除法及一些調(diào)整指令,對于這些指令,累加器常表現(xiàn)為隱含形式。在80386及更高型號的微處理器中,EAX寄存器也可以保存訪問存儲單元的偏移地址。
  2)EBX(基址)
  EBX可作為EBX、BX、BH或BL尋址。在所有型號的微處理器中,EBX常用來作地址指針,用于保存訪問存儲單元的偏移地址。
  3)ECX(計數(shù))
   ECX是個通用寄存器,經(jīng)常作計數(shù)器,用于保存許多指令的計數(shù)值。在80386及更高型號的微處理器中,ECX寄存器也可保存訪問存儲器數(shù)據(jù)的偏移地 址。用于計數(shù)的指令是重復的串指令、移位、循環(huán)指令。移位指令用CL計數(shù),重復的串指令用CX計數(shù),循環(huán)指令用CX或ECX計數(shù)。
  4)EDX(數(shù)據(jù))
  EDX是通用寄存器,常與EAX配合,用于保存乘法形成的部分結(jié)果,或者除法之前部分被除數(shù)。對于80386及更高型號的微處理器,這個寄存器也可尋址存儲器數(shù)據(jù)。
  5)EBP(基指針)
  這個寄存器可作為BP或者EBP尋址,EBP可指向所有型號微處理器的存儲位置,常用于堆棧的操作。
  6)EDI(目標間址)
  EDI常用于尋址串指令的目標數(shù)據(jù)串,它的另一個功能是作為32位(EDI)或者16位(DI)通用寄存器使用。
  7)ESI(源間址)
  ESI既可作為ESI,也可作為SI來使用。ESI為串指令尋址源數(shù)據(jù)串。如同EDI一樣,ESI也作為通用寄存器使用。作為16位寄存器,由SI尋址;作為32位寄存器,由ESI尋址。
  2.指令指針寄存器EIP
   指令指針寄存器EIP存放指令的偏移地址。當微處理器工作在實模式下時,這個寄存器是IP(16位),當80386及更高型號的微處理器工作于保護模式 下時,則是EIP(32位)。指令指針總是指向程序的下一條指令,用于微處理器在程序中順序地尋址代碼段內(nèi)的下一條指令。當遇到跳轉(zhuǎn)指令或調(diào)用指令時,指 令指針寄存器的內(nèi)容需要修改。
  3.堆棧指針寄存器ESP
  ESP尋址一個稱為堆棧的存儲區(qū)。通過這個指針,存取堆棧存儲器數(shù)據(jù),具體操作將在本書后面說明。作為16位寄存器被引用時,是SP;如果作為32位寄存器,則是ESP。
	   
計算機學習推薦