1、 -1- 一、一、软件软件背景介绍背景介绍 汇编语言是一种以处理器指令系统为基础的低级程序设计语言, 采用助记符表达指令 操作码,采用标识符表示指令操作数。它是一种面向机器,效率最高的程序设计语言。它 具有很高的系统资源操作能力和较高的程序执行效率, 非常适合与系统程序的设计。 汇编 语言可以开发出许多应用软件, 利用汇编语言编写的程序的主要优点是可以直接、 有效地 控制计算机硬件,因而容易创建代码序列减小、运行快速的可执行程序,在某些应用领域 汇编语言的作用是不容置疑和不可替代的。现在,通讯越来越发达,通讯录的存在成为必 需。所以,应要求设计一个电话本,其功能如下: 1.程序能够建立一个可存
2、放 30 条以上记录的电话号码本; 2.程序能够对记录进行查找、增加、删除、修改操作; 3.录入字段包含姓名、电话、单位内容; 4.通过姓名或电话查询记录并显示查询结果。 程序运行后,显示一操作菜单,含录入、列示、查询和退出功能,用单字母进行功能 选择。m 修改;d 删除;n插入; v 浏览;f - 查询;e 退出,返回 DOS。 录入操作能从键盘录入姓名、电话号码、工作单位的通讯录(不超过 30 人)存于内 存数据区。列示功能能列出所有录入的资料。查询功能能按姓名查询通讯录,列出查找到 的记录或给出未找到信息。 图 1 程序运行后的界面图 图 1 中界面的实现是由图 2 的总流程图实现的。进
3、入程序后,显示功能菜单:f - 查询; n 插入;m 修改;d 删除;v 浏览;e 退出,返回 DOS。 -2- 图 2 总体程序流程图 二、二、核心算法思想核心算法思想 电话本系统程序应用字符串操作命令, 实现了个人通讯信息的增加、 删除、 修改、 查询。 信息连续存储, 设有计数器 cnt 总是保存最后一条记录的序号。 插入时自动插入到最后一条 记录后,同时 cnt 加 1。删除时,用最后一条记录覆盖被删除的记录,cnt 减 1。每个字段 均有自己的输入缓冲区和记录存储区。程序执行后,首先显示功能选择界面,根据提示,输 入要完成功能的代号,进入相应的子程序。 查询:显示选择菜单:1 按姓名
4、查找;2 按电话查找。按姓名查找:输入查找内 容到缓冲区,将其与记录姓名进行比较,相等输出,返回主程序。否则进行下一目录比较; 按电话查找:输入查找电话到缓冲区,将其与记录电话进行比较,相等输出,返回主程序。 否则进行下一目录比较。 插入:检测 cnt 是否为 30:是,电话本已满,拒绝插入,返回主程序;否,输入新的 开 始 显示菜单,选择功能 f ? n ? m ? d ? v ? 返回 DOS 调用 modify,实现修改 调用 delete,实现删除 调用 disdata,显示数据 调用 select,实现查询 调用 adder,实现插入 e ? Y N N N N Y N Y Y Y Y -3- 内容,将其插入到 cnt 后的存储单元中,cnt 加 1,清空缓存,以便用于下一次输入。提示 添加成功。 修改:调用 slebyname ,检测 cntselect 是否为 0:是,没有查到,返回;否,输入新 内容到缓冲区,计算被修改内容的偏移量,送新内容,cntselect 清零。 删除:检测 cnt 是否为 0:是,电话本为空,返