資源描述:
《微機原理課程設計報告》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、課程設計報告課程名稱微機原理班級名稱作者姓名作者學號指導教師提交日期2014年1月16日??設計1、字符串匹配設計1.實驗要求:為掌握提示信息的設置方法及讀取鍵入信息的方法。編寫程序實現(xiàn)兩個字符串的比較。如相同,則顯示“MATCH”,否則,顯示“NOMATCH”。2.程序清單:DATASEGMENTDATA1DB40DB?DB40DUP(?)DATA2DB40DB?DB40DUP(?)DISPP1DB'inputthefirstline:$',0DH,0AH,'$'DISPP2DB'inputthesecondline:$',0DH,0AH,'$'DISPP3DB0DH,0A
2、H,'$'DISPP4DB'MATCH!$',0DH,0AH,'$'DISPP5DB'NOMATCH!$',0DH,0AH,'$'DATAENDSCASESEGMENTASSUMECS:CASE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,DISPP1MOVAH,9INT21HMOVDX,OFFSETDATA1MOVAH,0AHINT21HCALLENTERLEADX,DISPP2MOVAH,9INT21HMOVDX,OFFSETDATA2MOVAH,0AHINT21HCALLENTERMOVAL,DATA1+1MOVAH,0MOVBL,DATA
3、2+1MOVBH,0CMPAL,BLJNZL2MOVCL,BLMOVSI,OFFSETDATA1+2MOVDI,OFFSETDATA2+2L1:MOVDX,DS:[SI]CMPDX,DS:[DI]JNEL2INCDIINCSILOOPL1MOVDX,1JMPL3L2:MOVDX,0L3:CMPDX,0JZL4MOVDX,OFFSETDISPP4MOVAH,9INT21HJMPL5L4:MOVDX,OFFSETDISPP5MOVAH,9INT21HL5:MOVAH,4CHINT21HENTERPROCLEADX,DISPP3MOVAH,9INT21HRETENTERENDPCA
4、SEENDSENDSTART2.運行結果顯示:3.結果分析輸入第一個字符串為HEHE,第二個字符串為JIJI,顯示它們不匹配;輸入第一個字符串為1233,第二個字符串為1233,匹配!設計2、字符和數(shù)據(jù)的顯示設計1.設計要求:為掌握字符和數(shù)據(jù)的顯示方法。編寫程序,先顯示信息:INPUTSTRING,THEENDFLAGIS$,再接收字符。如為0-9,則計數(shù)器加1,并顯示數(shù)據(jù);如為非數(shù)字,則直接顯示,但不計數(shù)。2.程序清單:DATASEGMENTDATA1DB40DUP(?)DISPP1DB'inputstring,theendflagisCR,quitwithctrl-c',
5、0DH,0AH,'$'DISPP2DB0DH,0AH,'$'DISPP3DB'theinputstringis:','$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,00HMOVCL,0MOVBX,OFFSETDATA1LEADX,DISPP1MOVAH,9INT21HL1:MOVAH,1INT21HCMPAL,03HJZL4CMPAL,0DHJZL3MOV[BX+SI],ALINCSICMPAL,30HJNBkkJMPL1kk:CMPAL,39HJNAL2JMPL1L2:INCC
6、LJMPL1L3:LEADX,DISPP2MOVAH,9INT21HLEADX,DISPP3MOVAH,9INT21HADDCL,30HMOV[BX+SI+1],CLMOVAL,0AHMOV[BX+SI+2],ALMOVAL,'$'MOV[BX+SI+3],ALMOVDX,BXMOVAH,9INT21HJMPL4L4:MOVAH,4CHINT21HCODEENDSENDSTART3.運行結果顯示:1.結果分析輸入第一個字符串中沒有數(shù)字,因此顯示為0;第二次輸入有1234共4個數(shù)字,因此顯示數(shù)字為4設計3、響鈴設計1.實驗要求:為掌握響鈴的方法使用。編寫程序,從鍵盤接收輸入字符
7、,如是數(shù)字N,則響鈴N次;如不是數(shù)字,則不響。1.參考流程:入口段寄存器及堆棧段初始化INT21H的1號子功能,讀入數(shù)字BP為0?對應次數(shù)送入CX發(fā)出響鈴,輸出字符延時返回DOS是‘0’~‘9’?次數(shù)BP減1是Ctrl—C?YYNNNY2.程序清單DATASEGMENTDATA1DB'inputnumber1-9,quitwithctrl-c',0DH,0AH,'$'DISPP1DB0DH,0AH,'$'DISPP2DB'wrongnumber,pleaseinputagainorquitwithctr