版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本教案內(nèi)容第3章8086CPU指令系統(tǒng)匯編語(yǔ)言指令8086指令分類數(shù)據(jù)與轉(zhuǎn)移地址的尋址方式數(shù)據(jù)傳送類指令算術(shù)運(yùn)算類指令邏輯運(yùn)算類指令移位類指令標(biāo)志位操作指令轉(zhuǎn)移指令循環(huán)控制指令子程序調(diào)用返回指令中斷調(diào)用返回指令字符串操作指令I(lǐng)/O輸入輸出指令其它指令宏指令13.5算術(shù)運(yùn)算類指令●只要ALU涉及到運(yùn)算,其運(yùn)算結(jié)果會(huì)影響6個(gè)狀態(tài)標(biāo)志位。23.5算術(shù)運(yùn)算類指令一、加減法指令(一)加法指令(ADD、ADC)(Addbyteorword/withcarry)格式:ADDDST,SRC ;(DST)←(SRC)+(DST)ADCDST,SRC;(DST)←(SRC)+(DST)+(CF)SRC可以取立即數(shù)、通用寄存器和存儲(chǔ)單元,DST可以取通用寄存器和存儲(chǔ)單元,但SRC和DST不能同時(shí)取存儲(chǔ)單元。
33.5算術(shù)運(yùn)算類指令例如,設(shè)變量VAR1為字型變量,VAR2為字節(jié)變量,則有ADDAX,56A0H ;(AX)←(AX)+56A0HADCVAR1,127FH ;(VAR1)←(VAR1)+127FH+(CF)ADDBL,VAR2 ;(BL)←(BL)+(VAR2)ADDBYTEPTRVAR1,AL;(VAR1的低字節(jié))←(VAR1的低字節(jié))+(AL)43.5算術(shù)運(yùn)算類指令A(yù)DD和ADC指令會(huì)影響PSW中的6個(gè)狀態(tài)標(biāo)志位:CF、AF、OF、SF、ZF和PF。例:(AX)=125AH,執(zhí)行ADDAX,78C6H后(AX)=8B20H,CF=0,AF=1,OF=1,SF=1,ZF=0,PF=0。53.5算術(shù)運(yùn)算類指令例3.2設(shè)在DVAR開始的連續(xù)8字節(jié)中分別存放著兩個(gè)數(shù)A和B(每個(gè)數(shù)為32位),求C=A+B,并將結(jié)果C放到DVARC開始的內(nèi)存中。解:設(shè)這兩個(gè)數(shù)分別為A=00127654H、B=00049821H,則在數(shù)據(jù)段中有變量定義語(yǔ)句:DVAR DD 00127654H DD 00049821HDVARCDD ?63.5算術(shù)運(yùn)算類指令LEADI,DVARMOVAX,4[DI];取低位字到(AX)ADDAX,[DI];低位字相加MOVWORDPTRDVARC,AX MOVAX,6[DI];取高位字到(AX)ADCAX,2[DI];高位字相加(帶進(jìn)位)MOVWORDPTRDVARC+2,AX73.5算術(shù)運(yùn)算類指令(二)減法指令(SUB、SBB)Subtractbyteorword/withborrow
格式:SUBDST,SRC;(DST)←(DST)-(SRC)SBBDST,SRC;(DST)←(DST)-(SRC)-(CF)指令中DST、SRC的說(shuō)明與ADD指令相同。
83.5算術(shù)運(yùn)算類指令例如,設(shè)VAR1為字型變量,VAR2為字節(jié)變量,則有SUBAL,2CH ;(AL)←(AL)-2CHSUBVAR1,2184H;(VAR1)←(VAR1)-2184HSBBDL,VAR2[SI];(DL)←(DL)-((OFFSETVAR2)+(SI))-(CF)
93.5算術(shù)運(yùn)算類指令減法指令SUB和SBB會(huì)影響PSW中的6個(gè)狀態(tài)標(biāo)志位:CF、AF、OF、SF、ZF和PF。例如:MOVAX,1734H SUBAX,5566H執(zhí)行后有(AX)=0C1CEH
CF=1,AF=1,OF=0,SF=1,ZF=0,PF=0103.5算術(shù)運(yùn)算類指令例3.3設(shè)DVAR1和DVAR2保存有雙字?jǐn)?shù),求DVAR1-DVAR2,并將結(jié)果保存在雙字變量DVARR中。解:設(shè)在數(shù)據(jù)段中有變量定義語(yǔ)句:DVAR1 DD 78127654HDVAR2 DD 12349821HDVARR DD ?113.5算術(shù)運(yùn)算類指令MOVAX,WORDPTRDVAR1 SUBAX,WORDPTRDVAR2 MOVWORDPTRDVARR,AX MOVAX,WORDPTRDVAR1+2 SBBAX,WORDPTRDVAR2+2 MOVWORDPTRDVARR+2,AX 123.5算術(shù)運(yùn)算類指令(三)取負(fù)指令(NEG)Negatebyteorword
格式:NEGDST ;(DST)←0-(DST)說(shuō)明:DST可以取通用寄存器和存儲(chǔ)單元。NEG指令影響PSW中的6個(gè)狀態(tài)標(biāo)志位.133.5算術(shù)運(yùn)算類指令例如,設(shè)(AL)=01H,則執(zhí)行指令NEGAL后,(AL)=0FFH143.5算術(shù)運(yùn)算類指令二、比較指令CMPComparebyteorword
格式:CMPDST,SRC ;(DST)-(SRC),并設(shè)置PSW中的狀態(tài)標(biāo)志位說(shuō)明:CMP指令與減法指令類似,只是其結(jié)果不保存到DST。153.5算術(shù)運(yùn)算類指令CMP指令將正常影響PSW中的6個(gè)狀態(tài)標(biāo)志位:CF、AF、OF、SF、ZF和PF。
對(duì)兩個(gè)數(shù)進(jìn)行CMP運(yùn)算,其主要目的是為了比較兩數(shù)的大小、相等關(guān)系:(1)若兩數(shù)相減結(jié)果為0,即兩數(shù)相等,則ZF=1;(2)SF等同于最高位;(3)CF,OF視具體情況而定。163.5算術(shù)運(yùn)算類指令當(dāng)兩個(gè)無(wú)符號(hào)數(shù)進(jìn)行比較時(shí),如果CF=0、ZF=0,則表示(DST)>(SRC);如果CF=1,則表示(DST)<(SRC)。當(dāng)兩個(gè)有符號(hào)數(shù)進(jìn)行比較時(shí),OF=1表示運(yùn)算產(chǎn)生了溢出,但大小的比較要根據(jù)OF和SF共同來(lái)決定,當(dāng)OFSF=0時(shí),(DST)>(SRC),當(dāng)OFSF=1時(shí),(DST)<(SRC)。173.5算術(shù)運(yùn)算類指令例:兩個(gè)無(wú)符號(hào)數(shù)(AL)=49H、(BL)=28H進(jìn)行大小比較。解:指令段為: MOV AL,49H MOV BL,28H CMP AL,BL執(zhí)行后,CF=0,ZF=0,說(shuō)明49H>28H。如果采用CMPBL,AL語(yǔ)句,則CF=1,說(shuō)明28H<49H。183.5算術(shù)運(yùn)算類指令例3.5兩個(gè)有符號(hào)數(shù)-104、-113進(jìn)行大小比較。解:當(dāng)采用8位補(bǔ)碼表示時(shí),這兩個(gè)有符號(hào)數(shù)分別為98H和8FH。程序段為:
MOV AL,-104 MOV BL,-113 CMP AL,BL執(zhí)行后,OF=0,SF=0,說(shuō)明-104>-113。如果采用CMPBL,AL語(yǔ)句,則OF=0,SF=1,這說(shuō)明-113<-104。
193.5算術(shù)運(yùn)算類指令例3.6兩個(gè)有符號(hào)數(shù)57、-113進(jìn)行大小比較。解:當(dāng)采用8位補(bǔ)碼表示時(shí),這兩個(gè)有符號(hào)數(shù)分別為39H和8FH。程序段為: MOV AL,57 MOV BL,-113 CMP AL,BL執(zhí)行后,OF=1,SF=1,說(shuō)明57>-113。如果采用CMPBL,AL語(yǔ)句,則OF=1,SF=0,這說(shuō)明-113<57。
203.5算術(shù)運(yùn)算類指令三、增量減量指令格式:INCDST ;(DST)←(DST)+1DECDST ;(DST)←(DST)-1說(shuō)明: INC和DEC指令可以正常影響PSW中的5個(gè)標(biāo)志位:AF、OF、SF、ZF和PF,但它們不會(huì)影響CF位。213.5算術(shù)運(yùn)算類指令四、乘法和除法指令(一)乘法指令MULSRC ;無(wú)符號(hào)數(shù)相乘IMULSRC ;有符號(hào)數(shù)相乘說(shuō)明:指令的目的操作數(shù)隱含在AX(或AL)中,SRC可以取通用寄存器和存儲(chǔ)單元,它必須有類型,而且只能是字節(jié)和字,它們決定了乘法操作的類型。223.5算術(shù)運(yùn)算類指令乘法操作的類型:
①當(dāng)SRC為字節(jié)時(shí),表示將AL中的數(shù)與(SRC)相乘,其結(jié)果放入(AX)中;AX(AL)×(SRC)積字節(jié)乘法SRC(乘數(shù))DST(被乘數(shù))233.5算術(shù)運(yùn)算類指令乘法操作的類型:
②當(dāng)SRC為字時(shí),表示將AX中的數(shù)與(SRC)相乘,其結(jié)果的高16位保存在(DX),低16位保存在(AX)。DX:AX(AX)×(SRC)積字乘法243.5算術(shù)運(yùn)算類指令MUL和IMUL指令只對(duì)PSW的CF、OF位有影響,其規(guī)則為:即CF=0,OF=0表示字節(jié)←字節(jié)×字節(jié)字←字×字①對(duì)MUL指令字運(yùn)算時(shí),若結(jié)果的高字為0,則CF=0,OF=0;字節(jié)運(yùn)算時(shí),若結(jié)果的AH為0,則CF=0,OF=0;否則CF=1,OF=1。
253.5算術(shù)運(yùn)算類指令②對(duì)IMUL指令字運(yùn)算時(shí),若結(jié)果的DX為符號(hào)擴(kuò)展,則CF=0,OF=0;否則CF=1,OF=1。字節(jié)運(yùn)算時(shí),若結(jié)果的AH為符號(hào)擴(kuò)展,則CF=0,OF=0;否則CF=1,OF=1。26例1.下列指令是合法的。MULCX;(DX:AX)(AX)*(CX),為字操作IMULCL;(AX)(AL)*(CL),為字節(jié)操作3.5算術(shù)運(yùn)算類指令下列指令是非法的。MULAL,BLIMUL05H〤DST(被乘數(shù))應(yīng)為隱含尋址〤SRC(乘數(shù))不能為立即數(shù)尋址273.5算術(shù)運(yùn)算類指令例3.7乘法的字節(jié)運(yùn)算。要計(jì)算兩個(gè)無(wú)符號(hào)數(shù)2CH、42H的乘積,結(jié)果保存在AX中。程序段如下:MOVAL,2CHMOVBL,42HMULBL結(jié)果(AX)=0B58H,CF=1,OF=1。283.5算術(shù)運(yùn)算類指令例3.9字節(jié)×字運(yùn)算。要計(jì)算兩個(gè)有符號(hào)數(shù)15H、FB78H的乘積。有符號(hào)數(shù)FB78H為負(fù)數(shù)(-1160)。程序段為:
MOV AL,15H CBW MOV BX,0FB78H IMUL BX執(zhí)行得到結(jié)果(DX)=FFFFH,(AX)=A0D8H,CF=0,OF=0。293.5算術(shù)運(yùn)算類指令(二)除法指令格式:DIVSRC ;無(wú)符號(hào)數(shù)的除法IDIVSRC ;有符號(hào)數(shù)的除法說(shuō)明:指令的目的操作數(shù)隱含在DX:AX(或AX)中,SRC可以取通用寄存器和存儲(chǔ)單元,它必須有類型,而且只能是字節(jié)和字,它們決定了除法操作的類型。303.5算術(shù)運(yùn)算類指令除法操作類型:①當(dāng)SRC為字節(jié)時(shí),表示將AX中的16位二進(jìn)制數(shù)除以8位二進(jìn)制數(shù)(SRC),其結(jié)果的商保存在(AL)中,余數(shù)保存在(AH)中;(AX)/(SRC)AL商字節(jié)除法余數(shù)AH313.5算術(shù)運(yùn)算類指令②當(dāng)SRC為字時(shí),表示將DX與AX聯(lián)合構(gòu)成的32位二進(jìn)制數(shù)除以16位二進(jìn)制數(shù)(SRC),其結(jié)果的商保存在(AX)中,余數(shù)保存在(DX)中。(DX:AX)/(SRC)AX字除法DX商余數(shù)323.5算術(shù)運(yùn)算類指令DIV和IDIV指令不影響PSW中的標(biāo)志位.除法不允許出現(xiàn)除數(shù)為0或商溢出,若發(fā)生除數(shù)為0或商溢出則其結(jié)果沒有意義,并引起中斷。33例1.下列指令是合法的。DIVBLIDIVCXDIVWORDPTR[BX][SI]3.5算術(shù)運(yùn)算類指令下列指令是非法的。DIV12DIV[SI]+02H
IDIVAX,BL〤SRC(除數(shù))不能為立即數(shù)尋址〤SRC類型不明確〤DST(被除數(shù))應(yīng)為隱含尋址343.5算術(shù)運(yùn)算類指令例3.10字÷字節(jié)的除法運(yùn)算。設(shè)要完成除法運(yùn)算12345÷156。解:被除數(shù)12345可以用一個(gè)字表示,除數(shù)156可以用一個(gè)字節(jié)表示,因此可以直接采用除法的字節(jié)運(yùn)算。程序段為:執(zhí)行結(jié)果商(AL)=4FH余數(shù)(AH)=15HMOV AX,12345MOV BL,156DIV BL353.5算術(shù)運(yùn)算類指令例3.12完成無(wú)符號(hào)除法運(yùn)算00011240H÷0A0H。解:被除數(shù)可以用一個(gè)雙字表示,除數(shù)本身可以用一個(gè)字節(jié)表示,但除法運(yùn)算只能采用雙字÷字,因此除數(shù)應(yīng)該變換成字。對(duì)無(wú)符號(hào)數(shù)來(lái)說(shuō),由字節(jié)變換成字只需要將高位字節(jié)填0。程序段為:MOV AX,1240HMOV DX,0001HMOV BL,0A0HMOV BH,0DIV BX執(zhí)行結(jié)果商(AX)=01B6H,余數(shù)(DX)=0080H。363.5算術(shù)運(yùn)算類指令五、符號(hào)擴(kuò)展指令格式:
CBW ;將AL中的符號(hào)擴(kuò)展到AH中,形成一個(gè)字AX
CWD;將AX中的符號(hào)擴(kuò)展到DX中,形成雙字(DX:AX)373.5算術(shù)運(yùn)算類指令CBW(Convertbytetoword)為字節(jié)到字的符號(hào)擴(kuò)展指令,將AL中的符號(hào)位D7擴(kuò)展到AH:當(dāng)D7=0時(shí),AH=00H當(dāng)D7=1時(shí),AH=FFHCWD(Convertwordtodoubleword)為字到雙字的符號(hào)擴(kuò)展指令,將AX中的符號(hào)位D15擴(kuò)展到DX:當(dāng)D15=0時(shí),DX=0000H當(dāng)D15=1時(shí),DX=FFFFH38應(yīng)用場(chǎng)合:
當(dāng)兩個(gè)長(zhǎng)度不等的數(shù)進(jìn)行加、減、乘法運(yùn)算時(shí),應(yīng)將長(zhǎng)度短的數(shù)的位數(shù)擴(kuò)展,以使兩數(shù)的長(zhǎng)度一致。3.5算術(shù)運(yùn)算類指令對(duì)于無(wú)符號(hào)數(shù)來(lái)說(shuō),這種擴(kuò)展只要將其高位補(bǔ)“0”就可以;但對(duì)帶符號(hào)數(shù)來(lái)說(shuō)高位擴(kuò)展時(shí)應(yīng)該補(bǔ)符號(hào)位。39例:設(shè)在數(shù)據(jù)段定義變量如下:DAT1DB34H;34H為變量a的一個(gè)設(shè)定值DAT2DB56H;56H為變量b的一個(gè)設(shè)定值DAT3DB0E7H;0E7H為變量c的一個(gè)設(shè)定值DATYDW?;DATY單元存放結(jié)果3.5算術(shù)運(yùn)算類指令試寫出計(jì)算Y=a*b+c-18的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院心理慰藉制度
- 企業(yè)財(cái)務(wù)管理規(guī)范制度
- 2026浙江雷博人力資源開發(fā)有限公司招聘12人(面向分包單位)參考題庫(kù)附答案
- 2026湖北省定向浙江大學(xué)選調(diào)生招錄備考題庫(kù)附答案
- 2026甘肅省西北民族大學(xué)專任教師招聘50人備考題庫(kù)附答案
- 2026福建武夷交通運(yùn)輸股份有限公司建陽(yáng)分公司招聘客運(yùn)駕駛員參考題庫(kù)附答案
- 2026福建福州新區(qū)(長(zhǎng)樂區(qū))事業(yè)單位招聘青年人才12人備考題庫(kù)附答案
- 2026遼寧中國(guó)醫(yī)科大學(xué)附屬醫(yī)院招聘高層次和急需緊缺人才327人(第一批)備考題庫(kù)附答案
- 2026重慶巴岳保安服務(wù)有限公司招聘1人備考題庫(kù)附答案
- 2026順義區(qū)大孫各莊社區(qū)衛(wèi)生服務(wù)中心第一次編外招聘4人考試備考題庫(kù)附答案
- 海洋電子信息產(chǎn)業(yè)現(xiàn)狀與發(fā)展路徑研究
- 草原管護(hù)考試題及答案
- Unit 8 Let's Communicate!Section B 1a-1e 課件 2025-2026學(xué)年人教版八年級(jí)英語(yǔ)上冊(cè)
- 2026年四川單招職高語(yǔ)文基礎(chǔ)知識(shí)練習(xí)與考點(diǎn)分析含答案
- 2026年交管12123駕照學(xué)法減分題庫(kù)100道【基礎(chǔ)題】
- 寒假女生安全教育課件
- 2026年孝昌縣供水有限公司公開招聘正式員工備考題庫(kù)及1套參考答案詳解
- 2024-2025學(xué)年蘇教版四年級(jí)數(shù)學(xué)上冊(cè) 第二單元專練:經(jīng)濟(jì)問題和促銷問題(買幾送幾)原卷版+解析
- 6.2 中位數(shù)與箱線圖 教學(xué)設(shè)計(jì)(2課時(shí))2025-2026學(xué)年數(shù)學(xué)北師大版八年級(jí)上冊(cè)
- 2024年常州工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案解析
- 呼吸內(nèi)科主任談學(xué)科建設(shè)
評(píng)論
0/150
提交評(píng)論