計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第1頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第2頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第3頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第4頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)1基礎(chǔ)匯編語言程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?.學(xué)習(xí)和了解TEC-XP16教學(xué)實(shí)驗(yàn)系統(tǒng)監(jiān)控命令的用法;2.學(xué)習(xí)和了解TEC-XP16教學(xué)實(shí)驗(yàn)系統(tǒng)的指令系統(tǒng);3.學(xué)習(xí)簡單的TEC-XP16教學(xué)實(shí)驗(yàn)系統(tǒng)匯編程序設(shè)計(jì);實(shí)驗(yàn)內(nèi)容:1.學(xué)習(xí)聯(lián)機(jī)使用TEC-XP16教學(xué)實(shí)驗(yàn)系統(tǒng)和仿真終端軟件PCEC.2.學(xué)習(xí)使用WINDOWS界面的串口通訊軟件。3.使用監(jiān)控程序的R命令顯示/修改寄存器內(nèi)容、D命令顯示存儲(chǔ)器內(nèi)容、E命令修改存儲(chǔ)器內(nèi)容;4.使用A命令寫一小段匯編程序,U命令反匯編剛輸入的程序,用G命令連續(xù)運(yùn)行該程序,用T、P命令單步運(yùn)行并觀察程序單步執(zhí)行情況;實(shí)驗(yàn)步驟:1.準(zhǔn)備一臺(tái)串口工作良好的PC機(jī);2.將TEC-XP16放在實(shí)驗(yàn)臺(tái)上,打開實(shí)驗(yàn)箱的蓋子,確定電源處于斷開狀態(tài);3.將黑色的電源線一端接220V交流電源,另一端插在TEC-XP16實(shí)驗(yàn)箱的電源插座里;4.取出通訊線,將通訊線的一端的9芯插頭接在TEC-XP16實(shí)驗(yàn)箱上的串口“COM1”上,另一端接到PC機(jī)的串口上;5.將TEC-XP16實(shí)驗(yàn)系統(tǒng)左下方的五個(gè)黑色的控制機(jī)器運(yùn)行狀態(tài)的開關(guān)置于正確的位置,在找個(gè)實(shí)驗(yàn)中開關(guān)應(yīng)置為00110(連續(xù)、內(nèi)存讀指令、組合邏輯、聯(lián)機(jī)、16位),控制開關(guān)的功能在開關(guān)上、下方有標(biāo)識(shí);開關(guān)撥向上方表示“1”,撥向下方表示“0”,“X”表示任意,其它實(shí)驗(yàn)相同;6.打開電源,船形開關(guān)和5V電源指示燈亮。7.在PC機(jī)上運(yùn)行數(shù)據(jù)光盤中配套的PCEC16.EXE文件,根據(jù)連接的PC機(jī)的串口設(shè)置所用PC機(jī)的串口為“1”或“2”,其它的設(shè)置一般不用改動(dòng),直接回車即可。8.按一下“RESET”按鍵,再按一下“START”按鍵,主機(jī)上顯示:TEC-2000CRTMONITORVersion1.0April2001ComputerArchitecturLab.,TsinghuaUniversityProgrammedbyHeJia>程序?qū)崿F(xiàn):1.思考題,本程序中為什么不必判別串行口輸出完成否?設(shè)計(jì)打入'A'~'Z'和'0'~'9'的程序,遇到其它字符結(jié)束輸入過程。<1>在命令行提示符狀態(tài)下輸入:A2040↙屏幕將顯示:2040:從地址2040H開始輸入下列程序:(2040)MVRDR2,0030;用于判數(shù)字符的下界值MVRDR3,0039;用于判數(shù)字符的上界值MVRDR6,0041;MVRDR7,005A;IN81;判鍵盤上是否按了一個(gè)鍵,SHRR0;即串行口是否有了輸入的字符SHRR0JRNC2048;沒有輸入則循環(huán)測試MVRDR1,00FFANDR0,R1;清零R0的高位字節(jié)內(nèi)容CMPR0,R2;判輸入字符≥字符'0'否JRNC205B;為否,則轉(zhuǎn)到程序結(jié)束處CMPR7,R0;JRNC2058;為否,則轉(zhuǎn)到程序結(jié)束處CMPR0,R3JRNC2058CMPR0,R6JRNC205BOUT80;輸出剛輸入的數(shù)字符JMPA2048;轉(zhuǎn)去程序前邊2048處等待輸入下一個(gè)字符RET用A命令來鍵入鍵盤上接收字符并顯示(關(guān)鍵語句)In81;判斷鍵盤上是否按了一個(gè)鍵In80;接收該字符Out80;在屏幕上顯示該字符SHRR0;串行口是否有3輸入的字符G2000;運(yùn)行程序,用戶在光標(biāo)處輸入字符用次數(shù)控制在終端屏幕上輸入“0”到“9”十個(gè)字符。(關(guān)鍵語句)MVRDR2;000A;送入輸出字符個(gè)數(shù)DECR2;輸出字符數(shù)目減1JRZ202E;判10個(gè)字符是否輸出完成,若完則結(jié)束。心得體會(huì):1.通過A命令來編寫代碼,學(xué)習(xí)并使用了IN80和Out81來接收字符,顯示字符并用G命令運(yùn)行程序,更深入了解了執(zhí)行命令和單步運(yùn)行命令。2.用次數(shù)控制輸入輸出可通過固定總數(shù)目以及循環(huán)終止條件等,學(xué)習(xí)了循環(huán)輸入輸出的具體內(nèi)容,對(duì)指令系統(tǒng)深入了解。3.對(duì)思考題的證明。把“In81;SHRR0;JRNC2028”三個(gè)語句換成4個(gè)“MVRDR0,R0”語句,程序執(zhí)行和輸入速度發(fā)生變化,但最終仍會(huì)顯示十個(gè)數(shù)字,原因是:逐步判斷輸入,在修改程序后,程序執(zhí)行速度快,但輸出速度慢。實(shí)驗(yàn)2存儲(chǔ)器部件實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模和ㄟ^看懂教學(xué)計(jì)算機(jī)中已經(jīng)使用的幾個(gè)存儲(chǔ)器芯片的邏輯連接關(guān)系和用于完成存儲(chǔ)器容量擴(kuò)展的幾個(gè)存儲(chǔ)器芯片的布線安排,在教學(xué)計(jì)算機(jī)上設(shè)計(jì)、實(shí)現(xiàn)并調(diào)試出存儲(chǔ)器容量擴(kuò)展的實(shí)驗(yàn)內(nèi)容。其最終要達(dá)到的目的是:1.深入理解計(jì)算機(jī)內(nèi)存儲(chǔ)器的功能、組成知識(shí);2.深入地學(xué)懂靜態(tài)存儲(chǔ)器芯片的讀寫原理和用他們組成教學(xué)計(jì)算機(jī)存儲(chǔ)器系統(tǒng)的方法(即字、位擴(kuò)展技術(shù)),控制其運(yùn)行的方式;思考并對(duì)比靜態(tài)和動(dòng)態(tài)存儲(chǔ)器芯片在特性和使用場合等方面的同異之處。實(shí)驗(yàn)內(nèi)容:1.要完成存儲(chǔ)器容量擴(kuò)展的教學(xué)實(shí)驗(yàn),需為擴(kuò)展存儲(chǔ)器選擇一個(gè)地址,并注意讀寫和OE等控制信號(hào)的正確狀態(tài);2.用監(jiān)控程序的D、E命令對(duì)存儲(chǔ)器進(jìn)行讀寫,比較RAM(6116)、EEPROM(28系列芯片)EPROM(27系列芯片)在讀寫上的異同;3.用監(jiān)控程序的A命令編寫一段程序,對(duì)RAM(6116)進(jìn)行讀寫,用D命令查看結(jié)果是否正確;4.用監(jiān)控程序的A命令編寫一段程序,對(duì)擴(kuò)展存儲(chǔ)器EEPROM(28系列芯片)進(jìn)行讀寫,用D命令查看結(jié)果是否正確;如不正確,分析原因,改寫程序,重新運(yùn)行;實(shí)驗(yàn)步驟:1.檢查擴(kuò)展芯片插座的下方的插針要按下列要求短接:標(biāo)有“/MWR”“RD”的插針左邊兩個(gè)短接,標(biāo)有“/MRD”“GND”的插針右邊兩個(gè)短接。2.RAM(6116)支持即時(shí)讀寫,可直接用A、E命令向擴(kuò)展的存儲(chǔ)器輸入程序或改變內(nèi)存單元的值。RAM中的內(nèi)容在斷電后會(huì)消失,重新啟動(dòng)實(shí)驗(yàn)機(jī)后會(huì)發(fā)現(xiàn)內(nèi)存單元的值發(fā)生了改變。程序?qū)崿F(xiàn):在5000H~500FH單元中依次寫入數(shù)據(jù)0000H、0001H、...000FH。從2000H單元開始輸入主程序:MVRDR0,0000MVRDR2,0010;R2記錄循環(huán)次數(shù)MVRDR3,5000;R3的內(nèi)容為16位內(nèi)存地址STRR[R3],R0;將R0寄存器的內(nèi)容放到R3給出的內(nèi)存單元中CALA2200;調(diào)用程序地址為2200的延時(shí)子程序INCR0;R0加1INCR3;R3加1DECR2;R2減1JRNZ2006;R2不為0跳轉(zhuǎn)到2006HRET從2200H單元開始輸入延時(shí)子程序:PUSHR3MVRDR3,F(xiàn)FFFDECR3JRNZ2203POPR3RET心得體會(huì):RAM內(nèi)存單元的值,斷電后會(huì)改變。在使用RAM時(shí),每次斷電重啟后都要重新輸入程序修改內(nèi)存單元的值。2.EPROM芯片,斷電重啟后,用D命令查看內(nèi)存單元內(nèi)容,發(fā)現(xiàn)數(shù)值未改變。A命令適用于單字節(jié)寫入,與E命令有差異。

實(shí)驗(yàn)3I/O口擴(kuò)展實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)串行口的正確設(shè)置與使用。實(shí)驗(yàn)內(nèi)容:1.為擴(kuò)展I/O口選擇一個(gè)地址,即將與COM2口相連的8251的/CS與標(biāo)有I/O/CS的一排插孔中的一個(gè)相連;2.將COM2口與終端或另一臺(tái)運(yùn)行有PCEC16的PC機(jī)的串口相連;3.用監(jiān)控程序的A命令,編寫一段小程序,先初始化COM2口,在向COM2口發(fā)送一些字符,也可從COM2口接收一些字符,或?qū)崿F(xiàn)兩個(gè)串口的通信;實(shí)驗(yàn)步驟:1.為擴(kuò)展I/O口選擇一個(gè)地址:將與COM2口相連的8251的/CS與標(biāo)有I/O/CS的插孔中地址為A0~AF的一個(gè)相連;2.將教學(xué)機(jī)COM1口與一臺(tái)PC機(jī)相連,在PC機(jī)上啟動(dòng)PCEC16.EXE;3.?dāng)嚅_COM1與PC的串口線,將其連接到另一臺(tái)PC機(jī)或同一臺(tái)PC的另一個(gè)串口,同樣啟動(dòng)PCEC16.EXE;4.用另一根串口線將COM2口和第一臺(tái)PC或同一臺(tái)PC的另一個(gè)串口相連;5.在與COM1相連的PCEC上輸入程序,這是主PCEC可以輸入輸出,和COM2連接的是從PCEC只作輸出;用A、E命令編程進(jìn)行COM2口的操作。程序?qū)崿F(xiàn):1)程序1:COM2口初始化從2000H單元開始輸入下面的程序2000:MVRDR0,004E;給R0賦值004E2002:OUTA1;將R0的值輸出到COM2口的8251中的寄存器中2003:MVRDR0,0037;給R0賦值00372005:OUTA1;將R0的值輸出到COM2口的8251中的寄存器中2006:RET2)程序2:從COM2口輸入數(shù)據(jù),然后在與COM1口相連的PC上顯示出數(shù)據(jù)。從2040H單元開始輸入下面的程序2040:INA1;判鍵盤上是否按了一個(gè)鍵,2041:SHRR0;即串行口是否有了輸入的字符2042:SHRR02043:JRNC2040;沒有輸入則循環(huán)測試2044:INA0;從COM2口讀入字符到R02045:OUT80;將該字符從COM1口輸出2046:RET3)程序3:從COM1口接收數(shù)據(jù),發(fā)送到與COM2口相連的PC機(jī)上回顯。從2060H單元開始輸入下面的程序IN81;判鍵盤上是否按了一個(gè)鍵,2061:SHRR0;即串行口是否有了輸入的字符2062:SHRR02063:JRNC2060;沒有,則循環(huán)等待2064:IN80;接收字符2065:OUTA0;將從鍵盤輸入的字符輸出到另一串口。2066:RET心得體會(huì):在進(jìn)行實(shí)驗(yàn)箱與兩臺(tái)PC機(jī)連接時(shí),由于設(shè)備及配置環(huán)境的不熟悉等原因,導(dǎo)致連接不成功。設(shè)置屬性中的解決類似問題。每次按下“RESET”鍵后,需在對(duì)COM2進(jìn)行讀寫操作前,都會(huì)進(jìn)行初始化操作。3.本次實(shí)驗(yàn)的主要困難時(shí)兩臺(tái)PC機(jī)與實(shí)驗(yàn)箱的聯(lián)機(jī),需要多加熟悉和操作才能掌握。

實(shí)驗(yàn)4中斷實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)和掌握中斷產(chǎn)生、響應(yīng)、處理等技術(shù)。實(shí)驗(yàn)內(nèi)容:1.?dāng)U展中斷隱指令,為中斷隱指令分配節(jié)拍。中斷隱指令用到12個(gè)節(jié)拍,為了和一般指令相區(qū)別,應(yīng)將其節(jié)拍T3設(shè)計(jì)為1。注意:在擴(kuò)展中斷隱指令時(shí)要用到DC1、DC2的譯碼信號(hào)。2.?dāng)U展開中斷指令EI、關(guān)中斷指令DI、中斷返回指令I(lǐng)RET。3.確定中斷向量表地址。中斷向量的高12位由開關(guān)確定為(001001000000)。三級(jí)中斷對(duì)應(yīng)的中斷向量為2404H、2408H、240CH。當(dāng)有中斷請(qǐng)求且被響應(yīng)后,將執(zhí)行存放在該中斷的中斷向量所指向的內(nèi)存區(qū)的指令。3.填寫中斷向量表。在上述的2404H、2408H、240CH地址寫入三條JR轉(zhuǎn)移指令,JR指令的OFFSET是偏移量,其值是要轉(zhuǎn)向的地址的值減去該條轉(zhuǎn)移指令的下一條指令的地址的值得到的,該值的范圍在-128~+127之間。但在PCEC16中輸入時(shí),用戶不需要計(jì)算偏移量,直接輸入要轉(zhuǎn)向的絕對(duì)地址即可。4.編寫中斷服務(wù)程序。中斷服務(wù)程序可以放在中斷向量表之后,中斷服務(wù)程序可實(shí)現(xiàn)在程序正常運(yùn)行時(shí)在計(jì)算機(jī)屏幕上顯示與優(yōu)先級(jí)相對(duì)應(yīng)的不同字符。5.寫主程序。可編寫一死循環(huán)程序,要求先開中斷。實(shí)驗(yàn)步驟:擴(kuò)展中斷隱指令和開、關(guān)中斷指令、中斷返回指令,為他們分配節(jié)拍并給出各節(jié)拍對(duì)應(yīng)的控制信號(hào)。2.任意選擇幾條指令觀察指令執(zhí)行及轉(zhuǎn)中斷執(zhí)行的節(jié)拍和各節(jié)拍對(duì)應(yīng)的控制信號(hào).置控制開關(guān)為11110(單步、手動(dòng)置指令、組合邏輯、聯(lián)機(jī)、16位)。填寫中斷向量表。編寫中斷服務(wù)程序。輸入子程序,編寫主程序。運(yùn)行主程序。程序?qū)崿F(xiàn):從2404H單元開始輸入下面的程序(2404)JR2420;跳轉(zhuǎn)到中斷服務(wù)程序(2408)JR2430;跳轉(zhuǎn)到中斷服務(wù)程序(240C)JR2440;跳轉(zhuǎn)到中斷服務(wù)程序用A、E命令從2420H單元開始輸入下面的程序(標(biāo)有*的語句表示要用E命令輸入)2420:PUSHR0;R0進(jìn)棧2421:PUSHR3;R3進(jìn)棧2422:MVRDR3,31;將字符‘1’的ASCII碼送寄存器R32424:JR24502430:PUSHR0;R0進(jìn)棧2431:PUSHR3;R3進(jìn)棧2432:MVRDR3,32;將字符‘2’的ASCII碼送寄存器R32434:JR24502440:PUSHR0;R0進(jìn)棧2441:PUSHR3;R3進(jìn)棧2442:MVRDR3,33;將字符‘3’的ASCII碼送寄存器R32444:JR2450*2450:EI;開中斷(指令編碼:6E00)2451:MVRDR0,0042;將字符“B”賦值給R0,B即Begin的縮寫。2453:CALA2200;調(diào)用子程序,完成顯示2455:MVRDR0,0049;將字符“I”賦值給R0,I即Interrupt的縮寫。2457:CALA2200;調(diào)用子程序,完成顯示2459:MVRRR0,R3;將R3的內(nèi)容送R1245A:CALA2200;調(diào)用子程序,完成顯示245C:IN81;判鍵盤上是否按了一個(gè)鍵245D:SHRR0;即串口是否有了輸入字符245E:SHRR0245F:JRNC245C;若沒有,等待2460:IN80;輸入字符到R02461:MVRDR0,0045;將字符“E”賦值給R0,E即End的縮寫。2463:CALA2200;調(diào)用子程序,完成顯示2465:MVRDR0,0049;將字符“I”賦值給R0,I即Interrupt的縮寫2467:CALA2200;調(diào)用子程序,完成顯示2469:MVRRR0,R3;將R3的內(nèi)容送R1246A:CALA2200;調(diào)用子程序,完成顯示246C:POPR3;R3出棧246D:POPR0;R0出棧*246E:IRET;中斷返回用A命令從2200H單元開始輸入下面的子程序2200:PUSHR0;R0進(jìn)棧2201:IN81;查詢接口狀態(tài),判字符輸出完成否2202:SHRR02203:JRNC2201;未完,循環(huán)等待2204:POPR0;R0出棧2205:OUT80;輸出R0的值2206:RET編寫主程序:從地址2000H開始輸入下列程序:*2000:EI2001:MVRDR0,0036;將字符‘6’的ASCII碼送寄存器R02003:CALA2200;輸出該字符2005:MVRDR0,4000;延時(shí)子程序2007:DECR02008:JRNZ20072009:JR2001;跳到2001循環(huán)執(zhí)行該程序200A:RET心得體會(huì):當(dāng)屏幕連續(xù)顯示“6”時(shí),按下不同級(jí)別的中斷按鈕,都可以不同程度地中斷顯示,其中1,2級(jí)中斷后,可再次顯示,最高級(jí)中斷后不可再次顯示“6”。中斷存在一定的優(yōu)先級(jí),最高級(jí)中斷會(huì)徹底中斷程序運(yùn)行,同時(shí),低級(jí)中斷不會(huì)影響高級(jí)中斷。3.中斷優(yōu)先級(jí)有廣泛應(yīng)用,要通過操作和實(shí)踐充分理解中斷。

實(shí)驗(yàn)5脫機(jī)運(yùn)算器實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模荷钊肓私釧M2901運(yùn)算器的功能與具體用法,4片AM2901的級(jí)連方式,深化運(yùn)算器部件的組成、設(shè)計(jì)、控制與使用等諸項(xiàng)知識(shí)。實(shí)驗(yàn)說明:脫機(jī)運(yùn)算器實(shí)驗(yàn):是指讓運(yùn)算器從教學(xué)計(jì)算機(jī)的整機(jī)中脫離出來,此時(shí),它的全部控制與操作均需通過兩個(gè)12位的微型開關(guān)來完成,這就談不上執(zhí)行指令,只能通過開關(guān)、按鍵控制教學(xué)機(jī)的運(yùn)算器完成指定的運(yùn)算功能,并通過指示燈觀察運(yùn)算結(jié)果。一.12位微型開關(guān)的具體控制功能分配如下:A口、B口地址:送給AM2901器件用于選擇源與目的操作數(shù)的寄存器編號(hào);I8-I0:選擇操作數(shù)來源、運(yùn)算操作功能、選擇操作數(shù)處理結(jié)果和運(yùn)算器輸出內(nèi)容的3組3位的控制碼;SCi、SSH和SST:用于確定運(yùn)算器最低位的進(jìn)位輸入、移位信號(hào)的入/出和怎樣處理AM2901產(chǎn)生的狀態(tài)標(biāo)志位的結(jié)果。實(shí)驗(yàn)步驟:1.將教學(xué)機(jī)左下方的5個(gè)撥動(dòng)開關(guān)置為1XX00(單步、16位、脫機(jī));先按一下“RESET”按鍵,再按一下“START”按鍵,進(jìn)行初始化。2.接下來,按下表所列的操作在機(jī)器上進(jìn)行運(yùn)算器脫機(jī)實(shí)驗(yàn),將結(jié)果填入表中:其中D1取為0101H,D2取為1010H;通過3個(gè)12位的紅色微型開關(guān)向運(yùn)算器提供控制信號(hào),通過16位數(shù)據(jù)開關(guān)向運(yùn)算器提供數(shù)據(jù),通過指示燈觀察運(yùn)算結(jié)果以及狀態(tài)標(biāo)志。實(shí)驗(yàn)結(jié)果:運(yùn)算I8-I0SSTSS

溫馨提示

  • 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)論