汇编语言程序:电话号码查找系统

需积分: 12 5 下载量 75 浏览量 更新于2024-10-09 收藏 38KB DOC 举报
"该资源是关于使用汇编语言编写一个电话号码表的程序,目标是实现查找特定的电话号码。程序能存储50个电话号码,并具有用户交互功能,包括输入人名、电话号码,以及查找指定人名的电话号码。程序通过宏定义简化了字符串的显示和获取操作。" 在汇编编程中,这个程序展示了如何设计和实现子程序,以处理用户输入和数据存储。首先,程序定义了一些关键的数据结构和变量,如`count`用于记录已存储的电话号码数量,`name_error`用于标识查找结果(0表示未找到,1表示找到),`tel_tab`用于存储电话信息,每个电话信息占用14个字节(可能包括姓名和电话号码)。此外,还定义了临时变量`temp`,以及用于用户输入的缓冲区`input1label`和`input2label`,分别用于存储人名和电话号码。 程序使用了一些宏定义,如`show_string`和`get_string`,它们分别用于在屏幕上显示字符串和获取用户输入的字符串。`show_string`通过调用DOS中断21H的09H功能号实现,而`get_string`则利用了中断21H的0AH功能号进行字符串输入。 代码部分从`start`标签开始,首先设置了数据段和堆栈段,然后进入主循环`in_tab`。在这个循环中,程序先显示提示用户输入人名的字符串,然后调用`input_name`子程序获取人名。接着,询问用户是否输入电话号码,如果输入了,则调用`inphone`子程序获取电话号码,并将计数器`count`递增。输入完成后,数据会被加入到电话簿中,并调用`name_sort`子程序进行人名排序。 值得注意的是,尽管代码片段没有提供完整的子程序实现,但可以推断`input_name`、`store_name`和`name_sort`等子程序的功能。`input_name`应该是接收用户输入的人名并保存到相应位置,`store_name`可能负责在电话簿中找到合适的位置插入新记录,而`name_sort`则用于对人名进行排序,以便后续的查找操作更高效。 查找功能虽然没有直接展示,但从描述来看,它会询问用户要查找的人名,然后遍历电话簿进行匹配。如果找到匹配的记录,将显示相应的电话号码,否则显示未找到的错误信息。 这个汇编程序练习了汇编语言中的字符串处理、内存管理、用户交互以及简单的数据结构操作。通过完成这样的项目,开发者可以深入理解底层编程的细节,提高对计算机系统工作的理解。