汇编信息检索程序报告

  • 格式:doc
  • 大小:74.00 KB
  • 文档页数:15

《汇编语言程序设计》大作业报告 汇编语言程序设计 综合实验报告

项目名称:信息检索 程序 《汇编语言程序设计》大作业报告

1 目录

一、简介…………………………………………………………………2 二、小组成员及具体分工………………………………………………3 三、需求分析以及设计…………………………………………………4 四、代码及分析…………………………………………………………5 五、总结………………………………………………………14 《汇编语言程序设计》大作业报告

2 信息检索程序设计 一、简介 这是一个信息检索程序,能实现基本的信息查看及查找功能,其中包括图书信息的查找、插入、修改、删除功能。 图书信息检索程序,是指为满足信息用户的信息需求而建立的、存贮经过加工了的信息集合,拥有特定的存贮、检索与传送的技术装备,提供一定存贮与检索方法及检索服务功能的一种相对独立的服务实体(包括人和检索工作单位),统称为信息检索系统,其主要目的是为人们提供信息服务,其作用就是对数据系统进行有效管理和利用。 通常的信息检索的信息都放在庞大的数据库当中,比较方便的进行查询、插入、删除信息,但汇编语言将一些信息存放在数据段中,其他查询操作全部放在代码段,利用输入的不同的符号,通过相应符号所对应的偏移地址,来查找数据段中的信息,从而实现了数据的查询。 《汇编语言程序设计》大作业报告

3 二、小组成员及具体分工 班级:信1104班 小组成员:石素丽 王 钦 具体分工如下 1、资料查询:石素丽 2、需求分析:石素丽 王 钦 3、编写及调试:石素丽 王 钦 4、实验报告:王 钦

三、需求分析与设计 在这个信息检索程序中,主要是能够实现图书的查找功能。 1、有三组提示信息:输入a 选择图书查询功能,输入b 选择插入信息功能,输入c 选择修改已有的信息的功能,输入d 选择删除已有的信息的功能。 2、然后跳转到相应功能,进行逐步操作。 3、定义一个读函数,用于读取TXT文件中相关的信息,以及显示函数显示相关信息等。 4、为了显示美观,便于观看,我们还改变了显示屏幕和字符的颜色。

总的设计框图为:

循环操作 开始

输入字符

图书查询 删除信息 显示 插入信息 修改信息 《汇编语言程序设计》大作业报告

4 这个信息检索系统主要实现的是信息查询功能。 在信息查询功能中,先定义几组已存在的字符串,即图书信息,其具体简介存放于相应文件夹下的TXT文件中。例如编号01的图书,图书的内容简介存为01.txt,图书存放位置存为001.txt。在程序运行过程中,需要输入信息存入的txt文件的路径以及名称。 在读入TXT文件时应在DOS环境下输入文件相应的存储地址和名称,使其读取并显示。

信息查询流程图如下:

Y N N

Y

Y

开始 显示提示信息 输入一个字符 判’q’ 显示错误

输入查询编号 内容简介 存放位置

输入字符

退出 判编号 《汇编语言程序设计》大作业报告

5 四、代码及分析 程序的源代码以及相关注释如下: ;******************************************************************** ; ************** 名称:信息检索程序设计 *************** ;******************************************************************** ;******************************************************************** data segment ;define data segment mess db '--------------------------------------------------------',13,10 db 'a. The ordinary world',13,10 ;平凡的世界 db 'b. A Dream in Red Mansions',13,10 ;红楼梦 db 'c. Story of a Journey to the West',13,10 ;西游记 db 'd. Steel is made',13,10 ;钢铁是怎样练成的 db 'f. Jurassic Park',13,10 ;侏罗纪公园 db 'g. Sense and Sensibility',13,10 ;理智与情感 db 'h. Jane Eyre',13,10 ;简爱 db 'i. War and Peace',13,10 ;战争与和平 db 'g. Anna Kalenina',13,10 ;安娜·卡列宁娜 db 'k. Les Miserables',13,10 ;悲惨世界 db 'l. Pride and Prejudice',13,10 ;傲慢与偏见 db 'm. The man who laughs',13,10 ;笑面人 db 'n. Uncle Toms Cabin',13,10 ;汤姆叔叔的小屋 db '| Input a number between 0 and 8|',13,10 db '| Press q to quit |',13,10 db '--------------------------------------------------------',13,10,'$' str1 db 'Please choose the operate you want:',13,10 db '-----------------------------------------------------',13,10 db 'a.look up the infomation',13,10 db 'b.insert the infomation',13,10 db 'c.modify the infomation',13,10 《汇编语言程序设计》大作业报告 6 db 'd.delete the infomation',13,10 db '-----------------------------------------------------',13,10,'$'

s1 db 'Insert the infomation!'13,10 s2 db 'Modify the infomation!',13,10 s3 db 'Delete the infomation!',13,10

str01 db 'Delete successfully!' str02 db 'Delete unsuccessfully!'

;message table forty db 40 ;value for mul instruction msg0 db 13,10,' Do you want to see the introduction or the location?$' msg db 'Please input a number:$' msg9 db 'Introduction please input like 01.txt,location 001.txt.$' crlf1 db 0dh,0ah,'$'

;error message errmsg db 'Error! Invalied parameter!!$' fname db 40,?,40 dup(?) ;input string buffer1 db 256 dup('$') ask1 db 'Input file name:$' err db 0ah,0dh,'File not found!$' data ends ;***************************************************************** stack segment db 256 dup(0) ;256 bytes of stack space tos label word stack ends ;***************************************************************** 《汇编语言程序设计》大作业报告 7 code segment ;***************************************************************** assume cs:code,ds:data,ss:stack start: ;starting execution address

main proc far ;main part of program ;set SS to current stackarea mov ax,stack mov ss,ax mov sp,offset tos

;set up stack for return push ds ;save old data segment sub ax,ax ;put zero in AX push ax ;save it on stack

;set DS to current data segment mov ax,data ;dararea segment addr mov ds,ax ;into DS register

;begin to process ;显示背景颜色 mov ah,00 mov al,11H int 10h

mov ah,0bh mov bh,00 mov bl,0dH