程式機器級表示 2 暫存器等相關知識

2021-09-09 09:18:18 字數 400 閱讀 8938

最初的8086有八個16位暫存器,即從%ax到%bp,擴充套件到ia32架構後暫存器也擴充套件成32位,即%eax到%ebp。到目前的x86-64,原先的8個暫存器就擴充套件成64位,即%rax到%rbp。除這些暫存器之外,還增加了8個新的暫存器,標號為%r8到%r15。

在各個程式中,不同的暫存器扮演不同的角色。其一般使用慣例如下:

一般指令都有對應的運算元,即該操作需要的員資料值和放置結果的目的位置。運算元一般分為三種型別。

第一種為立即數,即我們指定的乙個數字,如1,2,3,等等。一般書寫規範為$+c表示法表示的整數。如 $260,$0x1d。但是在書寫指令的時候,要注意立即數的範圍。

第二種為暫存器,其表述暫存器的內容。

第三種為記憶體引用,它根據計算出來的位址訪問記憶體中的某個位置。具體可以看如下所示的定址模式。

程式的機器級表示

三種 立即數 常數值,在att格式的彙編 中,書寫格式是 整數,如 123 0x12 暫存器 如 32位的 eax 16位的 ax 8位的 al 儲存器引用 mov 同等傳送,即倆者的大小一致 如 movb byte,movew word,movel longword dw movs movz 不同...

程式的機器級表示

32位和64位 instruction system architecture 程式計數器pc eip 整數暫存器 8個每個32位 有的用來記錄狀態,有的用來儲存臨時資料,區域性變數,返回值 3.條件碼暫存器 指標都是雙字 char short long 其他4位元組 movb movw movl ...

程式的機器級表示

本文對 深入理解計算機系統 第三版 中第三章 程式的機器級表示 中的部分內容進行了整理,以方便日後查閱。目錄 1.整數暫存器 2.運算元 3.資料傳送指令 mov類。4.壓入和彈出棧資料 push操作和pop操作 5.算術和邏輯操作 6.條件碼 7.比較和測試指令 cmp和test 8.set指令 ...