微機原理課程設(shè)計——txt文件的讀操作_第1頁
微機原理課程設(shè)計——txt文件的讀操作_第2頁
微機原理課程設(shè)計——txt文件的讀操作_第3頁
微機原理課程設(shè)計——txt文件的讀操作_第4頁
微機原理課程設(shè)計——txt文件的讀操作_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、常熟理工學(xué)院課程設(shè)計報告 課程設(shè)計報告課程 微機原理與接口技術(shù) 題目 TXT文件的讀操作 系 別 物理與電子工程學(xué)院 年 級 專 業(yè) 班 級 學(xué) 號 學(xué)生姓名 指導(dǎo)教師 職 稱 設(shè)計時間 目錄1、緒論22、設(shè)計原理32.1題目要求3 2.2實驗課題介紹及目的32.3方案設(shè)計與論證32.4程序分析62.5程序調(diào)試及實現(xiàn)的功能83、實驗結(jié)果與分析124.1 TXT文件創(chuàng)建124.2 DOS環(huán)境下的一系列操作125、總結(jié)與體會14參考文獻151、緒論計算機是一門迅速發(fā)展的現(xiàn)代科學(xué)技術(shù),它在經(jīng)濟建設(shè)與社會發(fā)展中,發(fā)揮著非常重要的作用。微型機由于具有體積小 重量輕 耗電少 可靠性高 結(jié)構(gòu)靈活 和價格低廉

2、等優(yōu)點,在計算機領(lǐng)域受到了廣泛的歡迎,把計算機的應(yīng)用帶入了一個全新的時代。16位微機接口技術(shù)的教學(xué)內(nèi)容適合非電類專業(yè)以微機應(yīng)用普及課、電類專業(yè)以專業(yè)基礎(chǔ)課的形式來開展。微機接口技術(shù)是把由處理器、存儲器等組成的基本系統(tǒng)與外部設(shè)備連接起來,從而實現(xiàn)學(xué)計算機與外部設(shè)備通信的一門技術(shù)。學(xué)習(xí)微機接口技術(shù)對微機在工業(yè)控制、數(shù)據(jù)采集和系統(tǒng)控制等領(lǐng)域的應(yīng)用具有非常重要的作用。微機接口技術(shù)教學(xué)圍繞PC機內(nèi)部構(gòu)成原理及常用接口芯片的使用來開展。學(xué)習(xí)內(nèi)容包括對PC機資源的基本操作和常用接口芯片的編程操作,如8250/8254定時/計數(shù)控制器,8259中斷控制器,DMA直接存儲器訪問控制其,8250/16550串行接

3、口芯片,8255并行接口芯片,鍵盤、鼠標(biāo)接口芯片、AD/DA模數(shù)/數(shù)模轉(zhuǎn)換、液晶顯示板、點陣LED等等都是學(xué)習(xí)的對象。計算機完成任何一個特定的功能都是通過執(zhí)行特定的程序來實現(xiàn)的,程序是一系列指令組成的,計算機通過對每條指令的譯碼和執(zhí)行來完成一系列操作。指令通常包含操作碼和操作數(shù)的兩部分。操作碼只是計算機執(zhí)行什么操作,操作數(shù)則指明參加操作的數(shù)或者它所在的地址。計算機最終能理解并執(zhí)行的是以二進制代碼表示的機器語言。但機器語言很不直觀,現(xiàn)在人們常用匯編語言直接編程。匯編語言是一種符號語言,它用助記符來表示操作碼,用符號或符號地址來表示操作數(shù)或操作地址。匯編語言的指令與機器指令是一一對應(yīng)的。一般使用匯

4、編語言來完成微機原理實驗的設(shè)計,是比較直觀方便的。 2、設(shè)計原理2.1題目要求 內(nèi)容:使用匯編語言編寫程序,編寫DOS下的TYPE命令,實現(xiàn)將磁盤中的某個已有的TXT文件的內(nèi)容顯示出來,要求程序在運行時先提示“Enter pathname:”,等待用戶從鍵盤輸入帶路徑的文件名,如沒有此文件應(yīng)有出錯信息提示。Enter pathname:e:111.txtCant find the file.The content of the file:1231232.2實驗課題介紹及目的2.2.1DOS介紹DOS提供了一組對磁盤文件進行操作的功能調(diào)用,這些功能包括打開文件、創(chuàng)建文件、讀文件、寫文件、關(guān)閉文件

5、和刪除文件等。對磁盤文件的管理有兩種方式:一種是使用文件控制塊(File Control Block, FCB),實現(xiàn)用戶程序與操作系統(tǒng)之間的信息傳遞;另一種是使用文件代號實現(xiàn)文件讀取。文件代號就是一個16位的數(shù)。在用戶程序要對一個文件進行處理時,必須提供文件的描述信息。一個完整的說明文件的字符串描述包括驅(qū)動器名、路徑名、文件名、拓展名。如“d:ctabc.asm”。一旦文件的描述串被送入操作系統(tǒng),操作系統(tǒng)就賦予其一個文件代號。以后對該文件進行讀/寫操作時,就用該文件代號去查找相應(yīng)的文件。對于每一個已經(jīng)打開的文件。操作系統(tǒng)還為其管理一個讀/寫指針總是指向該文件下一次要存取的字節(jié)。讀/寫指針可以

6、移動到文件的任意位置,從而可滿足隨機存儲的要求。2.2.2實驗?zāi)康?對于本次試驗是用匯編語言編寫TXT文件讀操作,除了要熟練掌握匯編語言,而且還要對學(xué)習(xí)DOS文件系統(tǒng)管理,通過實驗更加清楚理解計算機如何在低級語言的環(huán)境下對文件進行管理。微機原理課程設(shè)計增強了我對DOS文件系統(tǒng)管理的理解和認識,同時也增強了所學(xué)理論知識和實際的聯(lián)系。2.3方案設(shè)計與論證 2.3.1設(shè)計步驟根據(jù)程序的功能要求,可將程序分成如下幾個部分:1、 接受用戶輸入的文件名;2、 打開文件,若打開文件時出現(xiàn)錯誤(例如文件不存在等),則給出提示;3、 讀取文件內(nèi)容到緩沖區(qū)中;4、 顯示緩沖區(qū)中的內(nèi)容;5、 關(guān)閉文件由于事先不知道

7、文件的長度,因而緩沖區(qū)的長度是一個需要抉擇的問題。定義緩沖區(qū)太大,會極大的浪費資源,這里將緩沖區(qū)定義的較小,但可通過多次讀取操作來實現(xiàn)整個文件的讀取。2.3.2文件管理調(diào)用1、打開文件入口參數(shù)(AH)=3DHDS:DX=文件說明串的起始地址,文件說明串以0結(jié)束(AL)=訪問嗎,0:讀;1:寫;2:讀/寫出口參數(shù) 如果文件打開成功,則CF=1,(AX)=錯誤代碼2、讀文件入口參數(shù)(AH)=3FH(BX)=文件代號(CX)=要讀的字節(jié)數(shù)DS:DX=接受數(shù)據(jù)的緩沖區(qū)首址出口參數(shù) 如果成功,則CF=0,(AX)為實際讀入的字節(jié)數(shù) 如果失敗,則CF=1,(AX)=錯誤代碼3、關(guān)閉文件入口參數(shù)(AH)=3

8、EH(BX)=要關(guān)閉的文件代號出口參數(shù) 如果文件關(guān)閉成功,則CF=0 如果文件關(guān)閉失敗,則CF=1,(AX)=錯誤代碼4、創(chuàng)建文件入口參數(shù) (AH)=3CHDS:DX=文件說明串的起始地址,文件說明串以0結(jié)束(CX)=文件特性出口參數(shù) 如果文件建立成功,則CF=1,(AX)=文件代碼如果文件建立失敗,則CF=1,(AX)=錯誤代碼文件特性指文件本身的性質(zhì)(或?qū)傩裕?個字節(jié)表示:00H 一般讀/寫文件01H 只讀文件(不能向該文件寫入任何內(nèi)容);02H 隱藏文件(用DIR不可見);04H 系統(tǒng)文件(用DIR不可見)。一個文件可有多種特性。如果IBM DOS.ASM具有只讀、隱藏和系統(tǒng)文件三種

9、特性,則文件特性應(yīng)置為01+02+04=07。對指定文件名的文件可用DOS系統(tǒng)功能調(diào)用中的43號調(diào)用(AH=43H)置以給定的屬性。5、寫文件入口參數(shù) (AH)=40H (BX)=文件代號 (CX)=要寫的字節(jié)數(shù) DS:DX=數(shù)據(jù)緩沖區(qū)的首址出口參數(shù) 如果成功,則CF=0,(AX)為實際寫入的字節(jié)數(shù)(磁盤空間不夠的情況) 如果失敗,則CF=1,(AX)=錯誤代碼6、 置/取文件特性入口參數(shù) (AH)=43H (AL)=1,置文件特性;0:取文件特性; (CX)=文件特性 DS:DX=文件說明串首地址出口參數(shù) 如果是取文件特性,則(CX)=文件特性2.4程序分析所以我們可以將整個程序系統(tǒng)分為四個

10、部分主程序、文件讀取子程序、文件讀取失敗子程序,文件顯示子程序。2.4.1主程序模塊的編程及實現(xiàn)原理 根據(jù)題目要求及設(shè)設(shè)思想我們可以知道程序主要是實現(xiàn)對已有文本文件的讀取,無論文件存在與否,都要根據(jù)路徑去訪問文件。若文件存在,則顯示文件內(nèi)容,若文件不存在,則顯示錯誤提醒信息。 程序如下:CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,INMSG1 ;顯示要求輸入打開的文件息 MOV AH,09H INT 21H LEA DX,FILEN ;輸入文件名 MOV AH,0AH INT 21H MOV B

11、L,FILEN ;取文件度 MOV BH,0 MOV FILENBX+2,BYTE PTR 0 ;文件名末尾添0 LEA DX,FILEN+2 ;指向文件名 MOV AL,0 ;以只讀方式打開 MOV AH,09H ;打開文件 INT 21H2.4.2文件讀取子程序 假若文件存在,則根據(jù)用戶所輸入路徑去讀取文件內(nèi)容。若文件含有內(nèi)容,則顯示;若不含內(nèi)容,則文件關(guān)閉。所以,我們首先要編寫一個子程序,主要功能是實現(xiàn)文件內(nèi)容不存在,關(guān)閉文件,而關(guān)閉文件調(diào)用3EH功能,程序如下:CLFILE: MOV AH,3EH ;關(guān)閉文件 INT 21H若文件內(nèi)容存在,系統(tǒng)讀取文件調(diào)用使用3FH功能。 則正常的文件

12、讀取子程序如下: RDFILE: LEA DX,BUFIN ;DX指向緩沖區(qū) MOV CX,50H ;每次讀80個字節(jié) MOV AH,3FH ;讀文件 INT 21H JC RDERR ;讀出錯,轉(zhuǎn)RDERR OR AX,AX ;讀入的字節(jié)數(shù)是否0 JZ CLFILE ;若為0,轉(zhuǎn)CLFILE MOV DL,0DH ;輸出回車 MOV AH,2 INT 21H MOV DL,0AH ;輸出換行,準(zhǔn)備顯示文件容 MOV AH,2 INT 21H2.4.3文件顯示子程序 文件正常讀取。 DISP0: MOV AL,BUFINSI ;從緩沖區(qū)送一個字節(jié)AL CMP AL,EOF ;是否為文件結(jié)束符

13、JZ CLFILE ;若是,轉(zhuǎn)CLFILE MOV DL,AL ;顯示一個字符 MOV AH,20h INT 21H INC SI ;指向下一個字節(jié) JMP RDFILE ;再去讀50H個字節(jié)2.4.4讀取文件失敗子程序 若文件不存在,則讀取文件失敗,顯示錯誤提醒信息。考慮錯誤信息為字符串,故我們首先在數(shù)據(jù)段定義錯誤提醒字符串'Read file error!',0AH,0DH,'$'。若文件打開失敗則顯示數(shù)據(jù)段定義錯誤提醒字符串“Open file error!',0AH,0DH,'$'”,通過調(diào)用09H功能顯示錯誤提醒信息??芍苯油ㄟ^

14、可以通過如下程序?qū)崿F(xiàn)。 RDERR: LEA DX,ERRRD ;顯示讀文件出錯的信息 JMP DISP1 OPERR: LEA DX,ERROP ;顯示打開文件出錯的信息 DISP1: MOV AH,09H INT 21H JMP ENDO2.5程序調(diào)試及實現(xiàn)的功能用匯編語言設(shè)計程序首先應(yīng)根據(jù)編寫匯編語言源程序,文件類型一般標(biāo)為asm文件,編號程序后,可以用各種文件編輯軟件建立源文件,即asm文件,通常文件名的后綴是.asm。匯編語言源程序必須經(jīng)過翻譯才能變?yōu)槎M制機器代碼。在計算機中完成這種翻譯工作的軟件叫做匯編程序。MASM.EXE就是匯編程序。如果源程序名為:tie.asm,并存放在F

15、盤的ct文件夾中,則用命令:C:)MASM f:cttie.asm就將產(chǎn)生匯編語言源程序的目標(biāo)程序,文件一般標(biāo)為.obj,然后將目標(biāo)文件存放于E盤111文件夾中。另外多個不同的目標(biāo)文件以及庫文件LIB可以組合在一起形成一個更大的文件。連接裝配程序LINK.EXE則用來把指定的目標(biāo)文件和庫文件組裝成一個完整的程序文件,并且完成相對地址的調(diào)整和對變量引用的處理。在匯編后在用LINK命令:C:)LINK f:cttie.obj,則產(chǎn)生tie.exe.這是一個可執(zhí)行的文件。EXE文件除了程序運行結(jié)束時,可以通過把控制返回給PSP中的這條指令而終止自己的進程。這是由用戶程序反悔操作系統(tǒng)的傳統(tǒng)方法。 、

16、3、實驗結(jié)果與分析 3.1 TXT文件創(chuàng)建首先創(chuàng)建一個名為1的TXT文件,在TXT文件中輸入內(nèi)容為 123 。 圖2:TXT文件創(chuàng)建 3.2 DOS環(huán)境下的一系列操作根據(jù)之前創(chuàng)建文件的路徑在DOS環(huán)境下一步步打開,緊接著顯示編譯成功,再按照實驗結(jié)果所提示的輸入路徑,得到如圖4所示結(jié)果與TXT文件中的內(nèi)容一致,則表示實驗結(jié)果正確。 圖4:最終結(jié)果4、總結(jié)與體會這次電子課程設(shè)計是理論與實踐相結(jié)合的最好形式。在課題的完成過程中要求制作者要有堅實的理論基礎(chǔ)和很強的動手能力。在設(shè)計過程中,通過自主查找數(shù)據(jù)和其他資料,接觸到了很多課本上沒有的東西。 經(jīng)過這次課程設(shè)計,才明白自己將程序應(yīng)用的自己的實驗編寫中

17、的不容易。里面的過程要求要非常細心。要運用匯編語言來完成自己的實驗,確實是一件不輕松的工作,不僅要有較強的動手能力,還要有靈活運用程序的功底,為此需要閱讀大量關(guān)于這方面的書籍。 通過這次實驗再一次熟悉了DOS環(huán)境的一些操作方法,回顧了匯編語言各個指令的功能,了解了實現(xiàn)TXT文件讀操作的方法。微機原理課程設(shè)計是這一專業(yè)的基礎(chǔ)課程,經(jīng)過查資料、選方案、編寫程序、調(diào)試程序、撰寫設(shè)計報告,使得我們得到一次比較全面的基礎(chǔ)實踐訓(xùn)練,正是這次訓(xùn)練,提高和培養(yǎng)了創(chuàng)新能力,學(xué)會了利用身邊有限的資源為自己服務(wù)。剛開始拿到這一課題有些不知所措,或許是因為很久不接觸而感到陌生的緣故,不知該從何處下手,于是通過查閱各方

18、面的資料以及同學(xué)的幫助,初步了解了DOS環(huán)境下的一些操作,接下來是審題這一環(huán)節(jié),對于TXT文件的讀操作在之前所學(xué)的微機原理與接口技術(shù)已經(jīng)有了介紹,通過翻閱這一書籍再結(jié)合網(wǎng)上一些代碼作為參考,經(jīng)過反復(fù)的調(diào)試,得出了最終所需要的答案。這一次的課程設(shè)計讓我感受到了團隊合作的重要性,通過每個人分工把效率提到最大化,彼此之間能夠及時討論各自發(fā)現(xiàn)的有利于解決問題的方法,把這些零碎的答案整合起來得到最終的結(jié)果。將來步入社會也需要這一精神,在公司與同事和諧相處,通過團結(jié)協(xié)作把領(lǐng)導(dǎo)布置的任務(wù)做到最準(zhǔn)確、最快速完成。這就是課程設(shè)計的必要性,不僅僅是完成這一課題,更多的學(xué)習(xí)到的一種態(tài)度。再次感謝老師的輔導(dǎo)以及同學(xué)的

19、幫助。參考文獻1朱金鈞,麻新旗。微型計算機原理及應(yīng)用技術(shù)M,北京:機械工業(yè)出版社,2021 .2徐向陽,80X86匯編語言程序設(shè)計上機指南M,武漢:華中科技大學(xué)出版社,2021 .3湯書森 ,微機原理接口技術(shù)實驗與實踐教程M,北京:清華大學(xué)出版社,2021.4劉紅玲 趙梅,微機原理與接口技術(shù)實用教程 M,北京:電子工業(yè)出版社 ,2021. 附錄:DATA SEGMENT FILEN DB 21 ;文件名允許長度20 DB ? ;實際文件名長度 DB 20 DUP(?) ;存新文名 ERROP DB 'Open file error!',0AH,0DH,'$' E

20、RRRD DB 'Read file error!',0AH,0DH,'$' INMSG1 DB 'Please input filename:',0AH,0DH,'$' BUFIN DB 0F000H DUP(?) EOF EQU 1AH ;文件結(jié)束CTRL+Z DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,INMSG1 ;顯示要求輸入打開的文件息 MOV AH,09H INT 21H LEA DX,FILEN

21、;輸入文名 MOV AH,0AH INT 21H MOV BL,FILEN ;取文件度 MOV BH,0 MOV FILENBX+2,BYTE PTR 1 ;文件名末尾添0 LEA DX,FILEN+2 ;指向文件名 MOV AL,0 ;以只讀方式打開 MOV AH,3DH ;打開文件 INT 21H JC OPERR ;打開出錯 ,OPERR MOV BX,AX ;轉(zhuǎn)存文件號 RDFILE: LEA DX,BUFIN ;DX指向緩沖區(qū) MOV CX,50H ;每次讀80個字節(jié) MOV AH,3FH ;讀文件 INT 21H JC RDERR ;讀出錯,轉(zhuǎn)RDERR OR AX,AX ;讀入的

22、字節(jié)數(shù)是否0 JZ CLFILE ;若為0,轉(zhuǎn)CLFILE MOV DL,0DH ;輸出回車 MOV AH,2 INT 21H MOV DL,0AH ;輸出換行,準(zhǔn)備顯示文件容 MOV AH,2 INT 21H MOV SI,0 DISP0: MOV AL,BUFINSI ;從緩沖區(qū)送一個字節(jié)AL CMP AL,EOF ;是否為文件結(jié)束符 JZ CLFILE ;若是,轉(zhuǎn)CLFILE MOV DL,AL ;顯示一個字符 MOV AH,2 INT 21H INC SI ;指向下一個字 JMP RDFILE ;再去讀50H個字節(jié) RDERR: LEA DX,ERRRD ;顯示讀文件出錯的信息 JMP

23、 DISP1 OPERR: LEA DX,ERROP ;顯示打開文件出錯的息 DISP1: MOV AH,09H INT 21H JMP ENDO CLFILE: MOV AH,3EH ;關(guān)閉文件 INT 21H ENDO: MOV AH,4CH ;退出 INT 21H CODE ENDS END START課程設(shè)計獨創(chuàng)性聲明: 此設(shè)計由我們小組獨立完成,所有參考資料在參考文獻中標(biāo)出 學(xué)生簽名: 指導(dǎo)教師評語:課程設(shè)計成績: 指導(dǎo)教師簽名: 教研室意見: 教研室主任簽名: 公司印章管理制度一、目的 公司印章是公司對內(nèi)對外行使權(quán)力的標(biāo)志,也是公司名稱的法律體現(xiàn), 因此,必須對印章進行規(guī)范化、合理化的嚴(yán)格管理,以保證公司各項業(yè)務(wù)的正常運作,由公司指定專人負責(zé)管理。二、印章的種類1、 公章,是按照政府規(guī)定,由主管部門批準(zhǔn)刻制的代表公

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論