匯編課設(shè)報(bào)告
《匯編課設(shè)報(bào)告》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《匯編課設(shè)報(bào)告(25頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 課 程 設(shè) 計(jì) 報(bào) 告 課程名稱(chēng) 匯編語(yǔ)言程序設(shè)計(jì) 課題名稱(chēng) 中斷應(yīng)用程序設(shè)計(jì) 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 2010年 9 月 5 日 一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求 1.設(shè)計(jì)內(nèi)容:通過(guò)本周的課程設(shè)計(jì),學(xué)生能夠鞏固所學(xué)的基礎(chǔ)知識(shí),并能夠使學(xué)生更加熟練運(yùn)用匯編程序設(shè)計(jì)語(yǔ)言來(lái)掌握綜合匯編程序設(shè)計(jì)的方法和過(guò)程,以及為設(shè)計(jì)其它應(yīng)用軟件提供幫助,進(jìn)而提高學(xué)生的軟件設(shè)計(jì)能力。 1、編制一計(jì)算比賽成績(jī)的程序,要求完成以下功能: (1) 9名評(píng)委,每個(gè)評(píng)委給分范圍為0~10(整數(shù));
2、(2) 9名評(píng)委給分中,去掉一個(gè)最高分和一個(gè)最低分,剩余7名評(píng)委的平均分即為參賽者的得分(精確到小數(shù)點(diǎn)二位); (3) 將得分在光標(biāo)位置處顯示出來(lái)。 2、編制一程序,要求接收從鍵盤(pán)輸入的一個(gè)班的學(xué)生成績(jī),并存放于30字的grade數(shù)組中,各數(shù)據(jù)的格式為: 學(xué)號(hào),成績(jī)1,成績(jī)2,…,成績(jī)5 然后根據(jù)grade中的學(xué)生成績(jī),把學(xué)生名次填入rank數(shù)據(jù)組中,并顯示出來(lái),格式為: 學(xué)號(hào),名次 3、利用INT 1CH(大約每秒中斷18.2次)編寫(xiě)一個(gè)中斷駐留程序,要求在屏幕的右上角顯示計(jì)算機(jī)中當(dāng)前系統(tǒng)時(shí)間,顯示格式為 時(shí):分:秒:1/100秒 4、輸入一個(gè)菱形的兩條對(duì)角線(xiàn)長(zhǎng),在屏幕
3、上用‘*’號(hào)畫(huà)出一個(gè)彩色的菱形。 5、設(shè)置圖形方式并顯示彩條,要求: 選擇背景色為藍(lán)色,調(diào)色板為0,然后每行顯示一種顏色,每四行重復(fù)一次,一直到整個(gè)屏幕都顯示出彩條 2.設(shè)計(jì)要求: 掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問(wèn)題,為將來(lái)編寫(xiě)軟件積累一些典型的案例處理經(jīng)驗(yàn)。 1. 設(shè)計(jì)正確,方案合理。 2. 界面友好,使用方便。 3. 程序精煉,結(jié)構(gòu)清晰。 4. 設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶(hù)使用說(shuō)明,源程序清單及程序框圖。 5. 上機(jī)演示。 6. 按學(xué)號(hào)順序選課題號(hào),并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的匯編源程序編寫(xiě)、
4、調(diào)整和運(yùn)行。源程序及編譯生成各文件均保存在軟盤(pán)中; 7. 按本任務(wù)書(shū)的要求,按附錄的要求編寫(xiě)《課程設(shè)計(jì)報(bào)告》(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂; 二、進(jìn)度安排 第 1 周 上機(jī)時(shí)間 星期1 布置任務(wù) 星期2 8:00—12:00 星期3 8:00—12:00 星期4 8:00—12:00 附: 課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書(shū)、目錄、正文、評(píng)分、附件(A4大小的圖紙及程序清單)。 正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,二
5、級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為22。 正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫(huà)出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個(gè)主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對(duì)程序?qū)懗霰匾淖⑨專(zhuān)? 正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼)。 目 錄 一、課程的主要功能1 二、功能模塊的劃分2 三、主要功能的實(shí)現(xiàn) 四、程序調(diào)試 五、總結(jié) 六、附件 1、課程的主
6、要功能 1、課題的主要功能: 班級(jí)學(xué)生成績(jī)處理主要要求我們從鍵盤(pán)輸入一個(gè)班的成績(jī),包括學(xué)生的學(xué)號(hào),學(xué)生的各科成績(jī)(總共五科),將輸入的學(xué)生信息存放在數(shù)組grade中,然后用編寫(xiě)的程序來(lái)實(shí)現(xiàn)計(jì)算和顯示學(xué)生學(xué)號(hào)和名次的功能,為了實(shí)現(xiàn)該項(xiàng)功能,將通過(guò)計(jì)算每個(gè)學(xué)生的平均成績(jī),并將其進(jìn)行排序來(lái)實(shí)現(xiàn)。結(jié)果保存在rank數(shù)組中。使用者可以根據(jù)具體的菜單選項(xiàng)進(jìn)行操作。例外,為了使程序大的功能較為完整點(diǎn),為了讓使用更好的使用該程序,我在原來(lái)的要求上增加了幾個(gè)功能模塊,如查詢(xún)、刪除和退出功能。
7、 2、功能模塊的劃分 1、模塊圖 整個(gè)程序有5個(gè)功能模塊構(gòu)成,分別是輸入信息模塊、顯示信息模塊、查詢(xún)信息模塊、刪除信息模塊和退出菜單模塊,他們之間的關(guān)系如下模塊圖所示: 開(kāi)始 選擇功能 I L S D Q 刪除信息 顯示信息 錄入信息 查詢(xún)信息 學(xué)號(hào)、名次 退出程序 結(jié)束 2、程序模塊分析: 此程序主要分為大模塊,包
8、括主模塊,輸入模塊和輸出模塊 1.主模塊: 從鍵盤(pán)輸入學(xué)生的學(xué)號(hào)、分?jǐn)?shù),并在屏幕上顯示學(xué)生的學(xué)號(hào)和名次,其功能是根據(jù)輸入的學(xué)生分?jǐn)?shù),計(jì)算并顯示學(xué)生名次。此處采用冒泡排序法,并且一個(gè)學(xué)生的名次等于分?jǐn)?shù)高于該生的學(xué)生人數(shù)加1。 2.輸入模塊: 以學(xué)號(hào)為序從鍵盤(pán)輸入學(xué)生分?jǐn)?shù),各個(gè)分?jǐn)?shù)之間用逗號(hào)隔開(kāi),最后用回車(chē)符結(jié)束。再把學(xué)生成績(jī)存入grade數(shù)組。其功能是接收學(xué)生的分?jǐn)?shù),并將從鍵盤(pán)輸入的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制。 3.輸出模塊: 從RANK數(shù)組取得學(xué)生名次,把學(xué)生名次以學(xué)號(hào)為序在屏幕上顯示,其功能是顯示學(xué)生的名次。 4.查詢(xún)模塊: 此模塊是根據(jù)輸入的查詢(xún)方式對(duì)存在文檔里的信息進(jìn)行查詢(xún)
9、,可以按學(xué)號(hào)查詢(xún)或按成績(jī)查詢(xún),并在屏幕上顯示查詢(xún)的信息。 5.刪除模塊: 刪除模塊是在查詢(xún)模塊的基礎(chǔ)上對(duì)查詢(xún)的內(nèi)容進(jìn)行刪除。 3、主要功能的實(shí)現(xiàn) 一、功能模塊的分析 此次班級(jí)成績(jī)處理程序使用了5個(gè)功能模塊,分別是輸入信息模塊、顯示信息模塊、查詢(xún)信息模塊、刪除信息模塊和退出菜單模塊,使用者只需要根據(jù)界面的菜單提示選擇進(jìn)行相應(yīng)的功能模塊就可以了。 部分功能模塊如下: 1.菜單功能源代碼: INPUT: MOV AH,0 IN
10、T 16H CMP AH,26H ;IS L? JNZ NEXT1 CALL LIST JMP MAINLOOP NEXT1: CMP AH,17H ;IS I? JNZ NEXT2 CALL INSERT JMP MAINLOOP NEXT2: CMP AH,1FH ;IS S? JNZ NEXT3
11、 MOV STATE,S CALL SEARCH JMP MAINLOOP NEXT3: CMP AH,20H ;IS D? JNZ NEXT4 MOV STATE,D CALL SEARCH JMP MAINLOOP NEXT4: CMP AH,10H ;IS Q? JNZ INPUT RET 此功能根據(jù)提示選擇相應(yīng)的選
12、項(xiàng)進(jìn)行操作,“S”為查詢(xún)功能,“I”為輸入功能,“D”為刪除功能,“L”為顯示功能,“Q”則退出選項(xiàng)。 2、輸入功能模塊部分代碼 GETSTR MACRO ADDR LOCAL EXT,CHAR,SPACE MOV BX,0 SPACE: MOV &ADDR&[BX],0 INC BX CMP BX,10 JL SPACE MOV BX,0 CHAR: MOV AH,1 INT 21H
13、 CMP AL,13 JZ EXT CMP AL,10 JZ EXT CMP BX,9 JG CHAR MOV &ADDR&[BX],AL INC BX JMP CHAR EXT: ENDM 此輸入信息模塊用數(shù)組來(lái)接受學(xué)生信息,并且限制了信息的長(zhǎng)度,在程序中可連續(xù)調(diào)用該模塊來(lái)滿(mǎn)足用戶(hù)連續(xù)輸入學(xué)生信息的要求,并將其信息存入到了grade數(shù)組中。 3、
14、刪除模塊和查詢(xún)模塊有著大部分相同的代碼,刪除模塊就包含了查詢(xún)模塊,它首先就必須根據(jù)輸入的學(xué)生信息在文件數(shù)組里對(duì)信息進(jìn)行查詢(xún)后才能進(jìn)行刪除的操作,其部分代碼為: CMPLOOP: MOV AH,14H LEA DX,MYFCB INT 21H CMP AL,01 JNZ NEXT JMP EXITS NEXT: CLD MOV AL,10
15、 MUL WAY LEA SI,VALUE LEA DI,N ADD DI,AX MOV CX,10 REPE CMPSB JNZ CMPLOOP SHOW PRINT MOV FLAG,1 MOV CL,RECID CMP STATE,D JNE RETURN DEL: MOV AH,14H
16、 LEA DX,MYFCB INT 21H CMP AL,0 JNZ W_END SUB RECID,2 MOV AH,15H LEA DX,MYFCB INT 21H INC RECID JMP DEL W_END: CLD LEA DI,MYDTA MOV
17、 CX,50 MOV AL,0 REP STOSB SUB RECID,1 MOV AH,15H MOV MYDTA,1AH LEA DX,MYFCB INT 21H SHOW DELOK RETURN: MOV RECID,CL JMP CMPLOOP EXITS: CALL CLOSEF CMP FLAG,0
18、 JNZ EXT SHOW NOTHIS EXT: MOV FLAG,0 POP DX POP CX POP BX POP AX RET SEARCH ENDP 查詢(xún)或刪除功能可以根據(jù)學(xué)生的學(xué)號(hào)或各科成績(jī)來(lái)進(jìn)行查詢(xún)或刪除,如果輸入有誤將提示:error,無(wú)誤的話(huà)就可以直接輸入信息進(jìn)行查詢(xún)和刪除的操作。 二、流程圖舉例: 查詢(xún)功能模塊流程圖
19、開(kāi)始 選擇功能選項(xiàng) S Q 選擇查詢(xún)方式 按序號(hào)查詢(xún) 按科目成績(jī) 查詢(xún) 顯示查詢(xún)信息 結(jié)束 4、程序調(diào)試 1.首先調(diào)試的時(shí)候,總是不能顯示之前所輸入的學(xué)生信息數(shù)據(jù),每次都必須重新輸入,通過(guò)請(qǐng)教老師同學(xué)得到了解決,在程序里使用了文件的管理,將每次的輸入都增添在了文檔里,每次輸入、刪除后的信息都保存在該文件中。程序也用了“MYDTA?。蹋粒拢牛獭。拢伲裕牛?lái)建立學(xué)生信息的磁盤(pán)卷標(biāo),使程序更加完善。 2.這個(gè)程序要求寫(xiě)入
20、信息并排學(xué)生名次,計(jì)算學(xué)生平均分倒是很簡(jiǎn)單,要是單獨(dú)將平均分排序也不太難,問(wèn)題是我不知道將其綜合,名次老和學(xué)生學(xué)號(hào)對(duì)不上號(hào),不過(guò)在老師的幫助下也得到了解決。 3.程序算法解決完了就是要注意一些較為基礎(chǔ)的問(wèn)題,在定義變量的時(shí)候不能用特殊的名稱(chēng),否則會(huì)造成那很多錯(cuò)誤,造成不必要的時(shí)間浪費(fèi)。 4.我的程序菜單較為簡(jiǎn)單,調(diào)試時(shí)輸入功能界面如下: 查詢(xún)或刪除功能的界面如下:如圖一所示,為輸入錯(cuò)誤的信息導(dǎo)致界面顯示ERROR,圖二則是正常的情況下運(yùn)行的界面。 圖一
21、 圖二 5、總結(jié) 此次匯編課程設(shè)計(jì)是在開(kāi)學(xué)的第一周,雖說(shuō)是已經(jīng)開(kāi)學(xué)了,但是學(xué)習(xí)狀態(tài)可以說(shuō)還是零。當(dāng)接到任務(wù)書(shū)時(shí)我的心里有說(shuō)不出的高興,班級(jí)學(xué)生成績(jī)處理,這個(gè)課題對(duì)我來(lái)說(shuō)再熟悉不過(guò)了,從大一的C課程設(shè)計(jì)到C++面對(duì)對(duì)象的課程設(shè)計(jì),我一直做著與學(xué)生成績(jī)相關(guān)的題目,雖然還沒(méi)從假期的松散狀態(tài)緩過(guò)來(lái),但是一點(diǎn)也不怕,感覺(jué)自己能輕松完成這熟悉的課設(shè),但是事實(shí)卻讓我不敢想象。 班級(jí)成績(jī)處理程序設(shè)計(jì)要求從鍵盤(pán)輸入學(xué)生的基本信息,如學(xué)生的學(xué)號(hào)、各科的成績(jī),然后將信息存入grade數(shù)組中,并要求處理數(shù)據(jù)將相應(yīng)的學(xué)生學(xué)號(hào)和名次存放在
22、rank數(shù)組中,并隨時(shí)可以根據(jù)使用者的意思顯示出來(lái)。面對(duì)看上去這么簡(jiǎn)單的題目,我竟一開(kāi)始寫(xiě)代碼就不知道該怎么動(dòng)筆。我想首先用數(shù)組來(lái)存放學(xué)生的成績(jī),并通過(guò)編簡(jiǎn)單的程序計(jì)算每學(xué)生的平均,可卻不知道該怎么將學(xué)生的學(xué)號(hào)和平均成績(jī)捆綁在一起來(lái)進(jìn)行排序。想到方法又卡住了,就這樣想了很久也沒(méi)能解決問(wèn)題。要做好一個(gè)簡(jiǎn)單的程序首先就是要將思路想好,然后才能動(dòng)筆編個(gè)好多程序,但是一開(kāi)始我就沒(méi)一個(gè)完整的思路,想到這我是越來(lái)越失去信心了。不過(guò)在老師的精心輔導(dǎo)下,我還是努力完成了任務(wù),沒(méi)有放棄。 “匯編語(yǔ)言程序設(shè)計(jì)”是計(jì)算機(jī)專(zhuān)業(yè)的重要專(zhuān)業(yè)基礎(chǔ)課,是從事計(jì)算機(jī)研究與應(yīng)用的基礎(chǔ),是計(jì)算機(jī)專(zhuān)業(yè)必修的核心課程之一,為更好的培
23、養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)、發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力,對(duì)這門(mén)課開(kāi)設(shè)了課程設(shè)計(jì)。匯編語(yǔ)言程序設(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的課,能很好的培養(yǎng)學(xué)生的創(chuàng)造性和動(dòng)手能力,所以課程設(shè)計(jì)也是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。隨著科學(xué)技術(shù)發(fā)展的日新日異,匯編語(yǔ)言已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,是很多技術(shù)的基礎(chǔ)在生活中可以說(shuō)得是無(wú)處不在。所以認(rèn)真做好這次課程設(shè)計(jì)對(duì)我們來(lái)說(shuō)很重要,從中我也是收益很多。也有很多感受。 首先,通過(guò)這次匯編語(yǔ)言程序設(shè)計(jì),讓我更深地體會(huì)到了上機(jī)操作有助于將書(shū)本上的知識(shí)系統(tǒng)化、現(xiàn)實(shí)化,更加鍛煉了我自己的查漏補(bǔ)缺的能力。書(shū)本上的知識(shí)永遠(yuǎn)是死的,只有將其運(yùn)用到實(shí)際的生活
24、中才會(huì)變成活的,而課設(shè)恰好給了我們這樣一個(gè)機(jī)會(huì)。 其次,課程設(shè)計(jì)是一個(gè)綜合性的課程,不僅能檢測(cè)我們的學(xué)習(xí)這門(mén)課的熟練程度,還能讓我們溫習(xí)課程,達(dá)到復(fù)習(xí)和鞏固的效果,在課程設(shè)計(jì)的過(guò)程中我們不斷地遇到問(wèn)題,不斷的在圖書(shū)館和網(wǎng)上、書(shū)本上查找資料,不斷的向老師、同學(xué)請(qǐng)教問(wèn)題,所以慢慢的解決問(wèn)題,而這就是一個(gè)不斷提升自己的過(guò)程。課程設(shè)計(jì)也教會(huì)了我們?cè)趺礃永米约荷磉呌械馁Y源,如書(shū)本、網(wǎng)絡(luò)、老師和同學(xué),怎樣和同學(xué)互相學(xué)習(xí)、互相幫助、互相合作。 總之,此次課程設(shè)計(jì)算是個(gè)較為完整的程序,將學(xué)到過(guò)的知識(shí)如中段程序、輸入輸出程序,DOS功能的調(diào)用,指令系統(tǒng)等綜合起來(lái),讓我的知識(shí)更加系統(tǒng)化,只是還是存在些問(wèn)題,
25、相信有了這次課程設(shè)計(jì),我的學(xué)習(xí)興趣更大,一定會(huì)在今后的學(xué)習(xí)和生活中同樣做到查漏補(bǔ)缺,爭(zhēng)取做到更好。 6、附件 源程序清單: DATA SEGMENT MYFCB LABEL BYTE ; files FCB FDRIVER DB 0 FNAME DB STUDENTS FEXT DB MAO FBLOCK DW 0 RECSIZE DW 50
26、 FSIZE DW 2 DUP(?) FDATE DW ? FPATH DB 10 DUP(?) RECID DB 0 RECBK DW 2 DUP(?) SEL DB List Insert Search Delete quit >>$ PROMPT DB 13,10, Num s1 s2 s3 s4 s5 $ NUM DB 13,10, 1. NUM :$ sb1
27、 DB 13,10, 2. s1 :$ sb2 DB 13,10, 3. s2 :$ sb3 DB 13,10, 4. s2 :$ sb4 DB 13,10, 5. s3 :$ sb5 DB 13,10, 6. s3 :$ ERRMSG DB 13,10, *** ERROR ! ***$ WHICH DB 13,10,SELECT A WAY(1--5) :$ STRING DB 13,10
28、,INPUT THE VALUE :$ NOTHIS DB 13,10,NO THIS STUDENT !$ DELOK DB 13,10,THE RECORD DELET SUCCESS !$ FLAG DB 0 WAY DB ? STATE DB ? VALUE DB 10 DUP( ) PRINT DB 13,10 MYDTA LABEL BYTE N DB 10 DUP( )
29、 s1 DB 10 DUP( ) s2 DB 10 DUP( ) s3 DB 10 DUP( ) s4 DB 10 DUP( ) s5 DB 10 DUP( ) DB $ DATA ENDS SHOW MACRO ADDR MOV AH,9 LEA DX,ADDR INT 21H ENDM GETS
30、TR MACRO ADDR LOCAL EXT,CHAR,SPACE MOV BX,0 SPACE: MOV &ADDR&[BX],0 INC BX CMP BX,10 JL SPACE;小于10就轉(zhuǎn)移,即BX連續(xù)自增(限制數(shù)組中一個(gè)元素的長(zhǎng)度) MOV BX,0 CHAR: MOV AH,1 INT 21H;輸入的一個(gè)字符放到AL中 CMP AL,13 JZ
31、 EXT CMP AL,10 JZ EXT;輸入回車(chē)鍵和空格鍵的話(huà)就退出輸入 CMP BX,9 JG CHAR;大于9再次輸入 MOV &ADDR&[BX],AL;將輸入的數(shù)據(jù)放在ADDR數(shù)組中 INC BX JMP CHAR ;最長(zhǎng)輸入10個(gè)元素 EXT: ENDM CODE SEGMENT ASSUME CS:CODE,DS:DATA,E
32、S:DATA MAIN PROC FAR PUSH DS;將DS進(jìn)棧 SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,1AH LEA DX,MYDTA INT 21H JMP INIT; MAINLOOP: MOV AH,1 I
33、NT 21H;輸入一個(gè)字符保存在AL中 CMP AL, JNE MAINLOOP;AL不為空格鍵就轉(zhuǎn)移再次輸入,即輸入空格鍵就結(jié)束了 INIT: MOV AH,6 ;屏幕初始化 MOV AL,0 MOV CH,0 MOV CL,0 MOV DH,24 MOV DL,79 MOV BH,7 INT 10H
34、 MOV AH,2;置光標(biāo)位置 MOV DH,1 MOV DL,1 MOV BH,0 INT 10H SHOW SEL ;顯示目錄 INPUT: MOV AH,0 INT 16H ;建文件 CMP AH,26H ;是L? JNZ NEXT1 CALL LIST J
35、MP MAINLOOP NEXT1: CMP AH,17H ; 是I? JNZ NEXT2 CALL INSERT JMP MAINLOOP NEXT2: CMP AH,1FH ; 是S? JNZ NEXT3 MOV STATE,S CALL SEARCH JMP MAINLOOP NEXT3: CMP AH,20H ;
36、是D? JNZ NEXT4 MOV STATE,D CALL SEARCH JMP MAINLOOP NEXT4: CMP AH,10H ; 是Q? JNZ INPUT RET MAIN ENDP LIST PROC NEAR ;列出學(xué)生信息 CALL OPENF MOV RECID,0 CMP FLAG,0
37、 JZ CONTINUE RET CONTINUE: SHOW PROMPT LISTLOOP: MOV AH,14H LEA DX,MYFCB INT 21H CMP AL,01 JNE N1 JMP FINISH N1: CMP AL,0 JE N2 JMP FINISH N2:
38、 SHOW PRINT JMP LISTLOOP FINISH: CALL CLOSEF RET LIST ENDP INSERT PROC NEAR ;插入學(xué)生的信息 MOV RECID,0 CMP FLAG,0 JZ READL RET READL: MOV AH,14H L
39、EA DX,MYFCB INT 21H CMP AL,01 JE WRITES CMP AL,0 JE READL WRITES: SHOW NUM ;插入學(xué)生信息 GETSTR N SHOW sb1 GETSTR s1 SHOW sb2 GETSTR s2 SHOW sb3
40、 GETSTR s3 SHOW sb4 GETSTR s4 SHOW sb5 GETSTR s5 MOV AH,15H ;寫(xiě)入文件 LEA DX,MYFCB INT 21H CALL CLOSEF RET INSERT ENDP SEARCH PROC NEAR PUSH AX
41、 PUSH BX PUSH CX PUSH DX CALL OPENF MOV RECID,0 CMP FLAG,0 JZ START RET START: SHOW NUM SHOW sb1 SHOW Sb2 SHOW sb3 SHOW sb4 SHOW sb5
42、 SHOW WHICH INWAY: MOV AH,1 ;根據(jù)查找選項(xiàng)查詢(xún)學(xué)生信息 INT 21H CMP AL,1 JL INWAY CMP AL,5 JG INWAY SUB AL,31H MOV WAY,AL SHOW STRING GETSTR VALUE S
43、HOW PROMPT CMPLOOP: MOV AH,14H LEA DX,MYFCB INT 21H CMP AL,01 JNZ NEXT JMP EXITS NEXT: CLD MOV AL,10 MUL WAY LEA SI,VALUE LEA DI,N
44、 ADD DI,AX MOV CX,10 REPE CMPSB JNZ CMPLOOP SHOW PRINT MOV FLAG,1 MOV CL,RECID CMP STATE,D JNE RETURN DEL: MOV AH,14H ; 將查詢(xún)到的信息刪除 LEA DX,MYFCB INT
45、 21H CMP AL,0 JNZ W_END SUB RECID,2 MOV AH,15H LEA DX,MYFCB INT 21H INC RECID JMP DEL W_END: CLD LEA DI,MYDTA MOV CX,50 MOV AL,0 REP STOSB
46、 SUB RECID,1 MOV AH,15H MOV MYDTA,1AH LEA DX,MYFCB INT 21H SHOW DELOK RETURN: MOV RECID,CL JMP CMPLOOP EXITS: CALL CLOSEF CMP FLAG,0 JNZ EXT SHOW NOTHIS EXT: MOV
47、 FLAG,0 POP DX POP CX POP BX POP AX RET SEARCH ENDP OPENF PROC NEAR ;打開(kāi)或建立文件 MOV AH,0FH LEA DX,MYFCB INT 21H OR AL,AL JNZ CREATE RET C
48、REATE: MOV AH,16H LEA DX,MYFCB INT 21H OR AL,AL JNZ SETFLAG RET SETFLAG: MOV FLAG,1 SHOW ERRMSG RET OPENF ENDP CLOSEF PROC NEAR MOV AH,10H LEA DX,MYFCB I
49、NT 21H RET CLOSEF ENDP CODE ENDS END MAIN 計(jì)算機(jī)科學(xué)與技術(shù)系課程設(shè)計(jì)評(píng)分表 課程名稱(chēng): 項(xiàng) 目 評(píng) 價(jià) 設(shè)計(jì)方案的合理性與創(chuàng)造性 設(shè)計(jì)與調(diào)試結(jié)果 設(shè)計(jì)說(shuō)明書(shū)的質(zhì)量 答辯陳述與回答問(wèn)題情況 課程設(shè)計(jì)周表現(xiàn)情況 綜合成績(jī) 教師簽名: 日 期: (注:1.此頁(yè)附在課程設(shè)計(jì)報(bào)告之后;2.綜合成績(jī)按優(yōu)、良、中、及格和不及格五級(jí)評(píng)定。)
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險(xiǎn)源安全管理制度
- 安全培訓(xùn)資料:典型建筑火災(zāi)的防治基本原則與救援技術(shù)
- 企業(yè)雙重預(yù)防體系應(yīng)知應(yīng)會(huì)知識(shí)問(wèn)答
- 8 各種煤礦安全考試試題
- 9 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全生產(chǎn)管理人員模擬考試題庫(kù)試卷附答案
- 加壓過(guò)濾機(jī)司機(jī)技術(shù)操作規(guī)程
- 樹(shù)脂砂混砂工藝知識(shí)總結(jié)
- XXXXX現(xiàn)場(chǎng)安全應(yīng)急處置預(yù)案
- 某公司消防安全檢查制度總結(jié)
- 1 煤礦安全檢查工(中級(jí))職業(yè)技能理論知識(shí)考核試題含答案
- 4.燃?xì)獍踩a(chǎn)企業(yè)主要負(fù)責(zé)人模擬考試題庫(kù)試卷含答案
- 工段(班組)級(jí)安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫(kù)試卷含答案-4
- 建筑起重司索信號(hào)工安全操作要點(diǎn)
- 實(shí)驗(yàn)室計(jì)量常見(jiàn)的30個(gè)問(wèn)問(wèn)答題含解析