




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、匯匯編編 程程序序設(shè)設(shè)計(jì)計(jì)課課程程設(shè)設(shè)計(jì)計(jì)報(bào)報(bào)告告 ( 2011 - 2012 年度第年度第 2 學(xué)期學(xué)期) 題目題目 專業(yè)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)生姓名學(xué)生姓名王王* 班級(jí)班級(jí)b 計(jì)算機(jī)計(jì)算機(jī) 091 學(xué)號(hào)學(xué)號(hào)0910704101 指導(dǎo)教師指導(dǎo)教師 完成日期完成日期2011 年年 6 月月 21 日日 目目 錄錄 1 概 述.1 1.1 課程設(shè)計(jì)目的 .1 1.2 課程設(shè)計(jì)內(nèi)容 .1 2 系統(tǒng)需求分析.1 2.1 系統(tǒng)目標(biāo) .1 2.2 主體功能 .1 2.3 開發(fā)環(huán)境 .1 3 系統(tǒng)概要設(shè)計(jì).1 3.1 系統(tǒng)總體分析規(guī)劃 .1 3.2 系統(tǒng)流程圖 .1 4 系統(tǒng)詳細(xì)設(shè)計(jì) .
2、1 附 錄.3 附錄 1 源程序清單 .3 學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì) 1 概 述 1.1 課程設(shè)計(jì)目的 本程序設(shè)計(jì)是在學(xué)完教學(xué)大綱規(guī)定的全部?jī)?nèi)容、完成所有實(shí)踐環(huán)節(jié)的基礎(chǔ) 上,旨在深化學(xué)生學(xué)習(xí)的匯編語(yǔ)言課程基本知識(shí),進(jìn)一步掌握匯編語(yǔ)言程序設(shè) 計(jì)方法,提高分析問題、解決問題的綜合應(yīng)用能力。 1.2 課程設(shè)計(jì)內(nèi)容 課題:磁盤文件管理系統(tǒng) 2 系統(tǒng)需求分析 2.1 系統(tǒng)目標(biāo) 通過在 dos 中執(zhí)行該程序?qū)崿F(xiàn)對(duì)文件的相關(guān)操作。 2.2 主體功能 1.功能菜單的編制; 2.可以創(chuàng)建新的文件; 3.可以向文件中寫入內(nèi)容; 4.可以讀取文件中內(nèi)容,并顯示在屏幕上; 2.3 開發(fā)環(huán)境 在 d
3、os 環(huán)境中應(yīng)用 tasm50 實(shí)現(xiàn) 3 系統(tǒng)概要設(shè)計(jì) 3.1 系統(tǒng)總體分析規(guī)劃 根據(jù)要求:1.功能菜單的編制; 2.可以創(chuàng)建新的文件; 3.可以向文件中寫入內(nèi)容; 4.可以讀取文件中內(nèi)容,并顯示在屏幕上; 大致分析如下: 1.功能菜單的調(diào)出由子程序 menu 實(shí)現(xiàn) 2.要求中的 2、3、4 三條要求皆在功能菜單中通過鍵入 1、2、3、4 選擇相應(yīng)的功能。 鍵入 1 表示創(chuàng)建新的文件,由子程序 create 實(shí)現(xiàn); 鍵入 2 表示寫入內(nèi)容到文件,由子程序 write 實(shí)現(xiàn); 鍵入 3 表示讀文件內(nèi)容并顯示,由子程序 entry、read 實(shí)現(xiàn); 鍵入 4 表示退出,即退出當(dāng)前執(zhí)行內(nèi)容。 (注:
4、此處所提到的子程序與代碼中的定義相同相同。) 3.2 系統(tǒng)流程圖系統(tǒng)流程圖 出現(xiàn)錯(cuò)出現(xiàn)錯(cuò) 誤提示誤提示 出現(xiàn)成功提示出現(xiàn)成功提示 功能菜單調(diào)出功能菜單調(diào)出 功能選擇功能選擇 創(chuàng)建文件創(chuàng)建文件 開始開始 創(chuàng)建成創(chuàng)建成 功?功? 出現(xiàn)錯(cuò)出現(xiàn)錯(cuò) 誤提示誤提示 打開文件打開文件 打開成打開成 功?功? 寫入內(nèi)容寫入內(nèi)容 寫入成寫入成 功?功? 關(guān)閉文件關(guān)閉文件 關(guān)閉成關(guān)閉成 功?功? 出現(xiàn)成功提示出現(xiàn)成功提示 鍵入鍵入 1 鍵入鍵入 2 打開文件打開文件 出現(xiàn)出現(xiàn) 錯(cuò)誤錯(cuò)誤 提示提示 打開成打開成 功?功? 讀文件讀文件 讀取成讀取成 功?功? 顯示內(nèi)容顯示內(nèi)容 關(guān)閉文件關(guān)閉文件 關(guān)閉成關(guān)閉成 功?功
5、? 提示成功提示成功 退出退出 結(jié)束結(jié)束 鍵入鍵入 4 鍵 入 3 y y y y y y y n n n n n n n 4 系統(tǒng)詳細(xì)設(shè)計(jì)(功能實(shí)現(xiàn)及詳細(xì)分析) 1.菜單功能的實(shí)現(xiàn) 菜單功能由子程序 me 實(shí)現(xiàn),在 me 中僅是輸出 menu,此功能運(yùn)用 dos 中的 09h 調(diào) 用即可,而達(dá)成目標(biāo)的操作則是在 data 中對(duì) menu 進(jìn)行定義實(shí)現(xiàn)的。 代碼如下: data segment menu db 0dh,0ah,*,0dh,0ah db * menu *,0dh,0ah db *-*,0dh,0ah db * 1.create file *,0dh,0ah db * 2.writ
6、e to file *,0dh,0ah db * 3.read file *,0dh,0ah db * 4.quit *,0dh,0ah db *-*,0dh,0ah db * choice(1-4) *,0dh,0ah db *,0dh,0ah,$ 2創(chuàng)建文件的實(shí)現(xiàn) 創(chuàng)建文件由子程序 create 實(shí)現(xiàn),通過運(yùn)用 dos 中的 3ch 調(diào)用即可。 由于相關(guān)文件的操作比較復(fù)雜,因此在相關(guān)方面有較多解釋,而相對(duì)輸入輸出比較 簡(jiǎn)單,則不予敘述,以下文件打開、關(guān)閉、讀取、寫入皆如此。 文件創(chuàng)建調(diào)用時(shí) 由 ds:dx 提供路徑以及文件名; cf 用來(lái)判定操作是否成功,cf=0 時(shí),表示成功,cf=1
7、時(shí)表示失??; 操作成功則由 ax 存儲(chǔ)文件代號(hào),失敗則由 ax 存儲(chǔ)錯(cuò)誤代碼; cx 用來(lái)存放文件屬性,cx=0 時(shí)表示為普通文件; 文件屬性是用來(lái)表示“活動(dòng)”文件的代號(hào), “活動(dòng)”文件可以理解為使用中文件。 例如以下代碼: mov ah 3ch lea dx pathname mov cx 0 int 21h 若 pathname 以被定義為“d:ab.dat”則表示將在 d 盤 a 文件夾中創(chuàng)建名為 b.dat 的文件 3.寫入文件內(nèi)容的實(shí)現(xiàn) 文件內(nèi)容的寫入由 entry、write 實(shí)現(xiàn)。 其中子程序 entry 用于輸入想要寫入的語(yǔ)句; 而將內(nèi)容寫如文件的是子程序 write, 大致分
8、為三步:打開文件,寫入內(nèi)容,關(guān)閉文件, 文件的打開: 文件的打開通過運(yùn)用 dos 中的 3dh 調(diào)用實(shí)現(xiàn), 由 ds:dx 確定文件路徑級(jí)文件名, 由 cf 判定是否成功, ax 存放相應(yīng)的文件代號(hào)或錯(cuò)誤代碼, al 存放存取代碼, 存取代碼用于表示打開方式,0 表示可讀,1 表示可寫,2 表示可讀可寫,3 表示退出。 內(nèi)容的寫入: 內(nèi)容的寫入通過運(yùn)用 dos 中的 40h 調(diào)用實(shí)現(xiàn), 由 ds:dx 表示地址, bx 存放文件號(hào), cx 表示寫入的字節(jié)數(shù)。 文件的關(guān)閉: 文件的關(guān)閉通過運(yùn)用 dos 中的 3eh 調(diào)用實(shí)現(xiàn), 其余則與文件的打開類似。 例如以下代碼: mov ah 40h le
9、a dx buffer mov bx handle mov cx 60 int 21h 則表示往當(dāng)前文件中寫入 buffer 中前 60 字節(jié)的內(nèi)容。 4.文件的讀取 文件的讀取由子程序 read 實(shí)現(xiàn)。 大致分為三步:打開文件,寫入內(nèi)容,關(guān)閉文件, 由于打開與關(guān)閉以介紹,則只介紹讀取 文件的讀?。?文件的讀取通過運(yùn)用 dos 中的 3fh 調(diào)用實(shí)現(xiàn), 有 ds:dx 表示存放地址, bx 表示文件號(hào), cx 表示讀取的字節(jié)數(shù), 例如以下代碼: mov ah 3fh lea dx buffer mov bx handle mov cx 6o int 21h 則表示讀取當(dāng)前文件中的前 60 字節(jié)
10、并存放到 duffer 中, 而讀取內(nèi)容的顯示則由 dos 中的 9h 調(diào)用實(shí)現(xiàn)。 5.退出 當(dāng)前程序的退出通過運(yùn)用 dos 中的 4ch 調(diào)用實(shí)現(xiàn) 附附 錄錄 附錄 1 源程序清單 data segment menu db 0dh,0ah,*,0dh,0ah db * menu *,0dh,0ah db *-*,0dh,0ah db * 1.create file *,0dh,0ah db * 2.write to file *,0dh,0ah db * 3.read file *,0dh,0ah db * 4.quit *,0dh,0ah db *-*,0dh,0ah db * choic
11、e(1-4) *,0dh,0ah db *,0dh,0ah,$ pathname db d:ibm pc.txt,00 handle dw ? buffer1 db 60,0,60 dup (?) buffer2 db 60,0,60 dup (?) huanhuang db ,0dh,0ah,$ chose db 0dh,0ah,please enterthe digital from 1- 4!,0dh,0ah,$ rntery db 0dh,0ah,enter what you want to write to the file!,0dh,0ah,$ str_ok1 db 0dh,0ah
12、,create file successfully!,0dh,0ah,$ str_ok2 db 0dh,0ah,write to file successfullly!,0dh,0ah,$ str_ok3 db 0dh,0ah,read from file successfully!,0dh,0ah,$ str_error1 db create file error!$ str_error2 db open file error!$ str_error3 db write to file error!$ str_error4 db read file error!$ str_error5 db
13、 exit from file error!$ data ends code segment assume cs:code,ds:data main proc far start: mov ax,data mov ds,ax mov ax,0600h call me call choice ret main endp me proc near mov ah,9 lea dx,menu int 21h me endp choice proc near mov ah,1 int 21h cmp al,31h je next1 cmp al,32h je next2 cmp al,33h je ne
14、xt3 cmp al,34h je next4 jmp back next1: call create next2: call entry next3: mov ah,9 lea dx,huanhuang int 21h call read next4: mov ax,4c00h int 21h back: mov ah,9 lea dx,chose int 21h call me ret choice endp create proc near mov ah,3ch lea dx,pathname mov cx,0 int 21h jc error1 mov handle,ax jmp ex
15、it error1: mov ah,1 lea dx,str_error1 int 21h jmp exit1 exit: mov ah,9 lea dx,str_ok1 int 21h exit1: call choice create endp entry proc near mov ah,9 lea dx,rntery int 21h lea dx,buffer1 mov ah,0ah int 21h sub ch,ch mov cl,buffer1+1 add dx,2 call write ret entry endp write proc near mov ah,3dh lea d
16、x,pathname mov al,1 int 21h jc error2 mov handle,ax mov ah,40h lea dx,buffer1+2 mov bx,handle mov cx,60 int 21h jc error3 mov ah,3eh mov bx,handle int 21h jc error4 jmp back1 error2: mov ah,9 lea dx,str_error2 int 21h jmp exit2 error3: mov ah,9 lea dx,str_error4 int 21h jmp exit2 error4: mov ah,9 le
17、a dx,str_error5 int 21h jmp exit2 back1: mov ax,9 lea dx,str_ok2 int 21h exit2: call choice write endp read proc near mov ah,3dh lea dx,pathname mov al,0 int 21h jc error5 mov handle,ax mov ah,3fh lea dx,buffer2 mov bx,handle mov cx,60 int 21h jc error6 mov ah,9 lea dx,buffer2 int 21h jc error6 mov ah,3eh mov bx,handle int 21h jc error7 jmp back2 error5: mo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房屋質(zhì)量糾紛調(diào)解賠償合同
- 2025年度西餐廳廚師技藝交流與合作合同
- 二零二五年度綠色建筑監(jiān)理咨詢服務(wù)合同
- 二零二五年度手摩托車二手交易評(píng)估與鑒定合同
- 2025年度車輛抵押擔(dān)保與車輛租賃維修保養(yǎng)服務(wù)協(xié)議
- 二零二五年度高端小區(qū)車庫(kù)租賃管理服務(wù)協(xié)議
- 二零二五年度茶樓合伙協(xié)議書:茶樓茶藝館運(yùn)營(yíng)與品牌推廣合作協(xié)議
- 二零二五年度智能交通系統(tǒng)質(zhì)押借款合同
- 新媒體運(yùn)營(yíng)平臺(tái)用戶數(shù)據(jù)共享與隱私保護(hù)協(xié)議書(2025年度)
- 二零二五年度股權(quán)抵押融資租賃擔(dān)保服務(wù)協(xié)議
- 無(wú)人機(jī)法律法規(guī)與安全飛行 第2版 課件 8-2 -無(wú)人機(jī)人員的法律責(zé)任
- 食材配送、包裝、運(yùn)輸、驗(yàn)收、售后服務(wù)方案應(yīng)急預(yù)案
- 萬(wàn)千教育學(xué)前讀懂兒童的思維:支持自主游戲中的圖式探索
- 產(chǎn)品外觀檢驗(yàn)標(biāo)準(zhǔn)通用
- 中石化YC分公司易捷便利店市場(chǎng)營(yíng)銷策略研究
- 2023年江蘇省泰州市高職單招數(shù)學(xué)摸底卷五(含答案)
- 醫(yī)院護(hù)理培訓(xùn)課件:《病區(qū)環(huán)境管理查房》
- 《小羊和蝴蝶》繪本故事
- 鋼筋工理論考試題庫(kù)及答案
- 歷史文獻(xiàn)學(xué)之文獻(xiàn)??苯o09歷史開第二章
- 大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark) 習(xí)題答案
評(píng)論
0/150
提交評(píng)論