3.3流程图
N
Y
N Y
N
Y
N
Y
N
Y
6
3.4源程序清单
include macro.mac
show_message macro addrs local x1,x2 push bx push cx
;************************************************************* pos_curse 00h,row,18d mov bx,0
x1: mov dl,addrs[bx] mov ah,2 int 21h inc bx
cmp bx,15 ;bx=15进行下面的程序 jl x1
;************************************************************* mov cx,15
;************************************************************* mov dl,' ' mov ah,2 int 21h mov dl,' ' mov ah,2 int 21h mov dl,' ' mov ah,2 int 21h
;*************************************************************
7
x2:
mov dl,addrs[bx] mov ah,2 int 21h inc bx loop x2
inc row printf row,16d,prompt3 pop cx pop bx endm
getin macro addrs,count2 ;把键盘输入的count2个字符存入addrs中,回车结束
local spot_boll,lp,input_end,exit push bx push ax
;************************************************************* mov bx,0 spot_boll: mov addrs[bx],' ' inc bx cmp bx,15 jl spot_boll
;************************************************************* mov bx,0 mov cx,15
lp: mov ah,1 ;键盘输入并回显 int 21h
8
cmp al,0ah ;判断是否为换行 jz input_end
cmp al,0dh ;判断是否为回车 jz input_end
mov addrs[bx],al ;把键盘输入的字符存count2个到addrs中 inc bx loop lp input_end:
cmp al,0dh ;判断是否为回车 jz exit
cmp al,0ah ;判断是否为换行驶 jz exit
mov ah,7 ;键盘输入不回显 int 21h jmp input_end exit: pop ax pop bx endm
;----------------------------------------------------------------定义数据段 data segment Title0 db
'
*********************************
Address
List********************************$'
mass_1 db ' Designed By LiuYang(ruanjian 0803)(0120810870228)$' mess1 db 'Welcome to Personal Document Management Systems$' mess2 db 'press F1 key choose the menu:$'
mess3 db ' Personal Information: $'
9
mess4 db 'Name:liuyang Tel:15072388992 $' mess5 db 'email:840455177@qq.com QQ:840455177 $' prompt1 db 'Name:$' prompt2 db 'Number:$'
prompt3 db '----------------------------------------------------------------$' prompt4 db ' The Result of query below:$' prompt5 db 'Insert Success$'
prompt6 db 'Query Fail! The name is no in the list$' prompt7 db 'Modify Success$'
prompt8 db 'Modify Fail! Please Check the name$'
prompt9 db ' Your recent Schedue are as follows: $' prompt10 db '|2010-1-1 Say happy new year to friends |$' prompt11db'|2010-1-2Complete Compilation Curriculum Design |$' prompt12db'|2010-1-3Complete report of UML |$' prompt13 db '|2010-1-4 Complete report of Ji Suan JiZuChengYuanLi |$' prompt14db '|2010-1-5 Complete Curriculum Design of JiSuanJiZuChengYuanLi |$' prompt15 db '|2010-1-10 Back to Home! |$' prompt16 db '|-----------------------------------------------------------------------------------|$' prompt17 db 'Name/Number:$'
prompt18 db '******************************************************************$'
menu1 db 'Insert$' ;菜单 menu2 db 'Schedue$' menu3 db 'List$' menu4 db 'Modify$' menu5 db 'Exit$'
mess11 db 'name Telephone Number',0ah,0dh,'$' fname db \
10