汇编程序设计:电话号码表管理与查找功能实现

需积分: 17 16 下载量 174 浏览量 更新于2024-07-29 1 收藏 517KB DOC 举报
本实验报告是关于汇编程序设计的一个实践项目,主要目标是实现一个50项电话号码表的功能,涉及数据结构、输入处理、排序以及查询操作。以下是关键知识点的详细说明: 1. **实验目的**: - 熟悉汇编语言命令格式和功能,增强对指令系统理解。 - 练习编写和调试简单的汇编语言程序,如接收用户输入,处理数据,并进行操作。 2. **数据结构设计**: - 建立一个包含50个元素的电话号码表,每个元素由20个字符的人名和8个字符的电话号码组成。 - 实现动态存储,确保表的大小可扩展或调整。 3. **用户交互**: - 用户可以输入新的任命和电话号码,程序会将其添加到电话号码表中。 - 输入后,程序会自动对表进行按人名的排序,保证数据的有序性。 4. **查找功能**: - 提供查找功能,用户可以输入人名查询对应的电话号码,程序会在已排序的表中搜索并显示结果,格式为`name tel.`。 5. **程序设计模块**: - 主函数`main`:控制程序流程,引导用户操作并调用子函数。 - `input_name`:接收并处理人名输入,存储到缓冲区并填充空格。 - `stor_name`:从缓冲区读取人名并存储到电话号码表中。 - `inphone`:接收电话号码,处理后存入电话号码表。 - `name_sort`:使用冒泡排序算法对电话号码表按人名排序。 - `exchange`:对不符合排序规则的条目进行调整。 - `printline`:找到指定人名后,打印对应电话号码。 - `printall`:一次性输出电话号码表的所有条目。 6. **编程与调试**: - 使用Windows XP操作系统和MASM汇编工具进行开发,通过DEBUG环境进行单步跟踪调试,观察寄存器变化和指令执行效果。 - 编程过程中,需将源代码编译成OBJ文件,再链接成可执行文件(EXE文件)。 7. **图形展示**: - 配有实验报告中的模块层次图,清晰地展示了程序各部分之间的关系和逻辑。 通过这个实验,学生不仅能够加深对汇编语言的理解,还能提高数据结构管理、算法实现以及程序调试的能力。