彙編常用指令

2021-09-26 01:52:02 字數 2272 閱讀 3350

一、資料傳輸指令i.

4. 標誌傳送指令.

lahf  標誌暫存器傳送,把標誌裝入ah.

sahf  標誌暫存器傳送,把ah內容裝入標誌暫存器.

pushf 標誌入棧.

popf  標誌出棧.

pushd 32位標誌入棧.

popd  32位標誌出棧.

二、算術運算指令

add  加法.

adc  帶進製加法.

inc  加 1.

aaa  加法的ascii碼調整.

daa  加法的十進位制調整.

sub  減法.

sbb  帶借位減法.

dec  減 1.

nec  求反(以 0 減之).

cmp  比較.(兩運算元作減法,僅修改標誌位,不回送結果).

aas  減法的ascii碼調整.

das  減法的十進位制調整.

mul  無符號乘法.

imul  整數乘法.

以上兩條,結果回送ah和al(位元組運算),或dx和ax(字運算),

aam  乘法的ascii碼調整.

div  無符號除法.

idiv  整數除法.

以上兩條,結果回送:

商回送al,餘數回送ah, (位元組運算);

或 商回送ax,餘數回送dx, (字運算).

aad  除法的ascii碼調整.

cbw  位元組轉換為字. (把al中位元組的符號擴充套件到ah中去)

cwd  字轉換為雙字. (把ax中的字的符號擴充套件到dx中去)

cwde  字轉換為雙字. (把ax中的字符號擴充套件到eax中去)

cdq  雙字擴充套件.  (把eax中的字的符號擴充套件到edx中去)

三、邏輯運算指令

and  與運算.

or   或運算.

xor  異或運算.

not  取反.

test  測試.(兩運算元作與運算,僅修改標誌位,不回送結果).

shl  邏輯左移.

sal  算術左移.(=shl)

shr  邏輯右移.

sar  算術右移.(=shr)

rol  迴圈左移.

ror  迴圈右移.

rcl  通過進製的迴圈左移.

rcr  通過進製的迴圈右移.

以上八種移位指令,其移位次數可達255次.

移位一次時, 可直接用操作碼. 如 shl ax,1.

移位》1次時, 則由暫存器cl給出移位次數.

如 mov cl,04

shl ax,cl

四、串指令

ds:si 源串段暫存器 :源串變址.

esi 目標串段暫存器:目標串變址.

cx   重複次數計數器.

al/ax 掃瞄值.

d標誌 0表示重複操作中si和di應自動增量; 1表示應自動減量.

z標誌 用來控制掃瞄或比較操作的結束.

movs  串傳送.

( movsb 傳送字元.  movsw 傳送字.  movsd 傳送雙字. )

cmps  串比較.

( cmpsb 比較字元.  cmpsw 比較字. )

scas  串掃瞄.

把al或ax的內容與目標串作比較,比較結果反映在標誌位.

lods  裝入串.

把源串中的元素(字或位元組)逐一裝入al或ax中.

( lodsb 傳送字元.  lodsw 傳送字.  lodsd 傳送雙字. )

stos  儲存串.

是lods的逆過程.

rep      當cx/ecx>0時重複.

repe/repz   當zf=1或比較結果相等,且cx/ecx>0時重複.

repne/repnz  當zf=0或比較結果不相等,且cx/ecx>0時重複.

repc     當cf=1且cx/ecx>0時重複.

repnc     當cf=0且cx/ecx>0時重複.

五、程式轉移指令

1、無條件轉移指令 (長轉移)

jmp  無條件轉移指令

call  過程呼叫

ret/retf過程返回.

2、條件轉移指令 (短轉移,-128到+127的距離內)

( 當且僅當(sf xor of)=1時,op1

彙編 常用指令

一 資料傳送指令 mov 傳送資料 兩個運算元 xchg 交換指令 兩個運算元 movsx 擴充套件資料指令 兩個運算元 movzx 擴充套件資料指令 兩個運算元 xlat 查表指令 無運算元 push pop 入棧,出棧 乙個運算元 lea 位址傳送指令 兩個運算元 in out 輸入輸出指令 兩...

彙編常用指令

一 程式除錯 1 用文字編輯器建立源程式,副檔名.asm,以1.asm為例 2 用masm生成1.obj檔案 輸入 masm 1.asm3 用link生成1.exe檔案 輸入 link 1.obj二 用debug除錯 1 用cmd進入命令列模式 win r,輸入cmd 2 用命令操作進入你的檔案 輸...

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

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