2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論