资源描述:
《课程设计综合实验报告书(科院模版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、科技学院课程设计(综合实验)报告(2010--2011年度第1学期)名称:汇编语言程序设计课程设计题目:查找匹配字符串院系:信息工程系班级:学号:学生姓名:指导教师:设计周数:一周成绩:日期:2010年12月10日一、课程设计的目的与要求实验一比较字符串sample熟悉DEBUG有关命令的使用方法;利用DEBUG掌握有关指令的功能;利用DEBUG运行简单的程序段。进入和退出DEBUG程序;学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命令、N命令、W命令等,也应试一下;利用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作
2、指令、串操作指令的功能。编写一个程序:比较两个字符串string1和string2所含的字符数是否相同。若相同则显示‘math’,否则,显示‘nomath’;要求编写程序,并汇编,连接,运行,然后使用Debug调试该程序。实验二查找匹配字符串程序接受用户键入的一个关键字以及一个句子。如果句子中不含关键字则显示‘nomath’;如果句子中包含关键字则显示‘math’,且把该字在句子中的位置用十六进制数显示出来。实验三分类统计字符的个数程序接收用户键入的一行字符(用回车符结束),并按字母,数字及其他字符分类计数,然后将结果存入以letter,digit和other为名的存储单元
3、中。实验四查找电话号码4.1要求程序建立一个可存50项的电话号码表,每项包括人名及电话号码两部分;4.2程序可接受输入人名及相应的电话号码,并把他们加入到电话号码表中;4.3凡有新的输入后,程序应按人名对电话号码表重新排序;4.4程序可接受需要查找电话号码的人名,并从电话号码表中查出其电话号码,再在屏幕上显示出来。实验五屏幕窗口程序在屏幕上开出三个窗口,它们的行列坐标如下图所示。(5,10)(15,30)(5,50)(15,70)(18,15)(22,65)光标首先定位在右窗口最下面一行的行首(15,50),如果从键盘输入字符,则显示在右窗口,同时也显示在下窗口的最下面一行
4、。若需要将字符显示于左窗口,则先按下左键,接着再从键盘输入字符,字符就会从左窗口的最下行开始显示,同时下窗口也显示左窗口的内容。当一行字符显示满后,窗口自动向上卷动一行,输入字符继续显示于最低一行,窗口最高一行向上卷动后消失。实验六扩充键盘处理功能在完成键盘处理基本功能的基础上,增加left_shift和right_shift键的功能。要求实现左右SHIFT任何一个键处于按下状态时输入字符为键盘的上档字符或大写字母,否则输出数字或小写字母。二、设计(实验)正文实验一比较字符串sample(1)设计思路将两个字符串通过lea指令放入si和di中,用指令repz取字符串的首地址
5、开始比较,REPZ表示在CX不为0时,且ZF=1重复执行后面的串处理指令CMPS。如果不同选择NOTMATCH输出,否则输出MATCH。REPZCMPSBJZMATCHJMPNOTMATCH(2)程序框图输入比较字符串将字符串分别放入si和di比较[si]和[di]内的字符串是否相同输出MATCH结束输出NOTMATCH(3)程序实现LEASI,STRING1LEADI,STRING2/*分别放入字符串于SI和DI*/CLD/*规定字符串于SI和DI的比较方向*/MOVCX,25/*设置字符串比较次数*/REPZCMPSB/*循环比较字符串*/JZMATCH/*字符串相同跳
6、转*/LEADX,MESS2JMPSHORTDISP/*字符串不相同无条件跳转*/MATCH:LEADX,MESS1DISP:MOVAH,09/*输出结果*/INT21HMOVAH,4CHINT21H(4)实验结果(实验的运行结果)实验二查找匹配字符串(1)设计思路(包括程序的原理,算法及数据结构等)(2)程序框图(画出程序主要部分流程图)NYYY输入关键字结束关键字长度=0输入句子句子长度<关键字长度Y保存关键字长度到cx,cx入栈,保存总循环次数(句子长度-关键字长度+1)到al,将句子的首地址放进bx(作为基址寄存器)si=di=0(变址寄存器)开始比较[bx+di]
7、与[si]是否相等si+1,di+1,cx-1(同时指向下一个字符)YNbx+1(句子指向下一个字符)cx出栈,再入栈,si,di清零,al-1cx是否为0N匹配完成,调用子程序输出al是否为0不匹配,输出(3)程序实现leadx,mess1movah,09int21h;输出Enterkeywordleadx,stoknin1movah,0ah;用21号中段的0ah号功能获取关键字int21hcmpact1,0jeexit;如果为空直接退出程序a10:输入Sentence并判断leadx,changemovah,0