(微機原理實驗報告)要點_第1頁
(微機原理實驗報告)要點_第2頁
(微機原理實驗報告)要點_第3頁
(微機原理實驗報告)要點_第4頁
(微機原理實驗報告)要點_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 實驗報告 課程名稱 微機原理與接口(技術(shù)) 專 業(yè) 通信工程 班 級 通信1301B 學(xué) 號 學(xué) 生 姓 名 劉歡 黃淮學(xué)院信息工程學(xué)院 實驗報告一實驗名稱調(diào)試程序DEBUG及8086指令使用實驗時間2015 01 09學(xué)生學(xué)號學(xué)生姓名劉歡同組人員專業(yè)班級通信1301B實驗類型演示性指導(dǎo)老師禹定臣實驗地點1號樓614學(xué) 時21、實驗?zāi)康耐ㄟ^實驗掌握下列知識: 1)8086指令:MOV,ADD,ADC,SUB,SBB,DAA,XCHG2)DEBUG命令: A,D,E,G,Q,R,T,U,F(xiàn),H。3)BCD碼,ASCII碼及用16進制數(shù)表示二進制碼的方法。4)8086寄存器: AX,BX,CX,

2、DX,F,IP。2、實驗預(yù)備知識1)熟悉DEBUG命令的使用2)8086、8088常用指令的練習(xí)。3、實驗內(nèi)容和步驟一、DEBUG 命令使用:1、打 DEBUG 進入 DEBUG 控制,顯示提示苻 _ 。2、用命令 F100 10F A 將A的ASCII碼填入內(nèi)存。3、用命令 D100 10F 觀察內(nèi)存中的16進制碼及屏幕右邊的ASCII字符。4、用命令 F110 11F 41 重復(fù)上二項實驗,觀察結(jié)果并比較。經(jīng)過比較結(jié)果一樣。5、用命令 E100 30 31 32 3F將30H-3FH寫入地址為100開始的內(nèi)存單元中,再用D命令觀察結(jié)果,看鍵入的16進制數(shù)是什么字符的ASCII碼?6、用H命

3、令檢查下列各組16進制數(shù)加減結(jié)果并和你的手算結(jié)果比較:(1)34H,22H(2)56H,78H(3)A5,79H(4)1284H,5678H(5)A758,347FH經(jīng)過比較與手算結(jié)果相同。7、用R 命令檢查各寄存器內(nèi)容,特別注意AX,BX,CX,DX,IP及標(biāo)志位中ZF,CF和AF的內(nèi)容。8、用R命令將AX,BX內(nèi)容改寫為1050H及23A8H。二、8086/8088常用指令練習(xí)1、傳送指令2、加減法指令:3、帶進位加減法:4、BCD碼加減通過8086的單步運行,可以清楚的了解每條指令的運行結(jié)果。4、實驗電路、程序清單本實驗為DEBUG的調(diào)用,無程序和電路。5、實驗結(jié)果6、實驗中遇到的問題

4、上實驗課不是太懂 通過老師講解懂了一些指導(dǎo)教師批閱成績指導(dǎo)教師簽字: 年 月 日實驗報告二實驗名稱內(nèi)存操作數(shù)及尋址方法實驗時間學(xué)生學(xué)號學(xué)生姓名劉歡同組人員專業(yè)班級通信1301B實驗類型驗證性指導(dǎo)老師禹定臣實驗地點1號樓614學(xué) 時21、實驗?zāi)康耐ㄟ^實驗掌握下列知識: 1)8086/8088系統(tǒng)中數(shù)據(jù)在內(nèi)存中的存放方式和內(nèi)存操作數(shù)的幾種尋址方式。 2)8086/8088指令:MOV,INC,DEC,LOOP,INT 3,INT 20H,寄存器BX,BP,SI,DI。 3)8086/8088匯編語言偽操作:BYTE PTR,WORD PTR。 4)求累加和程序和多字節(jié)加減法程序。 2、實驗預(yù)備知識

5、 1)了解和掌握有哪些尋址方式2)熟練各種尋址方式的方法。3、實驗內(nèi)容和步驟1)內(nèi)存操作數(shù)及各種尋址方式使用: 步驟: ( 也可用emu8086)1)用A命令鍵入上述程序,并用T命令逐條運行。2)每運行一條有關(guān)內(nèi)存操作數(shù)的指令,要用D命令檢查并記錄有關(guān)內(nèi)存單元的內(nèi)容并注明是什么尋址方式。注意D命令顯示結(jié)果中右邊的ASCII字符及雙字節(jié)數(shù)存放法。2)求累加和程序:步驟:1、DEBUG調(diào)試:1)用A命令將程序鍵入到100H開始的內(nèi)存中,在鍵入時記下標(biāo)號LOP和J的實際地址,在鍵入LOOP指令時LOP用實際地址值代替。2)用E命令在內(nèi)存地址2000H處鍵入16個數(shù)字3)用命令G=100 J(J用實際

6、地址代替),使程序運行并停在斷點J上,檢查AX,BX的值是否符合你的預(yù)計值。4)用T命令運行一步,觀察程序方向(IP值)和CX值是否與你的估計一樣,若不一樣,檢查程序是否有錯。5)重復(fù)G J與T,再檢查AX是否正確。6)用G命令使程序運行到結(jié)束,檢查AX值是否正確。2、用emu8086調(diào)試:給程序加上偽指令,觀察運行結(jié)果。3)多字節(jié)加法程序。步驟:1)用命令鍵入此程序2)用E命令在1000H開始處鍵入一個8字節(jié)被加數(shù),在2000H開始處鍵入一個8字節(jié)加數(shù),均為低字節(jié)在前面。3)用G命令運行此程序,并用D命令檢查其結(jié)果(存放在哪里?),是否正確?4)自編程序:用16位減法指令編一個32位(4字節(jié)

7、)數(shù)減法程序,兩個源數(shù)及結(jié)果存放地址同上題。調(diào)試并做記錄。4、實驗電路、程序清單1)內(nèi)存操作數(shù)及各種尋址方式的使用MOVAX,5678H MOV2000H,AXMOVBX,2002HMOVBYTE PTRBX,40HMOVDL,45HINCBXMOVBX,DLDECDLMOVDI,3MOVBX+DI,DLMOVBX+DI+1,DLMOVWORD PTRBX+DI+2,7846H2)求累加和程序 程序:MOVBX,2000HMOVCX,10HSUBAX,AXLOP: ADDAL,BXADC AH,0INCBXJ:LOOPLOPHLT3)多字節(jié)加法程序 程序:MOVDI,1000HMOVCX,8M

8、OVSI,2000HCLCLOP: MOVAL,SIADCDI,ALINCSIINCDILOOPLOPHLT5、實驗結(jié)果6、實驗中遇到的問題本次實驗比第一次好多了 但是還會遇到一些不會的 通過老師和同學(xué)的幫助學(xué)會了指導(dǎo)教師批閱成績指導(dǎo)教師簽字: 年 月 日實驗報告三實驗名稱數(shù)據(jù)串傳送及查表程序?qū)嶒灂r間2015 03 27學(xué)生學(xué)號學(xué)生姓名劉歡同組人員專業(yè)班級通信1301B實驗類型綜合性指導(dǎo)老師禹定臣實驗地點1號樓614學(xué) 時21、實驗?zāi)康?通過實驗掌握下列知識:1)堆棧、堆棧指示器SP和堆棧操作指令PUSH、POP。2)段寄存器和物理地址計算。3)查表法和查表指令XLAT。4)數(shù)據(jù)串傳送程序和數(shù)

9、據(jù)串傳送指令MOVS、STOS及重復(fù)前輟REP。5)循環(huán)指令ROL、邏輯與指令A(yù)ND和清方向位指令CLD。6)偽操作指令DB。2、實驗預(yù)備知識 1)了解相應(yīng)指令符的應(yīng)用2)知道什么是入棧、出棧及相應(yīng)操作3)知道段寄存器和物理地址的計算,了解查表法的程序格式4)知道字符串是如何傳送的5)熟悉循環(huán)指令ROL邏輯與指令A(yù)ND和清零指令CLD,以及偽指令的掌握。3、實驗內(nèi)容和步驟一、利用查表方法把DX的內(nèi)容(16進制數(shù))轉(zhuǎn)換成ASCII碼:二、數(shù)據(jù)串搬家程序:三、段寄存器概念及字符串傳送指令練習(xí):4、實驗電路、程序清單1)利用查表法把DX的內(nèi)容(16進制數(shù))轉(zhuǎn)換成ASCII碼 MOVBX,1000HM

10、OVDI,2000HMOVCX,4LOP: PUSHCXMOVCL,4ROLDX,CLPOPCXMOVAL,DLANDAL,0FHXLATCLDSTOSBLOOPLOPINT20H2)數(shù)據(jù)串搬家程序 MOVSI,1000HMOVDI,1500HMOVCX,0FHLOP: MOVAL,SIMOVDI,ALINCSIINCDILOOPLOPINT20H3)段寄存器概念及字符串傳送指令練習(xí)MOVSI,0MOVDI,0MOVAX,1000HMOVDS,AXMOVAX,1500HMOVES,AXMOVCX,0FHCLDREPMOVSBINT20H5、 實驗結(jié)果一二三6、6、實驗中遇到的問題 遇到了程序運

11、行出錯的問題,還有運行結(jié)果與實際不符的問題。指導(dǎo)教師批閱成績指導(dǎo)教師簽字: 年 月 日實驗報告四實驗名稱屏幕字符顯示程序?qū)嶒灂r間2015 04 10學(xué)生學(xué)號 學(xué)生姓名劉歡同組人員專業(yè)班級通信1301B實驗類型綜合性指導(dǎo)老師禹定臣實驗地點1號樓614學(xué) 時21、實驗?zāi)康耐ㄟ^實驗掌握下列知識:1、8086/8088指令: JMP,ROR,XOR,HLT。2、利用DOS功能調(diào)用INT21H的2號和9號功能進行屏幕顯示的方法。3、直接向RAM(VRAM)送ASCII碼進行屏幕顯示的方法。4、IBM-PC機的ASCII碼表及控制字符。5、命令(.COM)文件及使用方法。6、利用Break退出程序的方法及

12、局限性。2、實驗預(yù)備知識 1)利用INT2109H號功能調(diào)用顯示字符串2)利用INT21H2號功能顯示字符3)直接向VRAM送ASCII碼顯示字符4)自己編寫一個程序要求在AX中顯示內(nèi)容,即顯示AX=xxx.3、實驗內(nèi)容和步驟一、利用INT 21 09H號功能調(diào)用顯示字符串。二、利用INT 21H 2號功能顯示字符:三、直接向VRAM送ASCII碼顯示字符四。自編一個程序,要求顯示AX的內(nèi)容,即能顯示AX=xxxx。4、實驗電路、程序清單第一個實驗程序清單MOVAH, 9MOVDX,110INT21HINT20H DBThis is a sample!$第二個程序清單:XORDL,DLMOV

13、CX,100HLOP:MOVAH,2HINT21HINCDLLOOPLOPINT20H第三個程序清單:DATA SEGMENTBUFF DB ABCDEFBUFF1 DB AX=BUFF2 DB 4 DUP(?)BUFF3 DB H$DATA ENDSESS SEGMENTESS ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:ESS SATRT:MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,78EFH MOV BX,OFFSET BUFF MOV DI,OFFSET BUFF2 MOVCX,4 LOP: PUSH CXMO

14、VCL,4ROLAX,CLPOPCXPUSH AXANDAL,0FHXLATCLDSTOSBPOP AXLOOPLOPMOV DX,OFFSET BUFF1MOV AH,09HINT 21H INT20H CODE ENDSEND ST第四個程序:DATA SEGMENT STRING DB WANGYONGCUN$DATA ENDSSTACK1 SEGMENT PARA STACK DW 30 DUP(0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STRING

15、 MOV AH,09 INT 21H CODE ENDSEND START5、實驗結(jié)果第一個程序運行結(jié)果:第二個程序運行結(jié)果:第三個程序運行結(jié)果:第四個程序運行結(jié)果6、實驗中遇到的問題 在這次屏幕字符顯示程序中實驗中,遇到了程序運行出錯的問題,還有運行結(jié)果與實際不符的問題,這些問題后來在老師和同學(xué)的幫助下得到了解決。指導(dǎo)教師批閱成績指導(dǎo)教師簽字: 年 月 日實驗報告五實驗名稱二進制數(shù)顯示成十六進制數(shù)的屏幕字符顯示程序?qū)嶒灂r間2015 04 24學(xué)生學(xué)號學(xué)生姓名劉歡同組人員專業(yè)班級通信1301B實驗類型綜合性指導(dǎo)老師禹定臣實驗地點1號樓614學(xué) 時21、實驗?zāi)康耐ㄟ^實驗掌握下列知識:1)8086

16、/8088指令: MOV,XLAT,LEA,JNE,CALL,RET,PUSH,POP,CMP,INT。2)數(shù)據(jù)段的定義方法。3)XLAT指令的使用方法。4)子程序的嵌套調(diào)用及子程序參數(shù)傳遞的方法。5)利用DOS功能調(diào)用INT 21H的4CH號功能返回DOS的方法。6)MASM、LINK、DEBUG、EMU8086等匯編、調(diào)試工具的使用方法。2、實驗預(yù)備知識 1)JG,SHR,MOV,OR,CMP,INC,LEA,INT等命令符的使用2)了解怎么利用DOS功能調(diào)用INT21H的9號功能進行屏幕顯示的方法3、實驗內(nèi)容和步驟1.利用INT2109H號功能字顯示字符串。1、字符串顯示09H功能說明功

17、能:在屏幕上顯示在存儲器內(nèi)以“$”為結(jié)束符的字符串( “$” 不顯示)。入口參數(shù):DS:DX = 串首址。例4 一個以“$”結(jié)束的字符串已存放在mess為首地址的內(nèi)存緩沖區(qū)中, 利用09號功能調(diào)用如下:mov ah,9mov dx,seg mess ; ds:dx=串地址mov ds,dxmov dx,offset messint 21h2、從mess開始處存放下列字符串的ASCII碼:This is a sample!$寫程序把它顯示出來。3、把上面你寫出的程序存為4、在DOS命令下打AA,運行此程序,即在屏幕上顯示This is a sample!字符串,若不出現(xiàn),用DEBUG

18、檢查程序有無錯誤2自己編寫一個程序,要求把NUM單元存放的一個8位的二進制數(shù),顯示成十六進制數(shù)如NUM單元式要求能顯示RESULT=48h4、實驗電路、程序清單DATA SEGMENT NUM DB B BUF DB 0DH,0AH,RESUL= STR DB 4 DUP(?)DATA ENDSSTACK SEGMENT STACK DB 200 DUP(0) STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AL,NUM LEA DX,BUF LEA DI,STR MO

19、V CH,2 MOV AH,AL MOV CL,4 SHR AL,CLNEXT: CMP AL,9 JNC NEXT1 ADD AL,30H JMP NEXT2NEXT1: ADD AL,37HNEXT2: MOV DI,AL INC DI MOV AL,AH AND AL,0FH DEC CH JNZ NEXT MOV DI,H MOV DI+1,$ MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START5、實驗結(jié)果6、實驗中遇到的問題 在二進制數(shù)顯示成十六進制數(shù)的屏幕字符試驗中 遇到了好多麻煩 最終解決了 指導(dǎo)教師批閱成績指導(dǎo)教師簽

20、字: 年 月 日實驗六實驗名稱查表指令及子程序嵌套實驗實驗時間2015 05 14學(xué)生學(xué)號學(xué)生姓名劉歡同組人員專業(yè)班級通信1301B實驗類型設(shè)計性指導(dǎo)老師禹定臣實驗地點1號樓614學(xué) 時21、實驗?zāi)康耐ㄟ^實驗掌握下列知識:1、8086/8088指令: MOV,XLAT,LEA,JNE,CALL,RET,PUSH,POP,CMP,INT。2、數(shù)據(jù)段的定義方法。3、XLAT指令的使用方法。4、子程序的嵌套調(diào)用及子程序參數(shù)傳遞的方法。5、利用DOS功能調(diào)用INT 21H的4CH號功能返回DOS的方法。6、MASM、LINK、DEBUG、EMU8086等匯編、調(diào)試工具的使用方法。2、實驗預(yù)備知識計算機

21、,EMU8086軟件使用。3、實驗內(nèi)容和步驟 1、打開emu8086軟件,并且新建立一個文件。2、開始調(diào)試第一個程序調(diào)試出錯的地方有5處,并且修改ENGLISH應(yīng)該與前面的ENGLIST對照此處XTAL后面的TAB應(yīng)該去掉此處的DEL應(yīng)該為DEC此處的數(shù)字78后面的句號應(yīng)該改為逗號第二個實驗:此處的RESNLT應(yīng)該與前面的RESULT對照此處的MOV應(yīng)該改為MUL4、實驗電路、程序清單1、已知某班學(xué)生的英語成績按學(xué)號(從1開始)從小到大的順序排列在TAB表中,要查的學(xué)生的學(xué)號放在變量NO中,查表結(jié)果放在變量ENGLISH中。編寫程序如下:STACKSEGMENT STACKDB200 DUP(

22、0)STACKENDSDATASEGMENTTABDB 80,85,86,71,79,96 DB 83,56,32,66,78。84NODB 10ENGLISTDB?DATAENDSCODESEGMENT ASSUMEDS:DATA,SS:STACK,CS:CODEBEGIN:MOVAX,DATA MOVDS ,AX LEABX,TAB MOVAL,NO DELAL XLATTABMOVENGLISH,AL MOVAH,4CH INT21HCODEENDSENDBEGIN2、計算5!的程序示例, RESULT是保存階乘的存儲單元。程序如下:STACKSEGMENT STACKDB 200 DU

23、P(0)STACKENDSDATASEGMENTNDW 5RESULTDW ?DATAENDSCODESEGMENT ASSUME CS:CODE, SS:STACK,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVAX,NCALL FACT MOVAX,RESULTMOVAH,4CH INT21HFACT PROC CMP AX,0JNEL1 MOVRESULT,1 JMPEXITL1:PUSH AXDECAX CALL FACTPOPAX MOVRESULT MOVRESNLT,AXEXIT:RETFACTENDPCODEENDSENDSTART二、讀一讀以下程序,

24、看一看運行結(jié)果。(選作)DATASEGMENTATRIDB 6EH,52H,94H,52H,6EHDATAENDSSTACKSEGMENT PARA STACK STACK DB 200 DUP(0)STACKENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKST:MOVAX,DATA MOVDS,AX MOVAH,0;設(shè)置8025彩色文本方式 MOVAL,3 INT10HLEASI,ATRI;屬性字節(jié)值表首址存SI MOVDI,5;顯示5個字符 MOVDX,0A13H;顯示位置 MOVAH,15;取當(dāng)前頁號 INT10HLP:MOVAH,2;置光標(biāo)位

25、置 INCDL INT10HMOVAL,5;顯示梅花形字符 MOVBL,SI MOVCX,1MOVAH,9 INT10H INCSI;指向下一屬性字節(jié)DECDI;判顯示完否 JNZLP;未完轉(zhuǎn)LP再顯示 MOVAH,4CH;完,返回DOS INT21HCODEENDSENDST5、 實驗結(jié)果最終運行階乘的結(jié)果為1206、 實驗中遇到的問題在老師和同學(xué)的幫助下解決了問題。在本次的8255接口電路實驗的時候,和上次一樣,也是遇到了電路圖再編譯的時候老是出錯,程序?qū)懖贿M去等問題指導(dǎo)教師批閱成績指導(dǎo)教師簽字: 年 月 日實驗報告七實驗名稱8255接口電路實驗實驗時間2015.05.22學(xué)生學(xué)號學(xué)生姓名

26、劉歡同組人員專業(yè)班級通信1301B實驗類型設(shè)計性指導(dǎo)老師禹定臣實驗地點1號樓614學(xué) 時21、實驗?zāi)康?、進一步了解8255A芯片的結(jié)構(gòu)及編程方法。2、掌握通過8255A并行口讀取開關(guān)數(shù)據(jù)的方法。2、實驗預(yù)備知識計算機,protues軟件使用,8255A芯片的結(jié)構(gòu)和編程方法。3、實驗內(nèi)容和步驟1打開protues軟件,并且新建立一個設(shè)計,并保存設(shè)計。2通過庫查找,把元件清單,拉入到工作面板內(nèi)。對應(yīng)原理圖,器件連線4、實驗電路、程序清單實驗電路:程序清單DATA SEGMENT A EQU 0FF40H B EQU 0FF42H C EQU 0FF44H K EQU 0FF46HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV AL,82H;8255初始化,A口方式0輸出,B口方式0輸入 MOV DX,K OUT DX,ALLOP:MOV DX,B

溫馨提示

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

評論

0/150

提交評論