匯編語言課程設計---學生成績管理_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  第一章 設計課題概述</p><p>  1.1 課程設計目的</p><p>  當今社會是一個信息時代的社會,計算機的使用也是越來越普遍了,各行業(yè)在管理職員都采用了一些管理軟件,不管是銀行、學校,大大小小的各種企業(yè),都是使用的相應的 管理軟件管理企業(yè)的各種信息,我選擇的這個匯編語言課程設計題就是一個簡單學生信息管理程序,雖然只能處理一些簡單操作,但是其意義卻是非凡

2、,同過此課程設計,讓我了解了一些簡單的管理軟件的基本原理,更深刻的理解了匯編語言的特點,對匯編語言有了一個跟深層次的理解。</p><p>  利用匯編程序編寫一個小型學生成績管理程序,實現(xiàn)學生信息成績的插入、修改、顯示所有學生的各科成績,并且可根據(jù)輸入學生姓名插詢該生的各科成績,可統(tǒng)計所有成績個各分數(shù)段的人數(shù)。</p><p>  1.2設計內(nèi)容及要求</p><p&

3、gt;  設計一個學生管理程序,主要實現(xiàn)以下功能</p><p> ?。?)各科成績的錄入、修改、和刪除。</p><p> ?。?)按姓名查詢每個學生哥們成績。</p><p><b> ?。?)顯示查詢結(jié)果</b></p><p> ?。?)統(tǒng)計各分數(shù)段的成績的人數(shù)個分數(shù)段的人數(shù)。</p><p&

4、gt;  程序運行時,在出現(xiàn)的主菜單中,按l鍵,將瀏覽學生的各科成績;按i鍵后,將執(zhí)行插入功能,可以插入新的學生成績,按m鍵,鍵輸入需要修改的學生成績,也包括不修改的科目;按d鍵輸入要刪除的學生姓名,將使其成績?nèi)孔兂?;按q鍵輸入 查詢的學生的姓名,將其各科成績顯示出來;按下c鍵將按數(shù)學成績分段結(jié)果。</p><p><b>  第二章 總體設計</b></p><p&

5、gt;  2.1 總體設計思路</p><p>  (1)各科成績的錄入、修改、和刪除。</p><p> ?。?)按姓名查詢每個學生各科成績。</p><p><b>  (3)顯示查詢結(jié)果</b></p><p> ?。?)統(tǒng)計各分數(shù)段的成績的人數(shù)個分數(shù)段的人數(shù)。</p><p>  程序運行

6、時,在出現(xiàn)的主菜單中,按l鍵,將瀏覽學生的各科成績;按i鍵后將執(zhí)行插入功能,可以插入新的學生成績,按m鍵,鍵輸入需要修改的學生成績,也包括不修改的科目;按d鍵輸入要刪除的學生姓名,將使其成績?nèi)孔兂?;按q鍵輸入 查詢的學生的姓名,將其各科成績顯示出來;按下c鍵將按數(shù)學成績分段結(jié)果。</p><p>  2.2 各版塊功能描述</p><p><b>  main主程序模塊<

7、;/b></p><p>  用于對各種操作的調(diào)用,如插入、刪除、顯示所有學生的各科成績等。</p><p>  Insert子程序插入模塊</p><p>  用于實現(xiàn)對新增學生的插入,插入至學生文本中,使用時需要調(diào)用get_rec子程序?qū)崿F(xiàn)從鍵盤輸入一個學生的信息。</p><p>  get_rec子程序模塊</p>

8、<p>  主要被Insert子程序調(diào)用,用于從鍵盤輸入一個學生的信息</p><p>  query子程序模塊</p><p>  根據(jù)學生姓名查詢學生的各科成績,學生姓名由鍵盤輸入,再從文件中一次比較找出要查詢學生的信息。</p><p>  modify子程序模塊</p><p>  首先從鍵盤輸入要修改的學生信息,在從學生

9、文件中尋找要修改的學生姓名,并將要修改后的信息寫入文件。</p><p>  delete子程序模塊</p><p>  由用戶輸入要修改學生的姓名,從學生文件中找出要刪除的學生信息,將該學生的各項信息置為0,實現(xiàn)刪除的操作。</p><p><b>  list子程序模塊</b></p><p>  用于顯示學生文件中

10、所有學生的各科成績的信息,每次從文件讀取一個學生的信息并顯示。</p><p>  count子程序模塊</p><p>  用于對學生各科成績的各分數(shù)段的統(tǒng)計。</p><p><b>  第三章 詳細設計</b></p><p>  3.1 程序功能設計</p><p>  程序運行時,在出現(xiàn)

11、的主菜單中,按l鍵,將瀏覽學生的各科成績;按i鍵后,將執(zhí)行插入功能,可以插入新的學生成績,按m鍵,鍵輸入需要修改的學生成績,也包括不修改的科目;按d鍵輸入要刪除的學生姓名,將使其成績?nèi)孔兂?;按q鍵輸入 查詢的學生的姓名,將其各科成績顯示出來;按下c鍵將按數(shù)學成績分段結(jié)果。</p><p>  以上功能單獨運行可以實現(xiàn),(即在進入菜單后 選擇其中一項功能運行可以成功運行,在關(guān)閉后選擇另一項功能可以 成功運行),

12、但是在整體運行時得不到想要的結(jié)果。所以如果輸入有誤,按退格鍵后將會出錯,但是此程序沒有處理錯誤的功能,因此再輸入時要特別注意。</p><p>  注:此程序除了源程序外還需要一個學生文件,該程序命名為score.txt,該文件用于存放學生信息,在源程序中程序數(shù)據(jù)段中fname的值應與文件的存放位置一致。</p><p>  3.2各模塊程序詳細流程</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 ;當前字符一致則繼續(xù)比較下一個字符</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 查詢學生成績</p><p><b>  圖 4-3</b></p><p>  4.4 刪除學生成績</p><p><b>  圖 4-4-1</b></p><p><b>  圖 4-4-2</b>

135、;</p><p>  4.5 修改學生成績</p><p><b>  圖 4-5-1</b></p><p><b>  圖 4-5-2</b></p><p><b>  4.6輸出數(shù)學成績</b></p><p><b>  圖 4-6

136、</b></p><p><b>  第五章 總結(jié)</b></p><p>  通過對這學生成績管理的制作,使我對匯編語言的基本知識的使用更加熟練,同時也增加了我對匯編語言的一些認識,在作業(yè)完成過程中通過和同學的交流,也增加了合作的技巧。通過查閱資料也學到了一些課本上沒有的東西,拓寬了自己的知識面,增加了學好匯編語言的信心。 這不是第一次用匯編語言來設計一

137、個小程序,平時做了很多實驗,寫了很多小程序。但這次是一個綜合的程序,平時的很多程序都用到了。歷時兩周終于完成,其間有不少感觸。</p><p>  這次課程設計中有很多源程序的子程序的源代碼可以從資料中或獲得,但有很多都需要我們仔細琢磨才能明白其中的原理,同時程序中需要調(diào)用大量的BIOS和DOS系統(tǒng)功能調(diào)用,如顯示字符串的功能調(diào)用、光標設置的功能的調(diào)用、清屏的功能調(diào)用等,這些問題如不查詢資料就無法理解,因為上匯編

138、語言基礎時對這些DOS和BIOS的系統(tǒng)功能了解很少,所以我們需要查詢DOS和BIOS功能的系統(tǒng)調(diào)用的基本信息。還有在一些循環(huán)結(jié)構(gòu)設計上也有許多不能理解的地方,都需要加以深刻的理解才能將問題順利的解決,多整個程序的理解也有了更進一步的了解。有時候遇到自己查資料和不能理解的地方時,自己不能解決時,先找同學討論一下,會有意想不到的收獲,有些問題就會迎刃而解,有時也會遇到比較頑固的問題,大家冥思苦想,也找不出一個令人滿意的答案,但是通過詢問老師

139、,查閱更多的資料,問題也最終得到了解決。當這些問題得到解決時,心情是一種豁然開朗、柳暗花明又一村的曠達。</p><p>  這次課程設計的大部分程序,都可以在書上找到,這對我們的程序設計很有幫助,從這些資料中,我們可以看出這個學生管理程序的基本主干,修改某些地方就可以實現(xiàn)改程序的基本功能,不可否認,本程序仍然存在不少缺點和不足,但通過這次的課程設計找出了自己在學習上的不足,有些地方仍然還存在許多問題,但是我相信

140、通過努力,在以后的學習中會克服這些不足,達到熟練掌握匯編語言的目的!</p><p><b>  參考資料</b></p><p>  [1] 詹仕華. 匯編語言程序設計[M]. 北京: 中國電力出版社, 2008.2:73-102[2] 宋彩莉, 王禾. 匯編語言程序設計學習指導[M]

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論