彙編速查 IA32暫存器組織

2021-07-24 19:34:35 字數 2372 閱讀 4679

暫存器

描述通用暫存器

8個32位,儲存正在處理的資料

段暫存器

6個16位,處理記憶體訪問

指令指標暫存器

1個32位,指向要執行的下一條指令碼

浮點資料暫存器

8個80位,浮點資料

控制暫存器

5個32位,確定處理器的操作模式

除錯暫存器

8個32位,在除錯處理器時包含資訊

暫存器描述

eax用於運算元和結果資料的累加器

ebx指向資料記憶體段的資料的指標

ecx字串和迴圈操作的計數器

edxi/o指標

edi用於字串操作的目標的資料指標

esi用於字串操作的源的資料指標

esp堆疊指標

ebp堆疊資料指標

eax,ebx,ecx,edx可以通過16位,8位名稱引用

|<------------eax---------------->|

|1 2 3 4 5 6 7 8 |1 2 3 4 5 6 7 8 |

|----------------|-------|--------|

|. . . . . . . . |. ah . | . al . |

|----------------|-------|--------|

. . . . . . . . .|<------ax------>|

ia-32允許3種訪問系統記憶體的方法平坦記憶體模式分段記憶體模式實位址模式

段暫存器

描述cs

**段基位址;處理器根據cs值和eip中的偏移值取指令

ds資料段基位址

ss堆疊段基位址;包含傳遞給函式和過程的資料值

es附加段指標

fs附加段指標

gs附加段指標;ds,es,fs,gs用於指向資料段

確定處理器的操作模式當前正在處理任務的特性

控制暫存器

描述cr0

控制處理器狀態和操作模式的系統

cr1當前沒有使用

cr2記憶體頁面錯誤資訊

cr3記憶體頁面目錄資訊

cr4支援處理器特性和說明處理器特性的標誌

不能直接讀取或寫入,需要通用暫存器「中轉」一下

每個操作都要有一種機制確定操作是否成功

ia-32平台使用1個32位的eflags包含一組狀態,控制和系統標誌。標誌位

名稱描述cf0

進製標誌

無符號整數數學操作最高有效位產生進製或借,置1pf2

奇偶校驗標誌

奇校驗位,使得暫存器和此位1的數目為奇數個af4

輔助進製標誌

用於bcd數學操作zf6

零標誌操作結果為0,置1sf7

符號標誌

設定為結果的最高有效位

of11

溢位標誌

帶符數正值過大或負值過小時,溢位

當前只定義了乙個控制標誌-dff標誌(方向標誌),控制處理器處理字串的方式

應用程式不應該試圖修改系統標誌標誌位

名稱描述tf8

陷阱標誌

置1時,啟用單步模式,每次執行一條指令,等待下一條指令執行的訊號。除錯匯程式設計序時極有用if9

中斷使能標誌

控制處理器如何響應外部源接受到的訊號

iopl

12和13

i/o特權級別標誌

表明當前正在執行的任務的i/o許可權級別

nt14

巢狀任務標誌

控制當前執行的任務是否鏈結到前乙個執行的任務。用於鏈結被中斷和被呼叫的任務

rf16

恢復標誌

控制處理器在除錯模式如何響應異常

vm17

虛擬8086狀態標誌

表明處理器在虛擬8086狀態執行,而不是保護模式實或模式

ac18

對準檢查標誌

和cr0的am位一起 用於啟用記憶體引用的對準檢查

vif19

虛擬中斷標誌

處理器在虛擬模式中操作時,起到if 標誌位的作用

vip20

虛擬中斷掛起標誌

處理器在虛擬模式中操作時,標誌乙個中斷正被掛起

id21

識別標誌

表示處理器是否支援cpuid 指令

參考:

64-ia-32-architectures-software-developer-vol-1-manual

ia32 instruction set

《組合語言程式設計》richard blum著

IA 32位暫存器基礎

eax ax ah al累加器,低十六位可以用作十六位累加器,低十六位還可以分為兩個八位暫存器。ebx ds段的資料指標 基址暫存器。和eax類似。ecx 字串和迴圈操作的 計數器。和eax類似 edx i o指標 資料計數器。和eax類似。add sub xor or指令可以應用於這四個暫存器。用...

第4章 IA 32暫存器

intel x86系列的cpu採用的是小端序,risc系列的cpu採用採用的是大端序 小端序方便計算,大端序方便表示 記住下面的暫存器名字 eax 針對運算元和結果資料的 累加器 accumulation,或用在函式返回值中 ebx ds段中的資料指標 基址暫存器 ecx 字串和迴圈操作中的 計數器...

IA32體系結構1(x86暫存器)

intel architecture 32位處理器,主要以80386為參考。包括以下幾類暫存器 1.通用暫存器 2.段暫存器 3.狀態和控制暫存器 4.指令指標暫存器eip 5.記憶體管理暫存器 6.控制暫存器 通用暫存器有8個,分別是eax ebx ecx edx esi edi ebp esp。...