彙編指令集

2021-04-06 12:48:42 字數 4929 閱讀 2134

ja/jnbe 不小於或不等於時轉移.

jae/jnb 大於或等於轉移.

jb/jnae 小於轉移.

jbe/jna 小於或等於轉移.

以上四條,測試無符號整數運算的結果(標誌c和z).

jg/jnle 大於轉移.

jge/jnl 大於或等於轉移.

jl/jnge 小於轉移.

jle/jng 小於或等於轉移.

以上四條,測試帶符號整數運算的結果(標誌s,o和z).

je/jz 等於轉移.

jne/jnz 不等於時轉移.

jc 有進製時轉移.

jnc 無進製時轉移.

jno 不溢位時轉移.

jnp/jpo 奇偶性為奇數時轉移.

jns 符號位為 "0" 時轉移.

jo 溢位轉移.

jp/jpe 奇偶性為偶數時轉移.

js 符號位為 "1" 時轉移.

3>迴圈控制指令(短轉移)

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

組合語言指令集

組合語言指令集,拿來給大家分享.

今日有幸得到乙個好東西,組合語言指令集,拿來給大家分享.

8086/8088組合語言指令集

資料傳送指令集

mov功能: 把源運算元送給目的運算元

語法: mov 目的運算元,源運算元

格式: mov r1,r2

mov r,m

mov m,r

mov r,data

xchg

功能: 交換兩個運算元的資料

語法: xchg

格式: xchg r1,r2 xchg m,r xchg r,m

push,pop

功能: 把運算元壓入或取出堆疊

語法: push 運算元 pop 運算元

格式: push r push m push data pop r pop m

pushf,popf,pusha,popa

功能: 堆疊指令群

格式: pushf popf pusha popa

lea,lds,les

功能: 取位址至暫存器

語法: lea r,m lds r,m les r,m

xlat(xlatb)

功能: 查表指令

語法: xlat xlat m

算數運算指令

add,adc

功能: 加法指令

語法: add op1,op2 adc op1,op2

格式: add r1,r2 add r,m add m,r add r,data

影響標誌: c,p,a,z,s,o

sub,sbb

功能:減法指令

語法: sub op1,op2 sbb op1,op2

格式: sub r1,r2 sub r,m sub m,r sub r,data sub m,data

影響標誌: c,p,a,z,s,o

inc,dec

功能: 把op的值加一或減一

語法: inc op dec op

格式: inc r/m dec r/m

影響標誌: p,a,z,s,o

neg功能: 將op的符號反相(取二進位制補碼)

語法: neg op

格式: neg r/m

影響標誌: c,p,a,z,s,o

mul,imul

功能: 乘法指令

語法: mul op imul op

格式: mul r/m imul r/m

影響標誌: c,p,a,z,s,o(僅imul會影響s標誌)

div,idiv

功能:除法指令

語法: div op idiv op

格式: div r/m idiv r/m

cbw,cwd

功能: 有符號數擴充套件指令

語法: cbw cwd

aaa,aas,aam,aad

功能: 非壓bcd碼運算調整指令

語法: aaa aas aam aad

影響標誌: a,c(aaa,aas) s,z,p(aam,aad)

daa,das

功能: 壓縮bcd碼調整指令

語法: daa das

影響標誌: c,p,a,z,s

位運算指令集

and,or,xor,not,test

功能: 執行bit與bit之間的邏輯運算

語法: and r/m,r/m/data or r/m,r/m/data xor r/m,r/m/data test r/m,r/m/data not r/m

影響標誌: c,o,p,z,s(其中c與o兩個標誌會被設為0) not指令不影響任何標誌位

shr,shl,sar,sal

功能: 移位指令

語法: shr r/m,data/cl shl r/m,data/cl sar r/m,data/cl sal r/m,data/cl

影響標誌: c,p,z,s,o

ror,rol,rcr,rcl

功能: 迴圈移位指令

語法: ror r/m,data/cl rol r/m,data/cl rcr r/m,data/cl rcl r/m,data/cl

影響標誌: c,p,z,s,o

程式流程控制指令集

clc,stc,cmc

功能: 設定進製標誌

語法: clc stc cmc

標誌位: c

cld,std

功能: 設定方向標誌

語法: cld std

標誌位: d

cli,sti

功能: 設定中斷標誌

語法: cli sti

標誌位: i

cmp功能: 比較op1與op2的值

語法: cmp r/m,r/m/data

標誌位: c,p,a,z,o

jmp功能: 跳往指定位址執行

語法: jmp 位址

jxx功能: 當特定條件成立則跳往指定位址執行

語法: jxx 位址

注:a: above,當c=0,z=0時成立

b: below,當c=1時成立

c: carry,當弁時成立 cxz: cx暫存器的值為0(zero)時成立

e: equal,當z=1時成立

g: greater(大於),當z=0且s=0時成立

l: less(小於),當s不為零時成立

n: not(相反條件),需和其它符號配合使用

o: overflow,o=1時成立

p: parity,p=1時成立

pe: parity even,p=1時成立

po: parity odd,p=0時成立

s: sign,s=1時成立

z: zero,z=1時成立

loop

功能: 迴圈指令集

語法: loop 位址

loope(z)

位址 loopne(z) 位址

標誌位: 無

call,ret

功能: 子程式呼叫,返回指令

語法: call 位址 ret ret n

標誌位: 無

int,iret

功能: 中斷呼叫及返回指令

語法: int n iret

標誌位: 在執行int時,cpu會自動將標誌暫存器的值入棧,在執行iret時則會將堆疊中的標誌值彈回暫存器

字串操作指令集

movsb,movsw,movsd

功能: 字串傳送指令

語法: movsb movsw movsd

標誌位: 無

cmpsb,cmpsw,cmpsd

功能: 字串比較指令

語法: cmpsb cmpsw cmpsd

標誌位: c,p,z,s,o

scasb,scasw

功能: 字串搜尋指令

語法: scasb scasw

標誌位: c,p,z,s,o

lodsb,lodsw,stosb,stosw

功能: 字串載入或存貯指令

語法: lodsb lodsw stosb stosw

標誌位: 無

rep,repe,repne

功能: 重複字首指令集

語法: rep 指令s repe 指令s repne 指令s

標誌位: 依指令s而定

彙編指令集

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依次壓...

彙編指令集

mov move 傳送指令 push 入棧指令 pop 出棧指令 xchg exchang 交換指令 xlat translate 換碼指令 lea load effective address 有效位址送暫存器指令 lds load ds with pointer 指標送暫存器和ds指令 les ...