COP2000實現(xiàn)補碼兩位乘_第1頁
COP2000實現(xiàn)補碼兩位乘_第2頁
COP2000實現(xiàn)補碼兩位乘_第3頁
COP2000實現(xiàn)補碼兩位乘_第4頁
COP2000實現(xiàn)補碼兩位乘_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、沈陽航空航天大學課程設計報告 -目目 錄錄第第 1 章章 總體設計方案總體設計方案.11.1 設計原理.11.2 設計思路.11.3 設計環(huán)境.1第第 2 章章 詳細設計方案詳細設計方案.42.1 算法與程序的設計與實現(xiàn).42.2 流程圖的設計與實現(xiàn).5第第 3 章章 程序調試與結果測試程序調試與結果測試.93.1 程序調試.9列舉出調試過程中存在的問題.93.2 程序測試及結果分析.9參考文獻參考文獻.10附附 錄(源代碼)錄(源代碼).11沈陽航空航天大學課程設計報告 第 1 章 總體設計方案-0-第 1 章 總體設計方案1.1設計原理設計原理在計算機中,二進制的基本算術運算多是采用補碼進

2、行的。本次課設的補碼兩位乘是根據(jù)補碼一位乘推導出來,補碼兩位乘可以使用和補碼一位乘類似的硬件,而計算速度接近補碼一位乘的兩倍。本次課設需要構造補碼兩位乘規(guī)則表,計算中可以根據(jù)查表依次運算下去。表 1 補碼兩位乘規(guī)則表Yn+1YnYn-1Yn+1+Yn-2Yn-1操作0000部分積+0,右移 2 位001-2部分積加 2-X補,右移兩位0101部分積+X補,右移兩位011-1部分積+-X補,右移兩位1001部分積+X補,右移兩位101-1部分積+-X補,右移兩位1102部分積+2X補,右移兩位1110部分積+0,右移兩位1.2設計思設計思路路(1)被乘數(shù) X,乘數(shù) Y 均以補碼形式參加運算,乘法

3、的每一步對乘數(shù)的兩位進行,即右移兩位。(2)乘數(shù)Y在計算時采用兩位符號位,初始附加位添一個 0。(3)被乘數(shù)X在計算時采用三位符號位。(4)部分積初始為 0,計算過程中采用三位符號位。(5)每一步計算,按照乘數(shù)的最低三位的值查找操作規(guī)則表 1,根據(jù)上一步的部分積和規(guī)則表的操作,計算本步的部分積。(6)每步操作后,將部分積和乘數(shù)右移兩位,乘數(shù)右移后,原來的最低兩位被移除出舍棄,其余各位位權依次下降。重復(4) ,但最后一步操作不右移。1.3設計環(huán)境設計環(huán)境利用偉福 COP2000 型計算機組成原理實驗儀軟件和計算機,在 COP2000 實驗儀軟件上編程實現(xiàn)補碼兩位乘。偉福 COP2000 實驗儀

4、軟件的指令集分為如下大類:算術運算指令、邏輯運算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉指令、中沈陽航空航天大學課程設計報告 第 1 章 總體設計方案-1-斷返回指令、輸入輸出指令。本程序所用到的相應的指令集如下:(1)算術邏輯運算指令ADD A, R? 將寄存器 R?的值加入到累加器 A 中ADD A,#II 立即數(shù)#II 加入到累加器 A 中SUB A,#II 從累加器中減去立即數(shù)后加入到累加器 A 中AND A,R? 累加器 A 與寄存器 R?的值OR A,R? 累加器 A 或寄存器 R?的值(2)數(shù)據(jù)傳送指令MOV A,R? 將寄存器 R?的值送到累加器 A 中MOV A,MM 將存儲器 M

5、M 地址中的值送到累加器 A 中MOV MM,A 將累加器 A 中的值送到存儲器 MM 地址中MOV R?,A 將累加器 A 中的值送到寄存器 A 中MOV R?#II 將立即數(shù) II 送到寄存器 R?中RR A 累加器右移指令RL A 累加器左移指令(3)跳轉指令JC MM 若進位標志置 1,跳轉到 MM 地址JZ MM 若零標志位置 1,跳轉到 MM 地址JMP MM 跳轉到 MM如下為 COP2000 計算機組成原理實驗軟件截圖:沈陽航空航天大學課程設計報告 第 1 章 總體設計方案-2-圖圖 2 2 COP2000COP2000 運行環(huán)境運行環(huán)境沈陽航空航天大學課程設計報告 第 2 章

6、 詳細設計方案-3-第 2 章 詳細設計方案2.1 算法與程序的設計與實現(xiàn)算法與程序的設計與實現(xiàn) 本課設采用偉福 COP2000 實驗儀軟件和計算機實現(xiàn)補碼兩位乘功能,利用偉福 COP2000 的指令集編程實現(xiàn)。算法具體描述:(1) 計算復雜性包括:+X補,+2X補,+-X補,+2-X補;(2) 進行初始化,并且設置計數(shù)單元與建立特殊表。因為每次計算需要進行三次移位,所以用 MOV A,#03H 與 MOV 9AH,A 來將循環(huán)次數(shù)存入內存單元。然后再進行初始化操作,將存儲部分積的 R1 置零,再將用來存儲特殊表的 90H,97H 內存單元置零。接下來再通過輸入的被乘數(shù)判斷其正負,如果被乘數(shù)是

7、負,在前面兩位加上 1,如果是整數(shù)則無需操作,直接構造特殊表。(3) 輸入乘數(shù)后,將乘數(shù)移至最前端,執(zhí)行 LOOP2,首先設置移位次數(shù),取出成熟后,判斷乘數(shù)的后兩位及附加位的值,根據(jù)所查的值訪問特殊表,進而確定加數(shù),之后將部分積與加數(shù)相加得到新的部分積,得到結果后,判斷總循環(huán)是否結束,之后進行判斷移位的操作,部分積的最高位如果是 1,移位后仍然置 1。部分積最低位如果是 1,乘數(shù)右移之后最高位置 1.(4) 根據(jù)乘數(shù)后兩位及附加位來確定 R3,并通過 R3 間接訪問特殊表。將訪問的數(shù)據(jù)作為加數(shù)與部分積相加,然后判斷兩次循環(huán)是否結束,如果兩次運算循環(huán)結束,則結束運算,否則將部分積與乘數(shù)同時右移兩

8、位再根據(jù)有效位來通過 R3 訪問特殊表。相加移位運算結束后再將部分積與乘數(shù)同時右移一位,將數(shù)據(jù)位置有效,輸出數(shù)據(jù)。沈陽航空航天大學課程設計報告 第 2 章 詳細設計方案-4-2.2 流程圖的設計與實現(xiàn)流程圖的設計與實現(xiàn)本部分包含實現(xiàn)中主要部分的流程圖1.構造規(guī)則表:圖 2.2.1 構造規(guī)則表流程圖開始輸入被乘數(shù) X存入 R090H 存入 0,91H 存入X補92H 存入X補,93H 存入 2X補94H 存入 2-X補,95H 存入-X補96H 存入-X補,97H 存入 0結束沈陽航空航天大學課程設計報告 第 2 章 詳細設計方案-5-2.乘數(shù)處理操作:圖 2.2.2 乘數(shù)處理操作流程圖開始輸入

9、乘數(shù) Y左移兩位并存入 R2結束沈陽航空航天大學課程設計報告 第 2 章 詳細設計方案-6-3.運算否是圖 2.2.3 運算流程圖開始根據(jù)乘數(shù)后兩位及附加位來確定 R3,并通過 R3 簡潔訪問特殊表將訪問到的數(shù)據(jù)作為加數(shù)與部分積相加判斷兩次循環(huán)是否結束將部分積與乘數(shù)同時右移兩位結束沈陽航空航天大學課程設計報告 第 2 章 詳細設計方案-7-4.輸出圖 2.2.4 輸出流程圖開始將部分積與乘數(shù)同時右移一位將數(shù)據(jù)位置有效結束沈陽航空航天大學課程設計報告 第 3 章 程序調試與結果測試-8-第 3 章 程序調試與結果測試3.1 程序調試程序調試調試過程中存在的問題:(1) 在輸入以字母開頭的十六進制

10、數(shù)時,沒有在字母前加上 0,導致語法錯誤。(2) 在執(zhí)行帶進位右移操作是 RRC A,因為之前沒對指令集充分了解,導致用了錯誤的指令 RR A。(3) 在對部分積移位操作時,如果最高位是 1 時,移位最高位仍然置 1,當時考慮不夠充分,沒有置 1,導致程序出錯。3.2 程序測試及結果分析程序測試及結果分析 結果展示:輸入:2B 23輸出:13 08沈陽航空航天大學課程設計報告 參考文獻-9-參考文獻1唐朔飛 計算機組成原理(第 2 版).北京.高等教育出版社.20082白中英 計算機組成原理(第 4 版).北京.科學出版社.2008沈陽航空航天大學課程設計報告 附錄-10-附 錄(源代碼)MO

11、V A,#03HMOV 9AH,AMOV A,#00HMOV R1,AMOV 90H,AMOV 97H,ALOOP:INMOV R0, AAND A,#20HJZ M0MOV A,R0OR A,#0C0HMOV R0,AM0:MOV A,R0MOV 91H,AMOV 92H,ARL AMOV 93H,AMOV A,R0CPL AADD A,#01HMOV 95H,AMOV 96H,ARL AMOV 94H,ALOOP1:INRL ARL AMOV R2,ALOOP2:MOV A,#02HMOV 9BH,AMOV A,R2RR AAND A,#07HADD A,#90HMOV R3,AMOV A

12、,R1沈陽航空航天大學課程設計報告 附錄-11-ADD A,R3MOV R1,AMOV A,9AHSUB A,#01HJZ LASTMOV 9AH,AMARK1:MOV A,R1AND A,#80HJZ LOOP3MOV A,R1RRC AJC LOOP4OR A,#80HMOV R1,AMOV A,R2RR AMOV R2,AMARK2:MOV A,9BHSUB A,#01HJZ LOOP2MOV 9BH,AJMP MARK1LOOP3:MOV A,R1RRC AJC LOOP5MOV R1,AMOV A,R2RR AMOV R2,AJMP MARK2LOOP4:OR A,#80HMOV R

13、1,AMOV A,R2RR AOR A,#80HMOV R2,AJMP MARK2LOOP5:MOV R1,A沈陽航空航天大學課程設計報告 附錄-12-MOV A,R2RR AOR A,#80HMOV R2,AJMP MARK2LAST:MOV A,R1RRC AJC LOOP6MOV R1,AAND A,#3FHOUTMOV A,R2RR AMOV R2,AAND A,#0F8HOUTJMP EDLOOP6:MOV R1,AAND A,#3FHOUTMOV A,R2RR AOR A,#80HOUTED:END沈陽航空航天大學課程設計報告-13-課程設計總結:課設本身的目的便是為了考察學生的個

14、人學習和動手能力,本課程設計總結:課設本身的目的便是為了考察學生的個人學習和動手能力,本次課程設計對我來說是個很大的挑戰(zhàn),因為我個人認為我的計算機組成原理這次課程設計對我來說是個很大的挑戰(zhàn),因為我個人認為我的計算機組成原理這門課程學的并不是很好,好在查閱了很多資料,也讓我充分了解了補碼兩位乘門課程學的并不是很好,好在查閱了很多資料,也讓我充分了解了補碼兩位乘的原理。此次課程設計我也學到了很多基本理論,對我充分認識計算機的運算的原理。此次課程設計我也學到了很多基本理論,對我充分認識計算機的運算過程也有很大幫助。同時,我對過程也有很大幫助。同時,我對 COP2000 實驗儀器及軟件也有了充分的了解。實驗儀器及軟件也有了充分的了解。對我今后的實踐也會有很大的幫助,同時也感謝老師課前的答疑,消除了我部對我今后的實踐也會有很大的幫助,同時也感謝老師課

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論