版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 第一章 設(shè)計(jì)課題概述</p><p> 1.1 課程設(shè)計(jì)目的</p><p> 當(dāng)今社會是一個(gè)信息時(shí)代的社會,計(jì)算機(jī)的使用也是越來越普遍了,各行業(yè)在管理職員都采用了一些管理軟件,不管是銀行、學(xué)校,大大小小的各種企業(yè),都是使用的相應(yīng)的 管理軟件管理企業(yè)的各種信息,我選擇的這個(gè)匯編語言課程設(shè)計(jì)題就是一個(gè)簡單學(xué)生信息管理程序,雖然只能處理一些簡單操作,但是其意義卻是非凡
2、,同過此課程設(shè)計(jì),讓我了解了一些簡單的管理軟件的基本原理,更深刻的理解了匯編語言的特點(diǎn),對匯編語言有了一個(gè)跟深層次的理解。</p><p> 利用匯編程序編寫一個(gè)小型學(xué)生成績管理程序,實(shí)現(xiàn)學(xué)生信息成績的插入、修改、顯示所有學(xué)生的各科成績,并且可根據(jù)輸入學(xué)生姓名插詢該生的各科成績,可統(tǒng)計(jì)所有成績個(gè)各分?jǐn)?shù)段的人數(shù)。</p><p> 1.2設(shè)計(jì)內(nèi)容及要求</p><p&
3、gt; 設(shè)計(jì)一個(gè)學(xué)生管理程序,主要實(shí)現(xiàn)以下功能</p><p> ?。?)各科成績的錄入、修改、和刪除。</p><p> (2)按姓名查詢每個(gè)學(xué)生哥們成績。</p><p><b> ?。?)顯示查詢結(jié)果</b></p><p> (4)統(tǒng)計(jì)各分?jǐn)?shù)段的成績的人數(shù)個(gè)分?jǐn)?shù)段的人數(shù)。</p><p&
4、gt; 程序運(yùn)行時(shí),在出現(xiàn)的主菜單中,按l鍵,將瀏覽學(xué)生的各科成績;按i鍵后,將執(zhí)行插入功能,可以插入新的學(xué)生成績,按m鍵,鍵輸入需要修改的學(xué)生成績,也包括不修改的科目;按d鍵輸入要?jiǎng)h除的學(xué)生姓名,將使其成績?nèi)孔兂?;按q鍵輸入 查詢的學(xué)生的姓名,將其各科成績顯示出來;按下c鍵將按數(shù)學(xué)成績分段結(jié)果。</p><p><b> 第二章 總體設(shè)計(jì)</b></p><p&
5、gt; 2.1 總體設(shè)計(jì)思路</p><p> ?。?)各科成績的錄入、修改、和刪除。</p><p> (2)按姓名查詢每個(gè)學(xué)生各科成績。</p><p><b> ?。?)顯示查詢結(jié)果</b></p><p> ?。?)統(tǒng)計(jì)各分?jǐn)?shù)段的成績的人數(shù)個(gè)分?jǐn)?shù)段的人數(shù)。</p><p> 程序運(yùn)行
6、時(shí),在出現(xiàn)的主菜單中,按l鍵,將瀏覽學(xué)生的各科成績;按i鍵后將執(zhí)行插入功能,可以插入新的學(xué)生成績,按m鍵,鍵輸入需要修改的學(xué)生成績,也包括不修改的科目;按d鍵輸入要?jiǎng)h除的學(xué)生姓名,將使其成績?nèi)孔兂?;按q鍵輸入 查詢的學(xué)生的姓名,將其各科成績顯示出來;按下c鍵將按數(shù)學(xué)成績分段結(jié)果。</p><p> 2.2 各版塊功能描述</p><p><b> main主程序模塊<
7、;/b></p><p> 用于對各種操作的調(diào)用,如插入、刪除、顯示所有學(xué)生的各科成績等。</p><p> Insert子程序插入模塊</p><p> 用于實(shí)現(xiàn)對新增學(xué)生的插入,插入至學(xué)生文本中,使用時(shí)需要調(diào)用get_rec子程序?qū)崿F(xiàn)從鍵盤輸入一個(gè)學(xué)生的信息。</p><p> get_rec子程序模塊</p>
8、<p> 主要被Insert子程序調(diào)用,用于從鍵盤輸入一個(gè)學(xué)生的信息</p><p> query子程序模塊</p><p> 根據(jù)學(xué)生姓名查詢學(xué)生的各科成績,學(xué)生姓名由鍵盤輸入,再從文件中一次比較找出要查詢學(xué)生的信息。</p><p> modify子程序模塊</p><p> 首先從鍵盤輸入要修改的學(xué)生信息,在從學(xué)生
9、文件中尋找要修改的學(xué)生姓名,并將要修改后的信息寫入文件。</p><p> delete子程序模塊</p><p> 由用戶輸入要修改學(xué)生的姓名,從學(xué)生文件中找出要?jiǎng)h除的學(xué)生信息,將該學(xué)生的各項(xiàng)信息置為0,實(shí)現(xiàn)刪除的操作。</p><p><b> list子程序模塊</b></p><p> 用于顯示學(xué)生文件中
10、所有學(xué)生的各科成績的信息,每次從文件讀取一個(gè)學(xué)生的信息并顯示。</p><p> count子程序模塊</p><p> 用于對學(xué)生各科成績的各分?jǐn)?shù)段的統(tǒng)計(jì)。</p><p><b> 第三章 詳細(xì)設(shè)計(jì)</b></p><p> 3.1 程序功能設(shè)計(jì)</p><p> 程序運(yùn)行時(shí),在出現(xiàn)
11、的主菜單中,按l鍵,將瀏覽學(xué)生的各科成績;按i鍵后,將執(zhí)行插入功能,可以插入新的學(xué)生成績,按m鍵,鍵輸入需要修改的學(xué)生成績,也包括不修改的科目;按d鍵輸入要?jiǎng)h除的學(xué)生姓名,將使其成績?nèi)孔兂?;按q鍵輸入 查詢的學(xué)生的姓名,將其各科成績顯示出來;按下c鍵將按數(shù)學(xué)成績分段結(jié)果。</p><p> 以上功能單獨(dú)運(yùn)行可以實(shí)現(xiàn),(即在進(jìn)入菜單后 選擇其中一項(xiàng)功能運(yùn)行可以成功運(yùn)行,在關(guān)閉后選擇另一項(xiàng)功能可以 成功運(yùn)行),
12、但是在整體運(yùn)行時(shí)得不到想要的結(jié)果。所以如果輸入有誤,按退格鍵后將會出錯(cuò),但是此程序沒有處理錯(cuò)誤的功能,因此再輸入時(shí)要特別注意。</p><p> 注:此程序除了源程序外還需要一個(gè)學(xué)生文件,該程序命名為score.txt,該文件用于存放學(xué)生信息,在源程序中程序數(shù)據(jù)段中fname的值應(yīng)與文件的存放位置一致。</p><p> 3.2各模塊程序詳細(xì)流程</p><p>
13、; 3.3 源代碼及注釋</p><p> data segment</p><p> mess1 db ' student grade management system',0ah,0dh,'$'</p><p> mess2 db ' this is main menu',0a
14、h,0dh,'$'</p><p> mess3 db ' insert (i) name :',0ah,0dh,'$'</p><p> mess4 db ' modify (m) maths(a) :',0ah,0dh,'$'<
15、;/p><p> mess5 db ' delete (d) English(b) :',0ah,0dh,'$'</p><p> mess6 db ' query (q) computer(c) :',0ah,0dh,'$'</p><p>
16、mess7 db ' count (c) Chinese(d) :',0ah,0dh,'$’</p><p> mess8 db ' exit (e)’,0ah,0dh,'$'</p><p> mess9 db '*********************************
17、*************************$'</p><p> mess10 db '**********************************************************$'</p><p> mess11 db 'name Ma En Co Ch',0ah,0dh,
18、'$'</p><p> mess13 db ' list (l) please input:',0ah,0dh,'$'' '</p><p> mess12 db 'maths <60 <70 <80 <90 <100',0ah,0dh
19、,'$'</p><p> err1 db ' there is not this student$'</p><p> err2 db ' file close wrong$'</p><p> fname db "e:\masm5\score.txt"</p>
20、<p> buffer1 db 23 dup(?)</p><p> buffeer db 0ah,0dh,'$'</p><p> buffer2 db 30 dup(?)</p><p> buffer3 db 8 dup('0')</p><p> count db 5</
21、p><p> handle dw ?</p><p> del db 8 dup('0')</p><p> x db ?</p><p><b> data ends</b></p><p> show macro addrs <
22、;/p><p> lea dx,addrs </p><p> mov ah,9 </p><p><b> int 21h</b></p><p><b> endm</b></p><p> set_p1 macro a</p>
23、<p><b> mov ah,2 </b></p><p><b> mov dh,a </b></p><p><b> mov dl,36</b></p><p><b> mov bh,0 </b></p><p><b&g
24、t; int 10h</b></p><p><b> endm</b></p><p> set_p2 macro </p><p> mov ah,2 </p><p><b> mov dh,12</b></p><p><b>
25、mov dl,2</b></p><p><b> mov bh,0</b></p><p><b> int 10h</b></p><p><b> endm</b></p><p> set_p3 macro </p><p>
26、;<b> mov ah,2 </b></p><p> mov dh,1 </p><p><b> mov dl,30</b></p><p><b> mov bh,0</b></p><p> int 10h </p>&l
27、t;p><b> endm</b></p><p> clear macro</p><p><b> mov al,0</b></p><p><b> mov cl,0</b></p><p> mov ch,0 </p><p
28、><b> mov dh,24</b></p><p><b> mov dl,79</b></p><p> mov bh,7 </p><p><b> mov ah,6</b></p><p> int 10h </p>&
29、lt;p><b> endm</b></p><p> clear1 macro </p><p><b> mov al,0</b></p><p> mov bh,7 </p><p><b> mov ch,4</b></p><
30、p><b> mov cl,36</b></p><p> mov dh,10 </p><p><b> mov dl,79</b></p><p><b> mov ah,6</b></p><p><b> int 10h<
31、/b></p><p><b> endm</b></p><p> clear2 macro </p><p><b> mov al,0</b></p><p> mov bh,7 </p><p><b> mov ch,12</
32、b></p><p><b> mov cl,0</b></p><p><b> mov dh,24</b></p><p><b> mov dl,79</b></p><p><b> mov ah,7</b></p>&
33、lt;p> int 10h; </p><p><b> endm </b></p><p> newline macro </p><p><b> push ax</b></p><p><b> push dx</b></p>
34、<p> mov dl,0dh</p><p> mov ah,2 </p><p><b> int 21h</b></p><p> mov dl,0ah </p><p><b> mov ah,2</b></p>
35、<p><b> int 21h</b></p><p><b> pop dx</b></p><p><b> pop ax</b></p><p><b> endm </b></p><p> show_item macro a
36、ddrs </p><p> local iloop,w10</p><p><b> push bx</b></p><p><b> push cx</b></p><p><b> mov bx,0</b></p><p> iloop:
37、 mov dl,addrs[bx] </p><p> mov ah,2 </p><p><b> int 21h</b></p><p><b> inc bx</b></p><p> cmp bx,15 </p><p&g
38、t;<b> jl iloop</b></p><p><b> mov cx,4</b></p><p> w10: mov dl,' '</p><p><b> mov ah,2</b></p><p><b> int 21h
39、</b></p><p> mov dl,' '</p><p> mov ah,2 </p><p><b> int 21h</b></p><p> mov dl,' '</p><p><b> m
40、ov ah,2</b></p><p><b> int 21h</b></p><p> mov dl,addrs[bx]</p><p> mov ah,2 </p><p><b> int 21h</b></p><p>&
41、lt;b> inc bx</b></p><p> mov dl,addrs[bx]</p><p> mov ah,2 </p><p><b> int 21h</b></p><p><b> inc bx</b></p><
42、;p><b> loop w10</b></p><p><b> newline</b></p><p><b> pop cx</b></p><p><b> pop bx</b></p><p><b> endm &l
43、t;/b></p><p> getin macro addrs,count2 </p><p> local zeroit,lp,input_end,exit</p><p><b> push bx</b></p><p><b> push ax</b>&l
44、t;/p><p><b> mov bx,0</b></p><p> zeroit: mov addrs[bx],' '</p><p><b> inc bx</b></p><p><b> cmp bx,15</b></p><p
45、> jl zeroit</p><p><b> mov bx,0</b></p><p> lp: mov ah,1 </p><p><b> int 21h</b></p><p> cmp al,0ah</p><p> jz
46、 input_end</p><p> cmp al,0dh </p><p> jz input_end</p><p> mov addrs[bx],al</p><p><b> inc bx</b></p><p> cmp bx,count2 &l
47、t;/p><p><b> jl lp</b></p><p> input_end: cmp al,0dh </p><p> jz exit </p><p> cmp al,0ah</p><p><b> jz exit</b&
48、gt;</p><p> mov ah,7 </p><p><b> int 21h</b></p><p> jmp input_end</p><p><b> exit: </b></p><p><b> pop ax</b&
49、gt;</p><p><b> pop bx</b></p><p><b> endm</b></p><p> code segment</p><p> main proc far </p><p> assume cs:code,ds:data,es:da
50、ta</p><p> start: mov ax,data</p><p><b> mov ds,ax</b></p><p> mov ah,0 </p><p> mov al,3 </p><p><b> int 10h</b></p&
51、gt;<p> clear </p><p> show mess1</p><p> show mess2</p><p><b> newline</b></p><p> show mess13</p><p> show mess3</p>
52、<p> show mess4</p><p> show mess5 </p><p> show mess6</p><p> show mess7</p><p> show mess8</p><p> show mess9</p>
53、<p> show mess10</p><p> set_p3 </p><p> w: mov ah,7</p><p><b> int 21h</b></p><p> cmp al,'i' </p><p> jn
54、z n1 </p><p> call insert </p><p><b> jmp w</b></p><p> n1: cmp al,'m'</p><p><b> jnz n2</b></p><p&
55、gt; call modify</p><p><b> jmp w</b></p><p> n2: cmp al,'d'</p><p><b> jnz n3</b></p><p> call delete </p><p&g
56、t;<b> jmp w</b></p><p> n3: cmp al,'q'</p><p><b> jnz n4</b></p><p> call query</p><p><b> jmp w</b></p>&l
57、t;p> n4: cmp al,'c'</p><p><b> jnz n6</b></p><p> call coun </p><p><b> jmp w</b></p><p> n6: cmp al,'l'&
58、lt;/p><p><b> jnz n7</b></p><p><b> call list</b></p><p><b> jmp w</b></p><p> n7: cmp al,'e' </p><p
59、><b> jz exitf</b></p><p><b> jmp w</b></p><p><b> exitf:</b></p><p> mov ah,4ch </p><p><b> int 21h</b>&
60、lt;/p><p><b> ret</b></p><p><b> main endp</b></p><p> insert proc near </p><p><b> push ax</b></p><p><b>
61、push bx</b></p><p><b> push cx</b></p><p><b> push dx</b></p><p> mov dx,offset fname </p><p><b> mov al,2</b></p&g
62、t;<p> mov ah,3dh </p><p><b> int 21h</b></p><p><b> mov bx,ax</b></p><p><b> clear1</b></p><p><b> s
63、et_p1 4</b></p><p> call get_rec</p><p> mov cx,0 </p><p><b> mov dx,0</b></p><p><b> mov al,2</b></p><p> mov
64、 ah,42h</p><p><b> int 21h</b></p><p> mov cx,23 </p><p> mov dx,offset buffer1</p><p> mov ah,40h </p><p><b> int 21h
65、</b></p><p> mov ah,3eh </p><p><b> int 21h</b></p><p><b> set_p3</b></p><p><b> pop dx</b></p><p&g
66、t;<b> pop cx</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> insert endp</p><
67、p> get_rec proc near </p><p><b> push ax</b></p><p><b> push bx</b></p><p> getin buffer2,15 </p><p><b> mov bx,0</b>
68、;</p><p> mov cx,15</p><p> continue: mov al,buffer2[bx];</p><p> mov buffer1[bx],al ; </p><p> inc bx ;</p><p> loop
69、 continue</p><p> set_p1 5 </p><p> getin buffer2,2 </p><p> mov al,buffer2</p><p> mov buffer1[bx],al </p><p><b> inc
70、bx</b></p><p> mov al,buffer2+1</p><p> mov buffer1[bx],al </p><p><b> inc bx</b></p><p> set_p1 6 </p><p> ge
71、tin buffer2,2 </p><p> mov al,buffer2</p><p> mov buffer1[bx],al </p><p><b> inc bx</b></p><p> mov al,buffer2+1</p><p> mov buffe
72、r1[bx],al </p><p><b> inc bx</b></p><p> set_p1 7 </p><p> getin buffer2,2 </p><p> mov al,buffer2</p><p> mov buffer1
73、[bx],al </p><p><b> inc bx</b></p><p> mov al,buffer2+1</p><p> mov buffer1[bx],al </p><p><b> inc bx</b></p><p> set_p
74、1 8 </p><p> getin buffer2,2 </p><p> mov al,buffer2</p><p> mov buffer1[bx],al </p><p><b> inc bx</b></p><p> mov al,buff
75、er2+1</p><p> mov buffer1[bx],al </p><p><b> inc bx</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><
76、;b> ret</b></p><p> get_rec endp</p><p> query proc near </p><p><b> push ax</b></p><p> push bx </p><p> push cx
77、 </p><p><b> push dx</b></p><p><b> clear1</b></p><p><b> clear2</b></p><p> mov dx,offset fname</p><p>&
78、lt;b> mov al,2</b></p><p> mov ah,3dh </p><p><b> int 21h</b></p><p><b> mov bx,ax</b></p><p><b> set_p
79、2</b></p><p> getin buffer1,15 </p><p> b: mov ah,3fh </p><p><b> mov cx,23</b></p><p> mov dx,offset buffer2</p><p><b>
80、int 21h</b></p><p> cmp ax,0 </p><p> jz s1 </p><p> lea si,buffer2</p><p> lea di,buffer1</p><p> mov cx,15 </p><p>
81、;<b> c: </b></p><p> mov al,byte ptr[si] </p><p> cmp al,byte ptr[di]</p><p> jnz b </p><p> inc si ;當(dāng)前字符一致則繼續(xù)比較下一個(gè)字符</p><p>&l
82、t;b> inc di</b></p><p><b> loop c</b></p><p> mov [buffer2+23],'$'</p><p> lea dx,mess11 </p><p> mov ah,9 ;調(diào)用DOS的9號功能顯
83、示字符串</p><p><b> int 21h</b></p><p> show_item buffer2 </p><p> jmp s2 </p><p> s1: set_p2 </p><p&
84、gt; show err1 </p><p> s2: mov ah,3eh </p><p><b> int 21h</b></p><p> set_p3 </p><p><b> pop dx </b></p>
85、;<p><b> pop cx</b></p><p> pop bx </p><p><b> pop ax</b></p><p><b> ret</b></p><p> query endp</p>
86、<p> modify proc near </p><p><b> push ax</b></p><p><b> push bx</b></p><p> push cx </p><p><b> push dx</b>&
87、lt;/p><p><b> clear1</b></p><p> set_p1 4 </p><p> mov dx,offset fname </p><p> mov al,2 </p><p> mov ah,3dh </p&g
88、t;<p><b> int 21h</b></p><p><b> mov bx,ax</b></p><p> mov handle,ax</p><p> call get_rec </p><p><b> read: </b>
89、;</p><p> mov dx,offset buffer2 </p><p> mov cx,23 </p><p> mov ah,3fh </p><p><b> int 21h</b></p><p> cmp ax,0
90、 </p><p> jz exit1 </p><p> lea si,buffer2</p><p> lea di,buffer1</p><p><b> mov cx,15</b></p><p><b> c5: </b><
91、;/p><p> mov dl,byte ptr[si] </p><p> cmp dl,byte ptr[di] </p><p> jnz read </p><p> inc si </p><p><b> inc di</b></p>
92、<p><b> loop c5</b></p><p> mov bx,handle</p><p> mov ah,42h </p><p><b> mov al,1</b></p><p> mov cx,0ffffh</p><
93、p> mov dx,-23</p><p><b> int 21h</b></p><p><b> mov cx,23</b></p><p> mov dx,offset buffer1</p><p> mov ah,40h </p>
94、;<p><b> int 21h</b></p><p><b> jmp exit2</b></p><p> exit1: clear2</p><p><b> set_p2</b></p><p> show err1 </p>
95、;<p> exit2:mov ah,3eh </p><p><b> int 21h</b></p><p><b> set_p3 </b></p><p><b> pop dx</b></p><p><b> p
96、op cx</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> modify endp</p><p> delete
97、proc near </p><p><b> push ax</b></p><p><b> push bx</b></p><p><b> push cx</b></p><p><b> push dx</b></p>&l
98、t;p><b> clear1</b></p><p><b> set_p1 4</b></p><p> mov dx,offset fname </p><p><b> mov al,2</b></p><p> mov ah,3dh
99、 </p><p><b> int 21h</b></p><p><b> mov bx,ax</b></p><p> mov handle,ax </p><p> getin buffer1,15 </p><p><b
100、> read5: </b></p><p> mov dx,offset buffer2 </p><p> mov cx,23 </p><p> mov ah,3fh </p><p> int 21h <
101、/p><p> cmp ax,0 </p><p> jz exit5 </p><p> lea si,buffer2</p><p> lea di,buffer1</p><p><b> mov cx,15</b></p><p>
102、<b> c6: </b></p><p> mov dl,byte ptr[si] </p><p> cmp dl,byte ptr[di] </p><p><b> jnz read5</b></p><p><b> inc si</b></
103、p><p><b> inc di</b></p><p><b> loop c6</b></p><p> mov bx,handle</p><p> mov ah,42h </p><p><b> mov al,1</b>&
104、lt;/p><p> mov cx,0ffffh</p><p><b> mov dx,-8</b></p><p><b> int 21h</b></p><p><b> mov cx,8</b></p><p> mov dx,offse
105、t del</p><p> mov ah,40h </p><p><b> int 21h</b></p><p><b> jmp exit6</b></p><p> exit5: clear2</p><p> set_p2 </p>
106、<p> show err1 </p><p><b> exit6: </b></p><p> mov ah,3eh </p><p><b> int 21h</b></p><p><b> set_p3 </b></p>
107、<p><b> pop dx</b></p><p><b> pop cx</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret<
108、;/b></p><p> delete endp</p><p> list proc near </p><p><b> push ax</b></p><p><b> push bx</b></p><p><b> push c
109、x</b></p><p><b> push dx</b></p><p> clear1 </p><p><b> clear2</b></p><p><b> set_p2</b></p><p> show m
110、ess11</p><p> mov dx,offset fname</p><p><b> mov al,2</b></p><p> mov ah,3dh </p><p><b> int 21h</b></p><p>
111、<b> mov bx,ax</b></p><p><b> again: </b></p><p> mov dx,offset buffer1 </p><p><b> mov cx,23</b></p><p> mov ah,3fh
112、 </p><p><b> int 21h</b></p><p> cmp ax,0 </p><p><b> jz p</b></p><p> show_item buffer1 </p><p><b> jmp aga
113、in</b></p><p> p: </p><p> mov ah,3eh </p><p><b> int 21h</b></p><p><b> set_p3</b></p><p><b> pop dx&l
114、t;/b></p><p><b> pop cx</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p>&l
115、t;b> list endp</b></p><p> coun proc near </p><p><b> push ax</b></p><p><b> clear2</b></p><p><b> set_p2</b></p
116、><p> show mess12 </p><p> mov dx,offset fname </p><p> mov ah,3dh</p><p><b> int 21h</b></p><p><b> mov bx,ax</b></p><
117、;p> mov handle,ax</p><p> mov si,15 </p><p> mov [buffer3+6],’a’</p><p> c3:call number</p><p><b> mov cx,0</b></p><p><b> mov d
118、x,0</b></p><p> mov al,0 </p><p> mov ah,42h</p><p><b> int 21h</b></p><p><b> add si,2</b></p><p> cmp si,23
119、 </p><p><b> jl c3</b></p><p> mov bx,handle “</p><p> mov ah,3eh </p><p><b> int 21h </b></p><p><b> set_p3</
120、b></p><p><b> pop ax</b></p><p><b> ret</b></p><p><b> coun endp</b></p><p> number proc</p><p><b> push
121、bx</b></p><p><b> push cx</b></p><p> read0: mov dx,offset buffer2</p><p> mov cx,23 </p><p> mov ah,3fh </p><p>&
122、lt;b> int 21h</b></p><p> cmp ax,0 </p><p> jz c1 </p><p> mov dl,[buffer2+si]</p><p> cmp dl,'6' </p><p> jl five
123、 </p><p> cmp dl,'7' </p><p> jl six </p><p> cmp dl,'8' </p><p> jl seven </p><p> cmp dl,'9' </p>&
124、lt;p> jl eight </p><p> inc [buffer3+4] </p><p><b> jmp read0</b></p><p><b> eight: </b></p><p> inc [buffer3+3] </p><p&
125、gt;<b> jmp read0</b></p><p> seven: inc [buffer3+2]</p><p><b> jmp read0</b></p><p> six: inc [buffer3+1] </p><p><b> jmp read0<
126、/b></p><p> five: inc [buffer3] </p><p><b> jmp read0</b></p><p> c1: mov cx,8</p><p> a: mov dl,' ' </p><p> mov ah,
127、2 </p><p><b> int 21h</b></p><p><b> loop a </b></p><p> mov dl,[buffer3+6]</p><p> mov ah,2 </p><p><
128、;b> int 21h</b></p><p> mov dl,’:’</p><p><b> mov ah,2</b></p><p><b> int 21h</b></p><p> mov bx,0 </p><p
129、> a0: mov dl,[buffer3+bx] </p><p> mov ah,2 </p><p><b> int 21h </b></p><p> mov [buffer3+bx],'0' </p><p><b> inc b
130、x </b></p><p> mov cx,4 </p><p> c2: mov dl,' ' </p><p> mov ah,2 </p><p><b> int 21h</b></p><p><b> loop c2
131、</b></p><p> cmp bx,5 </p><p> jnz a0 </p><p> newline </p><p><b> pop cx</b></p><p><b> pop bx<
132、/b></p><p><b> ret </b></p><p> number endp</p><p><b> code ends</b></p><p><b> end start</b></p><p> 第四章 調(diào)試過程及
133、結(jié)果</p><p> 4.1 顯示所有成績</p><p><b> 圖 4-1</b></p><p><b> 4.2 插入成績</b></p><p><b> 圖 4-2-1</b></p><p><b> 圖 4-2-2
134、</b></p><p> 4.3 查詢學(xué)生成績</p><p><b> 圖 4-3</b></p><p> 4.4 刪除學(xué)生成績</p><p><b> 圖 4-4-1</b></p><p><b> 圖 4-4-2</b>
135、;</p><p> 4.5 修改學(xué)生成績</p><p><b> 圖 4-5-1</b></p><p><b> 圖 4-5-2</b></p><p><b> 4.6輸出數(shù)學(xué)成績</b></p><p><b> 圖 4-6
136、</b></p><p><b> 第五章 總結(jié)</b></p><p> 通過對這學(xué)生成績管理的制作,使我對匯編語言的基本知識的使用更加熟練,同時(shí)也增加了我對匯編語言的一些認(rèn)識,在作業(yè)完成過程中通過和同學(xué)的交流,也增加了合作的技巧。通過查閱資料也學(xué)到了一些課本上沒有的東西,拓寬了自己的知識面,增加了學(xué)好匯編語言的信心。 這不是第一次用匯編語言來設(shè)計(jì)一
137、個(gè)小程序,平時(shí)做了很多實(shí)驗(yàn),寫了很多小程序。但這次是一個(gè)綜合的程序,平時(shí)的很多程序都用到了。歷時(shí)兩周終于完成,其間有不少感觸。</p><p> 這次課程設(shè)計(jì)中有很多源程序的子程序的源代碼可以從資料中或獲得,但有很多都需要我們仔細(xì)琢磨才能明白其中的原理,同時(shí)程序中需要調(diào)用大量的BIOS和DOS系統(tǒng)功能調(diào)用,如顯示字符串的功能調(diào)用、光標(biāo)設(shè)置的功能的調(diào)用、清屏的功能調(diào)用等,這些問題如不查詢資料就無法理解,因?yàn)樯蠀R編
138、語言基礎(chǔ)時(shí)對這些DOS和BIOS的系統(tǒng)功能了解很少,所以我們需要查詢DOS和BIOS功能的系統(tǒng)調(diào)用的基本信息。還有在一些循環(huán)結(jié)構(gòu)設(shè)計(jì)上也有許多不能理解的地方,都需要加以深刻的理解才能將問題順利的解決,多整個(gè)程序的理解也有了更進(jìn)一步的了解。有時(shí)候遇到自己查資料和不能理解的地方時(shí),自己不能解決時(shí),先找同學(xué)討論一下,會有意想不到的收獲,有些問題就會迎刃而解,有時(shí)也會遇到比較頑固的問題,大家冥思苦想,也找不出一個(gè)令人滿意的答案,但是通過詢問老師
139、,查閱更多的資料,問題也最終得到了解決。當(dāng)這些問題得到解決時(shí),心情是一種豁然開朗、柳暗花明又一村的曠達(dá)。</p><p> 這次課程設(shè)計(jì)的大部分程序,都可以在書上找到,這對我們的程序設(shè)計(jì)很有幫助,從這些資料中,我們可以看出這個(gè)學(xué)生管理程序的基本主干,修改某些地方就可以實(shí)現(xiàn)改程序的基本功能,不可否認(rèn),本程序仍然存在不少缺點(diǎn)和不足,但通過這次的課程設(shè)計(jì)找出了自己在學(xué)習(xí)上的不足,有些地方仍然還存在許多問題,但是我相信
140、通過努力,在以后的學(xué)習(xí)中會克服這些不足,達(dá)到熟練掌握匯編語言的目的!</p><p><b> 參考資料</b></p><p> [1] 詹仕華. 匯編語言程序設(shè)計(jì)[M]. 北京: 中國電力出版社, 2008.2:73-102[2] 宋彩莉, 王禾. 匯編語言程序設(shè)計(jì)學(xué)習(xí)指導(dǎo)[M]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 匯編語言課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)的設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)匯編語言
- 計(jì)算機(jī)組成原理與匯編語言課程設(shè)計(jì)(學(xué)生成績管理)
- 匯編課程設(shè)計(jì)---學(xué)生成績管理
- 學(xué)生成績管理匯編課程設(shè)計(jì)
- 匯編語言課程設(shè)計(jì)-- 計(jì)算比賽成績系統(tǒng)
- 匯編語言課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--學(xué)生成績管理
- 匯編語言課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--- 學(xué)生成績管理
- 匯編語言課程設(shè)計(jì)磁盤文件管理
- 匯編語言課程設(shè)計(jì)報(bào)告
- c語言課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)----學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生成績統(tǒng)計(jì)管理
評論
0/150
提交評論