版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
匯編語言程序設(shè)計課程設(shè)計(2013)PAGEII匯編語言課程設(shè)計報告(2013--2014年度第1學(xué)期)課題名稱:磁盤文件管理系統(tǒng)專業(yè)計算機(jī)科學(xué)與技術(shù)(網(wǎng)絡(luò)技術(shù))學(xué)生姓名班級學(xué)號指導(dǎo)教師完成日期目錄1設(shè)計目的 12概要設(shè)計 12.1系統(tǒng)總體分析 12.2主模塊框圖及說明 13詳細(xì)設(shè)計 33.1主模塊及子模塊說明 33.2各模塊詳細(xì)設(shè)計 53.2.1主界面模塊 54程序調(diào)試 54.1運(yùn)行界面分析 54.2調(diào)試過程及分析 75心得體會 95.1設(shè)計體會 95.2系統(tǒng)改進(jìn) 10參考文獻(xiàn) 11附錄 12附錄1源程序清單 12附錄1.1磁盤文件管理系統(tǒng)模塊源程序 121設(shè)計目的本課程設(shè)計是在學(xué)完教學(xué)大綱規(guī)定的全部內(nèi)容、完成所有實踐環(huán)節(jié)的基礎(chǔ)上,旨在深化學(xué)生學(xué)習(xí)的匯編語言課程基本知識,進(jìn)一步掌握匯編語言程序設(shè)計方法,提高分析問題、解決問題的綜合應(yīng)用能力。學(xué)會查閱和匯編語言相關(guān)的規(guī)范,手冊等技術(shù)資料。能正確繪制和使用流程圖。掌握匯編語言程序設(shè)計和程序調(diào)試的基本技能,能進(jìn)行基本的軟件設(shè)計?!皡R編語言”課程設(shè)計是計算機(jī)應(yīng)用開發(fā)人員必須接受的最重要的專業(yè)訓(xùn)練之一,是計算機(jī)軟、硬件的基礎(chǔ),利用匯編語言編寫程序可以是我們更清楚地了解計算機(jī)是怎樣完成復(fù)雜工作的,理解計算機(jī)對系統(tǒng)中各種設(shè)備的調(diào)度,從而從根本上認(rèn)識計算機(jī)的工作原理,對課程所學(xué)理論知識的深化和提高。因此,課程設(shè)計要求同學(xué)們熟悉匯編語言的編程,BIOS中斷調(diào)用、dos系統(tǒng)功能調(diào)用、磁盤數(shù)據(jù)的查詢、存取等相關(guān)知識。通過課程設(shè)計,可以提高運(yùn)用匯編語言編程解決實際問題的能力,為以后的學(xué)習(xí)和系統(tǒng)開發(fā)奠定良好的基礎(chǔ)。2概要設(shè)計2.1系統(tǒng)總體分析實現(xiàn)對磁盤文件的管理。創(chuàng)建文件,向磁盤文件中寫入信息,從磁盤文件中讀出信息并顯示,退出程序。如果向磁盤中寫入信息或者從磁盤中讀取信息失敗屏幕會顯示打開文件錯誤的提示。根據(jù)提示輸入字符,如果輸錯可以返回并且從新輸入。通過DOS1功能調(diào)用接收用戶輸入的數(shù)據(jù),如果用戶輸入1,則調(diào)用“文件創(chuàng)建模塊”,創(chuàng)建文件。如果輸入2,則調(diào)用“文件寫入模塊”,對文件寫入。如果輸入3,則調(diào)用“文件讀取模塊”,讀取文件。如果輸入4,則退出程序。如果輸入其他字符,則再次調(diào)用“主界面模塊”,提示符合的操作。2.2主模塊框圖及說明1、功能菜單主界面。2、創(chuàng)建文件。3、寫入文件。4、讀取文件3詳細(xì)設(shè)計3.1主模塊及子模塊說明⑴創(chuàng)建文件⑵寫入信息⑶讀出信息1功能菜單的顯示。利用9H功能調(diào)用顯示menumovah,9leadx,menuint21h2創(chuàng)建文件。利用功能調(diào)用3CH建立文件。DX=文件路徑,CX=屬性3向磁盤文件中寫入信息。先利用功能調(diào)用3DH打開文件,再將從鍵盤輸入的字符存入緩沖區(qū),再從緩沖區(qū)寫入文件,關(guān)閉文件。4從磁盤文件中讀出信息并顯示。先打開文件,在將文件內(nèi)容存入緩沖區(qū),再將緩沖區(qū)內(nèi)容輸出,關(guān)閉文件。5退出程序。3.2各模塊詳細(xì)設(shè)計3.2.1主界面模塊調(diào)用Dos21H功能實現(xiàn)文件操作3CH:創(chuàng)建文件DS:DX=文件路徑,CX=屬性,返回文件號3DH:打開文件DS:DX=文件路徑,AL=模式3EH:關(guān)閉文件BX=文件號3FH:讀取文件BX=文件號CX=字符數(shù)DS:DX=緩沖區(qū)成功:CF=0,失?。篊F=1,AX=錯誤碼40H:寫文件或設(shè)備BX=文件號DS:DX=代寫的數(shù)據(jù)地址CX=代寫的字節(jié)數(shù)在主程序中通過call指令調(diào)用子程序,在子程序中通過RET指令返回主函數(shù)。緩沖區(qū)定義buffer1db60,0,60dup(?)buffer2db60,0,60dup(?)新建文件ah=3cds:dx=asciiz串地址cx=屬性字返回成功:ax=句柄打開文件ah=3dds:dx=asciiz串地址返回成功:ax=句柄al=(訪問碼)(0,讀1,寫2讀寫)讀文件ah=3fds:dx=asciiz數(shù)據(jù)緩沖區(qū)地址返回成功:ax=句柄bx=句柄cx=讀取字節(jié)數(shù)寫文件ah=40ds:dx=asciiz數(shù)據(jù)緩沖區(qū)地址返回成功:ax=句柄bx=句柄cx=寫入字節(jié)數(shù)4程序調(diào)試4.1運(yùn)行界面分析1)打開windows命令窗口2)進(jìn)入tasm程序的安裝目錄,匯編源文件,如圖:3)用tlink將文件生成obj文件格式圖5-1圖5-24.2調(diào)試過程及分析當(dāng)輸入1時,創(chuàng)建文件成功,如圖5-3所示:圖5-3如果創(chuàng)建失敗,則顯示Creatfileerror!當(dāng)輸入2時,屏幕會顯示如圖5-4所示圖5-4向磁盤中輸入信息qinxia,寫入文件成功,如圖5-5所示。圖5-5當(dāng)寫入文件失敗會顯示W(wǎng)ritetofileerror!輸入3時,讀出文件成功,如圖5-6所示圖5-6當(dāng)讀出文件失敗會顯示Readfromfileerror!當(dāng)輸入4時,退出程序。如圖5-6所示。圖5-65心得體會5.1設(shè)計體會匯編語言是面向機(jī)器的程序設(shè)計語言。在匯編語言中,用助記符代替機(jī)器指令的操作碼,用地址符號或標(biāo)號代替指令或操作數(shù)的地址,如此就增強(qiáng)了程序的可讀性并且降低了編寫難度,想這樣符號化的程序設(shè)計語言就是匯編語言,因此也稱為符號語言。使用匯編語言編寫的程序,機(jī)器不能直接識別,還要由匯編程序或者叫匯編語言編譯器轉(zhuǎn)換成機(jī)器指令。匯編程序?qū)⒎柣牟僮鞔a組裝成處理器可以識別的機(jī)器指令,這個組裝的過程稱為作何或匯編。因此,有時候人們也把匯編語言稱為組合語言。這學(xué)期學(xué)習(xí)匯編語言這門課時,對它有了基本的了解和認(rèn)識。匯編語言其實仍然是機(jī)器語言,雖然看起來是英文,但實際上匯編語言中差不多每一句指令都單獨(dú)對應(yīng)一句機(jī)器語言指令,這就好比漢字一對應(yīng)阿拉伯?dāng)?shù)字1一樣,只有一少部分是經(jīng)過變化的,就是因為絕大多數(shù)匯編語言指令都與機(jī)器語言指令一一映射,所以通常說匯編語言能直接對電腦硬件操作。除了機(jī)器語言之外的任何一種語言都需要編譯程序,匯編語言的編譯器非常小。本次課程設(shè)計使我充分了解到匯編語言在實際中的應(yīng)用并不是那么容易。僅把課堂上的知識充分運(yùn)用還是不夠的。程序設(shè)計不能僅僅停留在課本上,想要把程序做好,必須不斷通過各種途徑掌握更多更好的知識,要善于查找資料提高自己的資料查詢能力,要善于利用網(wǎng)絡(luò)、圖書館來獲得知識,不清楚的地方多向老師咨詢,獲得幫助。最重要的是,要將獲得的知識運(yùn)用的實際編程中,要學(xué)以致用。開始著手程序設(shè)計時,有些功能感覺無從下手,都不知道要干什么。這些問題只要找到相關(guān)的資料就會得到提示從而理解所要解決問題的大致方向。有了明確的目的,就可以發(fā)揮自己的智慧來完成它。只有認(rèn)真的去思考機(jī)器是如何進(jìn)行邏輯思考才能更好的掌握理解它。正所謂“紙上得來終覺淺,覺知此事要躬行?!彼栽诒緦W(xué)期課程設(shè)計是很及時、很必要的。這樣不僅能加深我們對程序設(shè)計的掌握,而且還及時、真正的做到了學(xué)以致用。5.2系統(tǒng)改進(jìn)這次的課程設(shè)計中為了避免寄存器沖突的問題,在設(shè)計子程序時,應(yīng)把所有用到的寄存器都入棧保存,但用來傳遞參數(shù)和結(jié)果的寄存器則要注意,不必入棧的就不入棧了,以免得不到預(yù)期的結(jié)果??梢园鸭拇嫫鳟?dāng)作變量來看待,有時候它存儲的是數(shù)據(jù)變量(如把BP當(dāng)作字符個數(shù)的記錄器),而有時候它存儲的是地址變量(如DI、SI);通過這次課程設(shè)計的編程和對編程過程中遇到的問題的思考,有效的提高了我對匯編的認(rèn)識和理解,提高了我的編程能力。參考文獻(xiàn)[1]姚燕南,薛鈞義主編.微型計算機(jī)原理與接口技術(shù).高等教育出版社,2004.11[2]溫冬蟬,沈美明.IBM
PC匯編語言程序設(shè)計.第2版.北京:清華大學(xué)出版社,2002.3[3]齊志儒,高福祥主編.匯編語言程序設(shè)計.第2版.東北大學(xué)出版社,2001.1[4]張彌左,王兆月,邢立軍編著.微型計算機(jī)接口技術(shù).機(jī)械工業(yè)出版社[5]吳秀清.微型計算機(jī)原理與接口技術(shù).合肥:中國科技大學(xué)出版社,2003[6]易先清.微型計算機(jī)原理與應(yīng)用.北京:電子工業(yè)出版社,2001[7]李敬兆.8086/8088和基于ARM核匯編語言程序設(shè)計.第二版.合肥:中國科學(xué)技術(shù)大學(xué)出版社,2008.9[8]王爽.匯編語言.北京:清華大學(xué)出版附錄附錄1源程序清單附錄1.1磁盤文件管理系統(tǒng)模塊源程序@@@@@@@@@@@@@@@@@@@@@@@datasegmentmenudb0dh,0ah,'********************************************',0dh,0ah db'*menu*',0dh,0ah db'**',0dh,0ah db'*1.Createfile*',0dh,0ah db'*2.Writetofile*',0dh,0ah db'*3.Readfile*',0dh,0ah db'*4.Quit*',0dh,0ah db'**',0dh,0ah db'*Choice(1--4)*',0dh,0ah db'********************************************',0dh,0ah,'$'pathnamedb'D:\IBMPC.TXT',00 handledw?buffer1db60,0,60dup(?)buffer2db60,0,60dup(?) huanhangdb'',0dh,0ah,'$' chosedb0dh,0ah,'Pleaseenterthedigitalfrom1-4!',0dh,0ah,'$'enterydb0dh,0ah,'Enterwhatyouwanttowritetothefile!(Thelengthofthestringsisunder60)',0dh,0ah,'$'str_ok1db0dh,0ah,'Createfilesuccessfully!',0dh,0ah,'$'str_ok2db0dh,0ah,'Wtitetofilesuccessfully!',0dh,0ah,'$'str_ok3db0dh,0ah,'Readfromfilesuccessfully!',0dh,0ah,'$' str_error1db'Createfileerror!$' str_error2db'Openfileerror!$' str_error3db'Writetofileerror!$' str_error4db'Readfileerror!$' str_error5db'Exitfromfileerror!$'dataendscodesegment assumecs:code,ds:datamainprocfarstart: movax,data movds,ax movax,0600h callme callchoice retmainendpmeprocnear movah,9 leadx,menu int21hmeendpchoiceprocnear movah,1 int21h cmpal,31h jenext1 cmpal,32h jenext2 cmpal,33h jenext3 cmpal,34h jenext4 jmpbacknext1: callcreathnext2: callentrynext3: movah,9 leadx,huanhang int21h callreadnext4: movax,4c00h int21hback: movah,9 leadx,chose int21h callme ret choiceendpcreathprocnear movah,3ch leadx,pathname movcx,0 int21h jcerror1 movhandle,axjmpexiterror1: movah,9 leadx,str_error1 int21hjmpexit1exit: movah,9 leadx,str_ok1 int21hexit1: callchoicecreathendpentryprocnear movah,9leadx,entery int21h leadx,buffer1 movah,0ah int21h subch,ch movcl,buffer1+1 adddx,2 callwrithretentryendpwrithprocnear movah,3dhleadx,pathname moval,1 int21h jcerror2 movhandle,ax movah,40hleadx,buffer1+2 movbx,handlemovcx,60 int21h jcerror3 movah,3eh movbx,handle int21h jcerror4jmpback1error2: movah,9 leadx,str_error2 int21hjmpexit2error3: movah,9 leadx,str_error4
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房屋置換與家居定制服務(wù)合同范本3篇
- 二零二五年度校園雕塑作品采購合同范本3篇
- 2025年度環(huán)境監(jiān)控系統(tǒng)工程合同2篇
- 海南職業(yè)技術(shù)學(xué)院《文獻(xiàn)檢索》2023-2024學(xué)年第一學(xué)期期末試卷
- 襄陽汽車課程設(shè)計招聘
- 海南師范大學(xué)《物流信息技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度名校學(xué)區(qū)二手房買賣合同范本2篇
- 二零二五年度國際貿(mào)易實務(wù):磋商與訂立合同實務(wù)操作與法律風(fēng)險防范手冊9篇
- 二零二五年度海寧房產(chǎn)買賣糾紛調(diào)解及法律援助合同3篇
- 2025年度房地產(chǎn)項目銷售代理合同3篇
- 閱讀理解(專項訓(xùn)練)-2024-2025學(xué)年湘少版英語六年級上冊
- 民用無人駕駛航空器產(chǎn)品標(biāo)識要求
- 2024年醫(yī)院產(chǎn)科工作計劃例文(4篇)
- 2024-2025學(xué)年九年級英語上學(xué)期期末真題復(fù)習(xí) 專題09 單詞拼寫(安徽專用)
- 無創(chuàng)通氣基本模式
- 江西省贛州市尋烏縣2023-2024學(xué)年八年級上學(xué)期期末檢測數(shù)學(xué)試卷(含解析)
- 《臨床放射生物學(xué)》課件
- 腸造口還納術(shù)手術(shù)配合
- 2024年中考語文試題分類匯編:詩詞鑒賞(學(xué)生版)
- 科學(xué)計算語言Julia及MWORKS實踐 課件 3-MWORKS簡介
- 2024年10月自考04532財務(wù)會計專題試題及答案含解析
評論
0/150
提交評論