總結下一下免得白白被《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指令給處理器提了個醒 這段 序列是個...