![微機(jī)原理與接口_第1頁](http://file4.renrendoc.com/view10/M00/2D/34/wKhkGWXlDViAJBZFAAFtE9F15Mk703.jpg)
![微機(jī)原理與接口_第2頁](http://file4.renrendoc.com/view10/M00/2D/34/wKhkGWXlDViAJBZFAAFtE9F15Mk7032.jpg)
![微機(jī)原理與接口_第3頁](http://file4.renrendoc.com/view10/M00/2D/34/wKhkGWXlDViAJBZFAAFtE9F15Mk7033.jpg)
![微機(jī)原理與接口_第4頁](http://file4.renrendoc.com/view10/M00/2D/34/wKhkGWXlDViAJBZFAAFtE9F15Mk7034.jpg)
![微機(jī)原理與接口_第5頁](http://file4.renrendoc.com/view10/M00/2D/34/wKhkGWXlDViAJBZFAAFtE9F15Mk7035.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
指令系統(tǒng)是CPU指令的集合,Intel8086指令系統(tǒng)共有117條基本指令,按功能分為六大類:(1)數(shù)據(jù)傳送類;(2)算術(shù)運(yùn)算類;(3)邏輯運(yùn)算和移位(位操作類);(4)串操作;(5)控制轉(zhuǎn)移類;(6)處理器控制。4、指令系統(tǒng)分類3.38086CPU指令系統(tǒng)算術(shù)運(yùn)算類指令3.38086CPU指令系統(tǒng)加法指令減法指令乘法指令除法指令符號(hào)擴(kuò)展指令算術(shù)運(yùn)算是計(jì)算機(jī)經(jīng)常進(jìn)行的一種操作。算術(shù)運(yùn)算指令實(shí)現(xiàn)二進(jìn)制(和十進(jìn)制)數(shù)據(jù)的四則運(yùn)算請注意:算術(shù)運(yùn)算類指令對(duì)標(biāo)志位的影響掌握:ADD/ADC/INC、SUB/SBB/DEC/NEG/CMP熟悉:MUL/IMUL、DIV/IDIV理解:CBW/CWD、一、加法指令A(yù)DDADCINC3.38086CPU指令系統(tǒng)1、加法指令A(yù)DDADDreg,imm/reg/mem
;reg←reg+imm/reg/memADDmem,imm/reg
;mem←mem+imm/reg格式:3.38086CPU指令系統(tǒng)功能:將源操作數(shù)的內(nèi)容和目的操作數(shù)的內(nèi)容相加,相加后的結(jié)果保存在目的操作數(shù)中,并根據(jù)結(jié)果置相關(guān)標(biāo)志位
注意:源操作數(shù)和目的操作數(shù)應(yīng)同時(shí)為帶符號(hào)數(shù)或?yàn)闊o符號(hào)數(shù),且二者的數(shù)據(jù)類型應(yīng)匹配,不能同時(shí)為存儲(chǔ)器操作數(shù)
例:加法運(yùn)算ADDAL,30
;累加器與立即數(shù)相加ADDBX,[3000H];通用寄存器與存儲(chǔ)單元內(nèi)容相加ADDDI,CX;通用寄存器之間相加ADDBETA[SI],DX;存儲(chǔ)器操作數(shù)與寄存器相加這些指令對(duì)標(biāo)志位CF、OF、PF、SF、ZF和AF有影響。例:設(shè)ADDAL,BL指令執(zhí)行前,AL=66H,BL=20H,執(zhí)行指令之后,AL=86H,BL仍為20H。標(biāo)志位影響情況為:CF=0,ZF=0,SF=1,AF=0,OF=1,PF=0
3.38086CPU指令系統(tǒng)2、帶進(jìn)位加法指令A(yù)DCADCreg,imm/reg/mem
;reg←reg+imm/reg/mem+CFADCmem,imm/reg
;mem←mem+imm/reg+CF格式:功能:ADC指令將源與目的操作數(shù)相加,再加上進(jìn)位CF標(biāo)志,結(jié)果送目的操作數(shù)ADC指令按狀態(tài)標(biāo)志的定義相應(yīng)設(shè)置用法:ADC指令主要與ADD配合,實(shí)現(xiàn)多精度加法運(yùn)算3.38086CPU指令系統(tǒng)【例】無符號(hào)雙字加法運(yùn)算。MOV AX,4652H ;AX=4652HADD AX,0F0F0H ;AX=3742H,CF=1MOV DX,0234H ;DX=0234HADC DX,0F0F0H ;DX=0F325H,CF=03.38086CPU指令系統(tǒng)例:兩個(gè)無符號(hào)雙精度數(shù)的加法例子,求0002F365H+0005E024H=?在內(nèi)存的First和Second開始的區(qū)域中分別存放著2F365H和5E024H兩個(gè)數(shù),要求求其和,并存入Third中。MOVAX,First
ADDAX,Second
MOVThird,AX
MOVAX,First+2
ADCAX,Second+2
MOVThird+2,AX3.38086CPU指令系統(tǒng)相加結(jié)果為0008D389H
3、增1指令I(lǐng)NC功能:對(duì)指令中指定操作數(shù)的內(nèi)容加1后,又回送給該操作數(shù)
INC指令不影響進(jìn)位CF標(biāo)志,按定義設(shè)置其他狀態(tài)標(biāo)志用法:主要用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)等INCreg/mem;reg/mem←reg/mem+1INCBXINCBYTEPTR[BX]格式:3.38086CPU指令系統(tǒng)加法指令小結(jié)加法指令對(duì)標(biāo)志位的影響:ADD和ADC指令對(duì)所有的6個(gè)狀態(tài)標(biāo)志都有影響,INC指令不影響CF,影響其他5個(gè)標(biāo)志。學(xué)習(xí)加減法指令要會(huì)設(shè)置標(biāo)志、使用標(biāo)志。例題:(對(duì)錯(cuò)混排)
ADDAL,25HADDBYTEPTR[BX],05ADDAL,125HADDWORDPTR[BX],05ADDAX,2500HADDAL,BLADDAX,05ADD[BX],05對(duì)于多字節(jié)加法,最低字節(jié)(字)可以用ADD,剩下的應(yīng)使用ADC。如(DXAX)+(SIDI)ADDAX,DI;低16位相加
ADCDX,SI;高16位相加+CF3.38086CPU指令系統(tǒng)二、減法指令SUBSBBDECNEGCMP3.38086CPU指令系統(tǒng)1、減法指令SUB功能:將目的操作數(shù)內(nèi)容與源操作數(shù)內(nèi)容相減之后的結(jié)果(差)存入目的操作數(shù)中,對(duì)操作數(shù)的使用及標(biāo)志位的影響同ADD指令
SUBreg,imm/reg/mem
;reg←reg-imm/reg/memSUBmem,imm/reg
;mem←mem-imm/reg格式:3.38086CPU指令系統(tǒng)例3:減法運(yùn)算MOVAL,0FBH;AL=0FBHSUBAL,07H;AL=0F4H,CF=0MOVBX,1FEH;BX=1FEHSUBAL,BL;AL=0F6H,CF=13.38086CPU指令系統(tǒng)2、帶借位減法指令SBB功能:用目的操作數(shù)減去源操作數(shù),還要減去標(biāo)志位CF的值,并將相減的結(jié)果回送給目的操作數(shù)。與ADC指令類似,在實(shí)際編程中,SBB指令主要用于兩個(gè)多字節(jié)/字二進(jìn)制數(shù)的相減運(yùn)算。
用法:SBB指令主要與SUB配合,實(shí)現(xiàn)多精度減法運(yùn)算SBBreg,imm/reg/mem
;reg←reg-imm/reg/mem-CFSBBmem,imm/reg
;mem←mem-imm/reg-CF格式:3.38086CPU指令系統(tǒng)例4:雙字減法MOVAX,4652H ;AX=4652HSUBAX,0F0F0H ;AX=5562H,CF=1MOVDX,0234H ;DX=0234HSBBDX,0F0F0H ;DX=1143H,CF=1;DX.AX=02344652H
-F0F0F0F0H
=11435562H3.38086CPU指令系統(tǒng)3、減1指令DEC功能:完成對(duì)指令中指定操作數(shù)的內(nèi)容減1后,又回送給該操作數(shù)。與INC指令一樣,DEC指令通常也用于在循環(huán)過程中對(duì)地址指針和循環(huán)次數(shù)的修改
DECreg/mem;reg/mem←reg/mem-1DECCXDECWORDPTR[SI]
INC指令和DEC指令都是單操作數(shù)指令主要用于對(duì)計(jì)數(shù)器和地址指針的調(diào)整格式:3.38086CPU指令系統(tǒng)三條減法指令用法:
①SUB、SBB、DEC三條指令的指令格式以及基本用法與ADD、ADC、INC相同。
②SUB和SBB影響所有6個(gè)狀態(tài)標(biāo)志:③DEC不影響CF標(biāo)志,影響其他5個(gè)標(biāo)志。3.38086CPU指令系統(tǒng)4、求補(bǔ)指令NEG功能:對(duì)指令中指定的操作數(shù)內(nèi)容取補(bǔ)后,再將結(jié)果回送給該操作數(shù)。對(duì)一個(gè)操作數(shù)求補(bǔ)實(shí)際上就相當(dāng)于用0減去該操作數(shù)的內(nèi)容,故NEG指令也屬于減法指令。該指令的間接求法是將操作數(shù)的內(nèi)容按位求反末位加1后,再回送給該操作數(shù)0-XXXXXXXXB=(11111111B+1)-XXXXXXXXB求補(bǔ)運(yùn)算也可以表達(dá)成:將操作數(shù)按位取反后加1NEG指令對(duì)標(biāo)志的影響與用零作減法的SUB指令一樣NEGreg/mem;reg/mem←0-reg/mem格式:3.38086CPU指令系統(tǒng)理解NEG指令:NEG相當(dāng)于減法指令,標(biāo)志設(shè)置與減法指令相同;(只有對(duì)零求補(bǔ),CF=0,其他情況CF=1)
例:設(shè)DS:[BX]=(-4)補(bǔ)=11111100
執(zhí)行NEGBYTEPTR[BX]后則DS:[BX]=00000100=+4(-4的絕對(duì)值);結(jié)論:對(duì)一個(gè)負(fù)數(shù)的補(bǔ)碼求補(bǔ),得到該負(fù)數(shù)的絕對(duì)值。3.38086CPU指令系統(tǒng)在實(shí)際編程中,常用NEG指令求負(fù)數(shù)的絕對(duì)值5、比較指令CMP功能:將目的操作數(shù)與源操作數(shù)內(nèi)容相減,相減結(jié)果不回送目的操作數(shù),僅根據(jù)結(jié)果影響標(biāo)志位,對(duì)標(biāo)志位的影響與SUB相同
CMPreg,imm/reg/mem
;reg-imm/reg/memCMPmem,imm/reg
;mem-imm/reg格式:3.38086CPU指令系統(tǒng)設(shè)指令CMPAL,CL執(zhí)行之前,AL=68H,CL=9AH,該指令執(zhí)行之后,AL=68H,CL=9AH,CF=1,ZF=0,SF=1,AF=1,OF=1,PF=0
例:比較AL與100的大小,若AL<100,則跳轉(zhuǎn)到BE處執(zhí)行
CMPAL,100;AL-100JBBE;AL<100,跳轉(zhuǎn)到BE處執(zhí)行
SUBAL,100
;AL≥100,AL←AL-100INCAH;AH←AH+1BE: ...執(zhí)行比較指令之后,可以根據(jù)標(biāo)志判斷兩個(gè)數(shù)是否相等、大小關(guān)系等3.38086CPU指令系統(tǒng)三、乘法指令MULr8/m8;無符號(hào)字節(jié)乘法;AX←AL×r8/m8MULr16/m16;無符號(hào)字乘法;DX.AX←AX×r16/m16IMULr8/m8;有符號(hào)字節(jié)乘法;AX←AL×r8/m8IMULr16/m16;有符號(hào)字乘法;DX.AX←AX×r16/m163.38086CPU指令系統(tǒng)乘法指令分無符號(hào)和有符號(hào)乘法指令乘法指令的源操作數(shù)顯式給出,隱含使用的另一個(gè)操作數(shù)為AX和DX字節(jié)數(shù)據(jù)相乘:AL與r8/m8相乘,得到16位的結(jié)果,存入AX字?jǐn)?shù)據(jù)相乘:AX與r16/m16相乘,得到32位的結(jié)果,其高字存入DX,低字存入AX3.38086CPU指令系統(tǒng)乘法指令對(duì)標(biāo)志位的影響:利用OF和CF判斷乘積的高一半是否具有有效數(shù)值MUL指令——若乘積的高一半(AH或DX)為0,則OF=CF=0;否則OF=CF=1IMUL指令——若乘積的高一半是低一半的符號(hào)擴(kuò)展,則OF=CF=0;否則均為1乘法指令對(duì)其他狀態(tài)標(biāo)志沒有定義對(duì)標(biāo)志沒有定義:指令執(zhí)行后這些標(biāo)志是任意的、不可預(yù)測(就是誰也不知道是0還是1)對(duì)標(biāo)志沒有影響:指令執(zhí)行不改變標(biāo)志狀態(tài)例:乘法運(yùn)算MOVAL,0B4H ;AL=B4H=180MOVBL,11H ;BL=11H=17MULBL ;AX=OBF4H=3060;OF=CF=1,AX高8位不為0MOVAL,0B4H ;AL=B4H=-76MOVBL,11H ;BL=11H=17IMULBL ;AX=FAF4H=-1292;OF=CF=1,AX高8位含有效數(shù)字3.38086CPU指令系統(tǒng)四、除法指令DIVr8/m8 ;無符號(hào)字節(jié)除法:AL←AX÷r8/m8的商,Ah←AX÷r8/m8的余數(shù)DIVr16/m16 ;無符號(hào)字除法:;AX←DX.AX÷r16/m16的商,DX←DX.AX÷r16/m16的余數(shù)IDIVr8/m8 ;有符號(hào)字節(jié)除法:AL←AX÷r8/m8的商,Ah←AX÷r8/m8的余數(shù)IDIVr16/m16 ;有符號(hào)字除法:;AX←DX.AX÷r16/m16的商,DX←DX.AX÷r16/m16的余數(shù)3.38086CPU指令系統(tǒng)除法指令的功能除法指令分無符號(hào)和有符號(hào)除法指令,除數(shù)顯式給出,隱含使用另一個(gè)操作數(shù)AX和DX作為被除數(shù)。字節(jié)數(shù)據(jù)除法:AX除以r8/m8,8位商存入AL,8位余數(shù)存入AH字?jǐn)?shù)據(jù)除法:DX.AX除以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年點(diǎn)火線圈項(xiàng)目申請報(bào)告模范
- 2025年建筑行業(yè)策劃策略與綠色施工協(xié)議書
- 2025年子女監(jiān)護(hù)權(quán)策劃補(bǔ)充協(xié)議的法律效力分析
- 2025年醫(yī)療器械供應(yīng)與醫(yī)療服務(wù)合作框架協(xié)議
- 2025年先進(jìn)汽車修理設(shè)施租賃合同
- 2025年停車場地承包經(jīng)營協(xié)議范本
- 2025年勞動(dòng)者家庭醫(yī)療保健策劃與子女援助協(xié)議
- 2025年?duì)幎焚r償和解協(xié)議格式
- 2025年合作導(dǎo)師協(xié)議范本
- 2025年農(nóng)業(yè)發(fā)展公司技術(shù)咨詢服務(wù)合同范本
- 質(zhì)量管理與產(chǎn)品質(zhì)量保障措施
- 全國自然教育中長期發(fā)展規(guī)劃
- 第四章-國防動(dòng)員
- 露天電影方案
- 2024年山東力明科技職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 裝配式預(yù)制混凝土框架結(jié)構(gòu)抗震性能研究
- 2024年長沙市房地產(chǎn)市場分析報(bào)告
- 造影劑對(duì)比劑外滲預(yù)防與處理課件
- 海爾集團(tuán)周云杰發(fā)表主題為《無界生態(tài) 無限可能》戰(zhàn)略報(bào)告
- 機(jī)修崗位述職個(gè)人述職報(bào)告
- 光伏發(fā)電項(xiàng)目 投標(biāo)方案(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論