8088彙編指令集

2021-08-22 08:57:59 字數 2801 閱讀 7898

8088 彙編速查手冊

二、算術運算指令

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

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

loopcx不為零時迴圈.

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

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

jcxzcx為零時轉移.

jecxzecx為零時轉移.

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程式結束.

彙編指令集

1.通用資料傳送指令.mov 傳送字或位元組.movsx 先符號擴充套件,再傳送.movzx 先零擴充套件,再傳送.push 把字壓入堆疊.pop 把字彈出堆疊.pusha 把ax,cx,dx,bx,sp,bp,si,di依次壓入堆疊.popa 把di,si,bp,sp,bx,dx,cx,ax依次彈...

彙編指令集

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

彙編指令集

ja jnbe 不小於或不等於時轉移.jae jnb 大於或等於轉移.jb jnae 小於轉移.jbe jna 小於或等於轉移.以上四條,測試無符號整數運算的結果 標誌c和z jg jnle 大於轉移.jge jnl 大於或等於轉移.jl jnge 小於轉移.jle jng 小於或等於轉移.以上四條...