




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 昆明理工大學(xué) 微機(jī)原理及程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書段紹米 編 昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院自動(dòng)化系2013年10月微機(jī)原理實(shí)驗(yàn)實(shí)驗(yàn)要求及運(yùn)行環(huán)境實(shí)驗(yàn)要求與注意事項(xiàng):交紙質(zhì)版實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)要求:實(shí)驗(yàn)成績百分制(總分100分)實(shí)驗(yàn)過程(50分)提前預(yù)習(xí),寫好實(shí)驗(yàn)報(bào)告,標(biāo)好注釋,修改好程序;10分個(gè)人按要求獨(dú)立完成,填好實(shí)驗(yàn)結(jié)果,對實(shí)驗(yàn)程序進(jìn)行講解,按時(shí)交實(shí)驗(yàn)報(bào)告20分不做與本實(shí)驗(yàn)無關(guān)的事(如玩游戲、聊天、打電話、聽音樂等)5分不得缺席,實(shí)驗(yàn)簽名(兩份),按要求填寫設(shè)備號實(shí)驗(yàn)名
2、稱等,不帶他人簽名5分帶走自己的垃圾,保持實(shí)驗(yàn)室衛(wèi)生,電腦設(shè)備桌椅擺設(shè)整齊,保管好個(gè)人物品5分按秩序進(jìn)出實(shí)驗(yàn)室,不擁擠,注意安全,愛護(hù)設(shè)備,保證設(shè)備完好5分實(shí)驗(yàn)報(bào)告(50分)報(bào)告紙要統(tǒng)一,全部手寫并填寫好表頭,包括:實(shí)驗(yàn)名稱、姓名、學(xué)號、班級任課老師等2分實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)內(nèi)容3分程序框圖5分程序清單5分讀懂程序加注釋(每句注釋13+分段注釋7)20分實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)中經(jīng)老師檢查過5分程序修改,實(shí)驗(yàn)要求的完成及結(jié)果(可用藍(lán)/黑在原程序上標(biāo)明,并加注釋)10分交電子版實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)要求:實(shí)驗(yàn)成績百分制(總分100分)實(shí)驗(yàn)過程(50分)提前預(yù)習(xí),標(biāo)好程序注釋,修改好程序;10分個(gè)人按要求獨(dú)立完成,填好實(shí)
3、驗(yàn)結(jié)果,對實(shí)驗(yàn)程序進(jìn)行講解,按時(shí)交實(shí)驗(yàn)報(bào)告20分不做與本實(shí)驗(yàn)無關(guān)的事(如玩游戲、聊天、打電話、聽音樂等)5分不得缺席,實(shí)驗(yàn)簽名(兩份),按要求填寫設(shè)備號實(shí)驗(yàn)名稱等,不帶他人簽名5分帶走自己的垃圾,保持實(shí)驗(yàn)室衛(wèi)生,電腦設(shè)備桌椅擺設(shè)整齊,保管好個(gè)人物品5分按秩序進(jìn)出實(shí)驗(yàn)室,不擁擠,注意安全,愛護(hù)設(shè)備,保證設(shè)備完好5分實(shí)驗(yàn)報(bào)告(50分)報(bào)告按統(tǒng)一格式要求填寫,包括:課程名稱、姓名、學(xué)號、班級任課老師等10分實(shí)驗(yàn)報(bào)告包括實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)內(nèi)容、程序框圖、程序清單、實(shí)驗(yàn)要求5分讀懂程序加注釋(每句注釋13+分段注釋7)20分實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)中經(jīng)老師檢查過5分程序修改,實(shí)驗(yàn)要求的完成及結(jié)果(可用其他顏色標(biāo)明添加
4、的程序,與原程序不同,并加注釋)10分2、實(shí)驗(yàn)運(yùn)行環(huán)境在電腦中裝ASM Masm for windows 集成實(shí)驗(yàn)環(huán)境2008。雙擊圖標(biāo)打開ASM MasM for windows 集成實(shí)驗(yàn)環(huán)境運(yùn)行工作界面,輸入實(shí)驗(yàn)程序代碼,調(diào)試、改錯(cuò)、保存、運(yùn)行、查看結(jié)果,進(jìn)行記錄。運(yùn)行結(jié)果顯示:實(shí)驗(yàn)一 兩個(gè)多位十進(jìn)制數(shù)相加的實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)數(shù)據(jù)傳送和算術(shù)運(yùn)算指令的用法。2、熟悉在PC機(jī)上建立、匯編、鏈接、調(diào)試和運(yùn)行8088匯編語言程序的過程。實(shí)驗(yàn)內(nèi)容將兩個(gè)多位十進(jìn)制數(shù)相加。要求被加數(shù)均以ASCII碼形式各自順序存放在以DATA1和DATA2為首的5個(gè)內(nèi)存單元中(低位在前),結(jié)果送回DATA1處。程序框
5、圖 顯示被加數(shù)和加數(shù)被加數(shù)和加數(shù)以ASCII碼表示的數(shù)字串形式轉(zhuǎn)化為由十六進(jìn)制表示的數(shù)字串形式 計(jì)數(shù)值5CX 清除最低位進(jìn)位 執(zhí)行ADC帶進(jìn)位相加 AAA調(diào)整 結(jié)果送被加數(shù)區(qū) 調(diào)整偏移量 N CX1=0? Y 十六進(jìn)制的結(jié)果轉(zhuǎn)化為ASCII碼表示的數(shù)字串 顯示結(jié)果結(jié)束程序清單CRLF MACRO ;宏定義,宏名:CRLF MOV DL, 0DH ;把0DH給DL MOV AH, 02H ; 把02H給AH INT 21H ;系統(tǒng)功能調(diào)用實(shí)現(xiàn)回車功能 MOV DL, 0AH ;把0AH給DL MOV AH, 02H ; 把02H給AH INT 21H ;系統(tǒng)功能調(diào)用實(shí)現(xiàn)換行功能 ENDM ;宏定
6、義結(jié)束本段實(shí)現(xiàn)回車換行功能 DATA SEGMENT;數(shù)據(jù)段定義,段名DATA DATA1 DB 33H, 39H, 31H, 37H, 34H; 變量DATA1中裝入加數(shù) DATA2 DB 36H, 35H, 30H, 38H, 32H; 變量DATA2中裝入被加數(shù) DATA ENDS;數(shù)據(jù)段定義結(jié)束本段實(shí)現(xiàn)了兩個(gè)數(shù)據(jù)的定義 STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK, ES:DATA START: MOV AX, DAT
7、A MOV DS, AX MOV AX, STACK MOV SS, AX MOV AX, TOP MOV SP, AX MOV SI, OFFSET DATA2 MOV BX, 05 CALL DISPL CRLF MOV SI, OFFSET DATA1 MOV BX, 05 CALL DISPL CRLF MOV DI, OFFSET DATA2 CALL ADDA MOV SI, OFFSET DATA1 MOV BX, 05 CALL DISPL CRLF MOV AX, 4C00H INT 21H DISPL PROC NEAR DS1: MOV AH, 02 MOV DL, SI
8、+BX-1 INT 21H DEC BX JNZ DS1 RET DISPL ENDP ADDA PROC NEAR MOV DX, SI MOV BP, DI MOV BX, 05 AD1: SUB BYTE PTR SI+BX-1 , 30H SUB BYTE PTR DI+BX-1 , 30H DEC BX JNZ AD1 MOV SI, DX MOV DI, BP MOV CX, 05 CLC AD2: MOV AL, SI MOV BL, DI ADC AL, BL AAA MOV SI , AL INC SI INC DI LOOP AD2 MOV SI, DX MOV DI, B
9、P MOV BX, 05 AD3: ADD BYTE PTR SI+BX-1, 30H ADD BYTE PTR DI+BX-1, 30H DEC BX JNZ AD3 RET ADDA ENDP CODE ENDS END START實(shí)驗(yàn)要求讀懂源程序,寫出源程序注釋。寫出實(shí)驗(yàn)結(jié)果。把源程序修改為任意兩個(gè)六位十進(jìn)制相加。并思考如果最高位有進(jìn)位怎么辦?實(shí)驗(yàn)二 字符匹配程序一、實(shí)驗(yàn)?zāi)康恼莆仗崾拘畔⒌氖褂梅椒版I盤輸入信息的用法。二、實(shí)驗(yàn)內(nèi)容編寫程序,實(shí)現(xiàn)兩個(gè)字符串比較。如果兩個(gè)字符串中有一個(gè)字符相同,顯示“MATCH”,否則,顯示“NO MATCH”。三、程序框圖段寄存器及堆棧初始化 顯示“請輸
10、入字符串1”使用INT 21H的0A號子功能,接收鍵入的字符串顯示“請輸入字符串2”指針SI指向串1的首字符SI指向的字符串和串2中所有字符作比較 Y 相等? N SI+1,指向串1中下一字符 N 串1中的字符已取完? Y顯示“NO MATCH” 顯示“MATCH” 返回DOS四、程序清單CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H ENDM DATA SEGMENTMESS1 DB MATCH,0DH,0AH,$MESS2 DB NO MATCH,0DH,0AH,$MESS3 DB INPUT S
11、TRING1:,0DH,0AH,$ MESS4 DB INPUT STRING2:,0DH,0AH,$MAXLEN1 DB 81ACTLEN1 DB ?STRING1 DB 81 DUP (?)MAXLEN2 DB 81ACTLEN2 DB ?STRING2 DB 81 DUP (?)DATA ENDSSTACK SEGMENT STACKSTA DB 50 DUP (?)TOP EQU LENGTH STASTACK ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV
12、 ES,AX MOV AX,STACK MOV SS,AX MOV SP,TOP MOV AH,09H MOV DX,OFFSET MESS3 INT 21H MOV AH,0AH MOV DX,OFFSET MAXLEN1 INT 21H CRLF MOV AH,09H MOV DX,OFFSET MESS4 INT 21H MOV AH,0AH MOV DX,OFFSET MAXLEN2 INT 21H CRLF CLD MOV SI,OFFSET STRING1 MOV CL,SI-1 MOV CH,00H KKK: MOV DI,OFFSET STRING2 PUSH CX MOV C
13、L,DI-1 MOV CH,00H MOV AL,SI MOV DX,DI REPNZ SCASB JZ GGG INC SI POP CX LOOP KKK MOV AH,09H MOV DX,OFFSET MESS2 INT 21H JMP PPP GGG: MOV AH,09H MOV DX,OFFSET MESS1 INT 21HPPP: MOV AX,4C00H INT 21HCODE ENDSEND START五、實(shí)驗(yàn)要求讀懂源程序,寫出程序注釋。寫出實(shí)驗(yàn)結(jié)果。修改源程序,使其實(shí)現(xiàn),當(dāng)兩個(gè)字符串中所有字符都匹配(注意字符串的長度和順序)時(shí)才顯示“MATCH”,否則顯示“NO MAT
14、CH”。實(shí)驗(yàn)三 排序?qū)嶒?yàn)一、實(shí)驗(yàn)?zāi)康恼莆沼脜R編語言編寫排序程序的思路和方法。二、實(shí)驗(yàn)內(nèi)容從首地址為1000H開始存放50個(gè)數(shù),要求設(shè)計(jì)程序?qū)⑦@些數(shù)由小到大排序,排序后的數(shù),仍放在該區(qū)域中。三、程序框圖 入口 段寄存器和堆棧初始化 顯示“請輸入段址” 調(diào)GETNUM,鍵入段址送ES顯示“請輸入偏移量” 調(diào)GETNUM,鍵入偏移量SIDS也指向附加段外循環(huán)次數(shù)SORTNUM1送CX偏移指針BX清0 A從SI+BX單元取數(shù)AL 交換單元指針AH=BL CX入棧 計(jì)算內(nèi)循環(huán)次數(shù)送CX內(nèi)循環(huán)控制變量DX初始化 DX值+1 比較AL與DX指示單元的值 N AL較大? Y DX指示單元的值賦給AL,并修改指
15、針AH NCX1=0? Y 交換SI+BX單元和AH指針指示的單元的值偏移指針BX+1 CX 出棧NA CX1=0? Y顯示“SORT OK!”循環(huán)調(diào)DISP1,將排序后的數(shù)依次顯示出來 返回DOS四、程序清單CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21HENDMDATA SEGMENTORG 160HDATA1 DB 0ah,09h,08h,07h,06h,05h,04h,03h,02h,01hSORTNUM EQU 10 MESS1 DB INPUT SEGMENT VALUE:$ MESS2 D
16、B INPUT OFFSET VALUE:$MESS3 DB SORT OK!,0DH,0AH,$ERROR DB INPUT ERROR!,0DH,0AH,$DATA ENDSSTACK SEGMENTSTA DW 32 DUP(?) TOP DW ? STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV SP,TOP MOV AH,09H MOV DX,OFFSET MESS1 INT 21H CALL GETNUM MOV ES,DX
17、CRLF MOV AH,09H MOV DX,OFFSET MESS2 INT 21H CALL GETNUM MOV SI,DX PUSH ES POP DS; DS= ES MOV CX,SORTNUM DEC CX XOR BX,BXIII: MOV AL,SI+BX MOV AH,BL PUSH CX MOV CX,SORTNUM SUB CX,BX DEC CX MOV DX,BX JJJ: INC DX PUSH BX MOV BX,DX CMP AL,SI+BX JBE UUU MOV AL,SI+BX MOV AH,DLUUU: POP BX LOOP JJJ MOV CL,S
18、I+BX MOV SI+BX,AL MOV DL,AH PUSH BX MOV BX,DX MOV SI+BX,CL POP BX INC BX POP CX LOOP III PUSH DS MOV AX,DATA MOV DS,AX MOV AH,09H MOV DX,OFFSET MESS3 INT 21H POP DS MOV CX,SORTNUMVVV: MOV AL,SI CALL DISP1 CRLF INC SI LOOP VVV MOV AX,4C00H INT 21HDISP1 PROC NEAR PUSH CX MOV BL,AL MOV DL,BL MOV CL,04
19、ROL DL,CL AND DL,0FH CALL DISPL MOV DL,BL AND DL,0FH CALL DISPL POP CX RETDISP1 ENDPDISPL PROC NEAR ADD DL,30H CMP DL,3AH JB DDD ADD DL,27HDDD: MOV AH,02H INT 21H RET DISPL ENDP GETNUM PROC NEAR PUSH CX XOR DX,DXGGG: MOV AH,01H INT 21H CMP AL,0DH JZ PPP CMP AL,20H JZ PPP SUB AL,30H JB KKK CMP AL,0AH
20、 JB GETS CMP AL,11H JB KKK SUB AL,07H CMP AL,0FH JBE GETS CMP AL,2AH JB KKK CMP AL,2FH JA KKK SUB AL,20HGETS: MOV CL,04 SHL DX,CL XOR AH,AH ADD DX,AX JMP GGGKKK: MOV AH,09H MOV DX,OFFSET ERROR INT 21HPPP: PUSH DX CRLF POP DX POP CX RETGETNUM ENDP CODE ENDSEND START實(shí)驗(yàn)要求讀懂程序,寫出程序注釋。寫出實(shí)驗(yàn)結(jié)果。修改程序,使其實(shí)現(xiàn)從大到
21、小的排序 實(shí)驗(yàn)四 接收年、月、日信息顯示的程序一、實(shí)驗(yàn)?zāi)康恼莆枕戔彿椒?,并且掌握年、月、日的輸入方法。二、?shí)驗(yàn)內(nèi)容先顯示“WHAT IS THE DATA (MM/DD/YY)?”并響鈴一次,然后接收鍵盤輸入的月/日/年信息,并顯示。三、程序框圖入口 段寄存器和堆棧初始化 顯示“WHAT IS THE DATA” 輸出響鈴字符 調(diào)GETNUM,接收鍵入的月值,日值及年值 調(diào)DISP顯示年值 輸出字符“” 調(diào)DISP顯示月值 輸出字符“”調(diào)DISP顯示日值 返回DOS四、程序清單CRLFMACROMOVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21HE
22、NDMDATASEGMENTMESSDB WHAT IS THE DATA(MM/DD/YY)?,0DH,0AH,$ERRORDBINPUT ERROR!,0DH,0AH,$DATAENDSSTACKSEGMENTSTADW32 DUP(?)TOPDW?STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVSP,TOPMOVAH,09HMOVDX,OFFSET MESSINT21HMOVAH,02HMOVDL,07HINT21HCALLGETNUMPUSHDXCA
23、LLGETNUMPUSHDXCALLGETNUMMOVAX,DXCALLDISPMOVAH,02HMOVDL,INT21HPOPDXPOPAXCALLDISPPMOVAH,02HMOVDL,INT21HMOVAX,DX CALLDISPP INT21HDISPPPROCNEARMOVBL,ALMOVDL,BLMOVCL,04MOVDL,CLANDDL,0FHCALLDISPLMOVDL,BL ANDDL,0FHCALLDISPLMOVDL,BLANDDL,0FHCALLDISPLRETDISPPENDPDISPLPROCNEARADDDL,30HCMPDL,3AHJBDDDADDDL,27HD
24、DD:MOVAH,02HINT21HRETDISPLENDPDISPPROCNEARPUSHBXPUSHCXPUSHDXPUSHAXMOVAL,AHCALLDISPPPOPAXCALLDISPPPOPDXPOPCXPOPBXRETDISPENDPGETNUMPROCNEARPUSHCXXORDX,DXGGG:MOVAH,01HINT 21HCMPAL,0DHJZPPPCMPAL,20HJZPPPSUB AL,30HJBKKKCMPAL,11HJBKKKSUB AL,07HCMP AL,0FHJBEGETSJBKKKCMPAL,2FHJAKKKSUB AL,20HGETS:MOVCL,04HSH
25、L DX,CLXORAH,AHADDDX,AXJMPGGGKKK:MOVAH,09HMOVDX,OFFSET ERRORINT 21HPPP:PUSHDXCRLFPOPDXPOPCXRETGETNUMENDPCODEENDSENDSTART程序CRLF MACRO ;宏定義MOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HENDM ;回車換行DATA SEGMENT ;數(shù)據(jù)段定義MESS DB WHAT IS THE DATE(MM/DD/YY),0DH,0AH,$ERROR DB 0DH,0AH,INPUT ERROR!,0DH,0A
26、H,$NIAN DW 0000HDATA ENDSSTACK SEGMENT ;堆棧段定義STA DW 32 DUP(?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX MOV SP,TOP MOV AH,09H MOV DX,OFFSET MESS INT 21H ;09功能顯示字符串MOV AH,02HMOV DL,07HINT 21H ;02功能調(diào)用,響鈴SSS : CALL GETNUMPUSH DX ;日CALL GETNUMPUSH DX ;月CALL GETNUMMOV NIAN,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【高一】【志存高遠(yuǎn)踏新程 腳踏實(shí)地創(chuàng)未來】開學(xué)第一課 -文字稿
- 分?jǐn)?shù)的初步認(rèn)識復(fù)習(xí)(教案)2024-2025學(xué)年數(shù)學(xué)三年級上冊 蘇教版
- 六年級下冊數(shù)學(xué)教案-總復(fù)習(xí)18 數(shù)形結(jié)合思想 青島版
- 三年級下冊數(shù)學(xué)教案-第七單元小數(shù)的初步認(rèn)識 青島版
- 第23課《孟子三章:得道多助失道寡助》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語文八年級上冊
- 2025年學(xué)習(xí)雷鋒精神六十二周年主題活動(dòng)方案 匯編3份
- Unit 4 Position Lesson 1 The Magic Show(教學(xué)設(shè)計(jì))-2024-2025學(xué)年北師大版(三起)英語五年級上冊
- 2025年河北省石家莊市單招職業(yè)傾向性測試題庫參考答案
- 2025年黑龍江冰雪體育職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫1套
- 2025年杭州職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 2025年車位買賣合同模板電子版
- AI創(chuàng)作指令合集系列之-教案寫作指令
- 關(guān)于投資協(xié)議書范本5篇
- 《反電信網(wǎng)絡(luò)詐騙法》知識考試題庫150題(含答案)
- 2025年上海市各區(qū)初三一模語文試卷(打包16套無答案)
- 2024 原發(fā)性肝癌診療指南 更新要點(diǎn)課件
- 《圓柱與圓錐-圓柱的表面積》(說課稿)-2023-2024學(xué)年六年級下冊數(shù)學(xué)人教版
- 【8語期末】蕪湖市2024-2025學(xué)年八年級上學(xué)期期末考試語文試題
- 常用臨床檢驗(yàn)結(jié)果解讀
- 2025年浙江省金華義烏市人社局招聘雇員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 老年癡呆患者護(hù)理課件
評論
0/150
提交評論