微机原理字符匹配程序实验报告
《微机原理字符匹配程序实验报告》由会员分享,可在线阅读,更多相关《微机原理字符匹配程序实验报告(5页珍藏版)》请在装配图网上搜索。
1、太原理工大学现代科技学院 课程 实验报告 专业班级 学 号 姓 名 指导教师 一、 实验目的掌握提示信息的使用方法及键盘输入信息的用法。二、 实验内容1、编写程序,实现两个字符串比较。如果两个字符串中有一个字符相同,显示“MATCH”,否则,显示“NO MATCH”。2、程序框图段寄存器及堆栈初始化 显示“请输入字符串1” 使用INT 21H的0A号子功能,接收键入的字符串显示“请输入字符串2”指针SI指向串1的首字符SI指向的字符串和串2中所有字符作比较 Y 相等? N SI+1,指向串1中下一字符 N 串1中的字符已取完? Y显示“NO MATCH” 显示“MATCH” 返回DOS三、所用
2、仪器和软件 仪器:电脑一台 软件:Masm for Windows 集成实验环境 2009.7四、实验方法、步骤1、编写程序代码 2、运行程序,修改错误代码3、再次运行代码直至运行出正确结果五、源码程序编制及分析注释CRLF MACRO 宏定义 MOV AH,02HAH=02H MOV DL,0DHDL=0DH INT 21H 系统功能调用,输出回车字符 MOV AH,02HAH=02H MOV DL,0AH DL=0A INT 21H 系统功能调用,输出换行符ENDM 宏定义结束DATA SEGMENT定义数据段MESS1 DB MATCH,0DH,0AH,$定义8个数据储存单元MESS2
3、DB NO MATCH,0DH,0AH,$定义11个数据储存单元MESS3 DB INPUT STRING1:,0DH,0AH,$ 定义17个数据储存单元MESS4 DB INPUT STRING2:,0DH,0AH,$定义17个数据储存单元MAXLEN1 DB 81定义最大长度为81个字节ACTLEN1 DB ?STRING1 DB 81 DUP (?)定义STRING1长度为81MAXLEN2 DB 81定义最大长度为81ACTLEN2 DB ?STRING2 DB 81 DUP (?)定义STRING2长度为81DATA ENDS数据段结束STACK SEGMENT STACK定义堆栈段
4、STA DB 50 DUP (?)定义50个数据储存单元TOP EQU LENGTH STA给TOP赋值50STACK ENDS 堆栈段结束CODE SEGMENT定义代码段ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK定义段基址START: MOV AX,DATA MOV DS,AX把DATA的首地址赋给DS MOV ES,AX把DATA的首地址赋给ES MOV AX,STACK MOV SS,AX把STACK的首地址赋给SS MOV SP,TOP给SP赋值50 MOV AH,09HAH=09H MOV DX,OFFSET MESS3把MESS3的偏移地址赋给
5、DX INT 21H系统功能调用 MOV AH,0AH AH=0AH MOV DX,OFFSET MAXLEN1 把MAXLEN1的偏移地址赋给DX INT 21H系统功能调用 CRLF MOV AH,09H AH=09H MOV DX,OFFSET MESS4 把MESS4的偏移地址赋给DX INT 21H系统功能调用 MOV AH,0AHAH=0AH MOV DX,OFFSET MAXLEN2把MAXLEN2的偏移地址赋给DX INT 21H系统功能调用 CRLF CLD MOV SI,OFFSET STRING1把STRING1的偏移地址赋给SI MOV CL,SI-1把SI-1内的内容
6、赋给CL MOV CH,00H CH=00HKKK: MOV DI,OFFSET STRING2把STRING2的偏移地址赋给DI PUSH CX 将CX压入堆栈 MOV CL,DI-1将DI-1内的的内容赋给CL MOV CH,00HCH=00H MOV AL,SI将SI内的内容赋给AL MOV DX,DI将DI赋给DX REPNZ SCASB 寻找第一个相同字符 JZ GGG ZF=0执行GGG否则顺序执行 INC SISI自加1 POP CX弹出CX LOOP KKK跳转到KKK循环 MOV AH,09H MOV DX,OFFSET MESS2 INT 21H系统功能调用 JMP PPP跳转到PPPGGG: MOV AH,09H MOV DX,OFFSET MESS1 INT 21H输出MESS1PPP: MOV AX,4C00H INT 21H带返回码结束CODE ENDS代码段结束END START整个程序结束六、实验结果和分析实验结果如下:(1)两个字符串中没有字符相同:(2)两个字符串中有两个字符相同:
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。