汇编语言:电话号码查找与子程序设计

需积分: 10 7 下载量 70 浏览量 更新于2024-09-10 2 收藏 233KB DOCX 举报
实验四:汇编语言查找电话号码 该实验旨在通过汇编语言实践子程序设计,提升对程序结构和逻辑的理解。主要任务是构建一个能容纳50个条目、包含人名和电话号码的电话簿,程序需要具备以下功能: 1. 数据结构与初始化:实验使用二维数组(tel_tab)作为数据结构,每个条目占用28个字节,包含20个字符的人名和8个字符的电话号码。同时定义了两个局部变量,namcount记录电话簿当前的索引,以及namtemp用于临时存储和格式化输出。 2. 输入与添加:程序允许用户输入新的人名和电话号码,通过循环读取并存储到电话簿中。为了保持数据有序,每次添加后都需要对电话簿进行排序。 3. 排序算法:采用冒泡排序算法对电话簿进行排序,利用swap标志位跟踪是否进行了交换,这有助于优化性能并避免越界错误。在排序过程中,需要注意源地址和目的地址寄存器的变化。 4. 查找功能:查找子功能涉及遍历电话簿中的每一项,通过比较姓名字段来查找指定的人名。这个过程可能涉及到字符串操作,因此需要灵活使用si和di寄存器,并适时管理内存栈,防止出现越界错误。 5. 输出显示:找到匹配的人名后,将其电话号码和姓名格式化为“nametel. XXXXXXXX”的形式,并在屏幕上显示。这部分操作会逐项提取电话簿内容,直到所有信息都展示完毕。 6. 流程控制:实验设计包含流程图辅助理解,展示了各个步骤之间的逻辑关系。程序源代码中提供了关键的变量声明、数据段定义、子程序调用以及控制指令,如数据类型定义、变量初始化、输入/输出处理等。 通过这个实验,学生可以深化理解汇编语言编程,尤其是子程序设计、数据结构应用、排序算法实现和控制结构的运用,同时增强对程序调试和性能优化的认识。