版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1(1) 不考慮借位的減法指令SUB 格式: SUB dest, src 操作: dest(dest)-(src)注:1.源和目的操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù) 2.立即數(shù)不能作為目的操作數(shù)指令例子: SUB AL,60H SUB BX+20H,DX SUB AX,CX2. 減法指令2SBB指令主要用于多字節(jié)的減法。格式: SBB dest, src操作: dest(dest)-(src)-(CF)指令例子: SBB AX,CX SBB WORD PTRSI,2080H SBB SI,DX(2) 考慮借位的減法指令SBB3例:x、y、z均為32位數(shù),分別存放在地址為X, X+2;Y,Y+2;Z,
2、Z+2的存儲(chǔ)單元中,用指令序列實(shí)現(xiàn)wx+y+24-z,結(jié)果放在W, W+2單元中。 MOV AX, X MOV DX, X+2 ADD AX, Y ADC DX, Y+2 ; x+y ADD AX, 24 ADC DX, 0 ; x+y+24 SUB AX, Z SBB DX, Z+2 ; x+y+24-z MOV W, AX MOV W+2, DX ; 結(jié)果存入W, W+2單元4作用類似于C語(yǔ)言中的”操作符。格式:DEC dest 操作: dest (dest)-1指令例子: DEC CL DEC BYTE PTRDI+2 DEC SI (3) 減1指令DEC5減一指令通常用于存儲(chǔ)器尋址地址
3、指針向低地址方向修正或用于循環(huán)過(guò)程計(jì)數(shù)器記數(shù)指針修正。例 將數(shù)據(jù)段偏移地址為2000H開(kāi)始100字節(jié)內(nèi)容傳送到同段偏移地址為2050H開(kāi)始100個(gè)字節(jié)單元中去。6格式: NEG dest操作: dest 0-(dest)利用NEG指令可得到負(fù)數(shù)的絕對(duì)值。例:若(AL)=0FCH,則執(zhí)行 NEG AL后, (AL)=04H,CF=1本例中,0FCH為-4的補(bǔ)碼,執(zhí)行求補(bǔ)指令后,即得到4(-4的絕對(duì)值)。(4) 求補(bǔ)指令NEG7例 已知內(nèi)存BUFF開(kāi)始,存放有100個(gè)字節(jié)型帶符號(hào)數(shù),每個(gè)單元數(shù)據(jù)求其絕對(duì)值并存回原處。8格式: CMP dest, src操作: (dest)-(src)CMP也是執(zhí)行
4、兩個(gè)操作數(shù)相減,但結(jié)果不送目標(biāo)操作數(shù),其結(jié)果只反映在標(biāo)志位上。指令例子: CMP AL,0AH CMP CX,SI CMP DI,BX+03(5) 比較指令CMP9根據(jù)標(biāo)志位來(lái)判斷比較的結(jié)果1)根據(jù)ZF判斷兩個(gè)數(shù)是否相等。若ZF=1,則兩數(shù)相等。2)若兩個(gè)數(shù)不相等,則分兩種情況考慮: 比較的是兩個(gè)無(wú)符號(hào)數(shù) 若CF=0,則destsrc; 若CF=1,則destsrc。 比較的是兩個(gè)有符號(hào)數(shù) 若OFSF=0(兩標(biāo)志位同狀態(tài)),則destsrc; 若OFSF=1(兩標(biāo)志位異狀態(tài)),則destsrc。10(6)壓縮BCD碼減法調(diào)整指令DAS 指令格式: DAS 指令功能: 對(duì)AL中兩個(gè)壓縮的BCD碼
5、相減后的結(jié)果進(jìn)行調(diào)整。(類似DAA)11(7)非壓縮BCD碼減法調(diào)整指令A(yù)AS 指令格式: AAS 指令功能: 對(duì)AL中非壓縮BCD碼相減的結(jié)果進(jìn)行調(diào)整。(類似AAA)特別提醒:1)凡涉及十進(jìn)制調(diào)整加減運(yùn)算必須使用字節(jié)型操作數(shù),不能使用字型操作數(shù)。2)分析此類程序運(yùn)行結(jié)果時(shí),不必深究運(yùn)算原理,結(jié)果一定是十進(jìn)制數(shù)運(yùn)算結(jié)果的原型表示碼(即壓縮BCD碼或非壓縮BCD碼)。12進(jìn)行乘法時(shí): 8位*8位16位乘積 16位*16位32位乘積(1) 無(wú)符號(hào)數(shù)的乘法指令 MUL MEM/REG格式: MUL src操作:字節(jié)操作數(shù) (AX) (AL) (src) 字操作數(shù) (DX, AX) (AX) (src
6、)指令例子: MUL BL ;(AL)(BL),乘積在AX中 MUL CX ;(AX)(CX),乘積在DX,AX中 MUL BYTE PTRBX3. 乘法指令 13格式與MUL指令類似,只是要求兩操作數(shù)均為有符號(hào)數(shù)。指令例子: IMUL BL ;(AX)(AL)(BL) IMUL WORD PTRSI ;(DX,AX)(AX)(SI+1SI) (2) 有符號(hào)數(shù)乘法指令I(lǐng)MUL注意:MUL/IMUL指令中 AL(AX)為隱含的乘數(shù)寄存器; AX(DX,AX)為隱含的乘積寄存器; SRC不能為立即數(shù); 除CF和OF外,對(duì)其它標(biāo)志位無(wú)定義。14乘法指令對(duì)CF/OF的影響:00 乘積的高位為零11 乘
7、積高位不為零MUL指令: CF/OF =00 乘積的高位是符號(hào)擴(kuò)展11 高位是乘積的一部分 IMUL指令: CF/OF =15 對(duì)AX中由兩個(gè)非壓縮BCD碼相乘的結(jié)果進(jìn)行調(diào)整。隱含的操作寄存器為AL和AH;AAM跟在MUL指令之后使用;影響標(biāo)志位PF、SF、ZF,其它無(wú)定義;用AAM還可實(shí)現(xiàn)99的二-十進(jìn)制轉(zhuǎn)換。3) 乘法的十進(jìn)制調(diào)正指令A(yù)AM164. 除法指令進(jìn)行除法時(shí):16位8位8位商 32位16位16位商對(duì)被除數(shù)、商及余數(shù)存放有如下規(guī)定: 被除數(shù) 商余數(shù)字節(jié)除法 AX AL AH 字除法 DX,AX AX DX17格式: DIV src操作:字節(jié)操作 (AL) (AX) / (SRC)
8、的商 (AH) (AX) / (SRC) 的余數(shù) 字操作 (AX) (DX, AX) / (SRC) 的商 (DX) (DX, AX) / (SRC) 的余數(shù)指令例子: DIV CL DIV WORD PTRBX注:若除數(shù)為零或AL中商大于FFH(或AX中商大于FFFFH),則CPU產(chǎn)生一個(gè)類型0的內(nèi)部中斷。(1) 無(wú)符號(hào)數(shù)除法指令DIV18(2) 有符號(hào)數(shù)除法指令I(lǐng)DIV格式: IDIV src操作與DIV類似。商及余數(shù)均為有符號(hào)數(shù),且余數(shù)符號(hào)總是與被除數(shù)符號(hào)相同。注意: 對(duì)于DIV/IDIV指令 AX(DX,AX)為隱含的被除數(shù)寄存器。 AL(AX)為隱含的商寄存器。 AH(DX)為隱含的
9、余數(shù)寄存器。 src不能為立即數(shù)。 對(duì)所有條件標(biāo)志位均無(wú)定義。19除法運(yùn)算要求被除數(shù)字長(zhǎng)是除數(shù)字長(zhǎng)的兩倍,若不滿足則需對(duì)被除數(shù)進(jìn)行擴(kuò)展,否則產(chǎn)生錯(cuò)誤。對(duì)于無(wú)符號(hào)數(shù)除法擴(kuò)展,只需將AH或DX清零即可。對(duì)有符號(hào)數(shù)而言,則是符號(hào)位的擴(kuò)展。可使用前面介紹過(guò)的符號(hào)擴(kuò)展指令CBW和CWD關(guān)于除法操作中的字長(zhǎng)擴(kuò)展問(wèn)題20例: 寫出34H25H的程序段。 MOV AL,34H MOV BL,25H CBW ; AL的符號(hào)擴(kuò)展到AH IDIV BL ; 0034H25H,結(jié)果為 ; (AH)=0FH, (AL)=01H21(3) 除法的十進(jìn)制調(diào)正指令A(yù)AD對(duì)非壓縮BCD除法運(yùn)算進(jìn)行調(diào)整。隱含的操作寄存器為AH,
10、AL;AAD要在DIV指令之前使用;影響標(biāo)志位PF、SF、ZF,其它無(wú)定義;用AAD還可實(shí)現(xiàn)99的十-二進(jìn)制轉(zhuǎn)換。22例1:按十進(jìn)制乘法計(jì)算78=? 程序段如下:MOVAL,07H;(AL)=07HMOVCL,08H;(CL)=08HMULCL;(AX)=0038HAAM;(AH)=05H,(AL)=06H 所得結(jié)果為非壓縮的BCD碼。例2:把3AH轉(zhuǎn)換成等值的十進(jìn)制數(shù)(非壓縮BCD碼)。 MOV AL,3AH ;58 AAM ;(AH)=05H,(AL)=08H23例3:按十進(jìn)制除法計(jì)算557=? 程序段如下:MOVAX, 0505H;(AX)=55非壓縮BCDMOVCL, 07H;(CL)
11、= 7AAD;(AX)=0037H DIVCL;(AH)=6, (AL)=7 所得結(jié)果為非壓縮的BCD碼(商7余6)。例4:把十進(jìn)制數(shù)73轉(zhuǎn)換成等值的二進(jìn)制數(shù)。 MOV AX, 0703H ;(AX)= 73非壓縮BCD AAD ;(AX)= 0049H24*5.BCD碼運(yùn)算的十進(jìn)制調(diào)整指令專用于對(duì)BCD碼運(yùn)算的結(jié)果進(jìn)行調(diào)整;包括:AAA、DAA、AAS、DAS、AAM、AAD;均為隱含尋址,隱含的操作數(shù)為AL和AH;為何要對(duì)BCD碼的運(yùn)算結(jié)果進(jìn)行調(diào)整? BCD碼本質(zhì)上是十進(jìn)制數(shù),即應(yīng)遵循逢十進(jìn)一的規(guī)則。而計(jì)算機(jī)是按二進(jìn)制(十六進(jìn)制)進(jìn)行運(yùn)算,并未按十進(jìn)制規(guī)則進(jìn)行運(yùn)算。251)加法的十進(jìn)制調(diào)整
12、指令(1)非壓縮BCD碼加法調(diào)整AAA本指令對(duì)在AL中的由兩個(gè)未組合的BCD碼相加后的結(jié)果進(jìn)行調(diào)正,得到一個(gè)正確的未組合的BCD碼。AAA指令只影響AF和CF,其余標(biāo)志無(wú)定義。AAA指令應(yīng)緊跟在8位ADD或ADC指令之后。加法調(diào)整AAA指令既可對(duì)非壓縮BCD碼加法進(jìn)行調(diào)整,也可對(duì)ASCII碼形式的十進(jìn)制數(shù)進(jìn)行調(diào)整。26如果AL的低4位9AF=1,則: AL(AL)+6,(AH)(AH)+1,AF1 AL(AL)0FH) CFAF否則AL(AL)0FHAAA指令的源操作數(shù)為AL操作如下:27調(diào)整原理:先看一個(gè)例子 計(jì)算89 0000 1000 見(jiàn)右式 = 11 結(jié)果應(yīng)為17,而計(jì)算機(jī)相加為11,
13、原因在于運(yùn)算過(guò)程中,如遇到低4位往高4位產(chǎn)生進(jìn)位時(shí)(此時(shí)AF=1)是按逢十六進(jìn)一的規(guī)則,但BCD碼要求逢十進(jìn)一,因此只要產(chǎn)生進(jìn)位,個(gè)位就會(huì)少6,這就要進(jìn)行加6調(diào)正。這個(gè)1代表了16,而實(shí)際上僅應(yīng)為10,即多進(jìn)了6。 28如對(duì)上例的結(jié)果進(jìn)行加6: 0001 0001 11 + 0000 0110 6 0001 0111 17 0000 1111- 1 0000 0111實(shí)際上當(dāng)?shù)?位的結(jié)果9(即AF之間)時(shí),也應(yīng)進(jìn)行加6調(diào)正 (原因是逢十沒(méi)有進(jìn)位,故用加6的方法強(qiáng)行產(chǎn)生進(jìn)位) 。CFAF,AF=129(2)壓縮BCD碼加法調(diào)整DAA兩個(gè)壓縮BCD碼相加結(jié)果在AL中,通過(guò)DAA調(diào)整得到一個(gè)正確的壓
14、縮BCD碼.指令操作(調(diào)整方法): 若AL的低4位9AF=1 則(AL)(AL)+6,AF1 若AL的高4位9CF=1 則(AL)(AL)+60H,CF1除OF外,DAA指令影響所有其它標(biāo)志。DAA指令應(yīng)緊跟在8位ADD或ADC指令之后。30例: 0100 1000 48H MOV AL,48H + 0111 0100 74H MOV BL,74H 1011 1100 BCH ADD AL,BL + 0110 0110 66H DAA 1 0010 0010 1 22H (進(jìn)位) (進(jìn)位) 執(zhí)行ADD后,(AL)=BCH,高4位低4位均大于9,故DAA指令執(zhí)行加66H調(diào)整,最后結(jié)果為: (AL
15、)=22H, CF=1, AF=131(1)非壓縮BCD碼減法的十進(jìn)制調(diào)正指令A(yù)AS 對(duì)AL中由兩個(gè)非壓縮的BCD碼相減的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為: 若AL的低4位9或AF=1,則: AL(AL)-6,AH(AH)-1,AF1 AL(AL)0FH CFAF 否則:AL(AL)0FH2)減法的十進(jìn)制調(diào)整指令32舉例:16-8=? MOV AX,0106H 0000 0110 06 MOV BL,08H - 0000 1000 - 08 SUB AL,BL 1111 1110 FE AAS - 0000 0110 - 06 1111 1000 F8 0000 1111 0F 0000 1000 0
16、8結(jié)果為:(AL)=08H,(AH)=0,CF=AF=133(2)壓縮BCD碼減法的十進(jìn)制調(diào)正指令DAS 對(duì)AL中由兩個(gè)壓縮BCD碼相減的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為: 若AL的低4位9AF=1,則: AL(AL)-6, 且AF1 若AL的高4位9CF=1,則: AL(AL)-60H,且CF1 DAS對(duì)OF無(wú)定義,但影響其余標(biāo)志位。DAS指令要求跟在8位減法指令之后。343) 乘法的十進(jìn)制調(diào)正指令A(yù)AM 對(duì)AX中由兩個(gè)非壓縮BCD碼相乘的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為: (AL)/0AH, (AH)商,(AL)余數(shù)隱含的操作寄存器為AL和AH;AAM跟在MUL指令之后使用;影響標(biāo)志位PF、SF、ZF,其它無(wú)定義;用AAM可實(shí)現(xiàn)99的二-十進(jìn)制轉(zhuǎn)換。35例1:按十進(jìn)制乘法計(jì)算78=? 程序段如下:MOVAL,07H;(AL)=07HMOVCL,08H;(CL)=08HMULCL;(AX)=0038HAAM;(AH)=05H,(AL)=06H 所得結(jié)果為非壓縮的BCD碼。例2:把3AH轉(zhuǎn)換成等值的十進(jìn)制數(shù)。 MOV AL,3AH ;58 AAM ;(AH)=05H,(AL)=08H364) 除法的十進(jìn)制調(diào)正指令A(yù)AD對(duì)非壓縮BCD除法運(yùn)算進(jìn)行調(diào)整。調(diào)整操作為: (AL)(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024常年物資采購(gòu)協(xié)議范本
- 2024年舞臺(tái)搭建項(xiàng)目專用協(xié)議協(xié)議
- 2024家庭水電安裝項(xiàng)目協(xié)議范本
- 2024年化建筑砂漿采購(gòu)協(xié)議范本
- 2024年活雞買賣雙方權(quán)益保障協(xié)議
- 2024建設(shè)項(xiàng)目用電合作協(xié)議
- 2024年學(xué)生違紀(jì)行為處理協(xié)議
- 2024水電項(xiàng)目專用材料采購(gòu)協(xié)議范本
- 2024年設(shè)備采購(gòu)協(xié)議模板2
- 2024年度視頻制作項(xiàng)目協(xié)議格式
- 2024年重慶十八中小升初數(shù)學(xué)試卷
- 2024至2030年中國(guó)商業(yè)POS機(jī)行業(yè)現(xiàn)狀調(diào)研及未來(lái)發(fā)展展望報(bào)告
- 2024糧改飼工作總結(jié)五篇
- 2024-2025學(xué)年九年級(jí)化學(xué)上冊(cè) 第二單元 單元測(cè)試卷(人教版)
- 華為認(rèn)證H13-624 HCIP-Storage-存儲(chǔ) V5.5
- 安徽省淮南市2023-2024學(xué)年高一上學(xué)期第二次月考數(shù)學(xué)試題2
- 護(hù)理美學(xué)-第一章 美學(xué)概述
- 《父親、樹(shù)林和鳥(niǎo)》 公開(kāi)課一等獎(jiǎng)創(chuàng)新教案(共兩課時(shí))
- 消防故障排查合同范本
- 2024人工智能AI問(wèn)答題110道
- 嶺南新天地案例分析
評(píng)論
0/150
提交評(píng)論