




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
課程設計說明書設計名稱:計算機操作系統(tǒng)課程設計題目:操作系統(tǒng)命令接口設計學生姓名:張協(xié)鎏專業(yè):計算機科學與技術班級:13計算機科學與技術2班學號:2013314209指導教師:任朝暉、曾凡智、黃營、周燕日期:2015年9月20日計算機科學與技術專業(yè)2013年級2班張協(xié)鎏設計題目操作系統(tǒng)命令接口設計目的和要求(1)本設計的目的是通過設計一些簡單的操作系統(tǒng)的命令接口,使學生掌握操作系統(tǒng)接口的設計方法。(2)要求學生在熟悉操作系統(tǒng)的命令接口及程序接口的基礎上,利用C語言設計簡單的命令接口。命令接口基于DOS的命令行接口。設計內(nèi)容利用C語言、DOS中斷中21H與屏幕顯示相關的中斷調用完成設計,具體包括:命令解釋器列目錄命令顯示時間命令顯示日期命令回顯字符串命令創(chuàng)建目錄命令刪除目錄命令更改路徑命令顯示當前工作目錄命令刪除文件命令打印文本命令文件重新命名顯示文本命令顯示版本命令顯示目錄結構命令清除當前顯示內(nèi)容命令上述內(nèi)容中,所有命令通過命令解釋器能夠執(zhí)行,即啟動命令解釋器以后,輸入相應命令,按照輸入指令執(zhí)行相應功能,并在屏幕上顯示相應結果。voidfile(charfilename1[80],charfilename2[80]):文件重新命名功能,調用DOS中斷21H的56H的文件改名命名命令;voidshowlist():顯示當前工作目錄功能,調用DOS中斷21H的47H的顯示當前工作目錄命令;voidrewords():鍵盤輸入字符并回顯字符功能,調用DOS中斷21H的09回顯字符串的命令;clrscr():清除當前顯示內(nèi)容功能。2、程序調試運行結果分析開始運行功能選擇界面輸入功能號1顯示當前系統(tǒng)時間,輸入功能號2輸出當前系統(tǒng)日期,輸入功能號3輸出當前系統(tǒng)DOS版本,輸入功能號5創(chuàng)建目錄,工作目錄成功創(chuàng)建文件夾FILE輸入功能號7文件改名,改名為NEWFILE,工作目錄成功改名NEWFILE,輸入功能號6刪除NEWFILE文件夾成功,運行調試結果滿足實驗要求,退出程序,完成設計內(nèi)容。三、程序設計總結體會通過連續(xù)兩個星期的上機編程,我體會了從事C語言課程設計工作需要特別謹慎認真地態(tài)度和作風,一點都不能馬虎。每個細微的細節(jié)都必須十分注意,如果不認真思考,就會出現(xiàn)或大或小的錯誤。如果把早期的錯誤隱藏下來,對后面的工作影響就會很大,甚至有時會推倒很多前面做的工作。有時候,我自己覺得我寫的程序非常正確,但是就是編譯通不過,在查找錯誤的過程中,面臨著否認自己的過程,非常的痛苦,而且由于自己的經(jīng)驗及各方面的能力的不足,所以進展的速度非常的緩慢,往往幾天的時間沒有一點進展。這時候,我一般是先自己通過書本,手冊和資料找解決辦法,實在沒轍才向老師同學請教。在開始編寫程序的時候,我還不清楚DOS中斷的知識,剛開始就在上網(wǎng)百度學習有關程序接口和中斷調用相關知識,慢慢的開始知道怎么去調用DOS21H的功能號?;仡櫞舜握n程設計,至今我仍然很多感想,的確,自從拿到題目到完成整個編程,從理論到實踐,這些日子里,可以學到很多很多的東西,同時不僅可以鞏固以前所學的知識,而且學到了很多在書本上所沒學到的知識,通過在這次課程設計使我懂得了理論知識與實踐動手能力組合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。 通過一段時間的課程設計,我明白了程序一定要要親手做過,不管它是否有結果。你要學的是知識,是解決問題的方法和思想,要端正學習態(tài)度,一時的成敗不足以論英雄,每一次突破都是一種收獲,就是在這樣的過程中我們才能不斷提高。在從開始接到課程設計,再到報告的完成,每走一步都滲透著努力和汗水。在收獲知識的同時收獲快樂。對給過我?guī)椭乃型瑢W和各位指導老師再次表示衷心的感謝!四、源代碼<在TurboC3.0環(huán)境>#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<dos.h>#include<bios.h>#defineINTER0x21voidmenu(){ printf("0.Exit\n1.Displaycurrrenttime\n2.Displaycurrrentday\n"); printf("3.DisplaycurrrentMos-dos\n4.Deletefile\n5.Createcontents\n");printf("6.Deletecontents\n7.Filename\n8.Displaycurrrentlist\n"); printf("9.Echostring\n10.ReadingFile\n11.Clearscreen\n");}voidtime(){ unionREGSinregs,outregs;//定義中斷信息結構體 structSREGSsegregs; inregs.h.ah=0x2C; int86x(INTER,&inregs,&outregs,&segregs); printf("Nowthetimeis:%d:%d,%d:%d\n",outregs.h.ch,outregs.h.cl,outregs.h.dh,outregs.h.dl); getchar();}voidday(){unionREGSinregs,outregs;//定義中斷信息結構體 structSREGSsegregs; inregs.h.ah=0x2a; int86x(INTER,&inregs,&outregs,&segregs); printf("Nowthedayis:%d,%d,%d,Week:%d\n",outregs.x.cx,outregs.h.dh,outregs.h.dl,outregs.h.al); getchar();}voiddos(){unionREGSinregs,outregs;//定義中斷信息結構體 structSREGSsegregs; inregs.h.ah=0x30; int86x(INTER,&inregs,&outregs,&segregs); printf("TheDOSversionofthismachineis:%d,%d,%d,%d:%d\n",outregs.h.al,outregs.h.ah,outregs.h.bh,outregs.h.ah,outregs.x.cx); getchar();}voidDeleteFile(charfilename[80]){ unionREGSinregs,outregs; structSREGSsegregs; inregs.h.ah=0x41;//DOS中斷號41是刪除文件 inregs.x.dx=FP_OFF(filename); segregs.ds=FP_SEG(filename); int86x(INTER,&inregs,&outregs,&segregs);if(02==outregs.x.ax)//02表示文件未找到 { printf("\nFILE%sisnotexist!\n",filename); } printf("\nTheFile:%shasbeendeletesuccessfully\n",filename);}voidCreatefile(charfilename[80]){unionREGSinregs,outregs; structSREGSsegregs; inregs.h.ah=0x39; inregs.x.dx=FP_OFF(filename); segregs.ds=FP_SEG(filename); int86x(INTER,&inregs,&outregs,&segregs); if(02==outregs.x.ax)//02表示文件為找到 { printf("\nFILE%sisnotexist!\n",filename); } printf("success!\n");}voidDeletefile(charfilename[80]){unionREGSinregs,outregs; structSREGSsegregs; inregs.h.ah=0x3A; inregs.x.dx=FP_OFF(filename); segregs.ds=FP_SEG(filename); int86x(INTER,&inregs,&outregs,&segregs); if(02==outregs.x.ax)//02表示文件為找到 { printf("\nFILE%sisnotexist!\n",filename); } printf("success!\n");}voidfile(charfilename1[80],charfilename2[80]){ unionREGSinregs,outregs; structSREGSsegregs; inregs.h.ah=0x56;//DOS中斷號56是重命名文件 inregs.x.dx=FP_OFF(filename1); segregs.ds=FP_SEG(filename1); inregs.x.di=FP_OFF(filename2); segregs.es=FP_SEG(filename2); int86x(INTER,&inregs,&outregs,&segregs); if(outregs.x.ax==02) { printf("\nFILE%sisnotexist!\n",filename1); } printf("success!\n");}voidshowlist(){ charlist[80]; unionREGSreg; structSREGSsegreg; reg.h.ah=0x47; reg.h.dl=0; reg.x.si=FP_OFF(list); segreg.ds=FP_SEG(list); intdosx(®,®,&segreg); printf("Thecurrentworkingdirectoryis:%s\n",list);}voidrewords(){ unionREGSreg,reg1; structSREGSsreg; charword[200]; for(inti=0;i<200;i++) word[i]='$'; scanf("%s",&word); reg1.x.dx=FP_OFF(word); sreg.ds=FP_SEG(word); reg1.h.ah=0x09; int86x(INTER,®1,®1,&sreg); printf("\n");}voidReadFromFile(charfilename[80]){ unionREGSinregs,outregs; structSREGSsegregs; intresult; charReadContents[20]; inregs.h.ah=0x3D; inregs.x.dx=FP_OFF(filename); segregs.ds=FP_SEG(filename); inregs.h.al=2; intdosx(&inregs,&outregs,&segregs); result=outregs.x.ax; if(2==result) { printf("\nCannotreadcontentsfromfile:%s!Thefilemaynotexist\n",filename); } else { inregs.x.bx=result; inregs.h.ah=0x3F; inregs.x.dx=FP_OFF(ReadContents); segregs.ds=FP_SEG(ReadContents); inregs.x.cx=20; intdosx(&inregs,&outregs,&segregs); printf("%sfilebytenumber:%d\n",filename,outregs.x.ax); printf("%scontentsis:",filename); for(inti=0;i<outregs.x.ax;i++) { printf("%c",ReadContents[i]); } printf("\n"); }}intmain(){ charDeleteFileName[80]; charReadingFileName[80]; charfile1[80],file2[80]; inta; do { menu(); scanf("%d",&a); switch(a) { case1: time(); break; case2: day(); break; case3: dos(); break; case4: printf("\nInputthenameofexistingfiletodelete:"); scanf("%s",&DeleteFileName);DeleteFile(DeleteFileName); break; c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人力資源咨詢顧問合同書
- 產(chǎn)品售后服務情況說明表
- 制造業(yè)企業(yè)知識產(chǎn)權保護策略研究
- 光纜遷移施工方案范本
- 橡膠跑道施工方案
- 涼山道路施工方案
- TCSMT YB011-2024 天然氣發(fā)熱量測量裝置測試技術規(guī)范
- 建筑工程人工費承包合同-@-1
- 物業(yè)地面處理方案
- 透水砼路面施工方案
- 精細化工工藝學-第1章緒論講解課件
- 仰拱棧橋計算
- 中醫(yī)婦科 月經(jīng)過多課件
- 2022年江西制造職業(yè)技術學院單招語文試題及答案解析
- 穆斯林太巴熱咳慶念詞文
- 商標一級授權書模板
- 軟硬結合板的設計制作與品質要求課件
- 民營醫(yī)院組織架構圖示
- 慢性心功能不全護理查房
- 初中 初二 物理 凸透鏡成像規(guī)律實驗(習題課) 教學設計
- 消防維保方案 (詳細完整版)
評論
0/150
提交評論