版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、查找电话号码1.1要求程序建立一个可存放50项的电话号码表,每项包括人名(20个字符)及电话 号码(8个字符)两部分;1. 2程序可接收输入人名及相应的电话号码,并把它们加入电话号码表中;1. 3凡有新的输入后,程序应按人名对电话号码表重新排序;1.4程序可接收需要查找电话号码的人名,并从电话号码表中查出其电话号码,再在屏幕上以如下的格式显示出来:tel*name*1源程序data segmenttel_tabdb1500 dup('')tel_tab_nodb0line1db,g hadbplease input a to add $'sdbplease input
2、s to search $'ddbplease input "d to display all$,0dbinput other words to exit $'line2db' 0 'inputndb'please inputthe nameinputpdb'please inputthe phone numbercmddb2,0,2 dup(?)printfdbnametel $'putnamedb21,0,21 dup(,')notfounddb'the record you searched is not
3、exsit $'yondb'n,;用于判断是否找到所输入的名字data endscode segmentmainprocassumefarcs:code, ds:datastart:movax, datamovds, axaddnew:;添加新的记录leadx,inputn;输出字符movah, 09hint21hcallstor_name;输入名字并保存到表中callcrlfleadx,inputpmovah, 09hint21hcallinphone;输入电话并保存到表中inctel_tab_nocallname_sort;将输入的名字和电话按名字排序again:callc
4、rlf;回车并换行模块leadx,line1;输出菜单movah, 09hi ntleamovintcallleamovintcallleamovintcallleamovintcallleamovint菜单结束leamovint21hdx, aah, 09h21hcrlfdx, sah, 09h21hcrlfdx, dah, 09h21hcrlfdx,0ah, 09h21hcrlfdx,line2ah, 09h21hdx, cmd ;输入命令ah, oah21hmovbx, dxmovdx, bx+2;让用户选择下一步所要进行的动作anddx, ooffhcmpdl, 41h;当用户输入a时
5、跳到添加模块jzaddnewcmpdl, 53h;当用户输入s时跳到查找模块jzsearchcmpdl, 44h;当用户输入d时跳到显示模块jzdisplayalljmpcode_exitleadx,printfmovah, 09hint21hcallcrlfcallprint_all;排序后,打印所有已记录的名字和电话号码jmpagainleadx,inputnmovah, 09hint21hmovcx, 20movsi,0movputnamesi+2,''incsiloopsetspaceleadx,putnamedisplayall:search:setspace:mov
6、ah, oahi nt21hxorbx, bxmovbl, putname1movputnamebx+2,'$'callsearch_name ;查找并打印所有符合的名字及电话号码jmpagaincode_exit:movah, 4chint21hstor_name procnear;输入名字并保存到表中moval, tel_tab_nomovbl, 36mulblmovsi, axcallcrlfmovtel_tabsi+0,21;输入最大字符个数leadx,tel_tabsi+o;取输入数据存储的地址movah, oah;输入中断int21hxorbx, bxmovbl,t
7、el_tabsi+1;有效字符个数,即实际输入个movtel_tabsi+bx+2,'$';末尾添加结束符jmpstor_exit;callcrlf;movah, 09h;leadx,tel_tabsi+2;int21h;callcrlf;movah, 02h;movdl,tel_tabsi+2;int21hstor_exit:retstornameendpinphoneprocnear;输入电话并保存到表中moval, tel_tab_nomovbl, 36mulblmovsi, axcallcrlfmovtel_tabsi+24,9leadx, tel_tabsi+24mo
8、vah, oahint21hxorbx, bxmovbl,tel_tabsi+25movtel_tabsi+bx+26,'$'jmpinph_exit;callcrlf;movah, 09h;leadx,tel_tabsi+26;int21h;call;mov;mov;intinph_exit:crlfah, 02hdl,tel_tabsi+2621hretinphone endpname_sort procnearxorex, cx;将输入的名字和电话按名字排序movcl, tel_tab_nodeccxcmpcx, 0jzsort_exit_jmpjmploop1sort_
9、exit_jmp:jmpsort_exitl00p1: movdi, cxmovbx, 0loop2: moval, tel_tabbx+2;比较第一个字符cmpal, tel_tabbx+38jlcotinue;小于,则不变,跳转jzequare;等于,继续比较下一个字符jmpgreat;大于,则交换equare:movbp, cx;比较剩下的字符movcx, 20;剩下字符个数movdx, bxnext: incbxmoval,tel_tabbx+2cmpal,tel_tabbx+38jlnochangejgychangeloopnextjmpnochangeychange:movcx,
10、bpmovbx, dxgreat:movbp, cx;存放ex的值movcx, 36;设置计数器movsi,bx;设置传输首地址偏移地址xchange:moval, tel_tabsi;值放缓冲区xchgal, tel_tabsi+36;目标与缓冲区数据交换movtel_tabs叮,al;传回原地址incsi;指针下移loopxchange;循环直至复制完成movcx, bp;返回计数器值jmpcotinuenochange:movcx, bpmovbx, dxcotinue:addbx, 36;跳至下一个looploop2movcx, dilooploop1sort_exit:retname
11、_sortendpprint_allprocnear;排序后,打印所有记录的名字和电话号码xorex, exmovcl, tel_tab_n0;设置计数器movdl, 0print_next:;寻址moval, dlmovbl, 36mulblmovsi, axmovbl, dl;输出movah, 09hleadx,tel_tabsi+2int21hmovbp, cxxorex, cxmovcl, 25subcl,tel_tabsi+1space_in:movah, 02hmovdl,,int21hloopspace_inmovah, 09hleadx,tel_tabsi+26int21hca
12、llcrlfmovdl, blincdlmovcx, bploopprint_nextretprint all endpsearch_name procnear;查找并打印所有符合的名字及电话号码movyon,' n'xorcx, cxmovcl, tel_tab_nomovbx, 0n_nmcmp:movsi,0movdx, cxmovcx, 20namecmp:moval, putnamesi+2cmpal, tel_tabbx+si+2jnznot_equareincsiloopnamecmpjmpname_equarenot equare:movcx, dxaddbx,
13、 36loopn_nmcmpjmpname_match_exit1name_equare:movdi,dxmoval, yoncmpal,' y'jzcallmovleaintmovlop:callmovleaintmovxormovsubspace_in2:movmovintloopmovleaintmovjmplopcrlfah, 09hdx,printf21hyon,' y,crlfah, 09hdx,tel_tabbx+221hbp, cxcx, cxcl, 25cl,tel_tabbx+1ah, 02hdlj '21hspace_in2ah, 09hdx,tel_tabbx+2621hdx,dinot equarename_match_exit1moval, yoncmp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云队课的心得体会
- 高中寒假实践报告
- 社团活动策划案范文8篇
- 西湖导游词范文300字(33篇)
- 银行公司业务工作总结(7篇)
- DB12-T 1108-2021 车用乙醇汽油(E10)快速筛查技术规范
- DB11T 1665-2019 超低能耗居住建筑设计标准
- 化工热力学教案
- 2023年电子计步器实验分析仪器资金筹措计划书
- 二年级数学计算题专项练习1000题汇编集锦
- MSA-GRR数据自动生成工具演示教学
- 数字经济十大趋势
- 工程水文学题库及题解(全)
- 个人征信承诺书
- 【学生基本信息表】样本
- 【类文阅读】25.古人谈读书(试题)五年级语文上册 部编版(含答案、解析)
- 新疆维吾尔自治区吐鲁番市2023-2024学年九年级上学期期中数学试题
- 环境监测仪器设备采购投标方案(技术标)
- 小学信息技术《认识“画图”》说课稿
- 薄壁不锈钢管卡压连接施工工艺
- 鲁教版七年级上册地理知识点汇总
评论
0/150
提交评论