計(jì)算機(jī)組成原理實(shí)驗(yàn)1-匯編語言實(shí)驗(yàn)_第1頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)1-匯編語言實(shí)驗(yàn)_第2頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)1-匯編語言實(shí)驗(yàn)_第3頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)1-匯編語言實(shí)驗(yàn)_第4頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微處理器與接口技術(shù)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)一監(jiān)控程序與匯編語言程序設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)要求1、實(shí)驗(yàn)之前認(rèn)真預(yù)習(xí), 明確實(shí)驗(yàn)的目的和具體實(shí)驗(yàn)內(nèi)容,設(shè)計(jì)好主要的待實(shí)驗(yàn)的程序,做好實(shí)驗(yàn)之前的必要準(zhǔn)備。2、 想好實(shí)驗(yàn)的操作步驟, 明確通過實(shí)驗(yàn)到底可以學(xué)習(xí)哪些知識(shí), 想一想怎么樣有意識(shí)地提高教學(xué)實(shí)驗(yàn)的真正效果。3、在教學(xué)實(shí)驗(yàn)過程中, 要愛護(hù)教學(xué)實(shí)驗(yàn)設(shè)備, 認(rèn)真記錄和仔細(xì)分析遇到的現(xiàn)象與問題,找出解決問題的辦法,有意識(shí)地提高自己創(chuàng)新思維能力。4、 實(shí)驗(yàn)之后認(rèn)真寫出實(shí)驗(yàn)報(bào)告,重點(diǎn)在于預(yù)習(xí)時(shí)準(zhǔn)備的內(nèi)容,實(shí)驗(yàn)數(shù)據(jù),實(shí)驗(yàn)過程、遇到的現(xiàn)象和解決問題的辦法,自己的收獲體會(huì),對(duì)改進(jìn)教學(xué)實(shí)驗(yàn)安排的建議等。善于總結(jié)和發(fā)現(xiàn)問題,寫好實(shí)驗(yàn)報(bào)告

2、是培養(yǎng)實(shí)際工作能力非常重要的一個(gè)環(huán)節(jié),應(yīng)給以足夠的重視。二、 實(shí)驗(yàn)?zāi)康摹?1】學(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)注意事項(xiàng)(一) 實(shí)驗(yàn)箱檢查【 1】連接電源線和通訊線前 TEC-XP16實(shí)驗(yàn)系統(tǒng)的電源開關(guān)一定要處于斷開狀態(tài),否則可能會(huì)對(duì) TEC-XP16實(shí)驗(yàn)系統(tǒng)上的芯片和 PC機(jī)的串口造成損害。【 2】五位控制開關(guān)的功能示意圖如下:上方單步手撥硬布線聯(lián)機(jī)8位下方連續(xù)內(nèi)存微程序脫機(jī)16位【 3】幾種常用的工作方式【開關(guān)撥到上方表示為1,撥到下方為0

3、】工作方式撥動(dòng)開關(guān)連續(xù)、硬布線、聯(lián)機(jī)、16位00110連續(xù)、微程序、聯(lián)機(jī)、16位00010單步、手動(dòng)、硬布線、聯(lián)機(jī)、16位11110單步、手動(dòng)、微程序、聯(lián)機(jī)、16位11010脫機(jī)運(yùn)算器實(shí)驗(yàn)、16位1XX00(二)軟件操作注意事項(xiàng)【 1】用戶在選擇串口時(shí),選定的是 PC機(jī)的串口 1或串口 2,而不是 TEC-XP16實(shí)驗(yàn)系統(tǒng)上的串口。即選定的是用戶實(shí)驗(yàn)時(shí)通訊線接的PC機(jī)的端口;【 2】如果在運(yùn)行到第五步時(shí)沒有出現(xiàn)應(yīng)該出現(xiàn)的界面,用戶需要檢查是不是打開了兩個(gè)軟件界面,若是,關(guān)掉其中一個(gè)再試;【 3】有時(shí)若 TEC-XP16實(shí)驗(yàn)系統(tǒng)不通訊,也可以重新啟動(dòng)軟件或是重新啟動(dòng)PC再試;【 4】在打開該應(yīng)用

4、軟件時(shí),其它的同樣會(huì)用到該串口的應(yīng)用軟件要先關(guān)掉。(三)聯(lián)機(jī)通訊失敗自檢如果上述的硬件和軟件的操作都正確,聯(lián)機(jī)卻依舊失敗,可以進(jìn)行如下測試:【 1】測試 PC機(jī)的串口是否能正常工作, 或是換一臺(tái) PC或換同一臺(tái) PC的另一個(gè)串口再試,在換串口時(shí)要將 TEC-XP16實(shí)驗(yàn)系統(tǒng)斷電,換完后重新啟動(dòng)實(shí)驗(yàn)系統(tǒng)和軟件;【 2】檢查機(jī)器上的元器件插接是否正確( 建議用戶對(duì)照能夠正常通訊的實(shí)驗(yàn)系統(tǒng)進(jìn)行詳細(xì)檢查 ) ,有沒有被學(xué)生動(dòng)過,尤其是擴(kuò)展內(nèi)存和擴(kuò)展I/O 接口時(shí),芯片方向是否插對(duì),片選信號(hào)有沒有連接;【 3】檢查相應(yīng)的短路子是否連接正確;【 4】建議教師預(yù)留一臺(tái)運(yùn)行正常的 TEC-XP16實(shí)驗(yàn)系統(tǒng)備用

5、,機(jī)器出問題后可以對(duì)照檢查。四、實(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”或“COM2”上,另一端接到 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位】,其它實(shí)驗(yàn)相同;6 打開電源,船形開關(guān)和5V電源指示燈亮。7 在PC機(jī)上運(yùn)

6、行 PCEC16.EXE文件,根據(jù)連接的PC機(jī)的串口設(shè)置所用PC機(jī)的串口為 “1”或“2”, 其它的設(shè)置一般不用改動(dòng), 直接回車即可。( 具體步驟附后 )8 按一下 “RESET”按鍵 , 再按一下 “START”按鍵,主機(jī)上顯示:TEC-2008 CRT MONITORVersion3.02007.10Computer Architectur Lab., Tsinghua UniversityCopyright Jason He>五、仿真終端軟件的操作步驟【 1】在 PC機(jī)上建一個(gè)文件夾 TEC-XP16;【 2】取出配套的用戶盤,將應(yīng)用程序PCEC16拷貝到用戶機(jī)器硬盤上該文件夾里;

7、【 3】雙擊 PCEC16圖標(biāo),出現(xiàn)如圖所示的界面:【 4】系統(tǒng)默認(rèn)選擇串口1,用戶可根據(jù)實(shí)際情況選擇串口1或是串口 2( 這里的串口指的是和 TEC-XP16教學(xué)實(shí)驗(yàn)系統(tǒng)相連的PC機(jī)的串口 ) ,按回車后出現(xiàn)如圖界面:【 5】圖中是系統(tǒng)設(shè)定的一些傳輸參數(shù),建議用戶不要改動(dòng),直接回車。按一下“RESET”按鈕放開后再按一下“START”按鈕,出現(xiàn)界面如圖所示:【 6】此時(shí)表明 TEC-XP16機(jī)器聯(lián)機(jī)通訊正常。六、實(shí)驗(yàn)內(nèi)容【 1】學(xué)習(xí)聯(lián)機(jī)使用TEC-XP16教學(xué)實(shí)驗(yàn)系統(tǒng)和仿真終端軟件PCEC;【 2】使用監(jiān)控程序的R命令顯示 / 修改寄存器內(nèi)容、D命令顯示存儲(chǔ)器內(nèi)容、E命令修改存儲(chǔ)器內(nèi)容;【

8、3】用“ A”命令輸入例 1- 例 6,用“ G”命令或“ T”命令運(yùn)行并觀察結(jié)果,請(qǐng)?jiān)趯?shí)驗(yàn)報(bào)告中給出各例的運(yùn)行結(jié)果。注:實(shí)驗(yàn)給出的例子, 都是用監(jiān)控程序的A命令完成輸入源匯編程序的。在涉及到匯編語句標(biāo)號(hào)的地方,不能用符號(hào)表示,只能在指令中使用絕對(duì)地址。使用內(nèi)存中的數(shù)據(jù),也由程序員給出數(shù)據(jù)在內(nèi)存中的絕對(duì)地址。顯而易見,對(duì)這樣的極短小程序矛盾并不突出,但很容易想到,對(duì)很大的程序,一定會(huì)有較大的困難。在用 A命令輸入?yún)R編源語句的過程中,有一定用機(jī)經(jīng)驗(yàn)的人, 常常抱怨 A命令中未提供適當(dāng)?shù)木庉嫻δ?,這并不是設(shè)計(jì)者的疏漏,因?yàn)槲覀儾⒉粶?zhǔn)備在這種操作方式下支持設(shè)計(jì)較長的程序,這種工作應(yīng)轉(zhuǎn)到提供了交叉匯編

9、程序的PC機(jī)上去完成。相反的情況是,輸入上述一些小程序,用監(jiān)控程序的A命令完成,往往比用交叉匯編完成更簡捷。七、思考題若把例 2中的 IN 81, SHR R0, JRNC 2028三個(gè)語句換成4個(gè) MVRR R0, R0語句 ,該程序執(zhí)行過程會(huì)出現(xiàn)什么現(xiàn)象? 試分析并實(shí)際執(zhí)行一次。提示: 該程序改變這三條語句后,若用 T命令單條執(zhí)行,會(huì)依次顯示 09十個(gè)數(shù)字。若用G命令運(yùn)行程序,程序執(zhí)行速度快,端口輸出速度慢,這樣就會(huì)跳躍輸出。在命令行提示符狀態(tài)下輸G 2020 ,屏幕顯示 09。類似的,若要求在終端屏幕上輸出'A' 到 'Z' 共 26個(gè)英文字母,應(yīng)如何修改

10、例1中給出的程序 ? 請(qǐng)驗(yàn)證之。附:例子程序例 1 設(shè)計(jì)一個(gè)小程序,從鍵盤上接收一個(gè)字符并在屏幕上輸出顯示該字符。【 1】在命令行提示符狀態(tài)下輸入:A 2000 ;屏幕將顯示:2000:輸入如下形式的程序:2000: IN 81;判鍵盤上是否按了一個(gè)鍵2001:SHR R0;即串行口是否有了輸入的字符2002:SHR R02003:JRNC 2000;未輸入完則循環(huán)測試2004:IN 80;接收該字符2005: OUT 80 ;在屏幕上輸出顯示字符62006: RET ;每個(gè)用戶程序都必須用RET指令結(jié)束2007:; ( 按回車鍵即結(jié)束輸入過程)注:在十六位機(jī)中,基本I/O 接口的地址是確定的

11、,數(shù)據(jù)口的地址為80,狀態(tài)口的地址為81?!?2】用“ G”命令運(yùn)行程序在命令行提示符狀態(tài)下輸入: G2000執(zhí)行上面輸入的程序,結(jié)果是什么?注:該例建立了一個(gè)從主存2000H地址開始的小程序。 在這種方式下 ,所有的數(shù)字都約定使用16進(jìn)制數(shù) ,故數(shù)字后不用跟字符H。每個(gè)用戶程序的最后一個(gè)語句一定為RET匯編語句。因?yàn)楸O(jiān)控程序是選用類似子程序調(diào)用方式使實(shí)驗(yàn)者的程序投入運(yùn)行的, 用戶程序只有用 RET語句結(jié)束,才能保證程序運(yùn)行結(jié)束時(shí)能正確返回到監(jiān)控程序的斷點(diǎn),保證監(jiān)控程序能繼續(xù)控制教學(xué)機(jī)的運(yùn)行過程。例 2 設(shè)計(jì)一個(gè)小程序,用次數(shù)控制在終端屏幕上輸出'0'到 '9'

12、 十個(gè)數(shù)字符?!?1】在命令行提示符狀態(tài)下輸入:A 2020 屏幕將顯示:2020:從地址 2020H開始輸入下列程序:2020:MVRD R2,00OA;送入輸出字符個(gè)數(shù)2022:MVRD R0,0030;“ 0”字符的 ASCII 碼送寄存器 R02024:OUT 80;輸出保存在 R0低位字節(jié)的字符2025:DEC R2;輸出字符個(gè)數(shù)減 12026:JRZ 202E;判 10個(gè)字符輸出完否 , 已完,則轉(zhuǎn)到程序結(jié)束處2027:PUSH R0;未完,保存 R0的值到堆棧中2028:IN 81;查詢接口狀態(tài),判字符串行輸出完成否,2029:SHR R0;202A:JRNC 2028;未完成

13、,則循環(huán)等待202B:POP R0;已完成 ,準(zhǔn)備輸出下一字符并從堆?;謴?fù)R0的值202C:INC R0;得到下一個(gè)要輸出的字符202D:JR 2024;轉(zhuǎn)去輸出字符202E:RET202F:該程序的執(zhí)行碼放在 2020H起始的連續(xù)內(nèi)存區(qū)中。若送入源碼的過程中有錯(cuò) , 系統(tǒng)會(huì)進(jìn)行提示 , 等待重新輸入正確匯編語句。 在輸入過程中 , 在應(yīng)輸入語句的位置直接打回車則結(jié)束輸入過程。【 2】用“ G”命令運(yùn)行程序在命令行提示符狀態(tài)下輸入: G2020執(zhí)行結(jié)果為?例 3 從鍵盤上連續(xù)打入多個(gè)屬于0到 9的數(shù)字符并在屏幕上顯示,遇到非數(shù)字字符結(jié)束輸入過程。【 1】在命令行提示符狀態(tài)下輸入:A 2040

14、屏幕顯示如下:2040:從地址 2040H開始輸入下列程序:(2040)MVRD R2,0030;用于判數(shù)字符的下界值MVRD R3,0039;用于判數(shù)字符的上界值(2044)IN 81;判鍵盤上是否按了一個(gè)鍵 ,SHR R0;即串行口是否有了輸入的字符SHR R0JRNC 2044;沒有輸入則循環(huán)測試IN80;輸入字符到 R0MVRD R1,00FFAND R0,R1;清零 R0的高位字節(jié)內(nèi)容CMP R0,R2;判輸入字符字符 '0'否JRNC 2053;為否 , 則轉(zhuǎn)到程序結(jié)束處CMP R3,R0;判輸入字符字符'9'否JRNC 2053;為否 ,則轉(zhuǎn)到程序

15、結(jié)束處OUT 80;輸出剛輸入的數(shù)字符JMPA 2044;轉(zhuǎn)去程序前邊2044處等待輸入下一個(gè)字符(2053) RET【 2】在命令行提示符狀態(tài)下輸入:G 2040 執(zhí)行結(jié)果為?例 4 計(jì)算 1到 10的累加和?!?1】在命令行提示符狀態(tài)下輸入:A 2060 屏幕將顯示:2060:從地址 2060H開始輸入下列程序:(2060)MVRD R1,0000;置累加和的初值為 0MVRD R2,00OA;最大的加數(shù)MVRD R3,0000(2066)INC R3;得到下一個(gè)參加累加的數(shù)ADD R1,R3;累加計(jì)算CMP R3,R2;判是否累加完JRNZ 2066;未完 , 開始下一輪累加RET【 2

16、】在命令行提示符狀態(tài)下輸入:G 2060 注:運(yùn)行過后 ,可以用 R命令觀察累加器的內(nèi)容。R1的內(nèi)容為累加和。執(zhí)行結(jié)果為?例 5 設(shè)計(jì)一個(gè)有讀寫內(nèi)存和子程序調(diào)用指令的程序, 功能是讀出內(nèi)存中的字符,將其顯示到顯示器的屏幕上,轉(zhuǎn)換為小寫字母后再寫回存儲(chǔ)器原存儲(chǔ)區(qū)域。【 1】將被顯示的 6個(gè)字符 AF送入到內(nèi)存 20F0H開始的存儲(chǔ)區(qū)域中。在命令行提示符狀態(tài)下輸入:E 20F0 屏幕將顯示:20F0內(nèi)存單元原值:按下列格式輸入:20F0內(nèi)存原值: 0041內(nèi)存原值: 0042內(nèi)存原值: 0043內(nèi)存原值: 0044內(nèi)存原值: 0045內(nèi)存原值: 0046在命令行提示符狀態(tài)下輸入:從地址 2080H

17、開始輸入下列程序:(2080)MVRD R3,0006;指定被讀數(shù)據(jù)的個(gè)數(shù)MVRD R2,20F0;指定被讀、寫數(shù)據(jù)內(nèi)存區(qū)首地址(2084)LDRR R0,R2;讀內(nèi)存中的一個(gè)字符到R0寄存器CALA 2100;指定子程序地址為2100, 調(diào)用子程序,完成顯示、轉(zhuǎn)換并寫回的功能DEC R3;檢查輸出的字符個(gè)數(shù)JRZ 208B;完成輸出則結(jié)束程序的執(zhí)行過程INC R2;未完成,修改內(nèi)存地址JR 2084;轉(zhuǎn)移到程序的2086處,循環(huán)執(zhí)行規(guī)定的處理(208B)RET從地址 2100H開始輸入下列程序:(2100)OUT 80;輸出保存在 R0寄存器中的字符MVRD R1, 0020ADD R0,

18、R1;將保存在 R0中的大寫字母轉(zhuǎn)換為小寫字母STRR R2,R0;寫 R0中的字符到內(nèi)存,地址同LOD所用的地址(2105)IN 81;測試串行接口是否完成輸出過程SHR R0JRNC 2105;未完成輸出過程則循環(huán)測試RET;結(jié)束子程序執(zhí)行過程,返回主程序【 2】在命令行提示符狀態(tài)下輸入:G 2080 屏幕顯示運(yùn)行結(jié)果為?【 3】在命令行提示符狀態(tài)下輸入:D 20F0 20F0H20F5H內(nèi)存單元的內(nèi)容為?例 6 設(shè)計(jì)一個(gè)程序在顯示器屏幕上循環(huán)顯示95個(gè) ( 包括空格字符) 可打印字符?!?1】在命令行提示符狀態(tài)下輸入:A 20A0 屏幕將顯示:20A0:從地址 20A0H開始輸入下列程序:A 20A0;從內(nèi)存的 20A0地址單元開始建立用戶的第一個(gè)程序20A0: MVRD R1,7E;向寄存器傳送立即數(shù)20A2: MVRD R0,20;20A4: OUT 80;通過串行接口輸出 R0低位字節(jié)內(nèi)容到顯示器屏幕20A5: PUSH R0;保存 R0寄存器的內(nèi)容到堆棧中20A6: IN 81;讀串行接口的狀態(tài)寄存器的內(nèi)容20A7: SHR R0;

溫馨提示

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