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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  匯編程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告</p><p>  ( 2011 -- 2012 年度第 2 學(xué)期)</p><p><b>  題目</b></p><p><b>  目 錄</b></p><p>  1 概 述1</p><p>  1.

2、1 課程設(shè)計(jì)目的1</p><p>  1.2 課程設(shè)計(jì)內(nèi)容1</p><p>  2 系統(tǒng)需求分析1</p><p>  2.1 系統(tǒng)目標(biāo)1</p><p>  2.2 主體功能1</p><p>  2.3 開發(fā)環(huán)境1</p><p>  3 系統(tǒng)概要設(shè)計(jì)1</p>

3、<p>  3.1 系統(tǒng)總體分析規(guī)劃1</p><p>  3.2 系統(tǒng)流程圖1</p><p><b>  4系統(tǒng)詳細(xì)設(shè)計(jì)1</b></p><p><b>  附 錄3</b></p><p>  附錄1 源程序清單3</p><p>  學(xué)

4、生成績(jī)管理系統(tǒng)的設(shè)計(jì)</p><p>  1 概 述 </p><p>  1.1 課程設(shè)計(jì)目的</p><p>  本程序設(shè)計(jì)是在學(xué)完教學(xué)大綱規(guī)定的全部?jī)?nèi)容、完成所有實(shí)踐環(huán)節(jié)的基礎(chǔ)上,旨在深化學(xué)生學(xué)習(xí)的匯編語(yǔ)言課程基本知識(shí),進(jìn)一步掌握匯編語(yǔ)言程序設(shè)計(jì)方法,提高分析問(wèn)題、解決問(wèn)題的綜合應(yīng)用能力。</p><p>  1.2

5、 課程設(shè)計(jì)內(nèi)容</p><p>  課題:磁盤文件管理系統(tǒng) </p><p><b>  2 系統(tǒng)需求分析</b></p><p><b>  2.1 系統(tǒng)目標(biāo)</b></p><p>  通過(guò)在DOS中執(zhí)行該程序?qū)崿F(xiàn)對(duì)文件的相關(guān)操作。</p><p><b> 

6、 2.2 主體功能</b></p><p>  1.功能菜單的編制;</p><p>  2.可以創(chuàng)建新的文件;</p><p>  3.可以向文件中寫入內(nèi)容;</p><p>  4.可以讀取文件中內(nèi)容,并顯示在屏幕上;</p><p><b>  2.3 開發(fā)環(huán)境</b></

7、p><p>  在DOS環(huán)境中應(yīng)用TASM50實(shí)現(xiàn)</p><p><b>  3 系統(tǒng)概要設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)總體分析規(guī)劃</p><p>  根據(jù)要求:1.功能菜單的編制;</p><p>  2.可以創(chuàng)建新的文件;</p><p>  3.可以向

8、文件中寫入內(nèi)容;</p><p>  4.可以讀取文件中內(nèi)容,并顯示在屏幕上;</p><p><b>  大致分析如下:</b></p><p>  1.功能菜單的調(diào)出由子程序menu實(shí)現(xiàn)</p><p>  2.要求中的2、3、4三條要求皆在功能菜單中通過(guò)鍵入1、2、3、4選擇相應(yīng)的功能。</p>&l

9、t;p>  鍵入1表示創(chuàng)建新的文件,由子程序create實(shí)現(xiàn);</p><p>  鍵入2表示寫入內(nèi)容到文件,由子程序write實(shí)現(xiàn);</p><p>  鍵入3表示讀文件內(nèi)容并顯示,由子程序entry、read實(shí)現(xiàn);</p><p>  鍵入4表示退出,即退出當(dāng)前執(zhí)行內(nèi)容。</p><p>  (注:此處所提到的子程序與代碼中的定義相

10、同相同。)</p><p><b>  3.2 系統(tǒng)流程圖</b></p><p>  4系統(tǒng)詳細(xì)設(shè)計(jì)(功能實(shí)現(xiàn)及詳細(xì)分析)</p><p><b>  菜單功能的實(shí)現(xiàn)</b></p><p>  菜單功能由子程序me實(shí)現(xiàn),在me中僅是輸出menu,此功能運(yùn)用dos中的09h調(diào)用即可,而達(dá)成目標(biāo)的操

11、作則是在data中對(duì)menu進(jìn)行定義實(shí)現(xiàn)的。</p><p><b>  代碼如下:</b></p><p>  DATA SEGMENT</p><p>  MENU DB 0DH,0AH,'**************************',0DH,0AH</p><p>  DB '

12、;* MENU *',0DH,0AH</p><p>  DB '*------------------------*',0DH,0AH</p><p>  DB '* 1.CREATE FILE *',0DH,0AH</p><p>  DB '*

13、 2.WRITE TO FILE *',0DH,0AH</p><p>  DB '* 3.READ FILE *',0DH,0AH</p><p>  DB '* 4.QUIT *',0DH,0AH</p><p>  DB '*------------

14、------------*',0DH,0AH</p><p>  DB '* CHOICE(1-4) *',0DH,0AH</p><p>  DB '**************************',0DH,0AH,'$'</p><p><b>  2.創(chuàng)建文件的實(shí)

15、現(xiàn)</b></p><p>  創(chuàng)建文件由子程序create實(shí)現(xiàn),通過(guò)運(yùn)用dos中的3ch調(diào)用即可。</p><p>  由于相關(guān)文件的操作比較復(fù)雜,因此在相關(guān)方面有較多解釋,而相對(duì)輸入輸出比較簡(jiǎn)單,則不予敘述,以下文件打開、關(guān)閉、讀取、寫入皆如此。</p><p><b>  文件創(chuàng)建調(diào)用時(shí)</b></p><

16、p>  由ds:dx提供路徑以及文件名;</p><p>  Cf用來(lái)判定操作是否成功,cf=0時(shí),表示成功,cf=1時(shí)表示失?。?lt;/p><p>  操作成功則由ax存儲(chǔ)文件代號(hào),失敗則由ax存儲(chǔ)錯(cuò)誤代碼;</p><p>  Cx用來(lái)存放文件屬性,CX=0時(shí)表示為普通文件;</p><p>  文件屬性是用來(lái)表示“活動(dòng)”文件的代號(hào),

17、“活動(dòng)”文件可以理解為使用中文件。</p><p><b>  例如以下代碼:</b></p><p>  MOV AH 3CH</p><p>  LEA DX PATHNAME</p><p>  MOV CX 0</p><p>  INT 21H </p>

18、<p>  若PATHNAME以被定義為“D:\A\B.DAT”則表示將在D盤A文件夾中創(chuàng)建名為B.DAT的文件 </p><p>  3.寫入文件內(nèi)容的實(shí)現(xiàn)</p><p>  文件內(nèi)容的寫入由entry、write實(shí)現(xiàn)。</p><p>  其中子程序entry用于輸入想要寫入的語(yǔ)句;</p><p>  而將內(nèi)容寫如文件的是子

19、程序write,</p><p>  大致分為三步:打開文件,寫入內(nèi)容,關(guān)閉文件,</p><p><b>  文件的打開:</b></p><p>  文件的打開通過(guò)運(yùn)用dos中的3dh調(diào)用實(shí)現(xiàn),</p><p>  由ds:dx確定文件路徑級(jí)文件名,</p><p>  由cf判定是否成功,&

20、lt;/p><p>  Ax存放相應(yīng)的文件代號(hào)或錯(cuò)誤代碼,</p><p><b>  Al存放存取代碼,</b></p><p>  存取代碼用于表示打開方式,0表示可讀,1表示可寫,2表示可讀可寫,3表示退出。</p><p><b>  內(nèi)容的寫入:</b></p><p>

21、;  內(nèi)容的寫入通過(guò)運(yùn)用dos中的40h調(diào)用實(shí)現(xiàn), </p><p>  由ds:dx表示地址,</p><p><b>  Bx存放文件號(hào),</b></p><p>  Cx表示寫入的字節(jié)數(shù)。</p><p><b>  文件的關(guān)閉:</b></p><p>  文件的關(guān)閉

22、通過(guò)運(yùn)用dos中的3eh調(diào)用實(shí)現(xiàn),</p><p>  其余則與文件的打開類似。</p><p><b>  例如以下代碼:</b></p><p>  MOV AH 40H</p><p>  LEA DX BUFFER</p><p>  MOV BX HANDLE</p&g

23、t;<p>  MOV CX 60</p><p><b>  INT 21H</b></p><p>  則表示往當(dāng)前文件中寫入BUFFER中前60字節(jié)的內(nèi)容。</p><p><b>  4.文件的讀取</b></p><p>  文件的讀取由子程序read實(shí)現(xiàn)。</p

24、><p>  大致分為三步:打開文件,寫入內(nèi)容,關(guān)閉文件,</p><p>  由于打開與關(guān)閉以介紹,則只介紹讀取</p><p><b>  文件的讀取:</b></p><p>  文件的讀取通過(guò)運(yùn)用dos中的3fh調(diào)用實(shí)現(xiàn),</p><p>  有ds:dx表示存放地址,</p>

25、<p><b>  Bx表示文件號(hào),</b></p><p>  Cx表示讀取的字節(jié)數(shù),</p><p><b>  例如以下代碼: </b></p><p>  MOV AH 3FH</p><p>  LEA DX BUFFER</p><p>  M

26、OV BX HANDLE</p><p>  MOV CX 6O</p><p><b>  INT 21H</b></p><p>  則表示讀取當(dāng)前文件中的前60字節(jié)并存放到DUFFER中,</p><p>  而讀取內(nèi)容的顯示則由dos中的9h調(diào)用實(shí)現(xiàn)。</p><p><b

27、>  5.退出</b></p><p>  當(dāng)前程序的退出通過(guò)運(yùn)用dos中的4ch調(diào)用實(shí)現(xiàn)</p><p><b>  附 錄</b></p><p><b>  附錄1 源程序清單</b></p><p>  DATA SEGMENT</p><p>

28、;  MENU DB 0DH,0AH,'**************************',0DH,0AH</p><p>  DB '* MENU *',0DH,0AH</p><p>  DB '*------------------------*',0DH,0AH</p>&

29、lt;p>  DB '* 1.CREATE FILE *',0DH,0AH</p><p>  DB '* 2.WRITE TO FILE *',0DH,0AH</p><p>  DB '* 3.READ FILE *',0DH,0AH</p><p>

30、;  DB '* 4.QUIT *',0DH,0AH</p><p>  DB '*------------------------*',0DH,0AH</p><p>  DB '* CHOICE(1-4) *',0DH,0AH</p><p>  DB

31、'**************************',0DH,0AH,'$'</p><p>  PATHNAME DB 'D:\IBM PC.TXT',00</p><p>  HANDLE DW ?</p><p>  BUFFER1 DB 60,0,60 DUP (?)</p><

32、;p>  BUFFER2 DB 60,0,60 DUP (?)</p><p>  HUANHUANG DB '',0DH,0AH,'$'</p><p>  CHOSE DB 0DH,0AH,'PLEASE ENTERTHE DIGITAL FROM 1-4!',0DH,0AH,'$'</p>&l

33、t;p>  RNTERY DB 0DH,0AH,'ENTER WHAT YOU WANT TO WRITE TO THE FILE!',0DH,0AH,'$'</p><p>  STR_OK1 DB 0DH,0AH,'CREATE FILE SUCCESSFULLY!',0DH,0AH,'$'</p><p> 

34、 STR_OK2 DB 0DH,0AH,'WRITE TO FILE SUCCESSFULLLY!',0DH,0AH,'$'</p><p>  STR_OK3 DB 0DH,0AH,'READ FROM FILE SUCCESSFULLY!',0DH,0AH,'$'</p><p>  STR_ERROR1 DB

35、'CREATE FILE ERROR!$'</p><p>  STR_ERROR2 DB 'OPEN FILE ERROR!$'</p><p>  STR_ERROR3 DB 'WRITE TO FILE ERROR!$'</p><p>  STR_ERROR4 DB 'READ FILE ERRO

36、R!$'</p><p>  STR_ERROR5 DB 'EXIT FROM FILE ERROR!$'</p><p>  DATA ENDS</p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:DATA</p><p>  MAIN

37、PROC FAR</p><p><b>  START:</b></p><p>  MOV AX,DATA</p><p><b>  MOV DS,AX</b></p><p>  MOV AX,0600H</p><p><b>  CALL ME</

38、b></p><p>  CALL CHOICE</p><p><b>  RET</b></p><p><b>  MAIN ENDP</b></p><p>  ME PROC NEAR</p><p><b>  MOV AH,9</b>

39、</p><p>  LEA DX,MENU</p><p><b>  INT 21H</b></p><p><b>  ME ENDP</b></p><p>  CHOICE PROC NEAR</p><p><b>  MOV AH,1</b>

40、;</p><p><b>  INT 21H</b></p><p>  CMP AL,31H</p><p><b>  JE NEXT1</b></p><p>  CMP AL,32H</p><p><b>  JE NEXT2</b><

41、/p><p>  CMP AL,33H</p><p><b>  JE NEXT3</b></p><p>  CMP AL,34H</p><p><b>  JE NEXT4</b></p><p><b>  JMP BACK</b></p&g

42、t;<p><b>  NEXT1:</b></p><p>  CALL CREATE</p><p><b>  NEXT2:</b></p><p>  CALL ENTRY</p><p><b>  NEXT3:</b></p><p

43、><b>  MOV AH,9</b></p><p>  LEA DX,HUANHUANG</p><p><b>  INT 21H</b></p><p><b>  CALL READ</b></p><p><b>  NEXT4:</b>

44、</p><p>  MOV AX,4C00H</p><p><b>  INT 21H</b></p><p><b>  BACK:</b></p><p><b>  MOV AH,9</b></p><p>  LEA DX,CHOSE<

45、/p><p><b>  INT 21H</b></p><p><b>  CALL ME</b></p><p><b>  RET</b></p><p>  CHOICE ENDP</p><p>  CREATE PROC NEAR</p&g

46、t;<p>  MOV AH,3CH</p><p>  LEA DX,PATHNAME</p><p><b>  MOV CX,0</b></p><p><b>  INT 21H</b></p><p><b>  JC ERROR1</b></p&

47、gt;<p>  MOV HANDLE,AX</p><p>  JMP EXIT </p><p><b>  ERROR1:</b></p><p><b>  MOV AH,1</b></p><p>  LEA DX,STR_ERROR1</p><p&g

48、t;<b>  INT 21H</b></p><p><b>  JMP EXIT1</b></p><p><b>  EXIT:</b></p><p><b>  MOV AH,9</b></p><p>  LEA DX,STR_OK1</

49、p><p><b>  INT 21H</b></p><p><b>  EXIT1:</b></p><p>  CALL CHOICE</p><p>  CREATE ENDP</p><p>  ENTRY PROC NEAR</p><p>&

50、lt;b>  MOV AH,9</b></p><p>  LEA DX,RNTERY</p><p><b>  INT 21H</b></p><p>  LEA DX,BUFFER1</p><p>  MOV AH,0AH</p><p><b>  INT 2

51、1H</b></p><p><b>  SUB CH,CH</b></p><p>  MOV CL,BUFFER1+1</p><p><b>  ADD DX,2</b></p><p>  CALL WRITE</p><p><b>  RET

52、</b></p><p>  ENTRY ENDP</p><p>  WRITE PROC NEAR</p><p>  MOV AH,3DH</p><p>  LEA DX,PATHNAME</p><p><b>  MOV AL,1</b></p><p&

53、gt;<b>  INT 21H</b></p><p><b>  JC ERROR2</b></p><p>  MOV HANDLE,AX</p><p>  MOV AH,40H</p><p>  LEA DX,BUFFER1+2</p><p>  MOV BX,

54、HANDLE</p><p><b>  MOV CX,60</b></p><p><b>  INT 21H</b></p><p><b>  JC ERROR3</b></p><p>  MOV AH,3EH</p><p>  MOV BX,

55、HANDLE</p><p><b>  INT 21H</b></p><p><b>  JC ERROR4</b></p><p><b>  JMP BACK1</b></p><p><b>  ERROR2:</b></p>&l

56、t;p><b>  MOV AH,9</b></p><p>  LEA DX,STR_ERROR2</p><p><b>  INT 21H</b></p><p><b>  JMP EXIT2</b></p><p><b>  ERROR3:</

57、b></p><p><b>  MOV AH,9</b></p><p>  LEA DX,STR_ERROR4</p><p><b>  INT 21H</b></p><p><b>  JMP EXIT2</b></p><p><

58、b>  ERROR4:</b></p><p><b>  MOV AH,9</b></p><p>  LEA DX,STR_ERROR5</p><p><b>  INT 21H</b></p><p><b>  JMP EXIT2</b></p

59、><p><b>  BACK1:</b></p><p><b>  MOV AX,9</b></p><p>  LEA DX,STR_OK2</p><p><b>  INT 21H</b></p><p><b>  EXIT2:<

60、;/b></p><p>  CALL CHOICE</p><p>  WRITE ENDP</p><p>  READ PROC NEAR</p><p>  MOV AH,3DH</p><p>  LEA DX,PATHNAME</p><p><b>  MOV AL

61、,0</b></p><p><b>  INT 21H</b></p><p><b>  JC ERROR5</b></p><p>  MOV HANDLE,AX</p><p>  MOV AH,3FH</p><p>  LEA DX,BUFFER2&l

62、t;/p><p>  MOV BX,HANDLE</p><p><b>  MOV CX,60</b></p><p><b>  INT 21H</b></p><p><b>  JC ERROR6</b></p><p><b>  MOV

63、 AH,9</b></p><p>  LEA DX,BUFFER2</p><p><b>  INT 21H</b></p><p><b>  JC ERROR6</b></p><p>  MOV AH,3EH</p><p>  MOV BX,HANDL

64、E</p><p><b>  INT 21H</b></p><p><b>  JC ERROR7</b></p><p><b>  JMP BACK2</b></p><p><b>  ERROR5:</b></p><p&g

65、t;<b>  MOV AH,9</b></p><p>  LEA DX,STR_ERROR2</p><p><b>  INT 21H</b></p><p><b>  JMP EXIT3</b></p><p><b>  ERROR6:</b>

66、</p><p><b>  MOV AH,9</b></p><p>  LEA DX,STR_ERROR4</p><p><b>  INT 21H</b></p><p><b>  JMP EXIT3</b></p><p><b>

67、  ERROR7:</b></p><p><b>  MOV AX,9</b></p><p>  LEA DX,STR_ERROR5</p><p><b>  INT 21H</b></p><p><b>  JMP EXIT3</b></p>

68、<p><b>  BACK2:</b></p><p><b>  MOV AH,9</b></p><p>  LEA DX,STR_OK3</p><p><b>  INT 21H</b></p><p><b>  EXIT3:</b>

69、;</p><p>  CALL CHOICE</p><p><b>  READ ENDP</b></p><p><b>  CODE ENDS</b></p><p><b>  END START</b></p><p><b>  

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論