汇编语言信息检索程序设计报告.docx
- 文档编号:9190924
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:22
- 大小:88.83KB
汇编语言信息检索程序设计报告.docx
《汇编语言信息检索程序设计报告.docx》由会员分享,可在线阅读,更多相关《汇编语言信息检索程序设计报告.docx(22页珍藏版)》请在冰豆网上搜索。
汇编语言信息检索程序设计报告
********学院
课程设计报告
课程名称:
计算机组成原理与汇编语言
报告题目:
信息检索系统
学生姓名:
*********
所在学院:
信息科学与工程学院
专业班级:
计科1103
学号:
*************54**************
1143***4815566
指导教师:
***
2013年6月26日
课程设计任务书
报告题目
信息检索系统
完成时间
18周
学生姓名
***
***
***
专业班级
计科1103
指导教师
***
职称
讲师
总体设计要求和技术要点
设计一个信息检索系统,要求如下:
1.在屏幕上输入编号,要求显示信息,对应的编号,内容等。
2.要求每个信息以不同的颜色显示。
3.每个信息字数不能少于50个单词。
工作内容及时间进度安排
第15周:
对课程设计程序进行需求分析
第16周:
程序设计
第17周:
反复调试,测试,完成课程设计报告
第18周:
验收答辩
课程设计成果
1.与设计内容对应的软件程序
2.课程设计总结报告
摘要
在计算机领域,去实现一个信息检索系统,可以说有数不清的方式。
几乎各种编程语言均可满足要求,在实际中去用汇编语言实现这样一个检索系统是不现实的,因为有很多更好的方式,但是用汇编语言去实现这样一个功能却是对自己学习程度一个很好的检测。
信息检索程序,能较好的实现信息的检索和查询。
程序使用汇编程序设计的循环和分支基本结构以及子程序的调用共同实现信息的查找显示效果。
能够通过对接受编号进行线性计算找到对应表格中将要显示信息字符串的起始地址,然后调用字符输出子函数执行,选择相应数据段中的字符显示在屏幕的指定位置,以达到信息检索的目的。
每输入一个编号,就把该编号对应的程序指定长度的信息输出显示,即通过直接识别接收信息编号间接实现对信息的查询和检索。
把所有要查询的信息编号统存储于一个有序的表格中,每个表项链接着每个信息编号的相关信息。
每个子信息间具有从属性的检索作用,实现信息的检索操作。
信息检索就是为了满足用户的查询需求,通常的信息检索系统拥有一个很庞大的数据库区存放这些查询信息,而汇编语言就把这些信息都放在了数据段中,然后其他的查询操作全部放在代码段中,在代码段中设置好不同的数据信息显示对于不同的按键,即可通过按键查询到放在数据段中的信息,实现信息检索基本的功能。
通过对编号的识别和处理来实现信息的输出显示,程序开始设置一个起始地址,标识首个信息内容的起始地址。
每当输入一个信息编号则可以得到编号对应具体信息的起始偏移地址,然后调用字符串输出函数将该信息输出。
信息检索的过程呈现着树状的查询形式。
关键词:
编号,检索,显示,查找
一、课题分析………………………………………………………………………2
二、需求设计………………………………………………………………………3
1、功能描述………………………………………………………………………3
1.1本设计的程序大致结构如下……………………………………………3
1.2程序中用到的dos及bios中断调用如下表…………………………3
三、设计方案………………………………………………………………………5
1、主流程图…………………………………………………………………5
2、子程序模块设计…………………………………………………………6
2.1PUT宏………………………………………………………………6
2.2SHOW子程序………………………………………………………6
3、代码清单…………………………………………………………………8
4、程序调试结果及分析……………………………………………………12
4.1主界面………………………………………………………………12
4.2信息1………………………………………………………………13
4.3输入错误信息界面…………………………………………………14
4.4退出界面………………………………………………………………14
四、结论与心得……………………………………………………………………15
五、参与文献………………………………………………………………………16
一、课题分析
1、该题目为信息检索程序。
2、在计算机领域,去实现一个信息检索系统,可以说有数不清的方式。
几乎各种编程语言均可满足要求,在实际中去用汇编语言实现这样一个检索系统是不现实的,因为有很多更好的方式,但是用汇编语言去实现这样一个功能却是对自己学习程度一个很好的检测。
信息检索程序,能较好的实现信息的检索和查询。
程序使用汇编程序设计的循环和分支基本结构以及子程序的调用共同实现信息的查找显示效果。
能够通过对接受编号进行线性计算找到对应表格中将要显示信息字符串的起始地址,然后调用字符输出子函数执行,选择相应数据段中的字符显示在屏幕的指定位置,以达到信息检索的目的。
每输入一个编号,就把该编号对应的程序指定长度的信息输出显示,即通过直接识别接收信息编号间接实现对信息的查询和检索。
把所有要查询的信息编号统存储于一个有序的表格中,每个表项链接着每个信息编号的相关信息。
每个子信息间具有从属性的检索作用,实现信息的检索操作。
信息检索就是为了满足用户的查询需求,通常的信息检索系统拥有一个很庞大的数据库区存放这些查询信息,而汇编语言就把这些信息都放在了数据段中,然后其他的查询操作全部放在代码段中,在代码段中设置好不同的数据信息显示对于不同的按键,即可通过按键查询到放在数据段中的信息,实现信息检索基本的功能。
通过对编号的识别和处理来实现信息的输出显示,程序开始设置一个起始地址,标识首个信息内容的起始地址。
每当输入一个信息编号则可以得到编号对应具体信息的起始偏移地址,然后调用字符串输出函数将该信息输出。
信息检索的过程呈现着树状的查询形式。
3、由课程设计要求,完成一个歌曲检索程序。
设数据区已经编好9首歌曲(英文歌曲,歌词不少于50词),编号 1-9,它们的段地址和偏移地址存放在数据段的跳转表SINGLIST中。
从键盘接收1-9之间的一个编号,然后再屏幕上显示出相应编号的歌曲名称及歌词。
请给出清楚的提示语句,如:
Pleaseinputanumber(1~9):
。
屏幕显示数据为:
编号歌曲名歌词。
(1)输入的形式和输入值的范围:
输入的形式有中文的、数字的、和字符的输入的,本设计需要输入的是数字,超过范围会显示错误信息。
用户根据提示信息做相应的操作,按小写的字符‘q’为退出程序。
(2)输出的形式:
输出的数据就是在数据段中的定义9个数据变量,并且都是以字符串形式输出。
(3)程序所要到达到的功能:
完成一个歌曲检索,请给出清楚的提示语句,如:
Pleaseinputanumber(1~9):
。
屏幕显示数据为:
编号歌曲名歌词。
(4)从键盘接收1-9之间的一个编号,然后再屏幕上显示出相应编号的歌曲名称及歌词。
请给出提示语句,如:
Pleaseinputanumber(1~9):
。
屏幕显示数据为:
编号歌曲名歌词,并且9首歌曲(英文歌曲,歌词不少于50词)之间显示不同颜色的字符。
按小写的字符‘q’为退出程序。
(5)测试数据:
(在程序中已给出)。
二、需求设计
1、功能描述
1.1本设计的程序大致结构如下
数据段
数据段主要是对一些数据变量进行定义和赋值,包括MESS,主界面字符串;MAXS,输入错误显示信息;MSG1~MSG9,9首歌曲(英文歌曲,歌词不少于50词),编号 01-09的信息;MSSG,退出界面信息。
堆栈段
代码段包括了对数据的显示、对输入一个字符的操作、对多重分支的一些操作。
设计程序执行过程分析
汇编语言程序格式如下:
数据段:
Datasegment
数据变量定义
Dataends
堆栈段:
Stacksegment
Stackends
代码段:
Codesegment
Codeends
1.2程序中用到的dos及bios中断调用如下表
显示字符串:
入口参数:
DX寄存器中存放待显示字符串的首地址
调用方式:
将待显示字符串的首地址存入DX
MOVAH,09H
INT21H
返回DOS
入口参数:
无
调用方式:
MOVAH,4CH
INT21H
出口参数:
无
(4)在屏幕指定位置显示字符串
入口参数:
AH=0AH,BH=页号,DH、DL中存放起始行号、列号,CX中存放字符串的长度,ES:
BP=字符串的首地址。
AL设定显示方式,其值可选择0、1、2、3.(如果为0或1,需要指定显示字符串的属性,如果为1或2,需要指出每个字符的属性。
)
(5)键盘输入的字符:
入口参数:
无
调用方式:
MOVAH,01H
INT21H
出口参数:
AL中存放输入字符的ASCII码。
三、设计方案
1、主流程图
系统的主要功能如图1-1所示,它是通过几个判断来实现相应的功能来完成本系统。
2、子程序模块设计
2.1PUT宏
PUTMACROX,Y
LOCALNEXT
MOVAL,03H
MOVAH,00H
INT10H
MOVDX,SEGX
MOVES,DX
MOVBP,OFFSETX
MOVAL,'$'
MOVSI,-1
NEXT:
INCSI
CMPAL,X[SI]
JNZNEXT
MOVCX,SI
MOVDX,0
MOVBL,Y
MOVAL,1
MOVAH,13H
INT10H
ENDM
PUT宏通在屏幕指定位置显示字符串。
2.2SHOW子程序
SHOWPROCNEAR
MASTER:
MOVAH,01H;输入一个字符
INT21H
CMPAL,'1';多重分支
JZPRINT1
CMPAL,'2';为‘2’则跳转PRINT2
JZPRINT2
CMPAL,'3';为‘3’则跳转PRINT3
JZPRINT3
CMPAL,'4';为‘4’则跳转PRINT4
JZPRINT4
CMPAL,'5';为‘5’则跳转PRINT5
JZPRINT5
CMPAL,'6';为‘6’则跳转PRINT6
JZPRINT6
CMPAL,'7';为‘7’则跳转PRINT7
JZPRINT7
CMPAL,'8';为‘8’则跳转PRINT8
JZPRINT8
CMPAL,'9';为‘9’则跳转PRINT9
JZPRINT9
CMPAL,'q';为‘q’则退出
JZEXIT
CMPAL,'5';大于5则跳转到MAX
JAMAX
MAX:
PUTMAXS,0BH;显示输入错误信息
JMPMASTER;跳转到MASTER
PRINT1:
PUTMSG1,0AH;显示歌曲1的信息
JMPMASTER;跳转到MASTER
PRINT2:
PUTMSG2,0BH;显示歌曲2的信息
JMPMASTER;跳转到MASTER
PRINT3:
PUTMSG3,0EH;显示歌曲3的信息
JMPMASTER;跳转到MASTER
PRINT4:
PUTMSG4,0CH;显示歌曲4的信息
JMPMASTER;跳转到MASTER
PRINT5:
PUTMSG5,0DH;显示歌曲5的信息
JMPMASTER;跳转到MASTER
PRINT6:
PUTMSG6,0DH;显示歌曲6的信息
JMPMASTER;跳转到MASTER
PRINT7:
PUTMSG7,0DH;显示歌曲7的信息
JMPMASTER;跳转到MASTER
PRINT8:
PUTMSG8,0DH;显示歌曲8的信息
JMPMASTER;跳转到MASTER
PRINT9:
PUTMSG9,0DH;显示歌曲9的信息
JMPMASTER;跳转到MASTER
EXIT:
;退出
PUTMSSG,0EH
RET
SHOWENDP
3、代码清单
PUTMACROX,Y
LOCALNEXT
MOVAL,03H
MOVAH,00H
INT10H
MOVDX,SEGX
MOVES,DX
MOVBP,OFFSETX
MOVAL,'$'
MOVSI,-1
NEXT:
INCSI
CMPAL,X[SI]
JNZNEXT
MOVCX,SI
MOVDX,0
MOVBL,Y
MOVAL,1
MOVAH,13H
INT10H
ENDM
DATASSEGMENT
;此处输入数据段代码
MESSDB'************************************',13,10,13,10,
'*welcometoentermyinformationindexsystem*',13,10,13,10,
'*inputanumber(1~9),showthesong;clickq,exitsyst*',13,10,13,10,
'************************************',13,10,13,10,'Pleaseinputanumber(1~9):
$'
MAXSDB'Inputerrornumber!
pleaseinputagain:
',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$';输入错误显示信息
MSG1DB'01ByeBye-MariahCarey',0DH,0AH,0DH,0AH,'Thisisformypeoples',0DH,0AH,'Whojustlostsomebody',0DH,0AH,'Yourbestfriend,yourbaby',0DH,0AH,'Yourmanoryourlady',0DH,0AH,'Putyourhandwayuphigh',0DH,0AH,'Wewillneversaybye',0DH,0AH,'No,no,no',0DH,0AH,'Mamas,daddys,sisters,brothers',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSG2DB'02takemetoyourheart-Michaellearnstorock',0DH,0AH,0DH,0AH,'hidingfromtherainandsnow',0DH,0AH,'tryingtoforgetbutiwontnotletgo',0DH,0AH,'lookingatacrowdedstreet',0DH,0AH,'listeningtomyownheartbeat',0DH,0AH,'somanypeople',0DH,0AH,'Wewillneversaybye',0DH,0AH,'allaroundtheworld',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSG3DB'03YesterdayOnceMore-Carpenters',0DH,0AH,0DH,0AH,'WhenIwasyoung',0DH,0AH,'Iwouldlistentotheradio',0DH,0AH,'Waitingformyfavoritesongs',0DH,0AH,'WhentheyplayedIwouldsingalong',0DH,0AH,'Itmademesmile.',0DH,0AH,'Thoseweresuchhappytimes',0DH,0AH,'Andnotsolongago',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSG4DB'04Drenched-WantingQu',0DH,0AH,0DH,0AH,'Whenminutesbecomehours',0DH,0AH,'Whendaysbecomeyears',0DH,0AH,'AndIdonotknowwhereyouare',0DH,0AH,'Colorseemssodullwithoutyou',0DH,0AH,'Havewelostourminds?
',0DH,0AH,'Whathavewedone?
',0DH,0AH,'Butitalldoesnotseemtomatter',0DH,0AH,'Whendaysbecomeyears',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSG5DB'05theDayYouWentaway-M2m',0DH,0AH,0DH,0AH,'WellIwondercoulditbe',0DH,0AH,'WhenIwasdreamingaboutyoubaby',0DH,0AH,'Youweredreamingofme',0DH,0AH,'Callmecrazy',0DH,0AH,'Callmeblind',0DH,0AH,'Tostillbesufferingisstupidafterallofthistime',0DH,0AH,'DidIlosemylovetosomeonebetter',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSG6DB'06Sorry-YanXiChen',0DH,0AH,0DH,0AH,'IsaidIamsorry',0DH,0AH,0DH,0AH,'Nobodyseemstobelieveme',0DH,0AH,0DH,0AH,'IsaidIamsorry',0DH,0AH,0DH,0AH,'Doesitmeansomethingtoyou',0DH,0AH,0DH,0AH,'thinkbackthosedays',0DH,0AH,0DH,0AH,'Youwerekindandsweet',0DH,0AH,0DH,0AH,'thatiswhyIamsorry',0DH,0AH,0DH,0AH,'IreallyIamsorry',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSG7DB'07OneDirection-WhatMakes',0DH,0AH,0DH,0AH,'Youareinsecure',0DH,0AH,0DH,0AH,'Dontknowwhatfor',0DH,0AH,0DH,0AH,'Youareturningheads',0DH,0AH,0DH,0AH,'Whenyouwalkthroughthedo-o-or',0DH,0AH,0DH,0AH,'Dontneedmakeup',0DH,0AH,0DH,0AH,'Tocoverup',0DH,0AH,0DH,0AH,'Beingthewaythatyouareisen-o-ough',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSG8DB'08GangstaBop-Akon',0DH,0AH,0DH,0AH,'Letsgetthisbitchpoppins',0DH,0AH,0DH,0AH,'Upfront!
',0DH,0AH,0DH,0AH,'Gogangsta',0DH,0AH,0DH,0AH,'Keepboppins',0DH,0AH,0DH,0AH,'Likebakcwhenaniggawasclockin',0DH,0AH,0DH,0AH,'Seenowadaysseemslikeeverybodywannabekillas',0DH,0AH,0DH,0AH,'GorillazgettinhighofftheirweedandIiquor',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSG9DB'09RightNow-Akon',0DH,0AH,0DH,0AH,'Itsbeensolong',0DH,0AH,0DH,0AH,'Thatihaventseenyourface',0DH,0AH,0DH,0AH,'Trytobestrong',0DH,0AH,0DH,0AH,'ButthestressIhaveiswashingwith',0DH,0AH,0DH,0AH,'wontbelongbeforeIgetyoubymyside',0DH,0AH,0DH,0AH,'Andjustholdyouteaseyousqueezeyoutill',0DH,0AH,0DH,0AH,'Iwasfillallmymind',0DH,0AH,0DH,0AH,'Pleaseinputanumber(1~9)$'
MSSGDB'ThankYou!
Bye-Bye$'
DATASENDS
STACKSSEGMENT
;此处输入堆栈段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS
START:
MOVAX,DATAS
MOVDS,AX
;此处输入代码段代码
PUTMESS,0CH;输出主界面字符串
CALLSHOW
MOVAH,4CH
INT21H
SHOWPROCNEAR
MASTER:
MOVAH,01H;输入一个字符
INT21H
CMPAL,'1';多重分支
JZPRINT1
CMPAL,'2';为‘2’则跳转PRINT2
JZPRINT2
CMPAL,'3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 信息 检索 程序设计 报告