资源描述:
《微机原理字符匹配程序实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、昆明理工大学津桥学院学生实验报告(2010—2011学年第二学期)课程名称:微型计算机原理与接口技术开课实验室:205教室2011年5月10日年级、专业、班电信092学号200916022217姓名邵苗苗成绩实验项目名称字符匹配程序指导教师许江淳教师评语教师签名:年月日一、实验目的掌握提示信息的使用方法及键盘输入信息的用法。二、实验内容1、编写程序,实现两个字符串比较。如果两个字符串中有一个字符相同,显示“MATCH”,否则,显示“NOMATCH”。-5-2、程序框图段寄存器及堆栈初始化显示“请输入字符串1”使用INT21H的0A号子功能,
2、接收键入的字符串显示“请输入字符串2”指针SI指向串1的首字符SI指向的字符串和串2中所有字符作比较Y相等?NSI+1,指向串1中下一字符N串1中的字符已取完?Y显示“NOMATCH”显示“MATCH”返回DOS三、所用仪器和软件仪器:电脑一台软件:MasmforWindows集成实验环境2009.7-5-四、实验方法、步骤1、编写程序代码2、运行程序,修改错误代码3、再次运行代码直至运行出正确结果五、源码程序编制及分析注释CRLFMACRO宏定义MOVAH,02HAH=02HMOVDL,0DHDL=0DHINT21H系统功能调用,输出回车
3、字符MOVAH,02HAH=02HMOVDL,0AHDL=0AINT21H系统功能调用,输出换行符ENDM宏定义结束DATASEGMENT定义数据段MESS1DB'MATCH',0DH,0AH,'$'定义8个数据储存单元MESS2DB'NOMATCH',0DH,0AH,'$'定义11个数据储存单元MESS3DB'INPUTSTRING1:',0DH,0AH,'$'定义17个数据储存单元MESS4DB'INPUTSTRING2:',0DH,0AH,'$'定义17个数据储存单元MAXLEN1DB81定义最大长度为81个字节ACTLEN1DB?S
4、TRING1DB81DUP(?)定义STRING1长度为81MAXLEN2DB81定义最大长度为81ACTLEN2DB?STRING2DB81DUP(?)定义STRING2长度为81DATAENDS数据段结束STACKSEGMENTSTACK定义堆栈段STADB50DUP(?)定义50个数据储存单元TOPEQULENGTHSTA给TOP赋值50STACKENDS堆栈段结束CODESEGMENT定义代码段ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACK定义段基址START:MOVAX,DATAMOVDS,AX把DA
5、TA的首地址赋给DSMOVES,AX把DATA的首地址赋给ESMOVAX,STACKMOVSS,AX把STACK的首地址赋给SSMOVSP,TOP给SP赋值50MOVAH,09HAH=09HMOVDX,OFFSETMESS3把MESS3的偏移地址赋给DXINT21H系统功能调用MOVAH,0AHAH=0AHMOVDX,OFFSETMAXLEN1把MAXLEN1的偏移地址赋给DXINT21H系统功能调用-5-CRLFMOVAH,09HAH=09HMOVDX,OFFSETMESS4把MESS4的偏移地址赋给DXINT21H系统功能调用MOVAH
6、,0AHAH=0AHMOVDX,OFFSETMAXLEN2把MAXLEN2的偏移地址赋给DXINT21H系统功能调用CRLFCLDMOVSI,OFFSETSTRING1把STRING1的偏移地址赋给SIMOVCL,[SI-1]把SI-1内的内容赋给CLMOVCH,00HCH=00HKKK:MOVDI,OFFSETSTRING2把STRING2的偏移地址赋给DIPUSHCX将CX压入堆栈MOVCL,[DI-1]将DI-1内的的内容赋给CLMOVCH,00HCH=00HMOVAL,[SI]将SI内的内容赋给ALMOVDX,DI将DI赋给DXRE
7、PNZSCASB寻找第一个相同字符JZGGGZF=0执行GGG否则顺序执行INCSISI自加1POPCX弹出CXLOOPKKK跳转到KKK循环MOVAH,09HMOVDX,OFFSETMESS2INT21H系统功能调用JMPPPP跳转到PPPGGG:MOVAH,09HMOVDX,OFFSETMESS1INT21H输出MESS1PPP:MOVAX,4C00HINT21H带返回码结束CODEENDS代码段结束ENDSTART整个程序结束六、实验结果、分析和结论和体会实验结果如下:-5-(1)两个字符串中没有字符相同:(2)两个字符串中有两个字符
8、相同:实验体会:《微机原理与接口技术》这门课程我初学时,感觉摸不着头脑。面对着众多的术语、概念及原理性的问题不知道该如何下手。但在学习这门课的过程中我逐渐了解到,要学好这门课程首