COP2000實現(xiàn)BCD碼的加法_第1頁
COP2000實現(xiàn)BCD碼的加法_第2頁
COP2000實現(xiàn)BCD碼的加法_第3頁
COP2000實現(xiàn)BCD碼的加法_第4頁
COP2000實現(xiàn)BCD碼的加法_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、沈陽航空航天大學(xué)課課 程程 設(shè)設(shè) 計計 報報 告告課程設(shè)計名稱:計算機組成原理課程設(shè)計計算機組成原理課程設(shè)計課程設(shè)計題目:COP2000 實現(xiàn)實現(xiàn) BCD 碼的加法碼的加法院(系):計算機學(xué)院專 業(yè):計算機科學(xué)與技術(shù)班 級:學(xué) 號:姓 名:指導(dǎo)教師:完成日期:2013年1月11日沈陽航空航天大學(xué)課程設(shè)計報告 1目目 錄錄第第 1 章章 總體設(shè)計方案總體設(shè)計方案.21.1 設(shè)計原理 .21.2 設(shè)計環(huán)境 .2第第 2 章章 詳細(xì)設(shè)計方案詳細(xì)設(shè)計方案.32.1 算法與程序的設(shè)計與實現(xiàn) .32.2 流程圖的設(shè)計與實現(xiàn).42.2.1 總流程圖 .42.2.2 最低兩位求和流程圖 .52.2.3 中間兩

2、位求和流程圖 .62.2.4 最高兩位求和流程圖 .7第第 3 章章 程序調(diào)試與結(jié)果測試程序調(diào)試與結(jié)果測試.83.1 程序調(diào)試.83.2 程序測試及結(jié)果分析.8參考文獻參考文獻.9附錄(源代碼)附錄(源代碼).10沈陽航空航天大學(xué)課程設(shè)計報告 2第 1 章 總體設(shè)計方案1.1 設(shè)設(shè)計計原原理理 欲實現(xiàn)兩個壓縮 BCD 碼的加法,且被加數(shù),加數(shù),和都為六位十進制數(shù),需將兩個六位十進制數(shù)輸入到內(nèi)存中,再 分別實現(xiàn)加數(shù)和被加數(shù)的 最低兩位,中間兩位,最高兩位的帶進位加法,并且依次將其進行十六進制到十進制的轉(zhuǎn)換, 輸入到內(nèi)存中暫存, 最后將六位十進制的和 輸出到寄存器中顯示出來。1.2 設(shè)設(shè)計計環(huán)環(huán)境

3、境偉福 COP2000 實驗箱,用匯編語言編程實現(xiàn)BCD 碼的加法COP2000 計算機組成原理實驗系統(tǒng)由實驗平臺、開關(guān)電源、軟件三大部分組成。實驗平臺上有寄存器組 R0-R3、運算單元、累加器 A、暫存器 W、直通/左移/右移單元、 地址寄存器、程序計數(shù)器、堆棧、中斷源、輸入/輸出單元、存儲器單元、微地址寄存器、指令寄存器、微程序控制器、組合邏輯控制器、擴展座、總線插孔區(qū)、微動開關(guān) /指示燈、邏輯筆、脈沖源、 20 個按鍵、字符式 LCD、RS232 口。沈陽航空航天大學(xué)課程設(shè)計報告 3第 2 章 詳細(xì)設(shè)計方案2.1 算法與程序的設(shè)計與實現(xiàn)算法與程序的設(shè)計與實現(xiàn) 此程序的核心在于十六進制轉(zhuǎn)換

4、為十進制BCD 碼的部分,以最低兩位的運算為例: 一.低位 1.若低位9,正確的 BCD 碼應(yīng)該讓低位變成對應(yīng)的 09,即減A(10) ,再把 A 進給高位,由于是高位,因此高位應(yīng)該是加1,即+10H-0AH=+6H 2.若低位產(chǎn)生進位,但這個進位是 “16 進 1” ,即低位多進了 6,因此應(yīng)該給低位加上 6,即+6H 3.由于低位 BCD 碼對應(yīng)的十進制為 09,不可能既產(chǎn)生進位又低位 9 二.高位 1.若高位9,同理,應(yīng)該讓高位變成對應(yīng)的09,即給高位減 A(10) , 再把 A 進給更高位,由于是更高位,因此更高位應(yīng)該是加1,即+100H-A0H=+60H 2.若高位產(chǎn)生進位,但這個進

5、位是 “16 進 1” ,即高位多進了 6,因此應(yīng)該給高位加上 6,即+60H 3.由于高位 BCD 碼對應(yīng)的十進制為 0A(可能是 A 是由于可能低位會進位,而高位和本來是 9,則會變成 A) ,不可能既產(chǎn)生進位又高位 9 三.由于 COP2000 中只能顯示高位進位標(biāo)志,而低位的進位顯示不出來,所以需要把低位左移到高位,再進行運算,才能得出低位是否進位。沈陽航空航天大學(xué)課程設(shè)計報告 42.2 流程圖的設(shè)計與實現(xiàn)流程圖的設(shè)計與實現(xiàn)2.2.1 總流程圖總流程圖開始輸入加數(shù)和被加數(shù),存入內(nèi)存中最低兩位相加,存和到內(nèi)存中中間兩位相加,存和到內(nèi)存中最高兩位相加,存和到內(nèi)存中將六位和從內(nèi)存取出并顯示結(jié)

6、束圖圖 2.1.1 總流程圖總流程圖沈陽航空航天大學(xué)課程設(shè)計報告 5開始低位左移四位求和進位和的數(shù)值+06H兩位求和進位和的數(shù)值+60H,和輸入到內(nèi)存,中間兩位加數(shù)的值+1和輸入到內(nèi)存中結(jié)束2.2.2 最低兩位求和流程圖最低兩位求和流程圖 是 否 和大于 90H 是 否 是 否 和大于 90H 是 否圖圖 2.1.2 最低兩位求和流程圖最低兩位求和流程圖沈陽航空航天大學(xué)課程設(shè)計報告 6開始低位左移四位求和進位和的數(shù)值+06H兩位求和進位和的數(shù)值+60H,和輸入到內(nèi)存,最高兩位加數(shù)的值+1和輸入到內(nèi)存中結(jié)束2.2.3 中間兩位求和流程圖中間兩位求和流程圖 是 否 和大于 90H 是 否 是 否

7、和大于 90H 是 否圖圖 2.2.3 中間兩位求和流程圖中間兩位求和流程圖沈陽航空航天大學(xué)課程設(shè)計報告 7開始低位左移四位求和進位和的數(shù)值+06H兩位求和進位和的數(shù)值+60H,和輸入到內(nèi)存和輸入到內(nèi)存中結(jié)束2.2.4 最高兩位求和流程圖最高兩位求和流程圖 是 否 和大于 90H 是 否 是 否 和大于 90H 是 否圖圖 2.2.4 最高兩位求和流程圖最高兩位求和流程圖沈陽航空航天大學(xué)課程設(shè)計報告 8第 3 章 程序調(diào)試與結(jié)果測試3.1 程序調(diào)試程序調(diào)試(1)由于此程序的 BCD 碼為壓縮的 BCD 碼,每個字節(jié)存兩位十進制數(shù),而進位標(biāo)志位只能判斷高位是否進位,所以在判斷低位是否進位時產(chǎn)生了

8、難度,此時便將兩位十進制數(shù)和 “0F”相與,將高位置零后,低位左移四位到高位,便可以判斷低位是否有進位了 。(2)最初在設(shè)計程序時沒有考慮輸入的數(shù)值放在內(nèi)存單元位置的問題,導(dǎo)致輸入內(nèi)存中的數(shù)據(jù)與程序代碼占用的內(nèi)存單元中的數(shù)據(jù)相沖突,而不能完整的實現(xiàn)程序的功能。解決辦法就是將輸入內(nèi)存的數(shù)據(jù)存到一定不被事先占用過的內(nèi)存單元中,避免沖突。(3)代碼中用到立即數(shù)時,忘記加 “#” ,或者寫內(nèi)存地址時忘記加 “H” 。諸如此類小問題,檢查代碼以后便可解決。3.2 程序測試及結(jié)果分析程序測試及結(jié)果分析測試階段,用兩組數(shù)檢驗程序的功能,用X 表示被加數(shù),用 Y 表示加數(shù)。(1)X=013579 Y=0246

9、89輸出結(jié)果為 038268(2)X=987654 Y=123456輸出結(jié)果為 111110(1)中,013579+024689=038268,結(jié)果正確。(2)中,987654+123456=1111110,由于輸出結(jié)果不考慮溢出,只能顯示六位數(shù),所以結(jié)果正確。沈陽航空航天大學(xué)課程設(shè)計報告 9參考文獻1 唐朔飛.計算機組成原理(第 2 版)M北京:高等教育出版社,20082 王愛英.計算機組成與結(jié)構(gòu)(第 4 版)M.北京:清華大學(xué)出版社,20063 白中英.計算機組成原理(第 4 版) M北京:科學(xué)出版社,2008沈陽航空航天大學(xué)程設(shè)計報告10附錄(源代碼)00 C0 IN01 88E6 MO

10、V 0E6H,A03 C0 IN04 88E1 MOV 0E1H,A06 C0 IN07 88E2 MOV 0E2H,A09 C0 IN0A 88E3 MOV 0E3H,A0C C0 IN0D 88E4 MOV 0E4H,A0F C0 IN10 88E5 MOV 0E5H,A12 78E2 MOV A,0E2H;取低八位14 80 MOV R0,A15 78E5 MOV A,0E5H17 81 MOV R1,A18 70 MOV A,R0;對低四位進行判斷19 5C0F AND A,#0FH1B D4 RL A1C D4 RL A1D D4 RL A1E D4 RL A1F 82 MOV R2

11、,A20 71 MOV A,R121 5C0F AND A,#0FH23 D4 RL A24 D4 RL A25 D4 RL A26 D4 RL A27 83 MOV R3,A28 72 MOV A,R229 13 ADD A,R32A A035 JC T1;相加有進位跳轉(zhuǎn)2C 82 MOV R2,A2D 7C90 MOV A,#90H2F 32 SUB A,R2;相加大于 9 跳轉(zhuǎn)30 A035 JC T132 70 MOV A,R0沈陽航空航天大學(xué)程設(shè)計報告1133 AC38 JMP T4 T1: ;低四位之和有進位或大于 9,和加 635 70 MOV A,R036 1C06 ADD A

12、,#06H T4: ;38 11 ADD A,R139 A04D JC T2;低八位的高四位之和有進位跳轉(zhuǎn)3B 83 MOV R3,A3C 7C90 MOV A,#90H3E 33 SUB A,R3;低八位的高四位之和大于 9 跳轉(zhuǎn)3F A04C JC T341 73 MOV A,R342 88F0 MOV 0F0H,A;低八位之和存入內(nèi)存44 78E1 MOV A,0E1H;取中間八位46 80 MOV R0,A47 78E4 MOV A,0E4H49 81 MOV R1,A4A AC5C JMP LOOP1 T3:4C 73 MOV A,R3 T2:4D 1C60 ADD A,#60H4F

13、 88F0 MOV 0F0H,A;低八位之和存入內(nèi)存51 78E1 MOV A,0E1H;取中間八位53 80 MOV R0,A54 78E4 MOV A,0E4H56 81 MOV R1,A57 71 MOV A,R158 71 MOV A,R159 1C01 ADD A,#01H;低八位有進位向中間八位進 15B 81 MOV R1,A;中間八位運算 LOOP1:5C 70 MOV A,R05D 5C0F AND A,#0FH5F D4 RL A60 D4 RL A61 D4 RL A62 D4 RL A63 82 MOV R2,A64 71 MOV A,R165 5C0F AND A,#

14、0FH67 D4 RL A68 D4 RL A沈陽航空航天大學(xué)程設(shè)計報告1269 D4 RL A6A D4 RL A6B 83 MOV R3,A6C 72 MOV A,R26D 13 ADD A,R36E A079 JC TT170 82 MOV R2,A71 7C90 MOV A,#90H73 32 SUB A,R274 A079 JC TT176 70 MOV A,R077 AC7C JMP TT4 TT1:79 70 MOV A,R07A 1C06 ADD A,#06H TT4:7C 11 ADD A,R17D A091 JC TT27F 83 MOV R3,A80 7C90 MOV A

15、,#90H82 33 SUB A,R383 A090 JC TT385 73 MOV A,R386 88F1 MOV 0F1H,A;中間八位存入內(nèi)存88 78E6 MOV A,0E6H;取高八位8A 80 MOV R0,A8B 78E3 MOV A,0E3H8D 81 MOV R1,A8E AC9F JMP LOOP2 TT3:90 73 MOV A,R3 TT2:91 1C60 ADD A,#60H93 88F1 MOV 0F1H,A;中間八位存入內(nèi)存95 78E6 MOV A,0E6H;取高八位97 80 MOV R0,A98 78E3 MOV A,0E3H9A 81 MOV R1,A9B

16、 71 MOV A,R19C 1C01 ADD A,#01H9E 81 MOV R1,A LOOP2:9F 70 MOV A,R0沈陽航空航天大學(xué)程設(shè)計報告13A0 5C0F AND A,#0FHA2 D4 RL AA3 D4 RL AA4 D4 RL AA5 D4 RL AA6 82 MOV R2,AA7 71 MOV A,R1A8 5C0F AND A,#0FHAA D4 RL AAB D4 RL AAC D4 RL AAD D4 RL AAE 83 MOV R3,AAF 72 MOV A,R2B0 13 ADD A,R3B1 A0BC JC TTT1B3 82 MOV R2,AB4 7C

17、90 MOV A,#90HB6 32 SUB A,R2B7 A0BC JC TTT1B9 70 MOV A,R0BA ACBF JMP TTT4 TTT1:BC 70 MOV A,R0BD 1C06 ADD A,#06H TTT4:BF 11 ADD A,R1C0 A0D5 JC TTT2C2 83 MOV R3,AC3 7C90 MOV A,#90HC5 33 SUB A,R3C6 A0D4 JC TTT3C8 73 MOV A,R3C9 88F2 MOV 0F2H,ACB 81 MOV R1,ACC 78F1 MOV A,0F1HCE 82 MOV R2,ACF 78F0 MOV A,0F0HD1 83 MOV R3,A T:D2 ACD2 JMP T; TTT3:D4 73 MOV A,R3沈陽航空航天大學(xué)程設(shè)計報告14 TTT2:D5 1C60 ADD A,#60HD7 88F2 MOV 0F2H,AD9 81 MOV R1,ADA 78F1 MOV A,0F1HDC 82 MOV R2,ADD 78F0 MOV A,0F0HDF 83 MOV R3,A 沈陽航空航天大學(xué)程設(shè)計報告15

溫馨提示

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

最新文檔

評論

0/150

提交評論