




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
苗清影qymiao@80X86微處理器的指令系統(tǒng)二、算術(shù)運(yùn)算指令(Arithmetic) 1.加法指令
2.減法指令8086/8088的指令系統(tǒng)(續(xù))8086/8088指令助記符表8086/8088指令助記符表8086/8088提供加、減、乘、除、轉(zhuǎn)換五種基本算術(shù)操作利用十進(jìn)制調(diào)整指令和ASCII調(diào)整指令對BCD碼表示的十進(jìn)制數(shù)進(jìn)行算術(shù)運(yùn)算,對帶符號數(shù)與無符號數(shù)進(jìn)行乘、除運(yùn)算。1.加法指令(Arithmetic)2.減法指令(Subtraction)3.乘法指令(Multiplication)4.除法指令(Division)5.轉(zhuǎn)換指令算術(shù)運(yùn)算指令(Arithmetic)大部分都影響標(biāo)志位,不同指令影響不同:1.加、減法指令影響SF,ZF,AF,PF,CF,OF;2.加1和減1指令不影響CF;3.乘法指令影響CF,OF;4.除法指令使大部分標(biāo)志位的狀態(tài)不確定;5.對BCD碼調(diào)整指令對標(biāo)志位的影響不同;6.轉(zhuǎn)換指令對標(biāo)志位無影響。都可以用于字節(jié)、字的運(yùn)算;雙操作數(shù)指令除源為立即數(shù)外,其余必須有一個(gè)操作數(shù)為寄存器;單操作數(shù)指令不能為立即數(shù)。算術(shù)運(yùn)算指令特點(diǎn)1.ADD(Addition)加法指令2.ADC(Addwithcarry)帶進(jìn)位加法指令3.INC(Incrementby1)加1指令4.AAA(ASCIIadjustforaddition)加法ASCII調(diào)整指令5.DAA(Decimaladjustforaddition)加法十進(jìn)制調(diào)整指令
加法指令指令格式:ADDdest,src;(dest)
(dest)+(src)
Src:立即數(shù),寄存器,存儲器。
dest:寄存器,存儲器。例:
ADDCL,10 ;寄存器+立即數(shù)
ADDDX,SI ;寄存器+寄存器
ADDAX,MEM ;寄存器+存儲器
ADDDATA[BX],AL ;存儲器+寄存器ADD(Addition)加法指令
可以進(jìn)行8位、16位的無符號數(shù)和帶符號數(shù)的加法運(yùn)算;源操作數(shù)和目標(biāo)操作數(shù)不能同時(shí)為存儲器,不能為段寄存器;指令影響標(biāo)志位的情況:
OF=1,8位帶符號數(shù)相加,和超出范圍(-128~+127)16位帶符號數(shù)相加,和超出范圍(-32768~
+32767)CF=1,8位無符號數(shù)相加,和超過25516位無符號數(shù)相加,和超過65535其他條件標(biāo)志(SF,AF,PF,ZF)根據(jù)定義設(shè)定。ADD指令應(yīng)用例 MOVAL,7EH (AL)=7EH MOVBL,5BH (BL)=5BH ADDAL,BL (AL)=7EH+5BH=D9H影響標(biāo)志位的情況:
ADD指令應(yīng)用SF=1,
結(jié)果最高位=1ZF=0,結(jié)果不等于0AF=1,D3位向D4有進(jìn)位PF=0,“1”的個(gè)數(shù)為奇數(shù)CF=0,無進(jìn)位OF=1,和超過+127(兩個(gè)正數(shù)相加,結(jié)果為負(fù);反之亦是)ADD指令應(yīng)用(BX)=1300H,(SI)=3500H,DX=1234H操作
ADD[BX+SI],DX XXYY4800H4801H 1234H+ YYXXH
ADD指令應(yīng)用編程實(shí)現(xiàn)兩個(gè)雙字型數(shù)的相加。MOVAX,WORDPTRDP1ADDAX,WORDPTRDP2MOVWORDPTRDPSUM,AXMOVAX,WORDPTRDP1+2ADCAX,WORDPTRDP2+2MOVWORDPTRDPSUM+2,AX
DPsumDP1DP2ADD指令應(yīng)用格式:ADCdest,src;(dest)←(dest)+(src)+CF
CF:
進(jìn)位標(biāo)志CF的現(xiàn)行值(上條指令CF值)特點(diǎn):與ADD同。用途:主要用于多字節(jié)運(yùn)算中。類型舉例:
ADCCX,300 ;寄存器+立即數(shù)+CF ADCAL,BL ;寄存器+寄存器+CF ADCDX,COUNT[SI] ;寄存器+存儲器+CF ADC指令帶進(jìn)位加法舉例:計(jì)算兩個(gè)多字節(jié)數(shù)相加3B74AC60F8H+20D59E36C1H=?兩個(gè)多字節(jié)數(shù)存放在:DATA1,DATA2的開始單元。流程圖多字節(jié)數(shù)內(nèi)存存放 MOVCX,5 MOVSI,0 ;清SI
CLC
;清CFLOOPER: MOVAL,DATA2[SI]
ADCDATA1[SI],AL INCSI ;(SI)+1
(SI) DECCX ;(CX)-1(CX) JNZLOOPER ;(CX)0轉(zhuǎn)
HLT ;停機(jī)ADC指令應(yīng)用格式:INCdest;(B/W),(dest)←(dest)+1 dest:寄存器、存儲器。不能是段寄存器。功能:對指定的目標(biāo)操作數(shù)+1
操作數(shù)單元。用途:用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)。標(biāo)志位影響情況:影響SF,ZF,AF,PF,OF。不影響CF。INC指令加1操作數(shù)類型:可以是寄存器,存儲器。不能是段寄存器。例:
INCDL ;8位寄存器+1INCSI ;16位寄存器+1INCBYTEPTR[BX][SI];存儲器+1(字節(jié)操作)INCWORDPTR[DI] ;存儲器+1(字操作)INCDS ;錯INC指令加11.SUB(Subtraction) 減法指令2.SBB(Subtractionwithborrow) 帶進(jìn)位減法指令3.DEC(Decrementby1) 減1指令4.NEG(Negate) 求補(bǔ)指令5.CMP(Compare) 比較指令6.AAS(ASCIIadjustforsubtraction)減法ASCII調(diào)整指令7.DAS(Decimaladjustforsubtraction)減法十進(jìn)制調(diào)整指令減法指令格式:SUB:dest,src;(dest)←(dest)-(src) Src:立即數(shù),寄存器,存儲器。
Dest:寄存器,存儲器。例: SUBAL,37H ;寄存器-立即數(shù)
SUBBX,DX ;寄存器-寄存器
SUBCX,VAR1 ;寄存器-存儲器這種指令影響標(biāo)志位:A、C、O、P、S、Z標(biāo)志。CF=1,無符號數(shù)小減大SF=1,帶符號數(shù)小減大OF=1,溢出SUB減法指令格式:SBBdest,src;(dest)←(dest)-(src)-CF CF:進(jìn)位標(biāo)志CF的現(xiàn)行值(上條指令CF值) Src:立即數(shù),寄存器,存儲器。
dest:寄存器,存儲器。指令影響標(biāo)志位、B/W數(shù)運(yùn)算情況同SBB,用于多字節(jié)數(shù)相減。例: SBBBX,100H ;寄存器-立即數(shù)-CF SBBCX,DX ;寄存器-寄存器-CF SBBAL,DATA1[SI] ;寄存器-存儲器-CF SBBDISP[BP],BL ;存儲器-寄存器-CFSBB減法指令格式:DECdest ;(B/W) (dest)←(dest)-1 dest:寄存器、存儲器。不能是段寄存器。功能:對指定的目標(biāo)操作數(shù)-1
操作數(shù)單元。用途:用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)。標(biāo)志位影響情況:影響SF,ZF,AF,PF,OF。不影響CF。DEC減1指令DEC用途舉例:
… MOVAX,0FFFFH CYC:DECAX JNZCYC HLT …用于延時(shí)時(shí)間。DEC減1指令格式:NEGdest;B/W,(dest)←0-(dest) dest:寄存器、存儲器。操作:把操作數(shù)按位求反后末位+1。
(dest)←0FFFFH–(dest)+1影響標(biāo)志:A、C、O、P、S、Z。NEG求補(bǔ)指令求絕對值:在內(nèi)存中,從AREA1開始存放100個(gè)帶符號數(shù)。求各數(shù)的絕對值存于AREA2的開始單元。流程圖應(yīng)用舉例 LEASI,AREA1 LEADI,AREA2 MOVCX,100CHECK:MOVAL,[SI] ORAL,AL;(AL)內(nèi)容不變,置標(biāo)志
JNSNEXT;SF=0轉(zhuǎn)NEXT NEGAL;負(fù)數(shù)求補(bǔ)
NEXT:MOV[DI],AL ;送目標(biāo)
INCSI INCDI DECCX JNZCHECK HLT求絕對值格式:CMPdest,src;B/W,(dest)-(src),
結(jié)果不送,置標(biāo)志。影響標(biāo)志:A、C、O、P、S、Z。
src:立即數(shù),寄存器,存儲器。
dest:寄存器,存儲器。例: CMPAL,0AH ;寄存器與立即數(shù)比較
CMPCX,DI ;寄存器與寄存器比較
CMPAX,AREA1 ;寄存器與存儲器比較
CMP[BX+5],SI ;存儲器與寄存器比較CMP(Compare)比較指令用比較指令來比較兩個(gè)數(shù)之間的關(guān)系:兩者是否相等,兩個(gè)數(shù)中哪個(gè)大。1.據(jù)ZF標(biāo)志,判斷兩者是否相等;2.根據(jù)CF標(biāo)志,判斷兩個(gè)無符號數(shù)的大??;3.用SF、OF標(biāo)志,判斷二個(gè)帶符號數(shù)的大小。
CMP(Compare)指令應(yīng)用1.根據(jù)Z標(biāo)志,可判斷兩者是否相等例:CMPAX,BX ZF=1,(AX)=(BX),兩者相等
ZF=0,(AX)=(BX),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼管腳手架分包合同
- 核桃土地承包合同書
- 娛樂活動策劃執(zhí)行合同
- 商業(yè)活動推廣策劃服務(wù)合同書
- 三方債權(quán)轉(zhuǎn)讓合同書
- 中介第三方擔(dān)保合同
- 注冊商標(biāo)使用許可合同書
- 地磅采購安裝合同
- 2025年合模機(jī)合作協(xié)議書
- 科學(xué)之旅模板
- 安全生產(chǎn)管理組織架構(gòu)圖
- 委托付款三方協(xié)議中英文版
- 第一節(jié)木材的基礎(chǔ)知識課件教育科學(xué)研究院編勞動技術(shù)八年級上冊
- 六下數(shù)學(xué)教材分析課件
- 2023年上海市閔行區(qū)中考二模語文試題
- 語文五年級下冊習(xí)作《那一刻我長大了》
- 高中英語-Unit 2 Reading and Thinking A day in the clouds教學(xué)課件設(shè)計(jì)
- 《消防專篇》編制規(guī)定
- 熱工檢修規(guī)程
- 《電競俱樂部管理》教案
- 《建筑工程建筑面積計(jì)算規(guī)范》與房產(chǎn)測繪面積計(jì)算規(guī)范細(xì)則的區(qū)別
評論
0/150
提交評論