




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、火MW出三里士今立r獻麟工聯學能實驗報告課程名稱微機原理及應用實驗1DEBUG操作實驗實驗2匯編程序設計實驗實驗名稱實驗38253定時/計數器實驗實驗48255并行接口實驗實驗日期年月日至年月日學生專業學生學號學生姓名教師姓名成績南京理工大學機械工程學院實驗一DEBUG命令及其操作一、實驗目的1 .熟練掌握debug的常用命令,學會用debug來調試程序。2 .深入了解數據在存儲器中的存取方法及堆棧中數據的壓入與彈出。3 .掌握各種尋址方法以及簡單指令的執行過程。二、實驗要求1 .實驗前要作好充分準備,包括匯編程序清單、調試步驟、調試方法以及對程序結果的分析等。2 .本實驗要求在PC機上進行。
2、3 .本實驗只要求在DEBUG調試狀態下進行,包括匯編程序,調試程序,執行程序。三、實驗內容實驗內容1:學習用DEBUG調試工具進行源程序的輸入、匯編、調試和執行。實驗報告要求:1 .寫出運行結果;2 .小Zdebug常用命令及使用體會答:1.原文已給出(略)2.a匯編d顯示內存單元內容e修改單元內存內容g執行命令t單步(或多步)調試n指定文件路徑文件名(含擴展名)u反匯編r查看寄存器值及修改l加載程序w寫盤命令體會:提升學習熱情和動手能力有助于理解代碼執行過程實驗內容2設AX=3000H,BX=5000H,請編一程序段將AX的內容和BX的內容進行交換。請用堆棧作為兩寄存器交換內容的中間存儲單
3、元,用DEBUG調試程序進行匯編與調試。實驗報告要求:1 .寫出完成上述功能的程序段;2 .單步執行,并記錄寄存器AX,BX及堆棧指針SP的值答:A100Movax,3000;ax:3000bx:0000sp:ffeeMovbx,5000;ax:3000bx:5000sp:ffeePushax;ax:3000bx:5000sp:ffecBX=0300H,SI=0002H,請用DEBUG的命令將存儲器偏移地址0AH,0BH,0CH,0DH,0EH。在DEBUG狀態下送入下面的程Movax,bxPopbxInt20實驗內容3設DS=當前段地址,300H304H連續單元裝入;ax:5000bx:50
4、00sp:ffec;ax:5000bx:3000sp:ffee序,并用單步執行的方法,分析每條指令源地址的形成過程?當數據傳送完畢時,內容是什么?實驗報告要求:1 .寫出源操作數的尋址方式;2 .單步執行,并記錄相關寄存器及存儲單元的值AX中的A100Movdi,0300Movdx,0aMovcx,51oop1:movdi,dxIncdiIncdx1ooploop1程序清單如下:;給各內存單元賦值尋址方式和AX的內容MOVMOVMOVMOVMOVMOVMOVMOVMOVBX,SI,AX,AX,AX,AX,AX,AX,AX,03000002BX立即尋址立即尋址寄存器尋址AX:03000304H立
5、即尋址0304H存儲器直接尋址BX寄存器間接尋址0001BX基址相對尋址BXSI基址變址尋址0001BXSI基址變址尋址AX:0304AX:ds:0304AX:ds:0300AX:ds:0301AX:ds:0302AX:ds:0303內存單元的內容內存單元的內容內存單元的內容內存單元的內容內存單元的內容0EH0AH0BH0CH0DH實驗內容410,要求用移位的方法完成。設AX=0002H,編寫程序將AX的內容乘寫出實現上實驗報告要求:1.述功能的程序段;2.單步執行程序,記錄每條指令的機器碼及相關寄存器的內容:左移指令用SHL,而不能使用SALA100Movax,2機器碼:b80200ax:0
6、002dx:0000cl:00Movdx,0機器碼:ba0000ax:0002dx:0000cl:00Shlax,1機器碼:d1e0ax:0004dx:0000cl:00Movdx,ax機器碼:01d0ax:0004dx:0004cl:00Movcl,2機器碼:b102ax:0004dx:0004cl:02Shlax,cl機器碼:d3e0ax:0010dx:0004cl:02Addax,dx機器碼:01d0ax:0014dx:0004cl:02Int20機器碼:cd20ax:0014dx:0004cl:02實驗二簡單程序的編寫及匯編連接實驗目的1 .熟練掌握編寫匯編語言源程序的基本方法和基本框
7、架。2 .學會編寫順序結構、分支結構和循環結構的匯編程序,掌握宏定義與宏調用的方法。3 .掌握程序中數據的產生與數輸出的方法。4 .熟悉建立源文件,進行匯編和連接的全過程,并對程序進行調試。二、實驗要求1 .實驗前準備分析題目,將程序中的原始數據、中間結果和最終結果的存取方式確定好。寫出算法或畫出流程圖。寫出源程序。對程序中的結果進行分析,并準備好上機調試的過程。2 .本實驗要求在PC機上進行。3 .匯編過程中出現問題,可用DEBUG進行調試。三、實驗內容1 .實驗內容1 編輯源程序(參考程序見下),建立.ASM文件; 用MASM程序匯編,生成.OBJ文件;查看.LST文件的內容 用LINK程
8、序鏈接,生成.EXE文件; 使用DEBUG命令將.EXE文件調進內存,執行后查看程序運行結果; 使用DEBUG命令,檢查各段在內存當中分配情況。參考程序:;exercize21datasegmentorg0200hbufferdw0,1,-5,10,256,-128,-100,45,6,3,dw-15,-67,39,4,20,-1668,-32766,32765,-525,dw300countequ($-buffer)/2maxdw?stackstack(s)dataendsstacksegmentdb100dupstackendscodesegmentparacodeassumecs:cod
9、e,ds:data,ss:stackstaprocfarpushdsxorax,axpushaxmovax,datamovds,axleasi,buffermovcx,countdeccxmovax,sichkmax:addsi,2cmpsi,axjlenextmovax,sinext:loopchkmaxmovmax,axretstaendpcodeendsendsta實驗報告要求:1 .小結匯編語言源程序的編譯及連接過程;2 .記錄數據段在程序執行前后的內容3 .寫出程序調試中出現的問題及解決方法;答:1 .把待匯編的程序放在存放匯編、鏈接程序的文件夾里打開匯編程序輸入待匯編的程序名字,以
10、默認配置生成obj文件,再打開鏈接程序輸入待鏈接的程序名字以默認配置生成exe文件2 .執行前后buff數據數據塊不變max執行前數據為0000H執行后為7ffdH3 .很順利作業:編程并且在計算機上調試。用匯編語言編寫一個加法程序:1234+5678請用ASCII碼的形式將加數與被加數存放在數據區DATA1和DATA2中,并將相加的結果顯不輸出。假設有一組數據:5,-4,0,3,100,-51,,請編一程序,判斷每個數是否大于0,等于0,還是小于0,并輸出判斷結果。即:r1當x0y=y0當x=0一1當x0sstacksegmentdw32dup(?)sstackendsdatasegment
11、dataldb1234data2db5678data3db4dup(?)dataendscodesegmentassumecs:code,ss:sstack,ds:datasta:pushdsxorax,axpushaxmovax,datamovds,axleasi,data1leadi,data2leabx,data3moval,si+3movah,di+3andal,0fhandah,0fhaddal,ahoral,30hmovbx+3,almoval,si+2movah,di+2andal,0fhandah,0fhadcal,ahoral,30hmovbx+2,almoval,si+1m
12、ovah,di+1andal,0fhandah,0fhadcal,ahoral,30hmovbx+1,almoval,simovah,diandal,0fhandah,0fhadcal,ahoral,30hmovbx,almovcx,4movah,2ha1:movdl,bxint21hincbxloopa1retcodeendsendstasstacksegmentstackstackdw32dupsstackendsdatasegmentbuffdb12,-23,5,-4,0,3,100,-51,3,-45,9,2dataendscountequ$-buffcodesegmentassume
13、ss:sstack,ds:data,cs:codestartprogfarpushdsxorax,axpushaxmovax,datamovds,axleabx,buffleasi,countmovcx,siloop1:moval,bxcmpal,0jzaa1andal,80hjzaa2movah,2movdl,2dhint21haa:incbxlooploop1jmpovaa1:movah,2movdl,30hint21hjmpaaaa2:movah,2movdl,31hint21hjmpaaov:retstartendpcodeendsendstart實驗三8254定時/計數器應用實驗一、
14、實驗目的1、掌握8254的工作方式及應用編程;2、掌握8254典型應用電路的接法。二、實驗設備PC機一臺,TD-PIE實驗裝置一套,示波器一臺。三、實驗內容1、計數應用實驗。編寫程序,應用8254的計數功能,使用單次脈沖模擬計數,使每當按動KK1+5次后,產生一次計數中斷,并在屏幕上顯示一個字符M。2、定時應用實驗。編寫程序,應用8254的定時功能,產生一個1ms的方波。1、計數應用實驗編寫程序,將8254的計數器0設置為方式3,計數值為十進制數4,用單次脈沖KK1+作為CLK0時鐘,OUT0連接MIR7,每當KK1+按動5次后產生中斷請求,在屏幕上顯示字符M。實驗步驟:(1)實驗接線如圖4-
15、2所示;(2)編寫實驗程序,經編譯、鏈接無誤后裝入系統;(3)運行程序,按動KK1+產生單次脈沖,觀察實驗現象;(4)改變計數值,驗證8254的計數功能。圖4.28254計數應用實驗接線圖實驗程序清單:A8254EQU06C0H;8254計數器0的端口地址B8254EQU06C2H;8254計數器1的端口地址C8254EQU06C4H;8254計數器2的端口地址CON8254EQU06C6H;8254控制手奇存器的端口地址SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODE,SS:SSTACKSTART:PUSHDSMOV
16、AX,0000HMOVDS,AXLeaax,irq7movsi,3chmovsi,axmovax,segirq7movsi+2,axCLIPOPDS;初始化主片8259,其端口地址為20H和21HMOVAL,11HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,04HOUT21H,ALMOV21H,01HOUT21H,ALMOVAL,6FHOUT21H,AL;初始化8254MOVDX,CON8254MOVAL,11hOUTDX,ALMOVDX,A8254MOVAL,04hOUTDX,ALSTIAA1:JMPAA1;中斷服務程序IRQ7:MOVAX,014DHINT10HMOV
17、AX,0120HINT10HMOVAL,20hOUT_20h,ALIRETCODEENDSENDSEGMENT2、定時應用實驗;ICW1;ICW2;ICW3;ICW4;OCW1;計數器0,方式0;給計數器0送初值;顯示字符M;中斷結束命令編寫程序,將8254的計數器0設置為方式3,用信號源1MHz作為CLK0時鐘,OUT0輸出波形為1ms方波。實驗步驟:(1)接線圖如圖4-3所示;(2)根據實驗內容,編寫實驗程序,經編譯、鏈接無誤后裝入系統;KirM254施工KW1A.AIKa士不巾總UIOW*IU9U匚LKDCLJC鼻冷渡OUTO圖4.38254定時應用實驗接線圖(3)運行實驗程序,用示波器
18、測試OUT0輸出,驗證程序功能。實驗程序清單A8254EQU06C0HB8254EQU06C2HC8254EQU06C4HCON8254EQU06C6HSSTACKSEGMENTSTACKSSTACKENDSCODESEGMENTASSUMECS:CODESTART:MOVDX,CON8254MOVAL,37hOUTDX,ALMOVDX,A8254MOVAL,63hOUTDX,ALMOVAL,09hOUTDX,ALAA1:JMPAA1DW32DUP;8254控制字,計數器;給計數器0送初值0,方式3CODEENDSENDSTART六、思考題1、在將計數初值賦給8254后,馬上就可以啟動并進行定
19、時或計數嗎?(軟件觸發為高答:不是,計數的開始還得看門控信號,在寫入初值后若門控信號有效電平有效,硬件觸發為上升沿有效)則開始計數,否則等待有效門控信號的到來才開始計數2、若CLK0輸入1.925MHz的時鐘,能否在OUT0實現輸出30ms的定時脈沖?答:30*1925=5775065535所以用二進制寫初值方式可以實現,若用十進制方式寫初值則不能實現(十進制最大計數初值為0,即10000)實驗四8255并行接口實驗、實驗目的1、學習并掌握8255的工作方式及其應用;2、掌握8255典型應用電路的接法。、實驗設備PC機一臺,TD-PITE實驗裝置一套。、實驗內容1、基本輸入輸出實驗。本實驗系統
20、中,8255的端口地址分別為0640H,0642H,0644H以及0646H。編寫程序,使8255的A口為輸入,接撥動開關,B口為輸出,接發光二極管;要求只要開關撥動,發光二極管的顯示就發生相應改變。2、流水燈顯示實驗。編寫程序,使8255的A口和B口均為輸出,數據燈D7D0由左向右,每次僅亮一個燈,循環顯示,D15D8與D7D0正相反,由右向左,每次僅點亮一個燈,循環顯示。四、實驗原理并行接口是以數據白字節為單位與I/O設備或被控制對象之間傳遞信息。CPU和接口之間的數據傳送總是并行的,即可以同時傳遞8位、16位或32位等。8255可編程外圍接口芯片是Intel公司生產的通用并行I/O接口芯
21、片,它具有A,B,C三個并行接口,用+5V單電源供電,能在以下三種方式下工作:方式0基本輸入/輸出方式、方式1選通輸入/輸出方式、方式2雙向選通工作方式。8255的內部結構及引腳如圖5-1所示,8255工5-2所示。作方式控制字和C口按位置位/復位控制字格式如圖-i樺副0i|7jffftHKGtK1*5-塞神ttd型nAl.FT1Cll皿140:33E4n5JAfi5fuNJq32I.Q81551II10122*132KwnISIfr251124IRZJIV22NU2143fi7(S76*J4J加加皿lAwlJhEREIMDSMm爾砥佃始祖加圖5.18255內部結構及外部引腳圖五、實驗步驟1、
22、基本輸入輸出實驗端口BI作在方式0并作為輸出口。本實驗使8255端口A工作在方式0并作為輸入口,Im麗D*134JID建R1叫;:Ct1(14(0芍I-IT0*tt1,3勒oIJ-0-10-1O1pDnoLIoOOOI1IrI檢DI2J43&丁L“*北血舞0JjzoAll4il|IA.i-j410總/0口】。取11naz圖5.28255控制字格式用一組開關信號接入端口A,端口B輸出線接至一組發光二極管上,然后通過對8255芯片編程來實現輸入輸出功能。具體實驗步驟如下述:(1)實驗接線圖如圖5-3所示,按圖連接實驗線路圖;(2)編寫實驗程序,經編譯、連接無誤后裝入系統;(3)運行程序,改變撥動開關,同時觀察LED顯示,驗證程序功能。圖5-38255基本輸入輸出實驗接線圖loft*可美苴I-rbAE單T實驗程序清
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 草坪種植方案
- 交通疏導方案
- 基于衛星遙感影像的多場景建筑物提取方法研究
- 汽車傳感器與檢測技術電子教案:空燃比測定傳感器
- 醫院食堂制度管理制度
- 縣安監局應急管理制度
- 城鎮社區公廁管理制度
- 中考地理復習教案第11課時 美國巴西澳大利亞
- Web程序設計(微課版)-教學大綱
- 仟吉公司團購活動方案
- 華北理工牙體牙髓學實驗課件03口腔科醫師的術式、支點與鉆針切割硬物練習
- 廣州市人力資源和社會保障局事業單位招聘工作人員【共500題附答案解析】模擬試卷
- 8 泵站設備安裝工程單元工程質量驗收評定表及填表說明
- 《種樹郭橐駝傳》閱讀練習及答案(三)
- 離子色譜儀技術指標及其服務要求
- 重大項目風險點防范管理流程圖
- 6.項目成員工作負荷統計表
- 短語類型練習題
- 床上用品、服裝產品供貨及售后服務方案
- 履帶吊月保養記錄
- 公路運營之隧道知識培訓
評論
0/150
提交評論