




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課課 程程 設(shè)設(shè) 計計 課程設(shè)計名稱:計算機組成原理課程設(shè)計計算機組成原理課程設(shè)計課程設(shè)計題目:COP2000 實現(xiàn)無符號數(shù)的排序院(系):專 業(yè): 學(xué) 號:姓 名: 江漢大學(xué)組成原理課程設(shè)計 -I-目目 錄錄第第 1 章章 實驗?zāi)康膶嶒災(zāi)康?11.1設(shè)計原理.11.2設(shè)計思路.11.3設(shè)計環(huán)境.1第第 2 章章 詳細設(shè)計方案詳細設(shè)計方案.32.1 算法與程序的設(shè)計與實現(xiàn) .32.2 流程圖的設(shè)計與實現(xiàn) .3第第 3 章章 程序調(diào)試與結(jié)果測試程序調(diào)試與結(jié)果測試.63.1 程序調(diào)試 .6第第 4 章章 實驗擴展實驗擴展.124.1 原來的實驗.124.2 改進后的實驗.12第第 5 章章 結(jié)論心
2、得結(jié)論心得.15附附 錄(源代碼)錄(源代碼).16江漢大學(xué)組成原理課程設(shè)計-2-第 1 章 實驗?zāi)康?.1設(shè)計原理設(shè)計原理本次課程設(shè)計的任務(wù)是利用COP2000指令集進行編程,實現(xiàn)對給定內(nèi)存中的12個8bit無符號數(shù),完成從小到大的排序。在機器字長為16位時,無符號數(shù)表示的范圍是0到65535(補碼表示),沒有正負號之分。故可以利用冒泡排序法對內(nèi)存中的12個無符號數(shù)進行排序;冒泡的原理是重復(fù)的走訪要排序的無符號數(shù),將十個數(shù)逐一比較,選出最大的沉底,然后在剩下的數(shù)中依次重復(fù)上一步驟。走訪無符號數(shù)的工作時重復(fù)的進行直到排序結(jié)束。1.2設(shè)計思設(shè)計思路路 本次課程設(shè)計是對無符號數(shù)排序??梢苑纸獬扇?/p>
3、分,分別是初始化,將無符號數(shù)進行冒泡排序,對排序進行判斷并輸出。1.3設(shè)計環(huán)境設(shè)計環(huán)境1.COP2000 實驗環(huán)境介紹 利用 COP2000 模擬軟件,在 COP2000 模擬軟件上編程實現(xiàn)有符號數(shù)(補碼形式)的排序。COP2000 試驗儀軟件的指令集分為如下大類:算術(shù)運算指令、邏輯運算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉(zhuǎn)指令、中斷返回指令、輸入輸出指令。2.本程序用到的指令集為:(1) 算術(shù)邏輯運算指令SUB A,#01H-從累加器中減去立即數(shù)后放入累加器 A 中AND A, #01H -加上立即數(shù) 1 放入累加器 A 中SUB A,R2 -累加器 A 中的數(shù)減去 R2 所指的數(shù)SUB A,R
4、0 -累加器 A 中的數(shù)減去 R0 中的數(shù),放入 A 中SUB A,R1 -累加器 A 中的數(shù)減去 R1 中的數(shù),放入 A 中江漢大學(xué)組成原理課程設(shè)計-3-(2)數(shù)據(jù)傳送指令MOV A,#70H;MOV R1,A -內(nèi)存中十個數(shù)的起始地址放入 R1 中MOV A,#00H;MOV R0,A - 當(dāng)前已對比的數(shù)的個數(shù)放入 R0 中MOV A,R1;MOV R2,A - 將 R1 存放的地址放入 R2 中 MOV A,R1; - R1 所指地址中的數(shù)放入 A 中 MOV A,R1;MOV R3,A;MOV A,R2;MOV R1,A;MOV A,R3;MOV R2,A;-將 R1 所指的數(shù)與 R2
5、 所指的數(shù)交換(3)跳轉(zhuǎn)指令JZ result -若零標志位為 1,跳轉(zhuǎn)到 result 程序JC revise -若進位標志置 1,跳轉(zhuǎn)到 reviseJMP loop-跳轉(zhuǎn)到 loop3.COP2000 計算機組成原理實驗軟件截圖如圖 1.1 所示: 圖 1.1 COP2000 計算機組成原理軟件江漢大學(xué)組成原理課程設(shè)計-4- 第 2 章 詳細設(shè)計方案2.1 算法與程序的設(shè)計與實現(xiàn)算法與程序的設(shè)計與實現(xiàn) 本次課程設(shè)計采用偉福 COP2000 實驗儀軟件和計算機實現(xiàn)無符號數(shù)排序的功能,利用偉福 COP2000 的指令集編程實現(xiàn)。算法具體描述如下:1.將十二個 8bit 無符號數(shù)存儲到內(nèi)存中:
6、將 12 個無符號數(shù)存入到內(nèi)存中,數(shù)據(jù)存入到內(nèi)存地址70H,71H,72H,73H,74H,75H,,76H,77H,78H,79H,7AH,7BH 中。2.利用冒泡排序法將十二個無符號數(shù)排序: 冒泡排序的算法如下: (1)比較相鄰的元素。如果第一個比第二個大,則交換。 (2)對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點,最后的元素應(yīng)該會是最大的數(shù)。 (3)針對所有的元素重復(fù)以上的步驟,除了最后一個。 (4)持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。 3.判斷結(jié)束并輸出結(jié)果: 每對比一對數(shù),R1 所指的地址加 1,減去 7CH,零標志位為 1
7、,而 7CH 表示存的最后一個數(shù)地址的下一地址,則表示十二個無符號數(shù)比較結(jié)束,輸出比較之后的按從小到大排序的十二個無符號數(shù)。運算結(jié)束。2.2 流程圖的設(shè)計與實現(xiàn)流程圖的設(shè)計與實現(xiàn)江漢大學(xué)組成原理課程設(shè)計-5-1.將十二個 8bit 無符號數(shù)存儲到內(nèi)存中。如圖 2.2.1 所示。 圖 2.2.1 存數(shù)流程圖2.初始化冒泡排序循環(huán)次數(shù)。如圖 2.2.2 所示。 圖 2.2.2 設(shè)置循環(huán)次數(shù)流程圖3.將十二個無符號數(shù)冒泡排序。如下圖所示:將 12 個無符號數(shù)存入內(nèi)存 結(jié)束循環(huán)需要對比的數(shù)的個數(shù) 開始 結(jié)束 開始江漢大學(xué)組成原理課程設(shè)計-6- N Y N Y 開始 cycle 起始地址放入 R1 中,
8、R0=0,80H=980H-1!=0 loopR1 存的地址加 1 放入R2JC (R1)-(R2)revise(R1)與(R2)交換R1 所指地址加 1 R0+180H-R0=0resultR1 所指地址加1(R1)+1)-7AH=0結(jié)束江漢大學(xué)組成原理課程設(shè)計-7- 第 3 章 程序調(diào)試與結(jié)果測試3.1 程序調(diào)試程序調(diào)試問題 1 : 將 12 個無符號數(shù)存儲到 00 地址的內(nèi)存中,運行出錯解決方法:由于程序指令會占用一部分內(nèi)存空間,所以將 12 個 8bit 無符號數(shù)存儲到 70H 地址的內(nèi)存中;這里也可以選中其它的存儲位置,只要不使用到程序指令占用的位置。問題 2 : 程序執(zhí)行完,輸出的
9、結(jié)果不全是按從小到大排列。解決方法:在輸出結(jié)果前,沒有判斷是否已經(jīng)完成比較。每比較一次,R1 所指地 址加 1,直到 R1 所指地址加 1 后的地址減去 7CH 等于 0,而 7CH 表示所存無符號數(shù)的最后一個數(shù)地址的下一地址。運算結(jié)束并輸出結(jié)果。3.2 程序測試及結(jié)果分析程序測試及結(jié)果分析 在 COP2000 中輸入立即數(shù),將需要排序的 12 個 8bit 無符號數(shù)放入內(nèi)存 70H到 7BH 中調(diào)試,進行排序測試;測試數(shù)據(jù):(1)需排序的無符號數(shù):02,04,06,01,03,05,08,09,00,07, 12,11 排序后的無符號數(shù):00,01,02,03,04,05,06,07,08,
10、09,11,12 內(nèi)存中初始狀態(tài)如圖 3.2.1 所示。執(zhí)行完成后內(nèi)存中結(jié)果如圖 3.2.2 所示。軟件仿真結(jié)果如圖 3.2.3 所示。江漢大學(xué)組成原理課程設(shè)計-8- 圖 3.2.1 內(nèi)存中初始狀態(tài)江漢大學(xué)組成原理課程設(shè)計-9-圖 3.2.2 執(zhí)行完成后內(nèi)存中狀態(tài) 圖 3.2.3 軟件仿真結(jié)果圖江漢大學(xué)組成原理課程設(shè)計-10-(2)需排序的無符號數(shù):21,20,15,31,08,06,08,10,11,09,18,15 排序后的無符號數(shù):06,08,08,09,10,11,15,15,18,20,21,31 內(nèi)存中初始狀態(tài)如圖 3.2.4 所示。執(zhí)行完成后內(nèi)存中結(jié)果如圖 3.2.5 所示。軟件
11、仿真結(jié)果如圖 3.2.6 所示。 圖 3.2.4 內(nèi)存中初始狀態(tài)江漢大學(xué)組成原理課程設(shè)計-11- 圖 3.2.5 內(nèi)存中初始狀態(tài) 圖 3.2.6 軟件仿真結(jié)果圖(3)需排序的無符號數(shù):29,0A,0B,A1,2B,3C,A1,A2,01,05,C1,0F 排序后的無符號數(shù):01,05,0A,0B,0F,29,2B,3C,A1,A1,B2,C1 內(nèi)存中初始狀態(tài)如圖 3.2.7 示。執(zhí)行完成后內(nèi)存中結(jié)果如圖 3.2.8 示。軟件仿真結(jié)果如圖 3.2.9 示。江漢大學(xué)組成原理課程設(shè)計-12- 圖 3.2.7 內(nèi)存中初始狀態(tài) 圖 3.2.8 執(zhí)行完成后內(nèi)存中狀態(tài)江漢大學(xué)組成原理課程設(shè)計-13- 圖 3
12、.2.9 軟件仿真結(jié)果圖江漢大學(xué)組成原理課程設(shè)計-14-第 4 章 實驗擴展4.1 原來的實驗原來的實驗原來的實驗是借鑒了網(wǎng)上的實驗,數(shù)據(jù)只能通過在 70H 到 7BH 中手動寫入。感覺很不方便。我想到了學(xué)過的 IN 指令輸入數(shù)據(jù),并進行排序。由于在自己的電腦上無法進行模擬。所以這里我采用了數(shù)據(jù)輸入的方法。4.2 改進后的實驗改進后的實驗 改進后的代碼見 examnew.sam。改進的過程中又遇到了上面的問題 1。由于程序指令會占用一部分內(nèi)存空間,所以將 12 個 8bit 無符號數(shù)存儲到 80H 地址的內(nèi)存中;這里也可以選中其它的存儲位置,只要不使用到程序指令占用的位置。這個代碼中是采取自動
13、輸入 0C 到 01 這 12 個數(shù)。代碼為start:MOV A,#0CH; MOV 91H,A; MOV A,#80H; MOV R3,A; MOV A,#0CH; MOV R2,A;這里是設(shè)置一個為 13 的值放在 91H 這個地址。將 R3 的值設(shè)為 80H,用來指向地址的。最后的 R2 是因為無法使用 IN 指令,我設(shè)置的一個輸入的值,為 0Cinput:MOV A,R2 把 R2 寫入 A,用來代替 INMOV R3,A MOV A,R3 ADD A,#01H MOV R3,A 將 R2 的值放入 80H,并將地址加 1MOV A,R2 SUB A,#01H MOV R2,A將 R
14、2 的值減 1,用于下次寫入MOV A,R0; ADD A,#01H; MOV R0,A; MOV A,91H; SUB A,R0; JZ over;用來判斷循環(huán)了幾次。每一次循環(huán)加 1,一共循環(huán) 12 次。JMP input;需排序的無符號數(shù):0C,0B,0A,09,08,07,06,05,04,03,02,01 排序后的無符號數(shù):01,02,03,04,05,06,07,08,09,0A,0B,0C修改的程序測試結(jié)果如下自動生成內(nèi)存中初始狀態(tài)如圖 4.2.1 示。執(zhí)行完成后內(nèi)存中結(jié)果如圖 4.2.2 示。江漢大學(xué)組成原理課程設(shè)計-15- 圖 4.2.1 自動生成內(nèi)存中初始狀態(tài)圖 4.2.2
15、 執(zhí)行完成后內(nèi)存中狀態(tài)江漢大學(xué)組成原理課程設(shè)計-16-第 5 章 結(jié)論心得本次課程設(shè)計我做的是使用 cop2000 模擬軟件,實現(xiàn)對 12 個無符號的數(shù)進行排序。排序采用的是比較經(jīng)典的冒泡排序,通過對每兩個相鄰的數(shù)進行比較。如果第一個大于第二個,就將第一個和第二個進行換位置。換位采用的 MOV A,R1; MOV R3,A; MOV A,R2; MOV R1,A; MOV A,R3; MOV R2,A; 以上幾句代碼就是將 R1 所指的數(shù)與 R2 所指的數(shù)交換。過程是首先將 R1 地址所指的數(shù)放到寄存器 A 中,然后將 A 的值放在 R3 中,再接著將 R2 地址所指的數(shù)放入 A,再將 A 的
16、值放入 R1 對應(yīng)的地址位置,此時 R1 地址的值是 R2 地址對應(yīng)的值。將剛剛存在 R3 中值打回寄存器 A 中,將 A 的值放入 R2 對應(yīng)的地址中。到此完成R1 和 R2 對應(yīng)地址的值的交換。在編寫這個程序的時候通過網(wǎng)上查詢,我找到了思路。網(wǎng)上是實現(xiàn)的 10 個數(shù)的排序,在編寫的時候我是實現(xiàn)了 12 個數(shù)的排序。實現(xiàn)了 12 個數(shù)的排序我還是不滿足。我就在想著能不能實現(xiàn)自己手動輸入數(shù)值進行排序,我想到了 IN 指令。通過查閱資料,我知道了 IN 指令是將數(shù)打入寄存器 A 中,我就想將 A 的數(shù)放入#70H 中。但是在 cop2000 我沒找到模擬的方法。這里我采用了給入一個數(shù)放在 R2
17、中每次將 1,用來代替 IN 輸入。然后通過跳轉(zhuǎn),12 次循環(huán)。這里我又設(shè)置了控制循環(huán)的指令。一共實現(xiàn)了 12 次循環(huán)。這個循環(huán)變量放在 91H 中。在實現(xiàn)這個功能的時候又不得不把存儲的值由 70H 移動到 80H 中。由于之前的組成原理的實驗,學(xué)習(xí)過 cop2000。總的來書實驗的難度不是很大。這個實驗加深了對匯編的理解。有一次復(fù)習(xí)了 cop2000 的基本操作。課程設(shè)讓我進一步理解了冒泡排序法,并在 cop2000 中運用成功。雖然這次課程設(shè)計我沒有自己設(shè)計指令系統(tǒng)。但是我也復(fù)習(xí)了一下指令系統(tǒng)設(shè)計這一部分。加深了對指令系統(tǒng)的理解。 江漢大學(xué)組成原理課程設(shè)計-17-附 錄(源代碼)start
18、: MOV A,#0CH; MOV 91H,A; MOV A,#80H; MOV R3,A; MOV A,#0CH; MOV R2,A; input: MOV A,R2 MOV R3,A MOV A,R3 ADD A,#01H MOV R3,A MOV A,R2 SUB A,#01H MOV R2,A MOV A,R0; ADD A,#01H; MOV R0,A; MOV A,91H; SUB A,R0; JZ over; JMP input; over: MOV A,#0CH; MOV 90H,A;cycle: MOV A,#80H; MOV R1,A; MOV A,#00H; MOV R0,A; MOV A,90H; SUB A,#01H; JZ result; MOV 90H,A;LOOP: MOV A,R1; ADD A,#01H; MOV R2,A; MOV A,R1; SUB A,R2; JC revise; MOV A,R1; MOV R3,A; MOV A,R2; MOV R1,A; MOV A,R3; MOV R2,A; MOV A,R1; ADD A,#01H; MOV R1,A; MOV A,R0; ADD A,#01H; MOV R0,A; MOV A,90H; SUB A,R0; JZ cycle; JMP LOOP;revise: MOV A
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省南昌二十八中教育集團2024-2025學(xué)年八年級(下)期中物理試卷(含解析)
- 安徽省蚌埠市蚌山區(qū)2024-2025學(xué)年八年級下學(xué)期4月期中道德與法治試題 (含答案)
- 電子發(fā)票培訓(xùn)課件
- 電力安全質(zhì)量管理課件
- 游泳救生員應(yīng)急處理能力評估試題及答案
- 提升信心 2024年體育經(jīng)紀人試題及答案
- 模具設(shè)計中的協(xié)同創(chuàng)新研究試題及答案
- 四年級數(shù)學(xué)(上)計算題專項練習(xí)及答案匯編
- 助你通過2024年游泳救生員考試的試題及答案
- 創(chuàng)新型2024年農(nóng)業(yè)植保員考試試題及答案探討
- 35KV架空輸電線路工程鐵塔組立專項工程施工組織設(shè)計方案
- 寧波市建設(shè)工程資料統(tǒng)一用表(2022版)
- 五年級道德與法治上冊教師教師用書
- 認識平面圖上的方向
- 液氮安全培訓(xùn)資料課件
- (完整word)拆除合同范本
- 鐵路工務(wù)巡道工崗位作業(yè)標準(崗位職責(zé)、崗位風(fēng)險)
- 陜西省建筑施工質(zhì)量驗收技術(shù)資料統(tǒng)一用表
- 漁用配合飼料原料課件
- 夾層鋼結(jié)構(gòu)施工方案鋼結(jié)構(gòu)夾層施工方案
- GB/T 9788-1988熱軋不等邊角鋼尺寸、外形、重量及允許偏差
評論
0/150
提交評論