版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計說明書匯編語言課程設(shè)計院系:計算機科學(xué)和技術(shù)專業(yè)班級:計科0904學(xué)號: 21 學(xué)生姓名:李金龍 指導(dǎo)老師:段珊 年10月12日目錄課程設(shè)計題目信息檢索程序設(shè)計 3I、 設(shè)計內(nèi)容 3II、 2、設(shè)計要求 4III、 3、算法設(shè)計 5IV、 4、具體設(shè)計 7V、 5、調(diào)試和運行 11VI、 6、課程設(shè)計心得體會 136.1設(shè)計體會 136.2調(diào)試過程及分析 14VII、 7.參考文件 16課程設(shè)計題目信息檢索程序設(shè)計設(shè)計內(nèi)容課程設(shè)計內(nèi)容以軟硬件綜合設(shè)計為主,要求同學(xué)們在設(shè)計過程中,提倡獨立思索、深入鉆研精神和嚴(yán)厲認(rèn)真、一絲不茍、精益求精工作態(tài)度。依據(jù)課題要求,進行深入分析和研究,充足搜集和利用現(xiàn)有資源和數(shù)據(jù)進行設(shè)計,確保設(shè)計水平和質(zhì)量。經(jīng)過知識綜合利用,加深對匯編語言程序設(shè)計理論和提升綜合編程能力認(rèn)識,從而建立起匯編程序設(shè)計整體概念。學(xué)會匯編程序設(shè)計方法,深入掌握并體會設(shè)計方案優(yōu)劣對計算機性能發(fā)揮關(guān)鍵性。培養(yǎng)科學(xué)、獨立工作創(chuàng)新精神,取得課程設(shè)計實踐經(jīng)驗2、設(shè)計要求完成一個信息檢索系統(tǒng)。在數(shù)據(jù)區(qū),有8個不一樣信息,編號0—7,每個信息包含50個字符。從鍵盤接收0—9之間一個編號,然后在屏幕上顯示對應(yīng)編號信息內(nèi)容,按“q”鍵盤退出。依據(jù)要求,問題實現(xiàn)思緒是依據(jù)不一樣輸入序號來計算出對應(yīng)物理地址,實現(xiàn)不一樣信息輸出。對輸入項進行判定,滿足不一樣條件,就會進行對應(yīng)計算得出該序號下信息物理地址,進而輸出出結(jié)果。信息顯示和其中單個字符輸出編成子程序使程序結(jié)構(gòu)愈加清楚。3、算法設(shè)計1.程序里9個不一樣信息組成一個信息表,對信息表查找是依據(jù)鍵盤接收編號來確定。2.然后依據(jù)編號,(ax)=(al)*50計算對應(yīng)地址,然后調(diào)用display顯示3.程序中把顯示信息編成一個獨立子程序display,使得程序愈加清楚。4、具體設(shè)計信息檢索程序設(shè)計具體設(shè)計:;*****************************************************************;**************名稱:信息檢索程序設(shè)計**********;*****************************************************************;*****************************************************************datasegment ;definedatasegmentmessdb'',13,10db'|Inputanumberbetween0and7|',13,10db'|Pressqtoquit|',13,10db'',13,10,'$';messagetableforty db 50 ;valueformulinstructionmsg0 db 'Iamaboy!'msg1 db 'Iamveryhappy!'msg2 db 'Helloeveryone!'msg3 db 'Welocometoourschool!'msg4 db 'Iloveyouforever!!'msg5 db 'Youaremyangel!'msg6 db 'Itisveryniceofyou!'msg7 db 'WhatcanIdoforyou,sir?'msg8 db 'Look!Thereisabridonthetree!'msg db 'Pleaseinputanumber:$'msg9 db 'Themessageis:$'crlf1 db 0dh,0ah,'$';errormessageerrmsg db 'error!invaliedparameter!!'dataends;*****************************************************************stack segment db 256dup(0);256bytesofstackspacetos label wordstack ends;*****************************************************************code segment;*****************************************************************main proc far ;mainpartofprogramassumecs:code,ds:data,ss:stackstart: ;startingexecutionaddress;setSStocurrentstackareamov ax,stackmov ss,axmov sp,offsettos;setupstackforreturnpush ds ;saveolddatasegmentsub ax,ax ;putzeroinAXpush ax ;saveitonstack;setDStocurrentdatasegmentmovax,data ;darareasegmentaddrmovds,ax ;intoDSregister;MAINPARTOFPROGRAMGOESHERE;begintoprocesscallshowbegin:lea dx,msg ;顯示提醒信息mov ah,09hint 21hmov ah,1int 21hcmp al,'q' ;判定為‘q’退出je exitsub al,'0' ;小于0跳轉(zhuǎn)errorjb errorcmp al,8 ;大于9跳轉(zhuǎn)errorjaerror;selectappropriatemessagefrommessagetablemov bx,offsetmsg0 mul forty;(ax)=(al)*50add bx,axcall displayjmp begin;defineerrorerror:call crlflea dx,errmsg mov ah,09hint 21hcall crlfcall crlfjmp begin;;Subroutinetodisplayamessageonthescreen;EnterwithBX-->messagetobedisplayed;Messageisassumeedtobe40characterslongdisplay proc nearcall crlflea dx,msg9mov ah,09hint 21hmov cx,50disp1: mov dl,[bx] mov ah,2 int 21h inc bx loop disp1 call crlf call crlf jmp begindisplayendp;crlf proc near mov dx,offsetcrlf1mov ah,9hint 21hretcrlfendp;show proc nearlea dx,messmov ah,09hint 21hretshowendp;exit: mov ax,4c00hint 21h;mainendp;*****************************************************************codeends;*****************************************************************endstart5、調(diào)試和運行6、課程設(shè)計心得體會6.1設(shè)計體會經(jīng)過近兩個星期工作,才把課程設(shè)計完成。經(jīng)過這次課程設(shè)計,我加深了對匯編語言了解,也對上課時所說語法有了深刻認(rèn)識。相對于以前學(xué)習(xí)高級語言,對匯編語言第一印象是很酷,因為它很抽象。懷著崇敬心情學(xué)著匯編語言,即使枯燥,不過每當(dāng)完成一個很簡單程序就會感到很有成就感。當(dāng)我剛開始選擇這個題目是因為書本上有一個相近代碼轉(zhuǎn)換,所以感覺這個題目應(yīng)該很好寫。可是等到真正動手時候就感到了困難。首先是對字符串輸入輸出處理,處理不了就改成了字母大小寫轉(zhuǎn)換是每次只輸入一個字母,然后依據(jù)其大小寫轉(zhuǎn)換,如大寫就轉(zhuǎn)換成小寫,不然反之。然而在隨即進制轉(zhuǎn)換中用碰到了一樣問題,發(fā)覺這是一個不能不處理問題,隨即查閱了資料才處理。隨即實在數(shù)值轉(zhuǎn)換過程中對模塊設(shè)計上又出現(xiàn)了問題。最初構(gòu)想是設(shè)計六個模塊分別對應(yīng)對應(yīng)數(shù)值轉(zhuǎn)換功效??墒窃谌齻€寫好以后發(fā)覺了下面要寫代碼有很多反復(fù)地方,于是就把這些反復(fù)代碼定義成了子函數(shù)來使用然后發(fā)覺將程序根據(jù)輸入、輸出不一樣來分模塊,以BX作為連接,比原來程序更為簡練,邏輯上也愈加清楚,有種豁然開朗感覺。在改善程序過程中感到很有成就感。在編寫代碼過程中讓我充足感受到了不一樣編程語言之間差異。對和高級語言來說或許是很簡單一個程序或只需要調(diào)用已經(jīng)有函數(shù)庫,可是對于匯編來說卻要寫上幾十行甚至更多代碼。可是愈加深刻了解了寄存器、存放器之間數(shù)據(jù)流向,因為每個考慮不周全部會造成一大堆錯誤出現(xiàn),常常令人感到一個無力感,想要放棄。當(dāng)程序一步步靠近完成,看著子函數(shù)一個個全部運行成功,再組合到一起,那種喜悅是無和倫比,之前所受到苦楚又是那么微不足道。更怎強了我對匯編語言愛好。6.2調(diào)試過程及分析在進行調(diào)試過程中碰到問題層出不窮,但大多是因為部分粗心錯誤。剛開始碰到最多問題便是程序在編譯時沒有任何錯誤,鏈接按鈕仍然是灰色不能夠鏈接,茫然不知所措。上網(wǎng)查找資料卻找不到任何對應(yīng)情況。于是就不用學(xué)校機房里MASM,換了另外一款編譯器(MasmforWindows集成試驗環(huán)境.2),在進行編譯時提醒犯錯“Invalidcharacterinthefile”,在錯誤信息表中查
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度生態(tài)旅游場承包經(jīng)營合作協(xié)議范本4篇
- 2025年度大棚農(nóng)業(yè)保險合作協(xié)議3篇
- 二手房交易標(biāo)準(zhǔn)協(xié)議樣本(2024個人版)版
- 2025年度叉車租賃與租賃物租賃期限調(diào)整合同4篇
- 2025年昌月離婚協(xié)議書婚姻解除及財產(chǎn)清算范本4篇
- 2025年度航空航天材料質(zhì)量保證協(xié)議4篇
- 2024年重慶地區(qū)標(biāo)準(zhǔn)離婚合同模板一
- 2024私募股權(quán)投資居間協(xié)議
- 專項舞臺效果策劃與實施協(xié)議版A版
- 2024年食堂運營合作協(xié)議標(biāo)準(zhǔn)文本版
- 抗心律失常藥物臨床應(yīng)用中國專家共識
- 考級代理合同范文大全
- 2024解析:第三章物態(tài)變化-講核心(原卷版)
- DB32T 1590-2010 鋼管塑料大棚(單體)通 用技術(shù)要求
- 安全行車知識培訓(xùn)
- 2024年安徽省高校分類對口招生考試數(shù)學(xué)試卷真題
- 第12講 語態(tài)一般現(xiàn)在時、一般過去時、一般將來時(原卷版)
- 2024年采購員年終總結(jié)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》試題及答案解析
- 肺動脈高壓的護理查房課件
- 2025屆北京巿通州區(qū)英語高三上期末綜合測試試題含解析
評論
0/150
提交評論