下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《匯編語言程序設(shè)計(jì)》上機(jī)實(shí)驗(yàn)一、設(shè)計(jì)課題名稱及要求本次上機(jī)實(shí)驗(yàn)一共有三項(xiàng)的內(nèi)容及要求如下:1、在屏幕上開出三個(gè)窗口:用“”和“”鍵選擇左窗口或右窗口為當(dāng)前活動(dòng)窗口,從鍵盤輸入字符,字符就會(huì)從當(dāng)前活動(dòng)窗口的最下行開始顯示,同時(shí)也在下窗口顯示。當(dāng)一行字符顯示滿后(左右窗口一行顯示20個(gè)字符,下窗口顯示50個(gè)字符),窗口自動(dòng)向上卷動(dòng)一行,輸入的字符仍顯示于最低一行,窗口最高一行向上卷動(dòng)后消失,按ESC鍵程序運(yùn)行結(jié)束。2、用遞歸的方法求斐波那契數(shù)的第24項(xiàng)(N=24),并將結(jié)果用十進(jìn)制顯示出來(要求:顯示用宏實(shí)現(xiàn))。斐波那契函數(shù)FIB(N)的定義為:程序輸出FIB(24)的值。3、請編制程序PROG1.ASM,其功能是:內(nèi)存中連續(xù)存放著16個(gè)十六位二進(jìn)制數(shù),在原16個(gè)數(shù)的第4和第5個(gè)數(shù)之間插入00FFH,在原16個(gè)數(shù)的第8和第9個(gè)數(shù)之間插入FF00H,在原16個(gè)數(shù)的第12和第13個(gè)數(shù)之間插入55AAH,在原16個(gè)數(shù)的最后加入AA55H。將按上述方法插入4個(gè)數(shù)后得到的20個(gè)數(shù)存入內(nèi)存中。例如:內(nèi)存中有1020H,2002H,3033H,4440H,5008H,…,8FF8H(共16個(gè)字)結(jié)果為1020H,2002H,3033H,4440H,00FFH,5008H,…,8FF8H,AA55H(共20個(gè)字)二、設(shè)計(jì)思想和實(shí)施方案論述課題1:因?yàn)榻虒W(xué)書中有功能類似程序(例9.13),所以在設(shè)計(jì)第一個(gè)程序中,大部分的想法還是模仿該例題。但與例題不同之處是,這個(gè)程序要實(shí)現(xiàn)同時(shí)兩個(gè)窗口的字符輸出。也就是說光標(biāo)位的記錄將會(huì)比例題中一個(gè)窗口的復(fù)雜很多。在程序設(shè)計(jì)的過程中,可以先調(diào)試一個(gè)窗口的輸出,并能完成上卷功能;再到兩個(gè)窗口左右分布,并能根據(jù)左右鍵的輸入改變光標(biāo)位,進(jìn)行輸入操作;最后完成三個(gè)窗口的功能。課題2:利用遞歸算法,將程序功能實(shí)現(xiàn)。由于可能會(huì)出現(xiàn)數(shù)據(jù)溢出,所以直接使用EAX的操作將能避免溢出的情況。課題3:插入操作可以有很多種方法實(shí)現(xiàn),由于程序要求中沒有嚴(yán)格規(guī)定,所以我使用的是增加一個(gè)數(shù)列的空間,將數(shù)據(jù)依次填入該空間內(nèi)。以空間的開銷,換取運(yùn)算時(shí)間上的優(yōu)勢。三、課程設(shè)計(jì)中遇到的問題及解決方法在編寫第一個(gè)三窗口顯示這個(gè)程序過程中就遇到了不少麻煩!一開始,就碰到了在做程序前沒有學(xué)過的顯示I/O,雖然課上老師反復(fù)重復(fù)著:“其實(shí)這三道題目里面,最簡單的是第一題!”但是當(dāng)自己實(shí)際操作時(shí),感覺并不是那么容易。經(jīng)過一段時(shí)間的思考和審題后,決定先從第三項(xiàng)課題下手,再是第二項(xiàng),最后再做第一項(xiàng)。在做第三個(gè)程序的過程中發(fā)現(xiàn)雖然在插入操作中并沒有遇到太多問題,但是總是不能查看結(jié)果,要看結(jié)果,還非得debug-t到結(jié)束再用-d命令,查看內(nèi)存中的數(shù)據(jù)結(jié)果,于是多花了一點(diǎn)時(shí)間,在程序的末尾加了一段COMVERTHEXTOASCⅡ,終于自我較為滿意地完成了TASK3。第二個(gè)程序的編寫遇到了子程序自身遞歸調(diào)用邊界問題,經(jīng)常是雖然編譯工具沒有檢查出錯(cuò)誤,但是不能編譯、不能產(chǎn)生目標(biāo)文件,后來經(jīng)過不斷的debug-t發(fā)現(xiàn)有運(yùn)算邊界上的錯(cuò)誤,導(dǎo)致死循環(huán),所以不能生成目標(biāo)文件。在經(jīng)過了前兩個(gè)程序的考驗(yàn)后,再來做這個(gè)大部分人都望而生畏的TASK1。我在后來的課程學(xué)習(xí)過程中也慢慢了解了不少顯示I/O操作,并在教材中發(fā)現(xiàn)了一個(gè)與這項(xiàng)課程有著極其相似的小程序。敲入代碼后,卻仍然不能運(yùn)行,后來發(fā)現(xiàn)主要是INCLUDE這出了問題。于是把CLS.INC中的代碼當(dāng)作子程序加到該程序后面,問題解決。在運(yùn)行書中例題的時(shí)候我發(fā)現(xiàn)一處BUG——當(dāng)我輸入的是“ENTER”的時(shí)候,光標(biāo)會(huì)換到下一行,并且是0光標(biāo)位,繼續(xù)輸入,是在那個(gè)光標(biāo)之后直至一行小窗口的字符數(shù)后(即例題中的20)才能回到原小窗口。我認(rèn)為是MOVAH,1INT21H這里出的問題,直接輸出鍵盤字符,會(huì)導(dǎo)致上述的問題出現(xiàn),于是改用movah,0ah;movbh,0movcx,1int10h替代之前的MOVAH,1INT21H經(jīng)過調(diào)試,果然解決了這個(gè)BUG。再后來的兩窗口,三窗口輸出過程中,唯一困擾到我的就是光標(biāo)的移動(dòng)問題,需要的是不斷的調(diào)試修改。后來再仔細(xì)想了一想,其實(shí)光標(biāo)的操作并不難。一口氣將它解決~!四、收獲與體會(huì)通過這次的課程設(shè)計(jì),我了解到,一些細(xì)節(jié)對于編程的認(rèn)識相當(dāng)重要的,其一:良好的文檔習(xí)慣,良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),作為代碼程序員,大部分的時(shí)間都是用來寫代碼寫文檔的。要是缺乏良好的文檔管理習(xí)慣,一個(gè)軟件系統(tǒng)就缺乏生命力,在未來的查錯(cuò),升級以及模塊的復(fù)用時(shí)就都會(huì)遇到極大的麻煩。其二,在這次的課程設(shè)計(jì)中,我還了解到程序的模塊化設(shè)計(jì)的重要性。當(dāng)一個(gè)較大的程序任務(wù)放在你面前的時(shí)候,如果能把這一項(xiàng)任務(wù)很好的分成幾部分模塊,就能大大減少任務(wù)的困難程度,縮減程序開發(fā)時(shí)間,同時(shí),一些重復(fù)性工作就成了完全可以避免的了。再者,良好的測試能力。這分為兩方面,一,在寫完程序之后,經(jīng)常會(huì)遇到各種我們預(yù)期之外的結(jié)果情況,在這種時(shí)候就需要程序員不斷的反復(fù)調(diào)試,修改程序代碼,最終得到預(yù)期結(jié)果。第二方面,是程序在非正常輸入的時(shí)候的解決能力(也就是上數(shù)據(jù)結(jié)構(gòu)時(shí),老師說的程序的健壯性)。最后,就是學(xué)習(xí)和總結(jié)的能力。雖然說在開始編程前,我對任務(wù)中TASK1沒有絲毫的解決能力,但是通過后來的學(xué)習(xí)和查閱資料,最終能夠?qū)⑷蝿?wù)較好的完成。因?yàn)檎n程設(shè)計(jì)的時(shí)間較短,程序中仍然有很多不足之處,但在這次的課程設(shè)計(jì)中,我已經(jīng)學(xué)到了很多單純在課堂中沒有學(xué)到的東西。五、程序流程圖,程序清單和程序注釋a)課題1程序清
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度海洋工程內(nèi)部施工合同范本2篇
- 2025年度綠色有機(jī)黃豆產(chǎn)地直供購銷合作協(xié)議書4篇
- 2025年度個(gè)人房屋租賃管理服務(wù)合同范本2篇
- 2025年度全屋定制櫥柜批量供貨與安裝合作協(xié)議4篇
- 2025年度電梯門套安裝與維護(hù)保養(yǎng)服務(wù)合同4篇
- 二零二四年中頻爐設(shè)備承包維修服務(wù)合同3篇
- 2025年度茶具電商平臺數(shù)據(jù)分析與市場調(diào)研合同4篇
- 二零二五年度風(fēng)力發(fā)電機(jī)組維護(hù)承包協(xié)議4篇
- 2025年度大型餐飲廚房設(shè)備采購與安裝合同4篇
- 2025年度門衛(wèi)人員職業(yè)健康檢查合同3篇
- 中華人民共和國保守國家秘密法實(shí)施條例培訓(xùn)課件
- 管道坡口技術(shù)培訓(xùn)
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識 CCAA年度確認(rèn) 試題與答案
- 皮膚儲(chǔ)存新技術(shù)及臨床應(yīng)用
- 外研版七年級英語上冊《閱讀理解》專項(xiàng)練習(xí)題(含答案)
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- 上海市復(fù)旦大學(xué)附中2024屆高考沖刺模擬數(shù)學(xué)試題含解析
- 幼兒園公開課:大班健康《國王生病了》課件
- 小學(xué)六年級說明文閱讀題與答案大全
- 人教pep小學(xué)六年級上冊英語閱讀理解練習(xí)題大全含答案
評論
0/150
提交評論