微機(jī)原理課件_第1頁(yè)
微機(jī)原理課件_第2頁(yè)
微機(jī)原理課件_第3頁(yè)
微機(jī)原理課件_第4頁(yè)
微機(jī)原理課件_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、算術(shù)運(yùn)算指令加法指令加法指令A(yù)DD 指令格式:ADD DOPD,SOPD 功能:把源操作數(shù)的值加到目的操作數(shù)中(dopdsopd+dopd )注意:運(yùn)算結(jié)果影響標(biāo)志寄存器: AF、CF、PF、OF、ZF、SFAdd r,srcAdd a,im*Add dst,imAdd dst,r指令使用見(jiàn)表3-4.帶進(jìn)位加法指令帶進(jìn)位加法指令A(yù)DC 指令格式:ADC dopd,sopd 功能:把源操作數(shù)和進(jìn)位標(biāo)志位CF的值(0/1)一起加到目的操作數(shù)(dopddopd+sopd+CF)。Adc r,srcAdc a,im*Adc dst,imAdc dst,r指令使用見(jiàn)表3-5.例:P57 兩個(gè)4字節(jié)數(shù)分別

2、放在FIRST、SECOND單元中,用程序段實(shí)現(xiàn)加法并把結(jié)構(gòu)存放在THIRD單元中。畫內(nèi)存數(shù)據(jù)圖MOV AX,FRSTADD AX,SECONDMOV THIRD,AXMOV AX,FIRST+2ADC AX,SECOND+2MOV THIRD+2,AX減法指令SUB格式:SUB DOPD,SOPD操作:(DOPD)(DOPD)-(SOPD)例如 SUB AX,BX SUB AL,CL SUB CX,34 帶借位減法格式:SBB DOPD,SOPD操作:(DOPD)(DOPD)-(SOPD)- CF SBB BX, 100H SBB CX, DX SBB WORD PTR 100HBP, 10

3、0乘法指令 計(jì)算機(jī)的乘法指令分為無(wú)符號(hào)乘法指令和有符號(hào)乘法指令,他們的唯一區(qū)別就在于:數(shù)據(jù)的最高位是作為“數(shù)值”參與運(yùn)算,還是作為“符號(hào)位”參與運(yùn)算。 乘法指令的被乘數(shù)都是隱含操作數(shù),乘數(shù)在指令中顯式地寫出來(lái)。CPU會(huì)根據(jù)乘數(shù)是8位、16位,來(lái)自動(dòng)選用被乘數(shù):AL或AX。無(wú)符號(hào)數(shù)乘法指令MUL 語(yǔ)句格式: MUL OPD 功能: 字節(jié)乘法:(AL)* (OPD) AX, 字乘法:(AX) * (OPD) DX,AX 注意:操作數(shù)可以是通用寄存器、存儲(chǔ)器,不能是立即數(shù)。(適用于所有的單操作指令) 影響標(biāo)志寄存器CF和OF(AF、PF、ZF、SF 無(wú)定義) 字節(jié)乘:若乘積高8位AH0,則CF=1,

4、OF=1; 若乘積高8位AH=0,則CF=0,OF=0; 字乘:若乘積高16位DX0,則CF=1,OF=1;若乘積高16位DX=0,則CF=0,OF=0; 可通過(guò)判讀CF或OF的值來(lái)判斷結(jié)果的位數(shù)。帶符號(hào)乘指令I(lǐng)MUL語(yǔ)句格式:IMUL OPD功能:字節(jié)乘法:(AL)*(OPD)AX 字乘法:(AX)*(OPD)DX、AXIMUL指令除計(jì)算對(duì)象是帶符號(hào)二進(jìn)制數(shù)外,其他都與MUL一樣,但計(jì)算結(jié)果不同。 注意: 影響標(biāo)志寄存器CF和OF(AF、PF、ZF、SF 無(wú)定義)。 若乘法結(jié)果AH或DX包含有效值,則OF=1、CF=1。 若乘法結(jié)果AH或DX只是低半部分的符號(hào)擴(kuò)展,則OF=0、CF=0 。作

5、用:判斷結(jié)果的位數(shù)例:有符號(hào)數(shù)0B4H與11H相乘。MOV AL,0B4H ;(AL)=B4H=-76DMOV BL,11H;(BL)=11H=17DIMULBL ;(AX)=0FAF4H=-1292DCF=OF=1例:無(wú)符號(hào)數(shù)0B4H與11H相乘。MOV AL,0B4H;(;(AL)=0B4H=180DMOV BL, 11H;(;(BL)=11H=17DMUL BL ;(;(AX)=0BF4H=3060DCF=OF=1除法指令 除法指令的被除數(shù)是隱含操作數(shù),除數(shù)在指令中顯式地寫出來(lái)。CPU會(huì)根據(jù)除數(shù)是8位、16位,來(lái)自動(dòng)選用被除數(shù):AX或DXAX。無(wú)符號(hào)除指令DIV 語(yǔ)句格式:DIV OPD

6、 功能:字節(jié)除法(AX)/(OPD) AL(商)、AH(余數(shù)) 字除法(DX、AX)/(OPD) AX(商)、DX(余數(shù)) 若除數(shù)為0,則產(chǎn)生類型0中斷。 對(duì)標(biāo)志位無(wú)定義。有符號(hào)除指令I(lǐng)DIV語(yǔ)句格式:IDIV OPD功能:字節(jié)除法:(AX)/(OPS) AL(商)、AH(余數(shù))字除法:(DX,AX)/(OPS) AX (商)、DX(余數(shù)) 除法指令DIV和IDIV雖然對(duì)標(biāo)志的影響未定義。 當(dāng)商超過(guò)AL或AX所能存放的最大值+127(字節(jié)除)或+32767(字除),以及所能存放的最小值-128(字節(jié)除)或-32768(字除)時(shí),系統(tǒng)會(huì)自動(dòng)產(chǎn)生類型0中斷例:寫出實(shí)現(xiàn)無(wú)符號(hào)數(shù)0400H / 0B4

7、H運(yùn)算的程序段。MOV AX,0400H ;(AX)=0400H=1024DMOV BL,0B4H;(BL)=0B4H=180DDIV BL;商(AL)=05H=5D 余數(shù)(AH)=7CH=124D 例:寫出實(shí)現(xiàn)帶符號(hào)數(shù)0400H / 0B4H運(yùn)算的程序段。MOVAX,0400H ;(AX)=0400H=+1024DMOVBL,0B4H;(BL)=0B4H=-76DIDIV BL;商(AL)=0F3H =-13D 余數(shù)(AH)=24H=36D 計(jì)算(V-(X*Y+Z-540)/X 其中X、Y、Z、V均為16位帶符號(hào)數(shù),放在了X、Y、Z、V單元中。結(jié)果的商存在AX,余數(shù)存在DX。MOV AX,X

8、MOV BX,YIMUL BXMOV CX,AXMOV BX,DXMOV AX,ZCWDADD CX,AXADC BX,DXSUB CX,540SBB BX,0MOV AX,VCWDSUB AX,CXSBB DX,BXMOV BX,XIDIV BX增減量指令 INC DOPD 功能:(dopddopd+1)。 DEC DOPD 功能:dstdst-1 注意:影響標(biāo)志寄存器OF、SF、ZF、AF、PF;不影響CF。 操作數(shù)可以是通用寄存器,也可以是內(nèi)存單元。 用途:循環(huán)中修改地址指針、修改循環(huán)次數(shù)求補(bǔ)指令 NEG 指令格式:NEG dopd 指令功能:dst0-dopd+1 影響標(biāo)志寄存器AF、

9、CF、PF、OF、ZF、 SF 。 操作數(shù):8位/16位通用寄存器或存儲(chǔ)器。 例:例:MOV AH,5; NEG AH ;AH=11111011B,是,是-5(補(bǔ)碼)(補(bǔ)碼) MOV AX,-6 ;NEG AX ;AX=0006H,是,是+6 比較指令比較指令 CMP 指令格式:指令格式:CMP dopd,sopd 操作:(操作:(dopd)- (sopd ),不保留結(jié)果,),不保留結(jié)果,但是置標(biāo)志位。但是置標(biāo)志位。 注意:注意: 影響標(biāo)志寄存器影響標(biāo)志寄存器AF、CF、PF、OF、ZF、SF 。 后面跟條件轉(zhuǎn)移指令。后面跟條件轉(zhuǎn)移指令。 用途:用于比較兩個(gè)數(shù)之間的大小關(guān)系。 若要判斷兩個(gè)數(shù)是

10、否相等,利用ZF標(biāo)志實(shí)現(xiàn)。相等時(shí)ZF=1,否則,ZF=0。(JZ/JNZ) 若兩個(gè)正數(shù)比較,利用SF標(biāo)志即可。無(wú)符號(hào)數(shù)A-B 若AB, C=0 且Z=0 (為了去掉等于的可能性) 若A=B, C=0 (Z可能為1也可能為0) 若AB, C=1 (只要C=1,一定是小于) 若AB時(shí) 結(jié)果為正若不溢出,則S=0,O=0 若溢出, 則S=1,O=1 S O=0且Z=0A=B時(shí),去掉Z=0的條件即可正數(shù)負(fù)數(shù)01H(+1)FFH(-1)00H7FH(+127)80H(-128)正溢負(fù)溢AB時(shí) 結(jié)果為負(fù)若不溢出,則S=1,O=0若溢出,則S=0,O=1S O=1A9FH或CF=1,則(AL)=(AL)+6

11、0H且CF=1。 影響標(biāo)志寄存器CF、PF、AF、ZF、SF,但對(duì)OF未定義。其中CF=1說(shuō)明結(jié)果大于99。 必須緊跟在加法指令之后且只能對(duì)AL中的內(nèi)容進(jìn)行調(diào)整。例:壓縮BCD碼的加法運(yùn)算(68+28=96)。MOV AL,68H;(AL)=68H,表示壓縮BCD碼68MOV BL,28H;(BL)=28H,表示壓縮BCD碼28ADD AL,BL; 二進(jìn)制加法:(AL) =68H+28H=90H DAA ;十進(jìn)制調(diào)整:(AL)=96H 試編程完成(8576)10 +(2659)10的運(yùn)算。 MOV AX , 8576H MOV BX , 2659H ADD AL , BL ;低字節(jié)BCD碼加法

12、運(yùn)算 DAA ;低字節(jié)BCD碼調(diào)整 MOV DL , AL ;暫存低字節(jié)壓縮BCD碼結(jié)果在DL中 MOV AL , AH ADC AL , BH ;高字節(jié)BCD碼加法運(yùn)算 DAA ;高字節(jié)BCD碼調(diào)整 MOV AH , AL ;高字節(jié)壓縮BCD碼在AH中 MOV AL , DL ;暫存的低字節(jié)壓縮BCD碼結(jié)果送AL中減法的十進(jìn)制調(diào)整指令DAS格式:DAS功能:對(duì)放在AL中兩個(gè)壓縮型BCD數(shù)相減的結(jié)果,調(diào)整成壓縮型BCD數(shù)在AL中。 操作:若AF=1或AL寄存器中低4位大于9,則(AL)=(AL)6且AF=1;若(AL)9FH或CF=1,則(AL)=(AL)60H且CF=1。 影響標(biāo)志AF、CF

13、、PF、PF、SF、ZF,但對(duì)OF未定義。例子:壓縮BCD碼的減法運(yùn)算6828=39 。MOV AL,68H ;(AL)=68H,表示壓縮BCD碼68MOV BL,29H ;(BL)=28H,表示壓縮BCD碼29SUB AL,BL; 二進(jìn)制減法:(AL)=68H29H=3FHDAS ;十進(jìn)制調(diào)整:(AL)=39H影響標(biāo)志寄存器CF、PF、AF、ZF、SF,其中CF=1說(shuō)明結(jié)果大于99。必須緊跟在減法指令之后且只能對(duì)AL中的內(nèi)容進(jìn)行調(diào)整。 加法的非壓縮BCD碼調(diào)整指令A(yù)AA語(yǔ)句格式:AAA 功能:如果AL的低4位大于9或AF=1,則:(AL)=(AL)+6;(AH)=(AH)+1 AF=CF=1

14、 , 且AL高4位清零。否則:AF=CF=0, AL高4位清零。該指令不影響標(biāo)志寄存器PF、ZF、SF、OF。必須緊跟在加法指令之后且只能對(duì)AL中的內(nèi)容進(jìn)行調(diào)整。例子:已知:(AL)=05H, (BL)=09H ADD AL,BL; (AL)=0EH,AF=0 AAA; (AX)=0104H,AF=1,CF=1減法的非壓縮BCD碼調(diào)整指令A(yù)AS語(yǔ)句格式:AAS 功能:如果AL的低4位大于9或AF=1,則:(AL)=(AL)6(AH)=(AH)1 AF=CF=1AL高4位清零。否則:CF=AF=0, AL高4位清零。其他標(biāo)志位OF、PF、SF、ZF不確定。 例:實(shí)現(xiàn)非壓縮BCD碼減法:68-9=

15、59 MOV AX,0608H;AX=0608H,表示非壓縮BCD碼68; MOV BL,09H;BL=09H,表示非壓縮BCD碼9 SUB AL,BL;二進(jìn)制減法:AL=08H-09H=FFH AAS;十進(jìn)制調(diào)整:AX=0509H 乘法的非壓縮型BCD數(shù)調(diào)整AAM 格式:AAM功能:對(duì)放在AX中的兩個(gè)非壓縮型BCD數(shù)相乘的結(jié)果 調(diào)整成兩位非壓縮型BCD數(shù),操作:AH=AL/0AH的商 AL=AL/0AH的余數(shù)注意:影響標(biāo)志寄存器PF、SF、ZF。 必須緊跟在乘法指令之后。 試編程完成 (7)10 (9)10運(yùn)算。 MOV AL , 07H ;(AL) = 07H(被乘數(shù)) MOV BL , 09H ;(BL) = 09H(乘數(shù)) MUL BL ;(AX) = (AL) (BL) = 003FH(乘積,即63D) AAM ;(AH) = 06H,(AL) = 03H ,(SF) = (ZF) = 0 ,(PF) = 1 除法的非壓縮型BCD數(shù)調(diào)整AAD格式:AAD 功能:用在對(duì)兩位非壓縮型BCD數(shù)相除之前進(jìn)行調(diào)整,對(duì)AX內(nèi)容進(jìn)行調(diào)整。操作:AL=10*(AH)+(A

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論