8088彙編指令表

2021-04-01 21:56:56 字數 3164 閱讀 8651

二、算術運算指令

───────────────────────────────────────

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  源串段暫存器  :源串變址.

es:di  目標串段暫存器:目標串變址.

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迴圈控制指令(短轉移)

loop            cx不為零時迴圈.

loope/loopz    cx不為零且標誌z=1時迴圈.

loopne/loopnz  cx不為零且標誌z=0時迴圈.

jcxz            cx為零時轉移.

jecxz          ecx為零時轉移.

4>中斷指令

int    中斷指令

into    溢位中斷

iret    中斷返回

5>處理器控制指令

hlt    處理器暫停, 直到出現中斷或復位訊號才繼續.

wait    當晶元引線test為高電平時使cpu進入等待狀態.

esc    轉換到外處理器.

lock    封鎖匯流排.

nop    空操作.

stc    置進製標誌位.

clc    清進製標誌位.

cmc    進製標誌取反.

std    置方向標誌位.

cld    清方向標誌位.

sti    置中斷允許位.

cli    清中斷允許位.

六、偽指令

───────────────────────────────────────

dw      定義字(2位元組).

proc    定義過程.

endp    過程結束.

segment 定義段.

assume  建立段暫存器定址.

ends    段結束.

end    程式結束.

8088彙編指令表

一 資料傳輸指令 三 邏輯運算指令 and 與運算.or 或運算.xor 異或運算.兩者相等為0,不等為1.not 取反.test 測試.兩 作數作與運算,僅修改標誌位,不回送結果 shl 邏輯左移.sal 算術左移.shl shr 邏輯右移.sar 算術右移.shr rol 迴圈左移.ror 迴圈...

彙編指令表

二 算術運算指令 add 加法.adc 帶進製加法.inc 加 1.aaa 加法的ascii碼調整.daa 加法的十進位制調整.sub 減法.sbb 帶借位減法.dec 減 1.nec 求反 以 0 減之 cmp 比較.兩運算元作減法,僅修改標誌位,不回送結果 aas 減法的ascii碼調整.das...

彙編 JCC指令表

jcc指令 中文含義 英文原意 檢查符號位 典型c應用 jz je 若為0則跳轉 若相等則跳轉 jump if zero jump if equal zf 1 if i j if i 0 jnz jne 若不為0則跳轉 若不相等則跳轉 jump if not zero jump if not equ...