匯編語言課程設(shè)計(jì)-_第1頁
匯編語言課程設(shè)計(jì)-_第2頁
匯編語言課程設(shè)計(jì)-_第3頁
匯編語言課程設(shè)計(jì)-_第4頁
匯編語言課程設(shè)計(jì)-_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、用匯編語言編輯文件管理器1、課程設(shè)計(jì)目的了解微機(jī)基礎(chǔ)知識(shí),尋址方式,8086/8088指令系統(tǒng),80x86、Pentium增強(qiáng)和擴(kuò)展指令,程序設(shè)計(jì)方法,高級(jí)匯編技術(shù),系統(tǒng)功能調(diào)用和模塊化程序設(shè)計(jì)的技術(shù)以及上機(jī)操作方法。掌握匯編語言的中斷調(diào)用功能的應(yīng)用,可以用匯編語言調(diào)用各種中斷調(diào)用功能,并由此實(shí)現(xiàn)對(duì)硬件的控制等。掌握匯編語言程序格式、循環(huán)與分支程序設(shè)計(jì)、子程序設(shè)計(jì)、宏匯編。掌握模塊化程序設(shè)計(jì)。掌握屏幕輸出顯示的設(shè)計(jì)方法。培養(yǎng)動(dòng)手能力。在我們的生活當(dāng)中,經(jīng)常回用到各種各樣的文件,會(huì)對(duì)文件進(jìn)行各種各樣的操作,當(dāng)然WINDOWS XP包含的文件管理器能實(shí)現(xiàn)對(duì)文件進(jìn)行各種操作。以前VB的課程設(shè)計(jì),我曾

2、經(jīng)做過一個(gè)小型的文本管理器,對(duì)文件管理器的數(shù)據(jù)結(jié)構(gòu)比較熟悉,所以此次用匯編語言再次做一個(gè)文件管理器的小程序。設(shè)計(jì)的文件管理器,主要實(shí)現(xiàn)的功能有創(chuàng)建文件、讀文件、寫入文件、刪除文件、文件的重命名、移動(dòng)文件和復(fù)制文件。2.設(shè)計(jì)方案論證2.1開發(fā)環(huán)境(1硬件:IBM-PC及其系列機(jī)(2軟件:編緝程序:TE編緝程序內(nèi)存1G 匯編程序:MASM.EXE外存:120G硬盤連接程序:LINK.EXECPU:奔騰4 調(diào)試程序:DEBUG.EXE用MASM來開發(fā)程序的步驟為:(1用TE編輯源程序,輸入源程序清單。(2利用宏匯編程序MASM對(duì)源程序進(jìn)行匯編。(3用連接程序LINK對(duì)匯編后生成的OBJ文件進(jìn)行連接,

3、生成EXE文件。(4用DEBUG分布執(zhí)行程序來檢查錯(cuò)誤。(5在DOS下執(zhí)行EXE文件。2.2總體設(shè)計(jì)功能(1執(zhí)行EXE文件后,屏幕上出現(xiàn)了幾行提示字符,選擇要執(zhí)行的功能。(2選擇1后,執(zhí)行創(chuàng)建文件的功能,此時(shí)屏幕提示輸入文件的存儲(chǔ)路徑以及文件名和文件的擴(kuò)展名,創(chuàng)建成功后,屏幕提示SUCCESS,回主菜單。(3選擇2后,屏幕提示輸入要讀的文件的文件名以及其目錄,正確輸入后,屏幕出現(xiàn)讀文件的提示和文件的內(nèi)容,回到主菜單。(4選擇3后,屏幕提示先輸入要寫入文件的文件名及路徑,然后提示輸入要寫入文件的內(nèi)容,成功后返回主菜單。(5選擇4后,屏幕提示輸入要?jiǎng)h除的文件的路徑以及文件名,成功后屏幕提示文件已經(jīng)

4、刪除,然后回到主菜單。(6選擇5后,屏幕提示輸入文件的路徑以及文件名,然后輸入文件的新名字以及擴(kuò)展名,然后回到主菜單。(7選擇6后,屏幕提示輸入要移動(dòng)文件的路徑以及文件名,然后輸入文件的目的地址的路徑以及文件名,然后回到主菜單。(8選擇7后,屏幕提示輸入要復(fù)制文件的路徑以及文件名,然后輸入文件的目的地址的路徑以及文件名,然后回到主菜單。(9選擇8后,退出程序。2.3詳細(xì)設(shè)計(jì)功能主程序功能是顯示功能菜單以及選擇程序的功能。通過對(duì)程序的運(yùn)行,按步驟選擇功能序號(hào),實(shí)現(xiàn)對(duì)功能的操作。設(shè)計(jì)中需要按步驟去操作程序,通過主程序的操作,實(shí)現(xiàn)子程序的功能。主程序功能流程圖如圖1。圖1主程序功能流程圖開始選擇程序

5、功能18創(chuàng)建文件讀文件 寫文件刪除文件文件重命名移動(dòng)文件 復(fù)制文件選擇功能17退出否是完成創(chuàng)建文件的操作,子程序DELETE 完成的是刪除文件的操作。按照操作步驟,實(shí)現(xiàn)對(duì)文件的創(chuàng)建和刪除的功能,需要仔細(xì)的進(jìn)行功能實(shí)現(xiàn)刪除和創(chuàng)建。下面是創(chuàng)建文件的流程圖,如圖2所示:圖2子程序CREATE 完成創(chuàng)建文件流程圖開始顯示菜單輸入文件名創(chuàng)建文件創(chuàng)建成功回主菜單失敗提示成功提示是否選擇1完成讀文件的功能,子程序WRITE 完成向文件中寫內(nèi)容的功能。通過子程序的操作實(shí)現(xiàn)對(duì)文件的閱讀,通過對(duì)文件的讀出,對(duì)文件進(jìn)行閱讀。下面是WRITE 的流程圖,如圖3所示:圖3子程序READ 完成讀文件流程圖(4子程序MOV

6、E 實(shí)現(xiàn)文件的移動(dòng)功能,子程序COPY 實(shí)現(xiàn)文件的復(fù)制功能,下面是開始顯示菜單調(diào)用INSERT ,輸入文件名字查找文件查找成功回主菜單寫入失敗取出原有字符是否調(diào)用CUOWU 子程序?qū)懭胄伦址?選擇3COPY 的流程圖,如圖4所示:圖4子程序MOVE 實(shí)現(xiàn)文件的移動(dòng)流程圖開始顯示菜單調(diào)用INSERT ,輸入文件名字查找文件查找成功回主菜單復(fù)制失敗打開文件是 否調(diào)用CUOWU 子程序調(diào)用INSERT2子程序選擇7讀文件3.設(shè)計(jì)結(jié)果與分析3.1調(diào)試程序用DEBUG命令來調(diào)試程序。DEBUG提供了豐富的命令,如單步執(zhí)行和設(shè)置斷點(diǎn)等,來跟蹤檢查程序。當(dāng)程序全部執(zhí)行得不到正確結(jié)果時(shí),可先執(zhí)行其中的一部分,

7、檢查這一部分的執(zhí)行結(jié)果是否正確。如果這一部分的結(jié)果正確,則可以肯定這一部分沒有問題,接下去去調(diào)試另一部分;如果這部分結(jié)果不正確,則可肯定該部分有問題,就調(diào)試這部分。采用將一部分分成兩小部分的辦法繼續(xù)查找錯(cuò)誤所在,直至將錯(cuò)誤找到。1.設(shè)置斷點(diǎn)用DEBUG調(diào)試程序,用-G命令來設(shè)置斷點(diǎn),程序從0060運(yùn)行到006F,讓AX=0600,如圖5所示:圖5斷點(diǎn)顯示結(jié)果第二個(gè)斷點(diǎn),程序從0080-008F,讓AX=0A0A,如圖6所示:圖6斷點(diǎn)顯示結(jié)果3.2運(yùn)行程序運(yùn)行EXE文件,出現(xiàn)如下界面,見圖7:圖7運(yùn)行EXE文件圖建立一個(gè)名為11.TXT的文件,界面如圖8:圖8 11.EXE的運(yùn)行界面向11.TX

8、T文件中寫入內(nèi)容“congyunye”,界面如圖9:圖9運(yùn)行結(jié)果圖10重命名結(jié)果圖復(fù)制文件20.TXT到E盤根目錄下,命名為30.TXT,界面如圖11:圖11運(yùn)行結(jié)果圖4.總結(jié)通過一周的課程設(shè)計(jì),使我加深了對(duì)匯編語言知識(shí)的掌握,能夠熟練的運(yùn)用MASM軟件對(duì)程序進(jìn)行匯編,連接,編譯和調(diào)試,以及設(shè)置斷點(diǎn)。對(duì)于分支結(jié)構(gòu),子程序的設(shè)計(jì),多次循環(huán)語句的設(shè)置也有了一定的掌握。還掌握了一些子程序設(shè)計(jì)時(shí)常用的指令,如CALL,RET等。對(duì)于子程序的設(shè)計(jì)時(shí)的現(xiàn)場(chǎng)的保護(hù)和恢復(fù),子程序的嵌套,參數(shù)間的傳遞都有了一定的了解。通過對(duì)文件的創(chuàng)建,讀文件,寫文件,和對(duì)文件的重命名,以及對(duì)文件的刪除和修改,完成一系列的操作。

9、但是在運(yùn)行的時(shí)候還是出現(xiàn)了一些問題,我不知道應(yīng)該從何入手,不知道什么情況下會(huì)出現(xiàn)斷點(diǎn),然而在看過書以后,我知道了,先用U命令顯示代碼,然后再用G命令設(shè)置斷點(diǎn),當(dāng)出現(xiàn)INT的時(shí)候,就表示有斷點(diǎn)。5.參考文獻(xiàn)1齊志儒,高福祥.匯編語言程序設(shè)計(jì)M.第2版.沈陽:東北大學(xué)出版社,2001.1:123-1672朱玉龍,任文嵐等.匯編語言程序設(shè)計(jì)M.北京:清華大學(xué)出版社, 2003.8: 246-2783徐建民,王東等.匯編語言程序設(shè)計(jì)M.第2版.北京:電子工業(yè)出版社,2005.2:90-1234 王爽.匯編語言M.第2版.北京:清華大學(xué)出版社,2004.9:168-1785 劉兵,易逵,朱天清. 微型計(jì)

10、算機(jī)通信與接口技術(shù)M. 北京: 中國(guó)水利水電出版社,2005.6:29-366.附錄DSEG SEGMENTWENJIANMING DB 20,?,20 DUP(?FILE DB 20,?,20 DUP(? ;為改名新建文件BUF1 DW 128 DUP($ ;從文件取的字符BUF2 DB 128,?,128 DUP(? ;寫入文件的字符BUF3 DW 128 DUP(?MENU1 DB 0DH,0AH,1.Create WENJIAN,0DH,0AHMENU2 DB 0DH,0AH,2.READ WENJIAN,0DH,0AHMENU3 DB 0DH,0AH,3.WRITE WENJIAN,

11、0DH,0AHMENU4 DB 0DH,0AH,4.Delete WENJIAN,0DH,0AHMENU5 DB 0DH,0AH,5.CHANGE WENJIANMING,0DH,0AHMENU6 DB 0DH,0AH,6.MOVE WENJIAN,0DH,0AHMENU7 DB 0DH,0AH,7.COPY WENJIAN,0DH,0AHMENU8 DB 0DH,0AH,8.EXIT,0DH,0AHMENU9 DB 0DH,0AH,ENTER THE NUMBER(1-8:$,0DH,0AHTISHI1 DB 0DH,0AH,INSERT WENJIANMING(*:*.txt:$,0DH,

12、0AHTISHI2 DB 0DH,0AH,READ WENJIAN:,0DH,0AHTISHI3 DB 0DH,0AH,INSERT THE NEW WENJIANMING YOU WANT TO CHANGE(*:*.txt:$,0DH,0AHTISHI4 DB 0DH,0AH,OK!THE WENJIAN HAS BEEN DeleteD!$,0DH,0AHTISHI5 DB 0DH,0AH,INSERT TISHISAGE:$,0DH,0AHTISHI6 DB 0DH,0AH,INSERT THE TARGET PATH AND NAME(*:*.txt:$, 0DH,0AH TISHI

13、7 DB 0DH,0AH,THE WENJIAN IS NOT EXIST!PLEASE Create ITFIRST!$,0DH,0AHTISHI9 DB 0DH,0AH,INSERT THE SOURCE WENJIANMING:(*:*.txt:$,0DH,0AHTISHI8 DB 0DH,0AH,INSERT THE SOURCE PATH AND NAME:(*:*.txt:$,0DH,0AHERR DB 0DH,0AH,ERROR$OK DB 0DH,0AH,SUCCESS,0DH,0AH,$DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGST

14、ART:MOV AX,DSEGMOV DS,AXAGAIN:MOV AH,9MOV DX,OFFSET MENU1 ;顯示菜單INT 21HMOV AH,1 ;鍵入字符INT 21HK1: CMP AL,31HJNZ K2CALL CREATE ;創(chuàng)建文件JMP AGAINK2: CMP AL,32HJNZ K3CALL READ ;讀文件JMP AGAINK3: CMP AL,33HJNZ K4CALL WRITE ;寫文件JMP AGAINK4: CMP AL,34HJNZ K5CALL DELETE ;刪除文件JMP AGAINK5: CMP AL,35HJNZ K6CALL CHANG

15、E ;改文件名JMP AGAINK6: CMP AL,36HJNZ K7CALL MOVE ;移動(dòng)文件JMP AGAINK7: CMP AL,37HJNZ K8CALL COPY ;復(fù)制文件JMP AGAINK8: CMP AL,38HJNZ AGAINMOV AH,4CHINT 21HCREATE PROC NEAR ;建立文件子程序MOV DX,OFFSET TISHI1 ;顯示提示MOV AH,9INT 21HCALL INSERT ;調(diào)用輸入名字子程序MOV DX,OFFSET WENJIANMING ;建立文件ADD DX,2MOV AH,3CHMOV CX,0INT 21HJC E

16、RRTISHI ;是否成功LEA DX,OKMOV AH,9INT 21HJMP RE1ERRTISHI:MOV DX,OFFSET ERRMOV AH,9INT 21HRE1: RETCREATE ENDPREAD PROC NEAR ;讀文件子程序LEA DX,TISHI9 ;設(shè)提示,先輸入欲操作的文件名MOV AH,9INT 21HCALL INSERT ;調(diào)用輸入名字子程序MOV DX,OFFSET WENJIANMINGADD DX,2MOV AH,3DHMOV AL,0INT 21HJC FAULT ;轉(zhuǎn)到文件出錯(cuò)信息MOV BX,AXLEA DX,BUF1MOV CX,200 ;

17、讀字符個(gè)數(shù)MOV AH,3FH INT 21H ;先讀文件MOV AH,3EHINT 21HLEA DX,TISHI2MOV AH,9INT 21HLEA DX,BUF1INT 21H ;顯示文件內(nèi)容JMP RE2FAULT: CALL CUOWU ;調(diào)用出錯(cuò)子程序RE2: RETREAD ENDPWRITE PROC NEAR ;寫文件子程序LEA DX,TISHI9MOV AH,9INT 21HCALL INSERT ;調(diào)用輸入名字子程序MOV DX,OFFSET WENJIANMINGADD DX,2MOV AH,3DHMOV AL,1INT 21H ;打開文件JC FAULT2 ;無此

18、文件則跳轉(zhuǎn)MOV BX,AXMOV DX,OFFSET TISHI5MOV AH,9INT 21HMOV DX,OFFSET BUF2 ;輸入字符MOV AH,0AHINT 21HLEA SI,BUF2MOV AL,SI+1MOV AH,0 ;先取出實(shí)際寫入字符數(shù)MOV DX,OFFSET BUF2ADD DX,2MOV CX,AX ;寫入的字符數(shù)MOV AH,40HINT 21H ;寫文件MOV AH,3EHINT 21HMOV DX,OFFSET OK ;顯示成功信息MOV AH,9INT 21HJMP RE3FAULT2:CALL CUOWU ;調(diào)用出錯(cuò)子程序RE3: RETWRITE

19、ENDPDELETE PROC NEAR ;刪除子程序LEA DX,TISHI9MOV AH,9INT 21HCALL INSERT ;調(diào)用輸入名字子程序MOV DX,OFFSET WENJIANMING ;刪除文件ADD DX,2MOV AH,41HINT 21HJNC INFOCALL CUOWU ;失敗信息JMP RE4 ;轉(zhuǎn)向RETINFO: MOV DX,OFFSET TISHI4 ;刪除成功提示信息MOV AH,9INT 21HRE4: RETDELETE ENDPCHANGE PROC NEAR ;改名子程序LEA DX,TISHI9MOV AH,9INT 21HCALL INS

20、ERT ;調(diào)用輸入名字子程序MOV DX,OFFSET WENJIANMINGADD DX,2MOV AH,3DHMOV AL,0INT 21H ;打開文件JC FAULT3MOV BX,AXLEA DX,BUF3MOV CX,100MOV AH,3FHINT 21H ;先讀文件MOV AH,3EHINT 21HMOV DX,OFFSET TISHI3MOV AH,9INT 21HCALL INSERT2 ;調(diào)用輸入新文件子程序MOV DX,OFFSET WENJIANMING ;刪除文件ADD DX,2MOV AH,41HINT 21HJMP RE5FAULT3:CALL CUOWU ;調(diào)用出錯(cuò)子程序RE5: RETCHANGE ENDPMOVE PROC NEAR ;移動(dòng)文件子程序LEA DX,TISHI8MOV AH,9INT 21HCALL INSERT ;調(diào)用輸入名字子程序MOV DX,OFFSET WENJIANMINGADD DX,2MOV AH,3DHMOV AL,0INT 21H ;打開文件JC FAULT4MOV BX,AXLEA DX,BUF3MOV CX,100MOV AH,3FHI

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論