汇编实验四:查找电话号码Word格式文档下载.doc
《汇编实验四:查找电话号码Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《汇编实验四:查找电话号码Word格式文档下载.doc(11页珍藏版)》请在冰豆网上搜索。
(5)调用子程序inphone接收电话号码,并把它存入电话号码表tel_tab中;
(6)如输入已结束则调用name_sort子程序对电话号码表接人名排序;
(7)显示提示符’Doyouwantatelephonenumber?
(Y/N)’;
(8)回答N收退出程序;
(9)回答Y则再显示提示符’name?
(10)调用子程序input_name接收人名;
(11)调用子程序name_search在电话号码表中查找所要的电话号码;
(12)调用子程序printline按要求格式显示人名及电话号码;
(13)重复查号提示符直至用户不要求查号为止。
四、实验程序
datareasegment
tel_namelabelbyte
maxnlendb20
namelendb?
nameflddb21dup(?
);
定义20个字符的用于存放人名的字符串
tel_numlabelbyte
maxtlendb8
tellendb?
telflddb9dup(?
定义8个字符的用于存放电话号码的字符串
tel_tabdb50dup(20dup('
'
),8dup('
));
定义可存放50项纪录的电话号码表
tel_savdb28dup(?
),13,10,'
$'
listdb20dup('
),0dh,0ah,'
;
定义电话号码表的每个条目
string1db'
Inputname:
'
'
string2db'
Inputatelphonenumber:
string3db'
Doyouwantatelephonenumber?
(Y/N)'
string4db'
name?
string5db'
Wouldyouliketoinputatelephonelist?
string6db'
TheTel_Labisempty.'
string7db'
Thereisnolistfitting.'
string8db'
nametel.'
string9db'
DoyouwantaTel_Lab?
endadddw?
swappeddb0
tel_countdb0;
计算电话号码表中的条目数量
datareaends
prognamsegment
mainprocfar;
主程序
assumecs:
prognam,ds:
datarea,es:
datarea
start:
pushds
subax,ax
pushax
movax,datarea
movds,ax
moves,ax
cld
leadi,tel_tab;
将电话号码表传给目的变址寄存器
cho_inp:
进行选择,是否输入条目
movah,09
leadx,string5
int21h;
输出“Wouldyouliketoinputatelephonelist?
(Y/N)”
movah,01
输入,进行选择
movdl,4eh
cmpal,dl
jesort_n;
若输入为N,则跳转至sort_n,进行电话号码表的排序
movdl,6eh
若输入为n,则同上
movdl,59h
jeinput_n;
若输入为Y,则跳转至input_n,进行电话号码条目的输入
movdl,79h
若输入为y,则同上
movah,02
movdx,0dh
int21h
movdx,0ah
jmpcho_inp;
若输入不为Y(y)/N(n),则返回cho_inp,重新进行选择
input_n:
输入人名,并保存
leadx,string1
输出“Inputname:
”
callinput_name;
调用子程序input_name接收人名
callstor_name;
调用子程序stor_name把人名存入电话号码表tel_tab中
input_p:
输入电话号码,并保存
leadx,string2
输出“Inputatelephonenumber:
callinphone;
调用子程序inphone接收电话号码,并把它存入电话号码表tel_tab中
跳转至cho_inp,按提示选择是否继续输入条目
sort_n:
对电话号码表进行排序
callname_sort;
调用子程序name_sort,对电话号码表按人名排序
print_lab:
输出整个电话号码表
leadx,string9
输出“Doyouwantatel_lab?
movcl,al
movdl,0dh
movdl,0ah
moval,cl
jesearch_n;
若输入为N,则跳转至search_n,进行电话号码的查找
jegoon_p;
若输入为Y,则跳转至goon_p,继续该部分操作
jmpprint_lab;
若输入不为Y(y)/N(n),则跳转至print_lab,重新进行选择
goon_p:
继续输出电话号码表的操作
callprintall;
调用子程序printall,输出整个电话号码表
search_n:
查找电话号码条目
leadx,string3
输出“Doyouwantatelephonenumber?
jeexit;
若输入为N,则跳转至exit,退出程序