版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 班級(jí)通信錄管理系統(tǒng)</b></p><p><b> 1 需求說明</b></p><p><b> 1.1實(shí)驗(yàn)要求</b></p><p> 1.1.1建立通訊錄,添加一個(gè)同學(xué)的通信記錄,刪除一個(gè)同學(xué)的通信記錄,修改一個(gè)同學(xué)的通信記錄,查詢一個(gè)同學(xué)的通信記錄,顯示
2、所有同學(xué)的通信記錄,能根據(jù)姓名或宿舍號(hào)進(jìn)行排序。</p><p> 1.1.2通信記錄包括學(xué)號(hào)、姓名、電話號(hào)碼、宿舍號(hào)等信息,所有信息最終用文件保存。</p><p><b> 1.2功能簡述</b></p><p> 1.2.1 建立通信錄</p><p> 運(yùn)行程序后,程序自動(dòng)建立固有的通訊錄。</p&
3、gt;<p> 1.2.2添加通信記錄</p><p> 進(jìn)入“添加"界面,根據(jù)提示,依次添加同學(xué)的通信記錄條目。添加成功,后顯示操作成功信息。</p><p> 1.2.3刪除通信記錄</p><p> 進(jìn)入“刪除"界面,依據(jù)姓名刪除信息。輸入姓名后,顯示該同學(xué)的所有信息,并顯示操作成功。刪除后,返回主菜單。</p&
4、gt;<p> 1.2.4查詢通信記錄</p><p> 進(jìn)入“查詢"界面,詢問用戶按姓名或?qū)W號(hào)查找學(xué)生記錄。待用戶正確輸入已存有的用戶姓名或?qū)W號(hào)后,按回車鍵后顯示所有匹配該信息的學(xué)生記錄。若輸入信息錯(cuò)誤或是無該用戶沒記錄,則顯示操作錯(cuò)誤。</p><p> 1.2.5顯示所有通信記錄</p><p> 進(jìn)入“顯示"界面,將
5、通訊錄中所有同學(xué)的通訊記錄分行顯示出來,每行中同學(xué)的不同信息間隔表示。</p><p> 1.2.6根據(jù)姓名進(jìn)行排序</p><p> 排序時(shí),顯示排序子菜單,按照姓名中字母的升序?qū)τ涗涍M(jìn)行排序。</p><p> 1.2.7保存通訊記錄</p><p> 將填寫好的同學(xué)通訊記錄寫入到固定文件中。</p><p&g
6、t; 1.2.8退出班級(jí)通信錄管理系統(tǒng)</p><p> 選擇該功能選項(xiàng)后,退出班級(jí)通信錄管理系統(tǒng),關(guān)閉文件,返回DOS。</p><p><b> 2設(shè)計(jì)說明</b></p><p> 2.1 程序流程圖設(shè)計(jì)</p><p> Select Insert Modify Delete Write
7、 Show Esc</p><p><b> Back</b></p><p> 2.2各功能之間的關(guān)系</p><p> 2.2.1用戶輸入信息</p><p> 在選擇Insert選項(xiàng)后,進(jìn)入adder子程序,需要用戶依次輸入姓名、學(xué)號(hào)、宿舍號(hào)、電話號(hào)碼,輸入信息分別存入manelist、studli
8、st、dormlist、telelist數(shù)組中。</p><p> 2.2.2搜索同學(xué)記錄</p><p> 建立selectbyname和selectbystud子程序,在select子程序中靈活調(diào)用,利用相關(guān)信息搜索與關(guān)鍵字匹配的同學(xué)記錄。同時(shí),可以把搜索這個(gè)功能提取出來,實(shí)現(xiàn)代碼的共享。其中,搜索按關(guān)鍵字的類型不同可分為按姓名搜索和按學(xué)號(hào)搜索。</p><p&
9、gt; 2.2.3關(guān)鍵字的匹配</p><p> selectbyname和selectbystud子程序中都需要進(jìn)行關(guān)鍵字匹配和比較,故把比較關(guān)鍵字的大小提取出來在strCmp子程序中實(shí)現(xiàn),方便進(jìn)行搜索和排序。</p><p><b> 2.3文檔的處理</b></p><p> 在用戶進(jìn)入班級(jí)通信錄管理系統(tǒng)時(shí),若要將輸入的信息用文件
10、保存,用戶可選擇Write to file選項(xiàng),將緩沖區(qū)和文檔中的所有記錄顯示出來。用戶退出后,關(guān)閉文件。</p><p><b> 3詳細(xì)的算法設(shè)計(jì)</b></p><p><b> 3.1主程序的設(shè)計(jì)</b></p><p> start: </p><p> mov
11、ax,data</p><p><b> mov ds,ax</b></p><p><b> mov es,ax</b></p><p> call cshdata </p><p><b> menu1: </b></p><p> ca
12、ll clear</p><p> call displaytitle </p><p> mov ah,01h </p><p><b> int 21h</b></p><p> cmp al,'1' </p><p><b> jz sel</b
13、></p><p> cmp al,'2' </p><p><b> jz adde</b></p><p> cmp al,'3' </p><p><b> jz modi</b></p><p> cmp al,
14、39;4' </p><p><b> jz del</b></p><p> cmp al,'5' </p><p><b> jz dis</b></p><p> cmp al,'7'</p><p><b>
15、; jz wrt</b></p><p> cmp al,'8'</p><p><b> jz out1</b></p><p> jmp menu1 </p><p><b> sel:</b></p><p> call cle
16、ar</p><p> call select </p><p><b> jmp back </b></p><p><b> adde:</b></p><p> call clear </p><p> call adder </p><
17、;p><b> jmp back</b></p><p><b> modi:</b></p><p> call clear</p><p> call modify </p><p><b> jmp back</b></p><p&g
18、t;<b> del:</b></p><p> call clear</p><p> call delete </p><p><b> jmp back</b></p><p><b> dis:</b></p><p> call
19、clear </p><p> call disdata</p><p><b> jmp back</b></p><p><b> wrt:</b></p><p> call clear</p><p> call write</p><p
20、><b> back: </b></p><p> lea dx,backstr ;返回主菜單提示語“Please enter 6 to bace main menu!”</p><p> mov ah,09h</p><p><b> int 21h</b></p><p> mo
21、v ah,01h</p><p><b> int 21h</b></p><p> ea si,choice</p><p> mov [si],al</p><p> cmp al,'6'</p><p> jz menu1 ;輸入6,返回主菜單</p>
22、<p> call clear</p><p><b> jmp back</b></p><p><b> out1:</b></p><p> mov ah,4ch</p><p><b> int 21h</b></p><p&
23、gt; main endp ;主函數(shù)結(jié)束</p><p><b> code ends</b></p><p><b> end start</b></p><p> 3.2學(xué)生記錄的數(shù)據(jù)結(jié)構(gòu)</p><p> namelist db 20 dup(20 dup(0)) <
24、/p><p> studlist db 20 dup(20 dup(0)) </p><p> dormlist db 20 dup(20 dup(0))</p><p> telelist db 20 dup(20 dup(0))</p><p> newname db 20 dup(0)</p><p&g
25、t; newstud db 20 dup(0)</p><p> newdorm db 20 dup(0)</p><p> newtele db 20 dup(0)</p><p> cnt db 1 dup(0)</p><p> cntselect db 1 dup(0)</p><p&g
26、t; choice db 1 dup(0)</p><p> enter db 0dh,0ah,'$' </p><p> blank db ' $'</p><p> disname db 'Name:$' </p><p> disstud db '
27、Stud:$'</p><p> disdorm db 'Dorm:$'</p><p> distele db 'Tele:$'</p><p> 3.3學(xué)生通訊錄信息的顯示和輸入</p><p> 學(xué)生通訊錄信息的顯示和輸入的邏輯實(shí)現(xiàn)思想是一樣的。都是先找到第i條記錄的起始地址,即學(xué)號(hào)的
28、開始地址。然后根據(jù)j的值確定記錄內(nèi)部的偏移地址。然后調(diào)用相應(yīng)的功能實(shí)現(xiàn)學(xué)生通訊信息的顯示和輸入。下面以信息的顯示為例作詳細(xì)說明。 </p><p> disdata proc near ;顯示所有信息</p><p> l
29、ea si,cnt ;循環(huán)次數(shù)</p><p> mov cl,[si] </p><p><b> mov bx,0</b></p><p><b> disdatal:</b></p><p> lea dx,disname </p><p> mov a
30、h,09h</p><p><b> int 21h</b></p><p> lea dx,namelist </p><p><b> add dx,bx</b></p><p> mov ah,09h</p><p><b> int 21h<
31、;/b></p><p> lea dx,blank </p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,disstud </p><p> mov ah,09h</p><p>&
32、lt;b> int 21h</b></p><p> lea dx,studlist </p><p><b> add dx,bx</b></p><p> mov ah,09h</p><p><b> int 21h</b></p><p&g
33、t; lea dx,blank </p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,disdorm </p><p> mov ah,09h</p><p><b> int 21h</b>
34、;</p><p> lea dx,dormlist </p><p><b> add dx,bx</b></p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,blank </p&g
35、t;<p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,distele </p><p> mov ah,09h</p><p><b> int 21h</b></p><p> le
36、a dx,telelist </p><p><b> add dx,bx</b></p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,enter </p><p> mov ah,09h&
37、lt;/p><p><b> int 21h</b></p><p><b> add bx,20</b></p><p> loop disdatal</p><p><b> ret</b></p><p> disdata endp</
38、p><p> 3.4學(xué)生信息的搜索</p><p> 根據(jù)用戶選擇的關(guān)鍵字的類型,按照3.3所述的方法找到第i條記錄的相應(yīng)關(guān)鍵字的起始地址。遍歷所有的學(xué)生通訊錄記錄,調(diào)用repe cmpsb語句對(duì)記錄中的關(guān)鍵字和用戶輸入的信息相比較。</p><p> 3.5修改一個(gè)同學(xué)的通信記錄</p><p> 通過關(guān)鍵字搜索與之匹配的同學(xué)記錄,若
39、查找不到,則修改失敗。否則提示用戶輸入新的通訊信息,覆蓋原來的信息。</p><p> 3.6按照姓名進(jìn)行排序</p><p> Sort函數(shù)采用冒泡排序作為算法進(jìn)行排序,內(nèi)外循環(huán)次數(shù)均為同學(xué)通訊錄記錄的條數(shù),由于字符串的交換比較復(fù)雜,則將此子過程抽象出來,記為movR函數(shù)。使用loop循環(huán)依次交換兩個(gè)記錄的字符。</p><p> 3.7刪除操作的實(shí)現(xiàn)<
40、;/p><p> 刪除數(shù)據(jù)信息,查詢條件為姓名。刪除查詢結(jié)果的具體做法是:先搜索到與關(guān)鍵字匹配的記錄,然后用最后一個(gè)記錄將其覆蓋,達(dá)到刪除的效果。.</p><p> 3.8與文件相關(guān)的操作</p><p> 3.8.1創(chuàng)建文件 </p><p> filename db 'F:\StudentList.txt',00h&
41、lt;/p><p> handle dw ?</p><p> buffer db 20 dup(0)</p><p> error1 db 'creating file wrong!',0dh,0ah.'$'</p><p> error2 db 'writing file wrong!
42、9;,0dh,0ah.'$'</p><p> wrtstr db 'write the class address book!$'</p><p> mov ah,3ch</p><p><b> mov cx,0</b></p><p> lea dx,filename<
43、/p><p><b> int 21h</b></p><p><b> jc err1</b></p><p> mov handle,ax</p><p><b> 3.8.2寫文件</b></p><p> lea si,cnt <
44、/p><p> mov cl,[si]</p><p> mov al,cl </p><p><b> mov di,0</b></p><p><b> lop1:</b></p><p> mov ah,40h</p><p> mov
45、 bx,handle</p><p><b> mov cx,20</b></p><p> lea dx,namelist</p><p><b> add dx,di</b></p><p><b> int 21h</b></p><p>
46、<b> jc err2</b></p><p> mov ah,40h</p><p> mov bx,handle</p><p><b> mov cx,20</b></p><p> lea dx,dormlist</p><p><b> ad
47、d dx,di</b></p><p><b> int 21h</b></p><p><b> jc err2</b></p><p> mov ah,40h</p><p> mov bx,handle</p><p><b> mov
48、cx,1</b></p><p> lea dx,distele</p><p><b> int 21h</b></p><p><b> jc err2</b></p><p> mov ah,40h</p><p> mov bx,handle&l
49、t;/p><p><b> mov cx,20</b></p><p> lea dx,telelist</p><p><b> add dx,di</b></p><p><b> int 21h</b></p><p><b> j
50、c err2</b></p><p><b> add di,20</b></p><p><b> inc al</b></p><p> mov cl,[si]</p><p><b> sub cl,al</b></p><p>
51、;<b> jmp lop1</b></p><p><b> exit2:</b></p><p> mov ah,3eh</p><p> mov bx,handle</p><p><b> int 21h</b></p><p><
52、;b> exit1:</b></p><p> mov ah,4ch</p><p><b> int 21h</b></p><p><b> err1:</b></p><p><b> mov ah,9</b></p><p
53、> lea dx,error1</p><p><b> int 21h</b></p><p><b> jmp exit1</b></p><p><b> err2:</b></p><p><b> mov ah,9</b><
54、/p><p> lea dx,error2</p><p><b> int 21h</b></p><p><b> jmp exit2</b></p><p><b> ret </b></p><p> write endp </p&g
55、t;<p><b> 3.8.3關(guān)閉文件</b></p><p><b> exit2:</b></p><p> mov ah,3eh</p><p> mov bx,handle</p><p><b> int 21h</b></p>
56、<p><b> exit1:</b></p><p> mov ah,4ch</p><p><b> int 21h</b></p><p><b> err1:</b></p><p><b> mov ah,9</b><
57、/p><p> lea dx,error1</p><p><b> int 21h</b></p><p><b> jmp exit1</b></p><p><b> err2:</b></p><p><b> mov ah,9&
58、lt;/b></p><p> lea dx,error2</p><p><b> int 21h</b></p><p><b> jmp exit2</b></p><p><b> 4源程序與執(zhí)行結(jié)果</b></p><p><
59、;b> 4.1執(zhí)行結(jié)果</b></p><p> 4.1.1 disdata函數(shù)的執(zhí)行結(jié)果</p><p> 4.1.2 adder函數(shù)的執(zhí)行結(jié)果</p><p> 4.1.3 modify函數(shù)的執(zhí)行結(jié)果</p><p> 4.1.4 delete函數(shù)的執(zhí)行結(jié)果</p><p> 4.1.
60、5 select函數(shù)的執(zhí)行結(jié)果</p><p> 4.1.6 Sort函數(shù)的執(zhí)行結(jié)果</p><p> 4.2.7 Save函數(shù)的執(zhí)行結(jié)果</p><p><b> 4.2源程序</b></p><p> stack segment stack</p><p> dw 512 dup(?
61、)</p><p> stack ends</p><p> data segment </p><p> titlestr db 'Welcome to the directory!',0dh,0ah,'Enter your choice please!',0dh,0ah,'$' </p&
62、gt;<p> menustr db '1:Select',0dh,0ah,'2:Insert',0dh,0ah,'3:Modify',0dh,0ah,'4:Delete',0dh,0ah,'5:Show all record',0dh,0ah,'7:Write to file',0dh,0ah,'8:Esc'
63、;,0dh,0ah,'$' </p><p> namelist db 20 dup(20 dup(0)) </p><p> studlist db 20 dup(20 dup(0)) </p><p> dormlist db 20 dup(20 dup(0))</p><p> telelist db
64、20 dup(20 dup(0))</p><p> newname db 20 dup(0)</p><p> newstud db 20 dup(0)</p><p> newdorm db 20 dup(0)</p><p> newtele db 20 dup(0)</p><p>
65、 filename db 'F:\StudentList.txt',00h</p><p> handle dw ?</p><p> buffer db 20 dup(0)</p><p> error1 db 'creating file wrong!',0dh,0ah.'$'</p>&l
66、t;p> error2 db 'writing file wrong!',0dh,0ah.'$'</p><p> wrtstr db 'write the class address book!$'</p><p> cnt db 1 dup(0)</p><p> cntselect db 1
67、dup(0)</p><p> choice db 1 dup(0)</p><p> enter db 0dh,0ah,'$' </p><p> blank db ' $'</p><p> disname db 'Name:$' </p><
68、;p> disstud db 'Stud:$'</p><p> disdorm db 'Dorm:$'</p><p> distele db 'Tele:$'</p><p> backstr db 'Key 6 to main menu!',0dh,0ah,'
69、$' </p><p> selstr1 db '1:Select by name',0dh,0ah,'2:Select by Student Number',0dh,0ah,'$' </p><p> selstr2 db 'The information!',0dh,0ah,'$' <
70、;/p><p> selstr3 db 'Name is not exist!',0dh,0ah,'$' </p><p> selstr4 db 'Student Number is not exist!',0dh,0ah,'$'</p><p> selstr5 db 'Studen
71、t Number directory is empty!',0dh,0ah,'$'</p><p> addstr1 db 'Input the new information!',0dh,0ah,'$' </p><p> addstr2 db 'Student Number directory is full!
72、',0dh,0ah,'$'</p><p> addstr3 db 'Add successfully!',0dh,0ah,'$'</p><p> modstr1 db 'Newname:$' </p><p> modstr2 db 'Newstud:$
73、39;</p><p> modstr3 db 'Newdorm:$'</p><p> modstr4 db 'Newtele:$'</p><p> modstr5 db 'Input new record!',0dh,0ah,'$'</p><p> mods
74、tr6 db 'Modified successfully!',0dh,0ah,'$'</p><p> delstr1 db 'Student Number directory is empty!',0d,0ah,'$' </p><p> delstr2 db 'Deleted successfully
75、!',0dh,0ah,'$'</p><p> name1 db 'zhansan$' </p><p> name2 db 'lisi$'</p><p> name3 db 'wangwu$'</p><p> StudentNumber
76、1 db '1111111$' </p><p> StudentNumber2 db '2222222$'</p><p> StudentNumber3 db '3333333$'</p><p> dorm1 db '123$' </p><p&
77、gt; dorm2 db '456$'</p><p> dorm3 db '789$'</p><p> tele1 db '123456$' </p><p> tele2 db '654321$'</p><p> tele3 db '
78、;457895$'</p><p><b> data ends</b></p><p> code segment </p><p> main proc far </p><p> assume cs:code,ds:data</p><p> displ
79、aytitle proc near </p><p> lea dx,titlestr</p><p><b> mov ah,9</b></p><p><b> int 21h</b></p><p> lea dx,menustr</p><p><b&g
80、t; int 21h</b></p><p><b> ret</b></p><p> displaytitle endp</p><p> cshdata proc near </p><p><b> mov bx,0 </b></p><p>
81、 lea si,name1</p><p> lea di,namelist</p><p><b> add di,bx</b></p><p> mov cx,20 </p><p> cshname11:</p><p> mov al,[si]</p><p&
82、gt; mov [di],al</p><p><b> inc si</b></p><p><b> inc di</b></p><p> cmp al,'$'</p><p> jz cshname12</p><p> loop cshn
83、ame11</p><p> cshname12:</p><p><b> add bx,20</b></p><p> lea si,name2</p><p> lea di,namelist</p><p><b> add di,bx</b></p&
84、gt;<p> mov cx,20 </p><p> cshname21:</p><p> mov al,[si]</p><p> mov [di],al</p><p><b> inc si</b></p><p><b> inc di</b&
85、gt;</p><p> cmp al,'$'</p><p> jz cshname22</p><p> loop cshname21</p><p> cshname22:</p><p><b> add bx,20</b></p><p>
86、; lea si,name3</p><p> lea di,namelist</p><p><b> add di,bx</b></p><p> mov cx,20 </p><p> cshname31:</p><p> mov al,[si]</p><
87、p> mov [di],al</p><p><b> inc si</b></p><p><b> inc di</b></p><p> cmp al,'$'</p><p> jz cshname32</p><p> loop cs
88、hname31</p><p> cshname32:</p><p><b> add bx,20</b></p><p> mov ax,bx ;初始化計(jì)數(shù)器cnt</p><p><b> mov bl,20</b></p><p><b> d
89、iv bl</b></p><p> lea si,cnt</p><p> mov [si],al </p><p> mov bx,0 </p><p> lea si,StudentNumber1</p><p> lea di,studlist</p><p>
90、<b> add di,bx</b></p><p> mov cx,20 </p><p> cshstud11:</p><p> mov al,[si]</p><p> mov [di],al</p><p><b> inc si</b></p&g
91、t;<p><b> inc di</b></p><p> cmp al,'$'</p><p> jz cshstud12</p><p> loop cshstud11</p><p> cshstud12:</p><p><b> ad
92、d bx,20</b></p><p> lea si,StudentNumber2</p><p> lea di,studlist</p><p><b> add di,bx</b></p><p> mov cx,20 </p><p> cshstud21:<
93、/p><p> mov al,[si]</p><p> mov [di],al</p><p><b> inc si</b></p><p><b> inc di</b></p><p> cmp al,'$'</p><p&g
94、t; jz cshstud22</p><p> loop cshstud21</p><p> cshstud22:</p><p><b> add bx,20</b></p><p> lea si,StudentNumber3</p><p> lea di,studlist&
95、lt;/p><p><b> add di,bx</b></p><p> mov cx,20 </p><p> cshstud31:</p><p> mov al,[si]</p><p> mov [di],al</p><p><b> inc
96、si</b></p><p><b> inc di</b></p><p> cmp al,'$'</p><p> jz cshstud32</p><p> loop cshstud31</p><p> cshstud32:</p>&l
97、t;p> add bx,20 </p><p> mov bx,0 </p><p> lea si,dorm1</p><p> lea di,dormlist</p><p><b> add di,bx</b></p><p> mov cx,20 </p>
98、<p> cshdorm11:</p><p> mov al,[si]</p><p> mov [di],al</p><p><b> inc si</b></p><p><b> inc di</b></p><p> cmp al,
99、9;$'</p><p> jz cshdorm12</p><p> loop cshdorm11</p><p> cshdorm12:</p><p><b> add bx,20</b></p><p> lea si,dorm2</p><p>
100、 lea di,dormlist</p><p><b> add di,bx</b></p><p> mov cx,20 </p><p> cshdorm21:</p><p> mov al,[si]</p><p> mov [di],al</p><p&
101、gt;<b> inc si</b></p><p><b> inc di</b></p><p> cmp al,'$'</p><p> jz cshdorm22</p><p> loop cshdorm21</p><p> cshdor
102、m22:</p><p><b> add bx,20</b></p><p> lea si,dorm3</p><p> lea di,dormlist</p><p><b> add di,bx</b></p><p> mov cx,20 </p&g
103、t;<p> cshdorm31:</p><p> mov al,[si]</p><p> mov [di],al</p><p><b> inc si</b></p><p><b> inc di</b></p><p> cmp al,&
104、#39;$'</p><p> jz cshdorm32</p><p> loop cshdorm31</p><p> cshdorm32:</p><p> add bx,20 </p><p> mov bx,0 </p><p> lea si,tele1<
105、;/p><p> lea di,telelist</p><p><b> add di,bx</b></p><p> mov cx,20 </p><p> cshtele11:</p><p> mov al,[si]</p><p> mov [di],al
106、</p><p><b> inc si</b></p><p><b> inc di</b></p><p> cmp al,'$'</p><p> jz cshtele12</p><p> loop cshtele11</p>
107、<p> cshtele12:</p><p><b> add bx,20</b></p><p> lea si,tele2</p><p> lea di,telelist</p><p><b> add di,bx</b></p><p>
108、mov cx,20 </p><p> cshtele21:</p><p> mov al,[si]</p><p> mov [di],al</p><p><b> inc si</b></p><p><b> inc di</b></p>&
109、lt;p> cmp al,'$'</p><p> jz cshtele22</p><p> loop cshtele21</p><p> cshtele22:</p><p><b> add bx,20</b></p><p> lea si,tele3&
110、lt;/p><p> lea di,telelist</p><p><b> add di,bx</b></p><p> mov cx,20 </p><p> cshtele31:</p><p> mov al,[si]</p><p> mov [di],
111、al</p><p><b> inc si</b></p><p><b> inc di</b></p><p> cmp al,'$'</p><p> jz cshtele32</p><p> loop cshtele31</p>
112、;<p> cshtele32:</p><p> add bx,20 </p><p><b> ret</b></p><p> cshdata endp</p><p> disdata proc near </p><p> lea si,cnt ;循環(huán)次數(shù)
113、</p><p> mov cl,[si] </p><p><b> mov bx,0</b></p><p><b> disdatal:</b></p><p> lea dx,disname </p><p> mov ah,09h</p>
114、<p><b> int 21h</b></p><p> lea dx,namelist </p><p><b> add dx,bx</b></p><p> mov ah,09h</p><p><b> int 21h</b></p>
115、<p> lea dx,blank </p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,disstud </p><p> mov ah,09h</p><p><b> int 21h
116、</b></p><p> lea dx,studlist </p><p><b> add dx,bx</b></p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,blank
117、 </p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,disdorm </p><p> mov ah,09h</p><p><b> int 21h</b></p><
118、p> lea dx,dormlist </p><p><b> add dx,bx</b></p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,blank </p><p> mo
119、v ah,09h</p><p><b> int 21h</b></p><p> lea dx,distele </p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,telelist &l
120、t;/p><p><b> add dx,bx</b></p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,enter </p><p> mov ah,09h</p><p&
121、gt;<b> int 21h</b></p><p><b> add bx,20</b></p><p> loop disdatal</p><p><b> ret</b></p><p> disdata endp</p><p>
122、 adder proc near </p><p> lea si,cnt ;判斷學(xué)號(hào)是否已滿</p><p> mov al,[si]</p><p> cmp al,20 </p><p><b> jb adder5</b></p><p> lea dx,addstr2 &
123、lt;/p><p> mov ah,09h</p><p><b> int 21h</b></p><p> jmp adder6</p><p> adder5: lea dx,addstr1 </p><p> mov ah,09h</p><p><b&
124、gt; int 21h</b></p><p> lea dx,disname </p><p> mov ah,09h</p><p><b> int 21h</b></p><p><b> mov cl,19</b></p><p> lea
125、si,newname</p><p> adder1: mov ah,01h</p><p><b> int 21h</b></p><p> cmp al,0dh </p><p><b> je adder2</b></p><p> mov [si],al
126、</p><p><b> inc si</b></p><p> loop adder1</p><p> adder2: mov al,24h </p><p> mov [si],al</p><p> lea si,cnt ;計(jì)算目的地址的偏移量</p><
127、;p> mov bl,[si]</p><p><b> xor ax,ax</b></p><p><b> mov al,20</b></p><p><b> mul bl </b></p><p> lea si,newname </p>
128、<p> lea di,namelist</p><p><b> add di,ax</b></p><p><b> mov cx,20</b></p><p><b> cld</b></p><p><b> rep movsb</b
129、></p><p> lea dx,enter</p><p> mov ah,09h</p><p><b> int 21h</b></p><p> lea dx,disstud </p><p> mov ah,09h</p><p><b
130、> int 21h</b></p><p><b> mov cl,19</b></p><p> lea si,newstud</p><p> adder3: mov ah,01h</p><p><b> int 21h</b></p><p&g
131、t; cmp al,0dh </p><p><b> je adder4</b></p><p> mov [si],al</p><p><b> inc si</b></p><p> loop adder3</p><p> adder4: mov al
132、,24h </p><p> mov [si],al</p><p> lea si,cnt</p><p> mov bl,[si]</p><p><b> xor ax,ax</b></p><p><b> mov al,20</b></p>
133、<p><b> mul bl</b></p><p> lea si,newstud </p><p> lea di,studlist</p><p><b> add di,ax</b></p><p><b> mov cx,20</b></
134、p><p><b> cld</b></p><p> rep movsb </p><p> lea dx,enter</p><p> mov ah,09h</p><p><b> int 21h </b></p><p> lea d
135、x,disdorm </p><p> mov ah,09h</p><p><b> int 21h</b></p><p><b> mov cl,19</b></p><p> lea si,newdorm</p><p> adder7: mov ah,0
136、1h</p><p><b> int 21h</b></p><p> cmp al,0dh </p><p><b> je adder8</b></p><p> mov [si],al</p><p><b> inc si</b>&
137、lt;/p><p> loop adder7</p><p> adder8: mov al,24h </p><p> mov [si],al</p><p> lea si,cnt</p><p> mov bl,[si]</p><p><b> xor ax,ax&l
138、t;/b></p><p><b> mov al,20</b></p><p><b> mul bl</b></p><p> lea si,newdorm </p><p> lea di,dormlist</p><p><b> add d
139、i,ax</b></p><p><b> mov cx,20</b></p><p><b> cld</b></p><p> rep movsb </p><p> lea dx,enter</p><p> mov ah,09h</p>
140、;<p><b> int 21h </b></p><p> lea dx,distele </p><p> mov ah,09h</p><p><b> int 21h</b></p><p><b> mov cl,19</b></p
141、><p> lea si,newtele</p><p> adder9: mov ah,01h</p><p><b> int 21h</b></p><p> cmp al,0dh </p><p> je adder10</p><p> mov [si]
142、,al</p><p><b> inc si</b></p><p> loop adder9</p><p> adder10: mov al,24h </p><p> mov [si],al</p><p> lea si,cnt</p><p> m
143、ov bl,[si]</p><p><b> xor ax,ax</b></p><p><b> mov al,20</b></p><p><b> mul bl</b></p><p> lea si,newtele </p><p>
144、 lea di,telelist</p><p><b> add di,ax</b></p><p><b> mov cx,20</b></p><p><b> cld</b></p><p> rep movsb </p><p> l
145、ea dx,enter</p><p> mov ah,09h</p><p><b> int 21h </b></p><p> lea si,cnt ;計(jì)數(shù)器加1</p><p> mov al,[si]</p><p><b> inc al</b>&l
146、t;/p><p> mov [si],al </p><p> lea dx,addstr3 </p><p> mov ah,09h</p><p><b> int 21h </b></p><p> lea si,newname</p><p><b>
147、; mov cx,20</b></p><p><b> adder11:</b></p><p><b> mov al,0</b></p><p> mov [si],al</p><p><b> inc si</b></p><
148、p> loop adder11</p><p> lea si,newstud</p><p><b> mov cx,20</b></p><p><b> adder12:</b></p><p><b> mov al,0</b></p>&
149、lt;p> mov [si],al</p><p><b> inc si</b></p><p> loop adder12</p><p> lea si,newdorm</p><p><b> mov cx,20</b></p><p><b&g
150、t; adder13:</b></p><p><b> mov al,0</b></p><p> mov [si],al</p><p><b> inc si</b></p><p> loop adder13</p><p> lea si,n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)--通信錄管理系統(tǒng)設(shè)計(jì)
- 手機(jī)通信錄管理系統(tǒng)課程設(shè)計(jì)
- c課程設(shè)計(jì)---通信錄管理系統(tǒng)
- 個(gè)人通信錄管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--手機(jī)通信錄管理系統(tǒng)
- 手機(jī)通信錄管理系統(tǒng)課程設(shè)計(jì)2
- c語言課程設(shè)計(jì)--通信錄管理
- 課程設(shè)計(jì)論文---基于c++ 的通信錄管理系統(tǒng)
- c++課程設(shè)計(jì)--通信錄管理程序
- 【課程設(shè)計(jì)論文】基于c++ 的通信錄管理系統(tǒng)
- 班級(jí)通信錄管理系統(tǒng)的方案與實(shí)現(xiàn)匯編語言課程實(shí)習(xí)報(bào)告
- c語言課程設(shè)計(jì)--學(xué)生通信錄設(shè)計(jì)
- c++課程設(shè)計(jì)(凌世林組)通信錄管理程序
- c++通信錄設(shè)計(jì)
- 班級(jí)成績管理系統(tǒng)--通信工程課程設(shè)計(jì)
- 班級(jí)管理系統(tǒng)課程設(shè)計(jì)
- 個(gè)性通信錄畢業(yè)論文
- 課程設(shè)計(jì)-- 班級(jí)成績管理系統(tǒng)
- java課程設(shè)計(jì)(班級(jí)管理系統(tǒng))
- java課程設(shè)計(jì)(班級(jí)管理系統(tǒng))
評(píng)論
0/150
提交評(píng)論