![算術(shù)運(yùn)算指令_第1頁(yè)](http://file4.renrendoc.com/view/2e786f3b1ec05bbf511e01e9dca47121/2e786f3b1ec05bbf511e01e9dca471211.gif)
![算術(shù)運(yùn)算指令_第2頁(yè)](http://file4.renrendoc.com/view/2e786f3b1ec05bbf511e01e9dca47121/2e786f3b1ec05bbf511e01e9dca471212.gif)
![算術(shù)運(yùn)算指令_第3頁(yè)](http://file4.renrendoc.com/view/2e786f3b1ec05bbf511e01e9dca47121/2e786f3b1ec05bbf511e01e9dca471213.gif)
![算術(shù)運(yùn)算指令_第4頁(yè)](http://file4.renrendoc.com/view/2e786f3b1ec05bbf511e01e9dca47121/2e786f3b1ec05bbf511e01e9dca471214.gif)
![算術(shù)運(yùn)算指令_第5頁(yè)](http://file4.renrendoc.com/view/2e786f3b1ec05bbf511e01e9dca47121/2e786f3b1ec05bbf511e01e9dca471215.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——算術(shù)運(yùn)算指令一、算術(shù)運(yùn)算指令算術(shù)運(yùn)算中的溢出問(wèn)題以8位二進(jìn)制數(shù)的加法為例,兩個(gè)8位數(shù)相加時(shí)有4種狀況:二進(jìn)制運(yùn)算對(duì)應(yīng)的十進(jìn)制運(yùn)算數(shù)據(jù)作為無(wú)符號(hào)數(shù)Case1:無(wú)符號(hào)數(shù)和有符號(hào)數(shù)均不溢出00001000+0001111000100110結(jié)果:26H(38)CF=0,OF=0Case2:無(wú)符號(hào)數(shù)溢出,有符號(hào)數(shù)不溢出00001000+11111101100000101結(jié)果:5CF=1,OF=0Case3:無(wú)符號(hào)數(shù)不溢出,有符號(hào)數(shù)溢出00001000+0111110110000101結(jié)果:-123(補(bǔ)碼)CF=0,OF=1Case4:無(wú)符號(hào)數(shù)和有符號(hào)數(shù)均溢出10001000+11110111101111111結(jié)果:127CF=1,OF=18+3038未超出8位無(wú)符號(hào)二進(jìn)制數(shù)表示范圍8+253261超出8位無(wú)符號(hào)二進(jìn)制數(shù)表示范圍8+125133未超出8位無(wú)符號(hào)二進(jìn)制數(shù)表示范圍136+247383超出8位無(wú)符號(hào)二進(jìn)制數(shù)表示范圍數(shù)據(jù)作為有符號(hào)數(shù)+8+(+30)+38未超出8位有符號(hào)二進(jìn)制數(shù)表示范圍+8+(-3)+5未超出8位有符號(hào)二進(jìn)制數(shù)表示范圍+8+(+125)+133超出8位有符號(hào)二進(jìn)制數(shù)表示范圍-120+(-9)-129超出8位有符號(hào)二進(jìn)制數(shù)表示范圍上面四種狀況說(shuō)明,算術(shù)運(yùn)算溢出的判別是比較繁雜的,不能只用一個(gè)標(biāo)志位來(lái)判別。算術(shù)運(yùn)算溢出是一種出錯(cuò)狀態(tài),在運(yùn)算過(guò)程中應(yīng)當(dāng)避免。1加法運(yùn)算指令A(yù)DDCL,20H;CL←(CL)+20HADDAX,SI;AX←(AX)+(SI)ADD[BX+2],AL;(BX+2)←((BX)+2)+(AL)ADDDX,[BX+SI];DX←(DX)+((BX)+(SI))ADDAX,CL;錯(cuò)誤!操作數(shù)類型應(yīng)一致ADD[SI],[BX];錯(cuò)誤!不允許兩個(gè)操作數(shù)都是存儲(chǔ)器ADDDS,AX;錯(cuò)誤!不允許把段寄放器作為操作數(shù)加法指令對(duì)全部6個(gè)狀態(tài)標(biāo)志位都會(huì)產(chǎn)生影響。試分析以下兩條指令執(zhí)行后的狀態(tài):MOVAL,7EHADDAL,5BH分析:我們用手工的方法來(lái)模擬以上兩條指令的執(zhí)行,如下01111110+01011011110110011
根據(jù)運(yùn)算過(guò)程可得出各狀態(tài)標(biāo)志位的值:(Ci表示第i位的進(jìn)位)C3=1,所以AF=1;C7=0,所以CF=0;C7⊕C6=1,所以O(shè)F=1;
結(jié)果中1的個(gè)數(shù)為奇數(shù),所以PF=0;結(jié)果的bit7=1,所以SF=1;結(jié)果不為零,所以ZF=0。
其中CF=0意味著若操作數(shù)是無(wú)符號(hào)數(shù),則結(jié)果沒有產(chǎn)生溢出;而OF=1意味著若操作數(shù)是有符號(hào)數(shù),則運(yùn)算結(jié)果溢出。事實(shí)上,根據(jù)運(yùn)算結(jié)果AL=D9H>7FH(8位有符號(hào)數(shù)的最大值)和D9H<FFH(8位無(wú)符號(hào)數(shù)的最大值)也可得到一致結(jié)果。②帶進(jìn)位的加法指令A(yù)DC
設(shè)CF=1,寫出以下指令執(zhí)行后的結(jié)果。MOVAL,7EHADCAL,86H
指令執(zhí)行后:AL=7EH+ABH+1=2AH,且CF=1。
求兩個(gè)32位無(wú)符號(hào)數(shù)0107A379H與10067E4FH二者之和。MOVDX,0107H;第一個(gè)數(shù)高16位傳送到DXMOVAX,0A379H;第一個(gè)數(shù)低16位傳送到AXMOVBX,1006H;其次個(gè)數(shù)高16位傳送到BXMOVCX,7E4FH;其次個(gè)數(shù)低16位傳送到CXADDAX,CX;低16位相加,進(jìn)位在CF中ADCDX,BX;高16位相加,并加上低16位的進(jìn)位相加的最終結(jié)果為:110E21C8H。2減法運(yùn)算指令
②帶借位的減法指令SBB
x、y、z均為32位數(shù),分別存放在地址為X、Y、Z的三個(gè)存儲(chǔ)單元中,用指令序列實(shí)現(xiàn)w=x+y+24-z,結(jié)果放在W單元中。
解:由于x、y、z均為32位數(shù),所以我們用兩個(gè)16位寄放器完成32位運(yùn)算。程序段如下:MOVAX,X
MOVDX,X+2;DX:AX←xADDAX,Y
ADCDX,Y+2;DX:AX←x+yADDAX,24
ADCDX,0;DX:AX←x+y+24SUBAX,Z
SBBDX,Z+2;DX:AX←x+y+24-zMOVW,AX
MOVW+2,DX;32位結(jié)果存入W單元⑤求補(bǔ)指令NEG
若AL=47H,則執(zhí)行NEGAL后,AL=B9H,CF=1。本例中,結(jié)果B9H為(-47H)的補(bǔ)碼。
NEG指令對(duì)六個(gè)狀態(tài)標(biāo)志位均有影響。但要注意以下兩點(diǎn):
(1)執(zhí)行NEG指令后,一般狀況下都會(huì)使CF為1。由于用零減去某個(gè)操作數(shù),自然會(huì)產(chǎn)生借位,而減法的CF值正是反映無(wú)符號(hào)數(shù)運(yùn)算中的借位狀況。除非給定的操作數(shù)為零才會(huì)使CF為0。
2
(2)若操作數(shù)的值為80H(-128)或?yàn)?000H(-32768),則執(zhí)行NEG指令后,其結(jié)果仍為80H或8000H,但OF置1,其它狀況下OF均置0。3乘法運(yùn)算指令①無(wú)符號(hào)數(shù)乘法指令MULMULDL;AX←(AL)×(DL)MULBX;DX:AX←(AX)×(BX)MULBYTEPTR[SI];AX←(AL)×((SI))MULW0RDPTR[DI];DX:AX←(AX)×((DI)+1):(DI))MUL10;錯(cuò)誤!源操作數(shù)不能為馬上數(shù)MULAL,BL;錯(cuò)誤!目的操作數(shù)無(wú)需寫出②有符號(hào)數(shù)乘法指令I(lǐng)MUL設(shè)AL=FEH,CL=11H,求AL的內(nèi)容與CL的內(nèi)容的乘積。解:若將兩個(gè)寄放器中內(nèi)容看做無(wú)符號(hào)數(shù),則應(yīng)使用指令:MULCL,指令執(zhí)行后:AX=10DEH,因AH中的結(jié)果不為零,故CF=0F=l。若將兩個(gè)寄放器中內(nèi)容看作有符號(hào)數(shù),則應(yīng)使用指令:IMULCL,指令執(zhí)行后:AX=FFDEH=-34。因AH的內(nèi)容是AL的符號(hào)擴(kuò)展,故CF=0F=0。4BCD碼運(yùn)算調(diào)整指令①BCD碼的加法運(yùn)算調(diào)整指令A(yù)AA/DAA(1)非壓縮BCD碼的加法調(diào)整指令A(yù)AA用十進(jìn)制計(jì)算9+4MOVAL,09H;AL←9MOVBL,04H;BL←4ADDAL,BL;AL=(AL)+(BL)=0DHAAA;AL=(0DH+06H)∧0FH=03H;AH←AH+1;CF←1(2)壓縮BCD碼的加法調(diào)整指令DAA用十進(jìn)制計(jì)算48+27,程序段如下:MOVAL,48HADDAL,27HDAA其中,ADD指令的運(yùn)算過(guò)程為:01001000?001001110110111148+27應(yīng)等于75,但ADD指令運(yùn)算的結(jié)果為6FH,結(jié)果不正確。執(zhí)行DAA指令時(shí),因低4位>9,故進(jìn)行加6調(diào)整:01101111?0000011001110101可以看出,調(diào)整后:AL=(75)BCD,AF=1,CF=0,結(jié)果正確。②BCD碼的減法運(yùn)算調(diào)整指令A(yù)AS/DAS(1)非壓縮的BCD碼減法運(yùn)算調(diào)整指令A(yù)AS3
用十進(jìn)制計(jì)算16-8
MOVAX,0106H;AX←非壓縮BCD數(shù)16MOVBL,08H;BL←非壓縮BCD數(shù)8SUBAL,BL;AL←(AL)-(BL)AAS;BCD碼減法調(diào)整,AL=8
程序中SUB指令和AAS指令的具體操作如下:
指令操作0000011006
SUBAL,BL-00001000-0811111110FEAAS-00000110-0611111000F8∧00001111∧0F0000100008
最終結(jié)果為:AL=08H,AH=0,CF=AF=1(2)壓縮的BCD碼減法運(yùn)算調(diào)整指令DAS③BCD碼的乘法運(yùn)算調(diào)整指令A(yù)AM
按十進(jìn)制乘法計(jì)算7×8,程序段如下:MOVAL,07H;AL←07HMOVCL,08H;CL←08H
MULCL;AX=0038H(56的二進(jìn)制數(shù)表示)AAM;AH=05H,AL=06H
AX=0506H為正確的非壓縮的BCD碼結(jié)果。
AAM的操作實(shí)質(zhì)上是把AL中的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),所以對(duì)于不超過(guò)99的二進(jìn)制數(shù),用一條AAM指令即可實(shí)現(xiàn)二進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換。把3AH轉(zhuǎn)換成等值的十進(jìn)制數(shù)。MOVAL,3AHAAM
結(jié)果:AX=0508H,即與3AH等值的十進(jìn)制數(shù)為58。④BCD碼的除法運(yùn)算調(diào)整指令A(yù)AD
按十進(jìn)制除法計(jì)算55÷7,程序段如下:MOVAX,0505H;AX=55BCDMOVCL,07H;CL=7AAD;AX=0037HDIVCL;AH=6,AL=7
所得結(jié)果為非壓縮的BCD碼(商7余6)。例2:把73轉(zhuǎn)換成等值的二進(jìn)制數(shù)。MOVAX,0703H;AX=73BCDAAD;AX=0049H
所得結(jié)果49H為十進(jìn)制數(shù)73的二進(jìn)制數(shù)表示。
二、規(guī)律運(yùn)算指令
4
把AH和AL中的非壓縮BCD碼組合成壓縮的BCD碼,放到AL中。MOVCL,4;移位次數(shù)SHLAH,CL;將AH中的BCD碼左移4位ORAL,AH;AH與AL的內(nèi)容拼接在一起用不同的指令將AX寄放器清零。指令優(yōu)缺點(diǎn)速度快、指令短;會(huì)影響標(biāo)志位不影響標(biāo)志位;指令長(zhǎng)影響標(biāo)志位;指令長(zhǎng)速度快、指令短;會(huì)影響標(biāo)志位指令多、執(zhí)行時(shí)間長(zhǎng);會(huì)影響標(biāo)志位方法1XORAX,AX方法2MOVAX,0方法3ANDAX,0方法4SUBAX,AX方法5MOVCL,8SHLAX,CL1移位指令把AX中的16位無(wú)符號(hào)數(shù)乘以10。把一個(gè)數(shù)乘10可寫成:10x=8x+2x=2x+2x,用左移指令實(shí)現(xiàn)乘10運(yùn)算的程序段如下:SHLAX,1;AX←2xMOVBX,AX;BX←2xSHLAX,1;AX←4xSHLAX,1;AX←8xADDAX,BX;AX←8x+2x=10x將AL中的兩位壓縮BCD數(shù)轉(zhuǎn)換成ASCII碼送入BL和BH,AL的內(nèi)容保持不變。MOVBL,AL;先轉(zhuǎn)換BCD數(shù)的個(gè)位數(shù)ANDBL,0FH;高4位清零ADDBL,30H;個(gè)位數(shù)的ASCII碼在BL中MOVCL,4;再轉(zhuǎn)換BCD數(shù)的十位數(shù)RORAL,CL;把高4位移到低4位MOVBH,ALANDBH,0FHADDBH,30H;十位數(shù)的ASCII碼在BH中RORAL,CL;恢復(fù)AL原來(lái)的內(nèi)容三、串操作指令將2000H:1200H地址開始的200個(gè)字節(jié)傳送到6000H:2000H開始的存儲(chǔ)單元中。程序段如下:MOVAX,2000HMOVDS,AX;設(shè)置源串段地址MOVAX,6000HMOVES,AX;設(shè)置目的串段地址MOVSI,1200H;設(shè)置源串偏移地址MOVDI,2000H;設(shè)置目的串偏移地址MOVCX,100;串長(zhǎng)度送CXCLD;DF←0,方向?yàn)閺牡偷刂返礁叩刂稲EPMOVSB;每次傳送一個(gè)字節(jié),并自動(dòng)修改地址指針及CX內(nèi)容;若修改后CX≠0就重復(fù)執(zhí)行5
31把6000H:1200H開始的100個(gè)字節(jié)存儲(chǔ)單元全部設(shè)置為55H。MOVAX,6000H
MOVES,AX;ES←目
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度大型活動(dòng)廣告投放策略合同
- 2025年度地下綜合管廊工程勞務(wù)分包施工合同
- 2025年度葡萄酒莊園旅游合作開發(fā)合同
- 2025年度智能化家居裝修合同服務(wù)協(xié)議
- 2025年度新能源車輛充電站借款合同糾紛處理流程
- 2025年度兒童游樂場(chǎng)加盟管理合同范本
- 2025年度知識(shí)產(chǎn)權(quán)質(zhì)押貸款合同編寫指南
- 2025年度新能源項(xiàng)目過(guò)橋資金借款申請(qǐng)專項(xiàng)合同
- 2025年度冷鏈運(yùn)輸與醫(yī)藥電商合作合同
- 2025年度車輛租賃與廣告位合作合同范本
- 《游戲界面設(shè)計(jì)專題實(shí)踐》課件-知識(shí)點(diǎn)5:圖標(biāo)繪制準(zhǔn)備與繪制步驟
- 自動(dòng)扶梯安裝過(guò)程記錄
- MOOC 材料科學(xué)基礎(chǔ)-西安交通大學(xué) 中國(guó)大學(xué)慕課答案
- 智慧供熱管理系統(tǒng)方案可行性研究報(bào)告
- 帕金森病的言語(yǔ)康復(fù)治療
- 中國(guó)城市居民的健康意識(shí)和生活方式調(diào)研分析報(bào)告
- 上海星巴克員工手冊(cè)
- 貓狗創(chuàng)業(yè)計(jì)劃書
- 復(fù)產(chǎn)復(fù)工試題含答案
- 部編版語(yǔ)文三年級(jí)下冊(cè)第六單元大單元整體作業(yè)設(shè)計(jì)
- 售后服務(wù)經(jīng)理的競(jìng)聘演講
評(píng)論
0/150
提交評(píng)論