版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1/1匯編語言的各條指令常用命令
數(shù)據(jù)傳送指令
一通用數(shù)據(jù)傳送指令
MOV指令為雙操作數(shù)指令,兩個(gè)操作數(shù)中不能全為內(nèi)存操作數(shù)
格式:MOVDST,SRC
執(zhí)行操作:dst=src
注:1.目的數(shù)可以是通用寄存器,存儲(chǔ)單元和段寄存器(但不允許用CS段寄存器).
2.立即數(shù)不能直接送段寄存器
3.不允許在兩個(gè)存儲(chǔ)單元直接傳送數(shù)據(jù)
4.不允許在兩個(gè)段寄存器間直接傳送信息
PUSH入棧指令及POP出棧指令:
堆棧操作是以“后進(jìn)先出”的方式進(jìn)行數(shù)據(jù)操作。
格式:PUSHSRC//Word
執(zhí)行操作:(SP)(OPR2)
注:1.必須有一個(gè)操作數(shù)是在寄存器中
2.不能與段寄存器交換數(shù)據(jù)
存儲(chǔ)器與存儲(chǔ)器之間不能交換數(shù)據(jù)。
二累加器專用傳送指令
IN輸入指令
長(zhǎng)格式為:INAL,PORT(字節(jié))
INAX,PORT(字)
執(zhí)行的操作:(AL)<-(PORT)(字節(jié))
(AX)<-(PORT+1,PORT)(字)
短格式為:INAL,DX(字節(jié))
INAX,DX(字)
OUT輸出指令
長(zhǎng)格式為:OUTPORT,AL(字節(jié))
OUTPORT,AX(字)
執(zhí)行的操作:(PORT)<-(AL)(字節(jié))
(PORT+1,PORT)<-(AX)(字)
短格式為:OUTDX,AL(字節(jié))
OUTDX,AX(字)
執(zhí)行的操作:((DX))<-(AL)(字節(jié))
((DX)+1,(DX))<-AX(字)
XLAT(TRANSLATE)換碼指令:
把一種代碼轉(zhuǎn)換為另一種代碼。
格式:XLAT(OPR可選)//Byte
執(zhí)行操作:(AL)<-((BX)+(AL))
注:指令執(zhí)行時(shí)只使用預(yù)先已存入BX中的表格首地址,執(zhí)行后,AL中內(nèi)容則是所要轉(zhuǎn)換的代碼。
三有效地址送寄存器指令
LEA(LoadEffectiveAddress):
有效地址傳送寄存器指令
格式:LEAREG,SRC//指令把源操作數(shù)SRC的有效地址送到指定的寄存器中。
執(zhí)行操作:(REG)<-SRC
注:1.SRC只能是各種尋址方式的存儲(chǔ)器操作數(shù),REG只能是16位寄存器
2.MOVBX,OFFSETOPER_ONE等價(jià)于LEABX,OPER_ONE
3.MOVSP,[BX]//將BX間接尋址的相繼的二個(gè)存儲(chǔ)單元的內(nèi)容送入SP中
4.LEASP,[BX]//將BX的內(nèi)容作為存儲(chǔ)器有效地址送入SP中
LDS(LoadDSwithpointer):
指針?biāo)图拇嫫骱虳S指令
格式:LDSREG,SRC//常指定SI寄存器。
執(zhí)行的操作:(REG)<-(SRC)
(DS)<-(SRC+2)
注:把源操作數(shù)指定的4個(gè)相繼字節(jié)送到由指令指定的寄存器及DS寄存器中。該指令常指定SI寄存器。
LES(LoadESwithpointer)指針?biāo)图拇嫫骱虴S指令
格式:LESREG,SRC//常指定DI寄存器
執(zhí)行的操作:(REG)<-(SRC)
(ES)<-(SRC+2)//與LDS大致相同,不同之處是將ES代替DS而已。
字節(jié)送到由指令指定的寄存器及ES寄
存器中。該指令常指定DI寄存器。
四標(biāo)志寄存器傳送指令
LAHF(LoadAHwithFlags
)
標(biāo)志位送AH指令
格式:LAHF
執(zhí)行操作:(AH)<-(PWS的低字節(jié))
注:將PSW寄存器中的低8位的狀態(tài)標(biāo)志(條件碼)送入AH的相應(yīng)位,SF送D7位,ZF送D6位
SAHF(StoreAHintoFlags)
AH送標(biāo)志寄存器指令
格式:SAHF
執(zhí)行操作:(PWS的低字節(jié))<-(AH)
注:將AH寄存器的相應(yīng)位送到PSW寄存器的低8位的相應(yīng)位,AH的D7位送SF,D6位送ZF。
PUSHF(PUSHtheFlags)
標(biāo)志進(jìn)棧指令
格式:PUSHF
執(zhí)行操作:(SP)<-(SP)-2
SP=SP-1,(SP)=PSW的高8位,SP=SP-1,(SP)=PSW的低8位
注:將標(biāo)志寄存器的值壓入堆棧頂部,同時(shí)棧指針SP值減2
POPF(POPtheFlags)
標(biāo)志出棧指令
格式:POPF
執(zhí)行操作:(PWS)<-((SP)+1,(SP))
(SP)<-(SP+2)
PSW低8位=(SP),SP=SP+1,PSW高8位=(SP),SP=SP+1
注:與PUSHF相反,從堆棧的頂部彈出兩個(gè)字節(jié)送到PSW寄存器中,同時(shí)堆棧指針值加2
算術(shù)指令
一加法指令
ADD(ADD)加法指令
格式:ADDDST,SRC//Byte/Word
執(zhí)行操作:(DST)<-(SRC)+(DST)
注:1.兩個(gè)存儲(chǔ)器操作數(shù)不能通過ADD指令直接相加,即DST和SRC必須有一個(gè)是通用寄存器操作數(shù)。
2.段寄存器不能作為SRC和DST.
3.影響標(biāo)志位
AuxiliaryCrrayFlag,CarryFlag,OverflowFlag,ParityFlag,SignFlag和ZeroFlag,如下所示:
CF根據(jù)最高有效位是否有進(jìn)(借)位設(shè)置的:有進(jìn)(借)位時(shí)CF=1,無進(jìn)(借)位時(shí)
CF=0.
OF根據(jù)操作數(shù)的符號(hào)及其變化來設(shè)置的:若兩個(gè)操作數(shù)的符號(hào)相同,而結(jié)果的符號(hào)與之相反時(shí)OF=1,否則為0.
ZF根據(jù)結(jié)果來設(shè)置:不等于0時(shí)ZF=0,等于0時(shí)ZF=1
SF根據(jù)結(jié)果的最高位來設(shè)置:最高位為0,則SF=0.
AF根據(jù)相加時(shí)D3是否向D4進(jìn)(借)位來設(shè)置:有進(jìn)(借)位時(shí)AF=1,無進(jìn)(借)位時(shí)
AF=0
PF根據(jù)結(jié)果的1的個(gè)數(shù)時(shí)否為奇數(shù)來設(shè)置:1的個(gè)數(shù)為奇數(shù)時(shí)PF=0,為偶數(shù)時(shí)PF=1
ADC(ADdwithCarry)帶進(jìn)位加法指令
格式:ADCDST,SRC//Byte/Word
執(zhí)行操作:(DST)<-(SRC)+(DST)+CF
注:與ADD不同之處是還要加上進(jìn)位標(biāo)志位的值。
INC(INCrement)加1指令
格式:INCOPR//Byte/Word
執(zhí)行操作:(OPR)<-(OPR)+1
注:1.OPR可以是寄存器和存儲(chǔ)器操作數(shù),但不能是立即數(shù)和段寄存器2.影響標(biāo)志位OF,SF,ZF,PF和AF,不影響CF.
二減法指令
SUB(SUBtract)不帶借位的減法指令
格式:SUBDST,SRC//Byte/Word
執(zhí)行操作:(DST)<-(DST)-(SRC)
注:1.DST和SRC尋址方式及規(guī)定與ADD相同。
2.影響全部標(biāo)志位。(判斷標(biāo)志位參見ADD)
SBB(SuBtractwithBorrow)帶借位減法指令
格式:SBBDST,SRC//Byte/Word
執(zhí)行操作:(DST)<-(DST)-(SRC)-CF
DEC(DECrement)減1指令
格式:DECOPR//Byte/Word
執(zhí)行操作:(OPR)<-(OPR)-1//除CF標(biāo)志位,其余標(biāo)志位都受影響。
NEG(NEGate)求補(bǔ)指令
格式:NEGOPR
執(zhí)行操作:(OPR)<--(OPR)//將操作數(shù)按位求反后末位加1.
CMP(CoMPare)比較指令
格式:CMPOPR1,OPR2
執(zhí)行操作:(OPR1)-(OPR2)//與SUB指令一樣執(zhí)行運(yùn)算,但不保存結(jié)果。
注:該指令與SUB指令一樣執(zhí)行減法操作,但不保存結(jié)果,只是根據(jù)結(jié)果設(shè)置條件標(biāo)志。
三乘法指令
MUL(unsignedMULtiple)無符號(hào)數(shù)乘法指令
格式:MULSRC//Byte/Word.
執(zhí)行操作:字操作:(AX)<-(AL)*(SRC)//字節(jié)運(yùn)算時(shí)目的操作數(shù)用AL,乘積放在AX中
字節(jié)操作:(DX,AX)<-(AX)*(SRC)//字運(yùn)算時(shí)目的操作數(shù)用AX,DX存放乘積的高位字,AX放乘積的低位字
注:1.目的數(shù)必須是累加器AX或AL,指令中不需寫出
源操作數(shù)SRC可以是通用寄存器和各種尋址方式的存儲(chǔ)器操作數(shù),而絕對(duì)不允許是立即數(shù)或段寄存器。
IMUL(sIgnedMULtiple)有符號(hào)數(shù)乘法指令
格式:IMULSRC//與MUL指令相同,但必須是帶符號(hào)數(shù)
四除法指令
DIV(unsignedDIVide)無符號(hào)數(shù)除法指令
格式:DIVSRC//Byte/Word其中:SRC的規(guī)定同乘法指令MUL
執(zhí)行操作:字節(jié)操作:(AL)<-(AX)/(SRC)的商
(AH)<-(AX)/(SRC)的余數(shù)
字操作:(AX)<-(DX,AX)/(SRC)的商
(DX)<-(DX,AX)/(SRC)的余數(shù)
注:存儲(chǔ)器操作數(shù)必須指明數(shù)據(jù)類型:BYTEPTRsrc或WORDPTRsrc
IDIV(sIgnedDIVied)有符號(hào)數(shù)除法指令
格式:IDIVSRC
執(zhí)行的操作:與DIV相同,但操作數(shù)必須是帶符號(hào)數(shù),商和余數(shù)也均為帶符號(hào)數(shù),且余數(shù)的符號(hào)與被除數(shù)的符號(hào)相同。
CBW(ConvertBytetoWord)字節(jié)轉(zhuǎn)換為字指令
格式:CBW
執(zhí)行操作:AL中的符號(hào)位(D7)擴(kuò)展到8位AH中,若AL中的D7=0,則AH=00H,若AL中的D7=1,則AH=FFH.
CWD(ConvertWordtoDoubleword)字轉(zhuǎn)換為雙字指令
格式:CWD
執(zhí)行操作:AX中的符號(hào)位(D15)擴(kuò)展到16位DX中,若AX中的D15=0,則DX=0000H,若AX中的D15=1,則DX=FFFFH
注:這兩條指令都不影響條件碼。
邏輯指令
一邏輯運(yùn)算指令
AND,OR,XOR和TEST都是雙字節(jié)操作指令,操作數(shù)的尋址方式的規(guī)定與算術(shù)運(yùn)算指令相同。
NOT是單字節(jié)操作指令,不允許使用立即數(shù)。
邏輯運(yùn)算均是按位進(jìn)行操作,真值表如下:
AND(and)邏輯與指令
格式:ANDDST,SRC//Byte/Word
執(zhí)行操作:(DST)<-(DST)^(SRC)
注:1.AND指令執(zhí)行后,將使CF=0,OF=0,AF位無定義,指令執(zhí)行結(jié)果影響SF,ZF和PF標(biāo)志位。
2.AND指令典型用法A:用于屏蔽某些位,即使某些位為0.
例子:屏蔽AL的高4位:即將高4位和0000B相與,低4位和1111B相與
MOVAL,39H//AL=00111001B[39H]
ADDAL,0FH//AL=00001001B[09H]即
00111001B[39H]&00001111B[0FH]=00001001B[09H]
AND指令典型用法B:取出某一位的值(見TEST)
OR(or)邏輯或指令
格式:ORDST,SRC//Byte/Word
執(zhí)行操作:(DST)<-(DST)|(SRC)
注:1.OR指令執(zhí)行后,將使CF=0,OF=0,AF位無定義,指令執(zhí)行結(jié)果影響SF,ZF和PF標(biāo)志位。
2.常用于將某些位置1.
例子:將AL的第5位置1:
MOVAL,4AH//AL=01001010B[4AH]
ORAL,10H//AL=01011010B[5AH]即
01001010B[4AH]|00010000B[10H]=01011010B[5AH]
XOR(eXclusiveOR)邏輯異或指令
格式:XORDST,SRC//Byte/Word
執(zhí)行操作:(DST)<-(DST)^(SRC)
注:1.XOR指令常用于使某個(gè)操作數(shù)清零,同時(shí)使CF=0,清除進(jìn)位標(biāo)志。
2.XOR指令使某些位維持不變則與'0'相異或,若要使某些位取反則與'1'相異或。
例子:將AL的高4位維持不變,低4位取反:
MOVAL,B8H//AL=10111000B[B8H]
XORAL,0FH//AL=10110111B[B7H]即
10111000B[B8H]^00001111[0FH]=10110111B[B7H]
例子:測(cè)試某一個(gè)操作數(shù)是否與另一確定操作數(shù)相等:
XORAX,042EH
JZ//如果AX==042EH,則ZF=TRUE(1),執(zhí)行JZ...
NOT(not)邏輯非指令
格式:NOTOPR//Byte/Word
執(zhí)行操作:(OPR)<~(OPR)//~01100101[65H]=10011010[9AH]
1.操作數(shù)不能使用立即數(shù)或段寄存器操作數(shù),可使用通用寄存器和各種方式尋址的存儲(chǔ)器操作數(shù)。
2.NOT指令不影響任何標(biāo)志位。
例子:將AL各位取反:
MOVAL,65H//AL=01100101B[65H]
NOTAL//AL=10011010B[9AH]即~01100101B[65H]=10011010B[9AH]
TEST(test)指令
格式:TESTOPR1,OPR2//Byte/Word
執(zhí)行操作:opr1&opr2
注:1.兩個(gè)操作數(shù)相與的結(jié)果不保存,結(jié)果影響標(biāo)志位PF,SF和ZF,使CF=0,OF=0,而AF位無定義。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省福州市九校聯(lián)考2025-2026學(xué)年七年級(jí)上學(xué)期期中語文試題(含答案)(含解析)
- 2026年行政人員職業(yè)素養(yǎng)進(jìn)階培訓(xùn)
- 2026福建中醫(yī)藥大學(xué)附屬人民醫(yī)院招聘非在編合同制人員40人備考題庫(一)完整參考答案詳解
- 城市公共停車場(chǎng)管理手冊(cè)
- 2026年農(nóng)業(yè)科技創(chuàng)新成果轉(zhuǎn)化路徑
- 職業(yè)噪聲與心血管疾病精準(zhǔn)預(yù)防策略
- 口腔種植技術(shù)年終總結(jié)(3篇)
- 2022~2023初級(jí)護(hù)師考試題庫及答案第653期
- 中國北京科學(xué)院科技戰(zhàn)略咨詢研究院2022年招聘人員試題及答案解析1
- 職業(yè)健康遠(yuǎn)程隨訪的醫(yī)患協(xié)同管理策略優(yōu)化
- ISO9001-2015質(zhì)量管理體系版標(biāo)準(zhǔn)
- 翻建房屋四鄰協(xié)議書范本
- 打樁承包合同
- 輸煤棧橋彩鋼板更換施工方案
- 農(nóng)田水利施工安全事故應(yīng)急預(yù)案
- 某電廠380v開關(guān)柜改造電氣施工方案
- 江西省景德鎮(zhèn)市2024-2025學(xué)年七年級(jí)上學(xué)期期中地理試卷(含答案)
- 財(cái)務(wù)經(jīng)理年終總結(jié)2024
- 2024年職教高考《機(jī)械制圖》考試題庫
- 開發(fā)區(qū)蒸汽管道工程施工組織設(shè)計(jì)
- DL∕T 593-2016 高壓開關(guān)設(shè)備和控制設(shè)備標(biāo)準(zhǔn)的共用技術(shù)要求
評(píng)論
0/150
提交評(píng)論