intel 指令格式

2021-05-28 17:27:19 字數 686 閱讀 1797

總結下一下免得白白被《intel manual》降低了視力。

下面說的是32位的intel cpu。

intel指令的格式就是intel機器碼的格式,跟彙編的語法格式不是一回事。

每條intel指令由六部分組成,如圖:

(英語不好,就不直接翻譯。)

1.指令字首

2.操作碼

3.mor r/m 

4.sib

5.displacement

6.immediate

指令字首

指令字首可有可無,多的時候可以加四個字首(每個字首佔乙個位元組)。字首本身被分成四組(具體可查手冊),每條指令的字首組

合只能是來自不同組。

操作碼

操作碼的長度可以是1、2或3個位元組,他指定了控存中微程式的位址。在有兩個運算元的指令中,opcode還能指定操作的方向。

舉個例子說:

mov  ax , bx  和 mov  bx , ax 

在彙編中ax和bx顛倒體現在指令中就是opcode中的某一位 由1變為0.

抗不牢了,先睡覺

Intel體系MMX指令

emms mmx狀態置空 將fp特徵字置空 全1 使後續浮點指令可以使用浮點暫存器,其他mmx指令自動置fp為全0.本指令應在所有mmx例程結束和呼叫可含有fp指令的例程時使用,以清除mmx狀態.movd r m32,mm 轉移32位資料 將32位資料從整型暫存器 記憶體移到mmx暫存器,和反向移動...

Intel 彙編指令手冊

一 資料傳輸指令 它們在存貯器和暫存器 暫存器和輸入輸出埠之間傳送資料.1.通用資料傳送指令.mov 傳送字或位元組.movsx 先符號擴充套件,再傳送.movzx 先零擴充套件,再傳送.push 把字壓入堆疊.pop 把字彈出堆疊.pusha 把ax,cx,dx,bx,sp,bp,si,di依次壓...

Intel優化手冊 PAUSE指令解釋

pause指令提公升了自旋等待迴圈 spin wait loop 的效能。當執行乙個迴圈等待時,intel p4或intel xeon處理器會因為檢測到乙個可能的記憶體順序違規 memory order violation 而在退出迴圈時使效能大幅下降。pause指令給處理器提了個醒 這段 序列是個...