匯編語言實現(xiàn)用16位乘法指令完成32位無符號數(shù)乘法

匯編語言實現(xiàn)用16位乘法指令完成32位無符號數(shù)乘法

ID:18196929

大小:278.00 KB

頁數(shù):12頁

時間:2018-09-15

匯編語言實現(xiàn)用16位乘法指令完成32位無符號數(shù)乘法_第1頁
匯編語言實現(xiàn)用16位乘法指令完成32位無符號數(shù)乘法_第2頁
匯編語言實現(xiàn)用16位乘法指令完成32位無符號數(shù)乘法_第3頁
匯編語言實現(xiàn)用16位乘法指令完成32位無符號數(shù)乘法_第4頁
匯編語言實現(xiàn)用16位乘法指令完成32位無符號數(shù)乘法_第5頁
資源描述:

《匯編語言實現(xiàn)用16位乘法指令完成32位無符號數(shù)乘法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、《微型計算機原理與接口技術(shù)》實驗報告一、程序設計題目一三十二位無符號乘法1設計分析:(1)程序設計任務:用十六位乘法指令完成三十二位無符號數(shù)乘法(結(jié)果64位)。使用MUL指令,完成雙字無符號數(shù)乘法程序,要求乘數(shù)和被乘數(shù)從鍵盤輸入,結(jié)果顯示于屏幕上。(2)程序設計要求:1)從鍵盤輸入兩個乘數(shù)(十六進制)2)結(jié)果顯示于屏幕上(十六進制)(3)程序設計過程:1)定義數(shù)據(jù)段用于開辟緩沖區(qū)存儲輸入數(shù)據(jù)、輸出數(shù)據(jù)和乘積。2)從鍵盤分別輸入兩個八位數(shù)字符(三十二字節(jié))存入緩沖區(qū)(分4次輸入,每次輸入4個字符,前兩次為被乘數(shù)的高位與低位,后兩

2、次為乘數(shù)的高位與低位)3)對緩沖區(qū)輸入的字符進行處理,讓Ascal碼轉(zhuǎn)換為數(shù)值本身的數(shù)值。4)把三十二位分割成兩位十六位,分別對其進行十六位的乘法。5)將四個十六位乘法的乘積按照各自的位相加的最終乘積6)對所得結(jié)果進行處理,讓Ascal碼轉(zhuǎn)換為數(shù)值本身的數(shù)值7)將結(jié)果向屏幕輸出。2、算法(一個框代表16位2進制數(shù))3、X2X11616y2y11616161616161616161616161616P+6p+4p+2p開始2、程序流程圖:初始化輸入被乘數(shù)的高位的4個字符X2輸入被乘數(shù)的低位的4個字符X1輸入乘數(shù)的高位的4個字符y

3、2輸入乘數(shù)的低位的4個字符y1開始運算乘法被乘數(shù)低位4個字符x1和乘數(shù)低位4個字符y1相乘結(jié)果低位存入p,高位存入p+2被乘數(shù)高位4個字符x2和乘數(shù)低位4個字符y1相乘結(jié)果低位存入p+2,高位存入p+4被乘數(shù)低位4個字符x1和乘數(shù)高位4個字符y2相乘結(jié)果低位存入p+2,高位存入p+4被乘數(shù)高位4個字符x2和乘數(shù)高位4個字符y2相乘結(jié)果低位存入p+4,高位存入p+6乘積相加輸出結(jié)果162、測試數(shù)據(jù)與運行結(jié)果:輸入被乘數(shù)的高位的4個字符X2:輸入被乘數(shù)的低位的4個字符X1:輸入乘數(shù)的高位的4個字符y2:輸入乘數(shù)的低位的4個字符y1

4、:運行結(jié)果:2、程序源代碼及注解:ddatasegmentx1dw16dup(?)x2dw16dup(?)y1dw16dup(?)y2dw16dup(?)pdw30dup(?)keybufdb10dup(?)ddataends;定義數(shù)據(jù)段ccodesegmentassumecs:ccode,ds:ddatastart:movax,ddatamovds,axmovdx,offsetkeybufmovbx,dxmov[bx],byteptr9movah,0ahint21hmovah,[bx+2]moval,[bx+3]shlal,

5、4shrax,4movdh,almovah,[bx+4]moval,[bx+5]shlal,4shrax,4movdl,almovx2,dx;輸入被乘數(shù)的高位的4個字符x2movdx,offsetkeybufmovbx,dxmov[bx],byteptr9movah,0ahint21hmovah,[bx+2]moval,[bx+3]shlal,4shrax,4movdh,almovah,[bx+4]moval,[bx+5]shlal,4shrax,4movdl,almovx1,dx;輸入被乘數(shù)的低位的4個字符x1movdx,o

6、ffsetkeybufmovbx,dxmov[bx],byteptr9movah,0ahint21hmovah,[bx+2]moval,[bx+3]shlal,4shrax,4movdh,almovah,[bx+4]moval,[bx+5]shlal,4shrax,4movdl,almovy2,dx;輸入乘數(shù)的高位的4個字符y2movdx,offsetkeybufmovbx,dxmov[bx],byteptr9movah,0ahint21hmovah,[bx+2]moval,[bx+3]shlal,4shrax,4movdh,

7、almovah,[bx+4]moval,[bx+5]shlal,4shrax,4movdl,almovy1,dx;輸入乘數(shù)的低位的4個字符y1movax,x1movdx,y1muldxmov[p],axmov[p+2],dx;被乘數(shù)低位4字符x1和乘數(shù)低位4字符y1相乘結(jié)果低位存入p,高位存入p+2movax,x2movdx,y1muldxadd[p+2],axadc[p+4],dx;被乘數(shù)高位4字符x2和乘數(shù)低位4字符y1相乘結(jié)果低位存入p+2,高位存入p+4movax,x1movdx,y2muldxadd[p+2],axa

8、dc[p+4],dxadc[p+6],0;被乘數(shù)低位4個字符x1和乘數(shù)高位4個字符y2相乘結(jié)果低位存入p+2,高位存入p+4movax,x2movdx,y2muldxadd[p+4],axadc[p+6],dx;被乘數(shù)高位4個字符x2和乘數(shù)高位4個字符y2相乘結(jié)果低位存入p+

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。