計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告1123998374_第1頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告1123998374_第2頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告1123998374_第3頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告1123998374_第4頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告1123998374_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告16位機(jī)微程序控制器指令系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 院(系、部): 小組成員:姓名:班 級(jí): 指導(dǎo)教師簽名: 2006 年 1月 15 日·北京目 錄² 題目.1² 設(shè)計(jì)目的.1² 設(shè)計(jì)說明.1² 設(shè)計(jì)內(nèi)容.1² 設(shè)計(jì)要求.1Ø 分組及任務(wù)分配.1Ø 學(xué)生應(yīng)交材料.2Ø 課程設(shè)計(jì)報(bào)告內(nèi)容.2² 進(jìn)度安排.2² 課程設(shè)計(jì)環(huán)境.2² 軟件設(shè)計(jì)方案.2Ø 將設(shè)計(jì)好的微碼寫入控制存儲(chǔ)器.2Ø 在單步方式下,通過指示燈觀察各類擴(kuò)展指令的微碼.6&#

2、216; 測(cè)試擴(kuò)展指令的程序.7² 自評(píng).18² 遇到的問題及解決方案.18² 附錄Ø 附錄一 基本指令的執(zhí)行流程框圖Ø 附錄二 擴(kuò)展指令的執(zhí)行流程框圖Ø 附錄三 基本指令和擴(kuò)展指令微程序編碼表Ø 附錄四 八個(gè)控制存儲(chǔ)器芯片中各存儲(chǔ)單元的內(nèi)容列表 一、題目16位機(jī)微程序控制器指令系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)二、設(shè)計(jì)目的1、深入理解計(jì)算機(jī)控制器的功能、組成知識(shí)和各類典型指令的執(zhí)行過程;2、對(duì)指令格式、尋址方式、指令系統(tǒng)、指令分類等建立具體的總體概念;3、學(xué)習(xí)微程序控制器的設(shè)計(jì)過程和相關(guān)技術(shù)。三、設(shè)計(jì)說明控制器設(shè)計(jì)是學(xué)習(xí)計(jì)算機(jī)總體組成和設(shè)計(jì)

3、的重要的部分。要在tec2000教學(xué)計(jì)算機(jī)上完成這項(xiàng)設(shè)計(jì),必須清楚懂得:1、tec2000教學(xué)機(jī)的微程序控制器主要由作為選件的微程序控制器小板和教學(xué)機(jī)大板上的7片gal20v8組成。2、tec2000教學(xué)機(jī)微程序控制器上要實(shí)現(xiàn)的全部基本指令和擴(kuò)展指令的控制信號(hào)都是由微程序小板上的7片控制存儲(chǔ)器給出的。3、應(yīng)了解監(jiān)控程序的a命令只支持基本指令,擴(kuò)展指令應(yīng)用e命令將指令代碼寫入到相應(yīng)的存儲(chǔ)單元中;不能用t、p命令單步調(diào)試擴(kuò)展指令,只能用g命令執(zhí)行擴(kuò)展指令。4、 要明白tec2000教學(xué)機(jī)支持的指令格式及指令執(zhí)行流程分組情況;理解tec2000教學(xué)機(jī)中已經(jīng)設(shè)計(jì)好并正常運(yùn)行的各類指令的功能、格式、執(zhí)行

4、流程和控制信號(hào)的組成。5、要明確自己要實(shí)現(xiàn)的指令格式、功能、執(zhí)行流程設(shè)計(jì)中必須遵從的約束條件。6、為了完成擴(kuò)展指令的功能、格式和執(zhí)行流程,并在教學(xué)計(jì)算機(jī)上實(shí)現(xiàn)、調(diào)試正確的實(shí)驗(yàn)內(nèi)容,具體過程包括: 1)確定指令格式和功能,要受教學(xué)機(jī)已有硬件的約束,應(yīng)盡量與已實(shí)現(xiàn)指令的格式和分類辦法保持一致; 2)劃分指令執(zhí)行步驟并設(shè)計(jì)每一步的執(zhí)行功能,設(shè)計(jì)節(jié)拍狀態(tài)的取值,應(yīng)參照已實(shí)現(xiàn)指令的處理辦法來完成,特別要注意的是,讀取指令的節(jié)拍只能用原來已實(shí)現(xiàn)的,其他節(jié)拍的節(jié)拍狀態(tài)也應(yīng)盡可能的與原用節(jié)拍的狀態(tài)保持一致和相近;3)在指令微程序表中填寫每一個(gè)控制信號(hào)的狀態(tài)值,注意要特別仔細(xì),并有意識(shí)地體會(huì)這些信號(hào)的控制作用;

5、4)將設(shè)計(jì)好的微碼,裝入控制存儲(chǔ)器的相應(yīng)單元;5)寫一個(gè)包含你設(shè)計(jì)的指令的程序,通過運(yùn)行該程序檢查執(zhí)行結(jié)果的正確性,來初步判斷你的設(shè)計(jì)是否正確;如果有問題,通過幾種辦法查出錯(cuò)誤并改正,繼續(xù)調(diào)試,直到完全正確。四、設(shè)計(jì)內(nèi)容完成微程序控制器指令系統(tǒng)的設(shè)計(jì),設(shè)計(jì)29條基本指令和19條擴(kuò)展指令的功能、格式和執(zhí)行流程,并在教學(xué)計(jì)算機(jī)上實(shí)現(xiàn)、運(yùn)行、調(diào)試正確。五、設(shè)計(jì)要求(一)分組及任務(wù)分配每組四名同學(xué),任務(wù)分配或分工為: 1、設(shè)計(jì)基本指令的執(zhí)行流程,畫出29條基本指令的執(zhí)行流程框圖和微程序編碼表。 2、設(shè)計(jì)擴(kuò)展指令的執(zhí)行流程,畫出19條擴(kuò)展指令的執(zhí)行流程框圖和微程序編碼表。 3、確定微碼各字段與控制存儲(chǔ)器

6、各個(gè)芯片之間的關(guān)系,列表寫出各控制存儲(chǔ)器芯片中存儲(chǔ)單元的內(nèi)容,將設(shè)計(jì)好的微碼裝入芯片。 4、編寫包含所有指令的測(cè)試程序,通過運(yùn)行這些程序檢查指令設(shè)計(jì)是否正確。(二)學(xué)生應(yīng)交材料1、課程設(shè)計(jì)報(bào)告,每組交一份。2、一塊自定義指令系統(tǒng)的微程序控制器板。3、課程設(shè)計(jì)日記,每人交一份。(三)課程設(shè)計(jì)報(bào)告內(nèi)容1、題目名稱及設(shè)計(jì)內(nèi)容2、基本指令和擴(kuò)展指令的執(zhí)行流程框圖3、基本指令和擴(kuò)展指令的微程序編碼表4、測(cè)試程序5、自評(píng)(從實(shí)現(xiàn)的功能上評(píng)價(jià)及打分)6、遇到的問題及解決方案7、總結(jié)(主要從綜合應(yīng)用知識(shí)、分析問題、 解決問題方面總結(jié))。 六、進(jìn)度安排 第19周 周一 上午 課程設(shè)計(jì)動(dòng)員周二周五 (1)熟悉匯編

7、及軟硬件環(huán)境 (2)基本指令設(shè)計(jì) (3)擴(kuò)展指令設(shè)計(jì) (4)編寫測(cè)試程序。第20周 (1)微指令寫入芯片,運(yùn)行周一周四 (2)測(cè)試程序,調(diào)試指令。 (3)編寫課程設(shè)計(jì)報(bào)告。第20周 周五上午 驗(yàn)收和答辯總結(jié)。 七、課程設(shè)計(jì)環(huán)境1、硬件環(huán)境: pc機(jī)一臺(tái)、tec2000實(shí)驗(yàn)機(jī)一臺(tái)、微程序控制器實(shí)驗(yàn)板一塊。 2、軟件環(huán)境: (1)win2000、dos (2)tec2000仿真終端程序pcec(3)tec2000監(jiān)控程序。八、軟件設(shè)計(jì)方案1將設(shè)計(jì)好的微碼寫入控制存儲(chǔ)器。一次只對(duì)一片28c64控制存儲(chǔ)器芯片進(jìn)行讀寫,該芯片可插在擴(kuò)展芯片的高位或低位,若插在高位,輸入時(shí)信號(hào)編碼為高八位,低八位補(bǔ)零;若

8、插在低位,輸入時(shí)信號(hào)編碼為低八位,高位補(bǔ)零。若一次擴(kuò)展兩片28c64控制器芯片,要注意信號(hào)要與產(chǎn)生該信號(hào)的芯片相對(duì)。將擴(kuò)展新片的內(nèi)存單元地址置為40005fff,將maprom插入擴(kuò)展芯片的位置,微程序入口地址對(duì)應(yīng)的內(nèi)存單元的地址為芯片的起始地址和該指令的編碼值之和。具體操作如下:e 40004000 00ff:04 00ff:05 00ff:06 00ff:09 00ff:08 00ff:0a 00ff:07 00ff:0b 00ff:0d 00ff:0c 00ff:0e 00ff:0f e 40204020 00ff:50 00ff:51 e 402a402a 00ff:54 00ff:5

9、5 00ff: 53 00ff:52 e 40414041 00ff:11e 40444044 00ff:10 00ff:10 00ff:10 00ff:10 e40604060 00ff:5a 00ff: 00ff: 00ff: 00ff:69 00ff:69 e 406c406c 00ff:56 00ff:57 00ff:58 00ff:59e 40804080 00ff:1e 00ff:1b 00ff:12 00ff:19 00ff:15 00ff:15 00ff:12 00ff:17 00ff:1d e 408c408c 00ff:17 00ff: 00ff: 00ff: 23e 40

10、ce40ce 00ff:1f e 40e040e0 00ff:64 e 40e440e4 00ff:5b 00ff:5d 00ff:61 00ff:5fe 40ef40ef 00ff:67 將mprom1mprom7依次插入擴(kuò)展芯片的位置對(duì)其編程,內(nèi)存單元的地址為芯片的起始地址和該指令操作功能所對(duì)應(yīng)的微址之和,操作如下:mprom1產(chǎn)生下址,mprom2產(chǎn)生ci30、scc30信號(hào)對(duì)mprom1-2的操作為:mprom1 在高位 mprom2 在低位e 40004000 00ff:00e0 00ff:00e0 00ff:00e0 00ff:0020 00ff:3030 00ff:3030 00

11、ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:303000ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3034 00ff:3030 00ff:1436 00ff:3030 00ff:3030 00ff:1a37 00ff:3030 00ff:1c37 00ff:3030 00ff:00e0 00ff:3030 00ff:00e0 00ff:3030 00ff:1c30 00ff:2430 00ff:00e000ff:00e0 00ff:00e0 00ff:3030 00ff:00e0 00ff

12、:3030 e 40304030 00ff:3a32 00ff:0230 e 403a403a 00ff:31e0 00ff:00e0 00ff:00e0 00ff:00e000ff:00e0 00ff:3130 e 40504050 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:00e0 00ff:1c30 00ff:00e0 00ff:1c30 00ff:00e000ff:1a30 00ff:00e0 00f

13、f:00e0 00ff:3030 00ff:00e0 00ff:00e0 00ff:3030 00ff:00e0 00ff:2330 00ff:3035 00ff:3030 mprom3產(chǎn)生0mrw、0i20信號(hào),mprom4產(chǎn)生sai8i6、sbi5i3信號(hào),對(duì)mprom3-4的操作為:mprom3 在高位 mprom4 在低位e 40004000 00ff:4131 00ff:4320 00ff:1010 00ff:4010 00ff:41b8 00ff:41b9 00ff:41bc 00ff:41bb 00ff:41be 00ff:4199 00ff:419c 00ff:44b800ff

14、:4338 00ff:4339 00ff:4378 00ff:4358 00ff:4010 00ff:4530 00ff:4710 00ff:231000ff:3730 00ff:4331 00ff:0010 00ff:4320 00ff:1010 00ff:4318 00ff:0490 00ff:4490 00ff:1738 00ff:4320 00ff:4320 00ff:432000ff:1700 00ff:4331 00ff:0220 00ff:4320 00ff:1730e 40304030 00ff:4700 00ff:4320 e 403a403a 00ff:4010 00ff:

15、4331 00ff:0410 00ff:433100ff:0210 00ff:4730e 40504050 00ff:41b8 00ff:41b9 00ff:433f 00ff:4358 00ff:4378 00ff:4358 00ff:4010 00ff:4010 00ff:4010 00ff:4010 00ff:44b0 00ff:4320 00ff:1710 00ff:4320 00ff:1590 00ff:432000ff:1710 00ff:4320 00ff:1590 00ff:0390 00ff:4331 00ff:0410 00ff:44b0 00ff:4320 00ff:10

16、10 00ff:4010 00ff:4530mprom5產(chǎn)生b口、a口信號(hào),mprom6產(chǎn)生0sst、sshsci信號(hào),對(duì)mprom5-6的操作為:mprom5 在高位 mprom6 在低位e 40004000 00ff:5501 00ff:5501 00ff:0000 00ff:0000 00ff:0010 00ff:0011 00ff:0010 00ff:0010 00ff:0010 00ff:0011 00ff:0010 00ff:000000ff:0011 00ff:0010 00ff:0060 00ff:0050 00ff:0000 00ff:5500 00ff:0000 00ff:

17、000000ff:0000 00ff:4000 00ff:0000 00ff:4401 00ff:0020 00ff:0000 00ff:0000 00ff:0000 00ff:0000 00ff:5501 00ff:5501 00ff:550100ff:0000 00ff:4000 00ff:5500 00ff:4401 00ff:5000e 40304030 00ff:0000 00ff:5501 e 403a403a 00ff:0000 00ff:4000 00ff:0500 00ff:400000ff:0000 00ff:5000 e 40504050 00ff:0012 00ff:0

18、012 00ff:0010 00ff:005c 00ff:0064 00ff:0054 00ff:0030 00ff:0040 00ff:0000 00ff:0000 00ff:5000 00ff:5501 00ff:0000 00ff:5501 00ff:0000 00ff:550100ff:0000 00ff:5501 00ff:0000 00ff:0000 00ff:4000 00ff:0500 00ff:5000 00ff:4401 00ff:0020 00ff:0000 00ff:5500mprom7產(chǎn)生dc2、dc1信號(hào),對(duì)mprom7的操作為:e 40004000 00ff:70

19、 00ff:b0 00ff:10 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:02 00ff:32 00ff:0100ff:00 00ff:30 00ff:03 00ff:30 00ff:00 00ff:30 00ff:01 00ff:30 00ff:00 00ff:30 00ff:30 00ff:3000ff:00 00ff:30 00ff:01 00ff:30 00ff:00e 40304030 00f

20、f:03 00ff:b0 e 403a403a 00ff:70 00ff:30 00ff:51 00ff:3000ff:01 00ff:05 e 40504050 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:60 00ff:70 00ff:00 00ff:30 00ff:30 00ff:30 00ff:30 00ff:3000ff:30 00ff:30 00ff:30 00ff:01 00ff:30 00ff:01 00ff:00 00ff:30 00ff:40 00ff:00 00ff:02九.測(cè)試

21、程序:1在單步方式下,通過指示燈觀察各類擴(kuò)展指令的微碼。(在此,僅在a組、c組中各列舉一條指令為例。)通過驗(yàn)證可知各指令的微碼無誤。1)選擇擴(kuò)展指令的a組指令中的adc指令,觀察其節(jié)拍流程(1)置撥動(dòng)開關(guān)sw=00100000 00000000;(表示指令adc)(2)按reset按鍵;小板指示燈microp亮(只要選擇微程序,該燈在指令執(zhí)行過程中一直亮),其他燈全滅;(3)按start按鍵;小板指示燈ci30、scc30顯示1110 0000,微址和下址的指示燈全滅;(本拍完成公共操作0pc、di#=0)(4)按start按鍵;小板指示燈ci30、scc30顯示1110 0000,微址指示燈

22、顯示0000 0001,下址的指示燈全滅;(本拍完成公共操作pcar、pc+1pc)(5)按start按鍵;小板指示燈ci30、scc30顯示1110 0000,微址指示燈顯示0000 0010,下址的指示燈全滅;(本拍完成公共操作memir)(6)以上三步為公共操作,其他指令同;(7)按start按鍵;小板指示燈ci30、scc30顯示0010 0000,微址指示燈顯示0000 0011,下址的指示燈顯示0101 0000;(本拍完成map操作功能)(8)按start按鍵;小板指示燈ci30、scc30顯示0011 0000,微址指示燈顯示0101 0000,下址的指示燈顯示0011 000

23、0;(本拍完成dr+sr+cfdr操作)(9)按start按鍵;小板指示燈ci30、scc30顯示0011 0010,微址指示燈顯示0011 0000,下址的指示燈顯示0011 1010;(本拍完成strq、cc#=int#操作)(10)按start按鍵;小板指示燈ci30、scc30顯示0011 0000,微址指示燈顯示0011 0001,下址的指示燈顯示0000 0010;(本拍完成pcar、pc+1pc操作)2)選擇擴(kuò)展指令的c組指令中的ldra指令,觀察其節(jié)拍流程置撥動(dòng)開關(guān)sw=11100100 00000000(1)(6)同adc指令(7)按start按鍵;小板指示燈ci30、scc

24、30顯示0010 0000,微址指示燈顯示0000 0011,下址的指示燈顯示0101 1011;(8)按start按鍵;小板指示燈ci30、scc30顯示1110 0000,微址指示燈顯示0101 1011,下址的指示燈顯示0000 0000;(本拍完成pcar、pc+1pc操作)(9)按start按鍵;小板指示燈ci30、scc30顯示0011 0000,微址指示燈顯示0101 1100,下址的指示燈顯示0001 1100;(本拍完成memar操作)(10)按start按鍵;小板指示燈ci30、scc30顯示0011 0000,微址指示燈顯示0001 1100,下址的指示燈顯示0011 0

25、000;(本拍完成memdr操作)(11)按start按鍵;小板指示燈ci30、scc30顯示0011 0010,微址指示燈顯示0011 0000,下址的指示燈顯示0011 1010;(本拍完成strq操作)(12)按start按鍵;小板指示燈ci30、scc30顯示0011 0000,微址指示燈顯示0011 0001,下址的指示燈顯示0000 0010;(本拍完成pcar、pc+1pc操作)3)選擇擴(kuò)展指令的d組指令中的iret指令,觀察其節(jié)拍流程置撥動(dòng)開關(guān)sw=11101111 00000000(1)(6)同adc指令(7)按start按鍵;小板指示燈ci30、scc30顯示0010 00

26、00,微址指示燈顯示0000 0011,下址的指示燈顯示0110 0111;(8)按start按鍵;小板指示燈ci30、scc30顯示1110 0000,微址指示燈顯示0110 0111,下址的指示燈顯示0000 0000;(本拍完成spar、sp+1sp操作)(9)按start按鍵;小板指示燈ci30、scc30顯示0011 0000,微址指示燈顯示0110 1000,下址的指示燈顯示0010 0011;(本拍完成memflag操作)(10)按start按鍵;小板指示燈ci30、scc30顯示1110 0000,微址指示燈顯示0010 0011,下址的指示燈顯示0000 0000;(本拍完成

27、spar、sp+1sp操作)(11)按start按鍵;小板指示燈ci30、scc30顯示0011 0000,微址指示燈顯示0010 0100,下址的指示燈顯示0011 0000;(本拍完成mempc操作)(12)按start按鍵;小板指示燈ci30、scc30顯示0011 0010,微址指示燈顯示0011 0000,下址的指示燈顯示0011 1010;(本拍完成strq操作)(13)按start按鍵;小板指示燈ci30、scc30顯示0011 0000,微址指示燈顯示0011 0001,下址的指示燈顯示0000 0010;(本拍完成pcar、pc+1pc操作)4)選擇基本指令的a組指令中的ad

28、d指令,觀察其節(jié)拍流程(1)置撥動(dòng)開關(guān)sw=00000000 00000001;(表示指令add r0,r1)(2)按reset按鍵;小板指示燈microp亮(只要選擇微程序,該燈在指令執(zhí)行過程中一直亮),其它燈全滅; (3)按start按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0000 0000 ;下址的指示燈顯示 0000 0000 ;(本拍完成公共操作0pc、di#=0)(4)按start按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0000 0001 ,下址的指示燈顯示 1110 0000 ;(本拍完成公共操作pc

29、ar、pc+1pc)(5)按start按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0000 0010 ,下址的指示燈顯示 1110 0000 ;(本拍完成公共操作memir)(6)以上三步為公共操作,其它指令同;(7)按start按鍵;小板指示燈ci30、scc30顯示 0010 0000 ,微址指示燈顯示 0000 0011 ,下址的指示燈顯示 0000 0100 ;(本拍完成map操作功能)(8)按start按鍵;小板指示燈ci30、scc30顯示 0011 0000 ,微址指示燈顯示 0000 0100 ,下址的指示燈顯示 0011 0000 ;(本拍

30、執(zhí)行add指令,drdr+sr操作)(9)按start按鍵;小板指示燈ci30、scc30顯示 0011 0010 ,微址指示燈顯示 0011 0000 ,下址的指示燈顯示 0011 0000 ;(本拍完成strq、cc#=int#公共操作功能)(10)按start按鍵;小板指示燈ci30、scc30顯示 0011 0000 ,微址指示燈顯示 0011 0001 ,下址的指示燈顯示 0000 0010 ;(本拍完成pcar、pc+1pc、cc#=0的公共操作功能)5)選擇基本指令的d組指令中的cala指令,觀察其節(jié)拍流程(1)置撥動(dòng)開關(guān)sw= 1100 1110 0000 0000 ;(表示指

31、令cala)(2)按reset按鍵;小板指示燈microp亮(只要選擇微程序,該燈在指令執(zhí)行過程中一直亮),其它燈全滅;(3)按start按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0000 0000 ,下址的指示燈顯示 0000 0000 ;(4)按start按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0000 0001 ,下址的指示燈顯示 0000 0000 ;(5)按start按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0000 0010 ,下址的指示燈顯示 0000 0000 ;

32、(6)以上三步為公共操作,其它指令同。(7)按start按鍵;小板指示燈ci30、scc30顯示 0010 0000 ,微址指示燈顯示 0000 0011 ,下址的指示燈顯示 0001 1111 ;(8)按start按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0001 1111 ,下址的指示燈顯示 0000 0000 ;(本拍完成pcar、pc+lpc操作)(9)按start按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0010 0000 ,下址的指示燈顯示 0000 0000 ;(本拍完成memq操作)(10)按start

33、按鍵;小板指示燈ci30、scc30顯示 1110 0000 ,微址指示燈顯示 0010 0001 ,下址的指示燈顯示 0000 0000 ;(本拍完成sp-1sp、pcar操作)(11)按start按鍵;小板指示燈ci30、scc30顯示 0011 0000 ,微址指示燈顯示 0010 0010 ,下址的指示燈顯示 0011 0000 ;(本拍完成pcmem、qpc、cc#=o操作)(12)按start按鍵;小板指示燈ci30、scc30顯示 0011 0010 ,微址指示燈顯示 0011 0000 ,下址的指示燈顯示 0011 0000 ;(本拍完成strq、cc#=int#操作)(13)

34、按start按鍵;小板指示燈ci30、scc30顯示 0011 0000 ,微址指示燈顯示 0011 0001 ,下址的指示燈顯示 0000 0010 ;(本拍完成pcar、pc+lpc、cc#=0操作)。2.測(cè)試基本指令的程序:(1)驗(yàn)證指令mvrd,mvrr,add,sub,xor,or,ret.運(yùn)行結(jié)果:r0=0064(r1+r0r0);r1=0023;r3=fff7(r3-r2r3);r6=0070(r6與r7相異或);r7=fff7(r7與r3相異或)(2)驗(yàn)證指令in,out,shr, and,cmp,jrc, jrnc,jmpa功能:從鍵盤輸入09個(gè)數(shù)字,遇到09個(gè)字符外后跳出程

35、序。(3)測(cè)試inc,jrnz的程序功能:計(jì)算1到10的累加和。(4)測(cè)試dec,jrz,push,pop,jr功能:用次數(shù)控制在終端屏幕上輸出0到9是個(gè)數(shù)字符(5)測(cè)試strr,ldrr,cala 功能:讀出內(nèi)存中的字符,將其顯示到顯示器的屏幕上,轉(zhuǎn)換為小寫字母后再寫回存儲(chǔ)器原存儲(chǔ)區(qū)域。3測(cè)試擴(kuò)展指令的程序:1)驗(yàn)證ei、di和iret指令的程序a 21042104:jr 21202105:ret ;跳轉(zhuǎn)到中斷服務(wù)程序a 21082108:jr 21302109:ret ;跳轉(zhuǎn)到中斷服務(wù)程序 a 210c210c:jr 2140 210d:ret ;跳轉(zhuǎn)到中斷服務(wù)程序a 21202120:p

36、ush r0 ;r0進(jìn)棧2121:push r3 ;r3進(jìn)棧2122:mvrd r3,31 ;將字符1的ascii碼送寄存器r32124:jr 2150 2125:reta 21302130:push r02131:push r32132:mvrd r3,32 ;將字符2的ascii碼送寄存器r32134:jr 2150 ; 無條件跳轉(zhuǎn)2135:reta 21402140:push r02141:push r32142:mvrd r3,33 ;將字符3的ascii碼送寄存器r32144:jr 2150;2145:ret2150:*di ;關(guān)中斷 e 21502150:內(nèi)存單元原值:6f00 a

37、 21512151:mvrd r0,0042 ;將字符“b”賦值給r0,b即begin的縮寫。2153:cala 2200 ;調(diào)用子程序,完成顯示2155:mvrd r0,0049 ;將字符“i”賦值給r0,i即interrupt的縮寫。2157:cala 2200 ;調(diào)用子程序,完成顯示2159:mvrr r0,r3 ;將r3的內(nèi)容送r0215a:cala 2200 ;調(diào)用子程序,完成顯示215c:in 81 ;判鍵盤上是否按了一個(gè)鍵215d:shr r0 ;即串口是否有了輸入字符215e:shr r0215f:jrnc 215c ;若沒有,等待2160:in 80 ;輸入字符到r02161

38、:mvrd r0,0045 ;將字符“e”賦值給r0,e即end2163:cala 2200 ;調(diào)用子程序,完成顯示 2165:mvrd r0,0049 ;將字符“i”賦值給r0,i即interrupt的縮寫2167:cala 2200 ;調(diào)用子程序,完成顯示2169:mvrr r0,r3 ;將r3的內(nèi)容送r0216a:cala 2200 ;調(diào)用子程序,完成顯示216c:pop r3 ;r3出棧216d:pop r0 ;r0出棧216e:*iret ;中斷返回 e 216e216e:內(nèi)存單元原值:ef00a 22002200:push r0 ;r0進(jìn)棧2201:in 81 ;查詢接口狀態(tài),判字

39、符輸出完成否2202:shr r02203:jrnc 2201 ;未完,循環(huán)等待2204:pop r0 ;r0出棧2205:out 80 ;輸出r0的值2206:ret;a 20002000:*ei ;開中斷 e 20002000:內(nèi)存單元原值:6e00a 20012001:mvrd r0,0036 ;將字符6的ascii碼送寄存器r02003:cala 2200 ;輸出該字符2005:mvrd r0,4000 ;延時(shí)子程序2007:dec r02008:jrnc 20072009:jr 2001 ;跳到2001循環(huán)執(zhí)行該程序200a:retg 2000注:本程序執(zhí)行時(shí)只可執(zhí)行一次中斷,然后中

40、斷關(guān)閉;如果將2000的內(nèi)存單元原值置為6f00,則從開始中斷即為關(guān)閉;如果將2150和2000的內(nèi)存單元原值都置為6e00,則中斷一直都是開著的,可一直實(shí)現(xiàn)中斷。(di:6f00;ei:6e00;iret:ef00)2)驗(yàn)證指令adc、sbb、rcl、rcr、asr、not、clc、stc、calr、ldra、stra的程序。(1)adc 與clca 20002000:mvrd r0,0100 ;給r0賦值01002002:mvrd r1,1001 ;給r1賦值10012004:e 20042004:內(nèi)存單元原值:6c00 ;進(jìn)位c置為0 e 20052005:內(nèi)存單元原值:2001 ;r0

41、+r1+c>r0a 20062006:ret ;程序結(jié)束2007:用g命令運(yùn)行前面剛鍵入的源程序,在命令提示符狀態(tài)下輸入:g 2000運(yùn)行結(jié)果為:r0=1101 r1=1001(說明:如果2004改為6d00,則進(jìn)位c為1,r0為1102)(2)sbb 與stca 20002000:mvrd r0,0011 ;給r0賦值00112002:mvrd r1,1011 ;給r1賦值1011e 20042004:內(nèi)存單元原值:2110 ;r1-r0-c>r1 or r1-r0+/c>r1e 2005.2005:內(nèi)存單元原值:6d00 ;進(jìn)位c置為1 a 20062006:ret ;程

42、序結(jié)束2007:用g命令運(yùn)行前面剛鍵入的源程序,在命令提示符狀態(tài)下輸入:g 2000運(yùn)行結(jié)果為:r0=0011 r1=offf(說明:如果2005改為6c00,則進(jìn)位c為0,答案應(yīng)為1000)(3)rcla 20002000:mvrd r0,1111 ;給r0賦值11112002:e 20022002:內(nèi)存單元原值:6d00 ;進(jìn)位c置為1e 20032003:內(nèi)存單元原值:2a00 ; r0ßr0帶進(jìn)位c循環(huán)左移 a 20042004:ret ;程序結(jié)束2005用g命令運(yùn)行前面剛鍵入的源程序,在命令提示符狀態(tài)下輸入:g 2000運(yùn)行結(jié)果為:r0=2223(說明:r0 本為00010

43、00100010001,帶進(jìn)位c=1 左移后為 0010001000100011,即為 2223)(4)rcra 20002000:mvrd r0,1111 ;給r0賦值11112002:e 20022002: 內(nèi)存單元原值:6d00 ;進(jìn)位c置為1e 20032003: 內(nèi)存單元原值:2b00 ; r0ßr0帶進(jìn)位c循環(huán)右移a 20042004: ret ;程序結(jié)束2005用g命令運(yùn)行前面剛鍵入的源程序,在命令提示符狀態(tài)下輸入:g 2000運(yùn)行結(jié)果為:r0=8888(說明:r0 本為0001000100010001,帶進(jìn)位c=1右移后為 1000100010001000,即為 88

44、88)(5) asra 20002000:mvrd r0,1111 ;給r0賦值11112002:e 20022002: 內(nèi)存單元原值:2c00 ;r0ßr0算術(shù)右移a 20032003: ret ;程序結(jié)束2004:用g命令運(yùn)行前面剛鍵入的源程序,在命令提示符狀態(tài)下輸入:g 2000運(yùn)行結(jié)果為:r0=0888(說明:r0 本為0001000100010001,算術(shù)右移后為 0000100010001000,即為 0888)(6)nota 20002000:mvrd r0,1111 ;給r0賦值11112002:e 20022002: 內(nèi)存單元原值:2d00 ; r0ß/r

45、0a 20032003: ret ;程序結(jié)束2004:用g命令運(yùn)行前面剛鍵入的源程序,在命令提示符狀態(tài)下輸入:g 2000運(yùn)行結(jié)果為:r0=eeee(說明:r0 本為0001000100010001,取反后為1110111011101110,即為 eeee)(7)jmpra 21002100:mvrd r1,0011 ;給r1賦值00112102:mvrd r2,1100 ;給r2賦值11002104:add r1,r2 ;r1ßr1+r22105:ret ;程序結(jié)束2106:a 20002000:mvrd r3,2100 ;轉(zhuǎn)跳地址為21002002:e 20022002:內(nèi)存單元

46、原值:6003 ;轉(zhuǎn)跳到r3指明的地址用g命令運(yùn)行前面剛鍵入的源程序,在命令提示符狀態(tài)下輸入:g 2000運(yùn)行結(jié)果為:r1=1111,r2=1100,r3=2100(8)jrs與 jrnsa 20002000:mvrd r0,0001 ;給r0賦值00012002:mvrd r1,1101 ;給r1賦值11012004:sub r1,r0 ;r1ß r1-r0e 20052005: 內(nèi)存單元原值:6403 ;s=1時(shí)跳轉(zhuǎn),pcßpc+3a 20062006: mvrd r2, eeee ;給r2賦值eeee2008:ret2009:mvrd r2,ffff ;給r2賦值ffff200b:ret用g命令運(yùn)行前面剛鍵入的源程序,在命令提示符狀態(tài)下輸入:g 2000運(yùn)行結(jié)果為:r0=0001,r1=1100,r2=eeee(說明:1如果2004為sub r0,r1,則s=1,跳轉(zhuǎn)到2009語句。結(jié)果為r0=ef00,r1=1101,r2=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論