彙編指令 CDQ

2021-07-09 01:21:22 字數 417 閱讀 6806

cdq 是乙個讓很多人感到困惑的指令。這個指令把 eax 的第 31 bit 複製到 edx 的每乙個 bit 上。 它大多出現在除法運算之前。它實際的作用只是把edx的所有位都設成eax最高位的值。也就是說,當eax <80000000, edx 為00000000;當eax >= 80000000, edx 則為ffffffff。

例如 :

假設 eax 是 fffffffb (-5) ,它的第 31 bit (最左邊) 是 1,

執行 cdq 後, cdq 把第 31 bit 複製至 edx 所有 bit

edx 變成 ffffffff

這時候, edx:eax 變成 ffffffff fffffffb ,它是乙個 64 bit 的大型數字,數值依舊是 -5。

備註:edx:eax,這裡表示edx,eax連用表示64位數

mo彙編指令 彙編指令大全

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

彙編 彙編指令大全

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

彙編指令msr STM 常用彙編指令

在嵌入式開發中,匯程式設計序常常用於非常關鍵的地方,比如系統啟動時初始化,進出中斷時 的環境保護,恢復等對效能有要求的地方。arm指令集可以分為六大類,分別為資料處理指令 load store 指令 跳轉指令 程式狀態 暫存器處理指令 協處理器指令和異常產生指令。arm指令使用的基本格式如下 opc...