計算機組成原理實驗1-匯編語言實驗_第1頁
計算機組成原理實驗1-匯編語言實驗_第2頁
計算機組成原理實驗1-匯編語言實驗_第3頁
計算機組成原理實驗1-匯編語言實驗_第4頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、是培養實際工作能力非常重要的一個環節,應給以足夠的重視。二、 實驗目的【 1】學習和了解 TEC-XP16教學實驗系統監控命令的用法;【 2】學習和了解 TEC-XP16教學實驗系統的指令系統;【 3】學習簡單的 TEC-XP16教學實驗系統匯編程序設計。三、實驗注意事項(一) 實驗箱檢查【 1】連接電源線和通訊線前 TEC-XP16實驗系統的電源開關一定要處于斷開狀態,否則可能會對 TEC-XP16實驗系統上的芯片和 PC機的串口造成損害。【 2】五位控制開關的功能示意圖如下:上方單步手撥硬布線聯機8位下方連續內存微程序脫機16位【 3】幾種常用的工作方式【開關撥到上方表示為1,撥到下方為0

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

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

5、,機器出問題后可以對照檢查。四、實驗步驟1 準備一臺串口工作良好的PC機;2 將TEC-XP16放在實驗臺上,打開實驗箱的蓋子,確定電源處于斷開狀態;3 將黑色的電源線一端接220V交流電源,另一端插在TEC-XP16實驗箱的電源插座里;4 取出通訊線, 將通訊線的 9芯插頭接在 TEC-XP16實驗箱上的串口“COM1”或“COM2”上,另一端接到 PC機的串口上;5 將TEC-XP16實驗系統左下方的五個黑色的控制機器運行狀態的開關置于正確的位置,在這個實驗中開關應置為:00110【連續、內存、硬布線、聯機、16位】,其它實驗相同;6 打開電源,船形開關和5V電源指示燈亮。7 在PC機上運

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

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

8、3】用“ A”命令輸入例 1- 例 6,用“ G”命令或“ T”命令運行并觀察結果,請在實驗報告中給出各例的運行結果。注:實驗給出的例子, 都是用監控程序的A命令完成輸入源匯編程序的。在涉及到匯編語句標號的地方,不能用符號表示,只能在指令中使用絕對地址。使用內存中的數據,也由程序員給出數據在內存中的絕對地址。顯而易見,對這樣的極短小程序矛盾并不突出,但很容易想到,對很大的程序,一定會有較大的困難。在用 A命令輸入匯編源語句的過程中,有一定用機經驗的人, 常常抱怨 A命令中未提供適當的編輯功能,這并不是設計者的疏漏,因為我們并不準備在這種操作方式下支持設計較長的程序,這種工作應轉到提供了交叉匯編

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

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

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

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

13、,則循環等待202B:POP R0;已完成 ,準備輸出下一字符并從堆棧恢復R0的值202C:INC R0;得到下一個要輸出的字符202D:JR 2024;轉去輸出字符202E:RET202F:該程序的執行碼放在 2020H起始的連續內存區中。若送入源碼的過程中有錯 , 系統會進行提示 , 等待重新輸入正確匯編語句。 在輸入過程中 , 在應輸入語句的位置直接打回車則結束輸入過程。【 2】用“ G”命令運行程序在命令行提示符狀態下輸入: G2020執行結果為?例 3 從鍵盤上連續打入多個屬于0到 9的數字符并在屏幕上顯示,遇到非數字字符結束輸入過程。【 1】在命令行提示符狀態下輸入:A 2040

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論