已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.湖南農(nóng)業(yè)大學(xué)課程報(bào)告學(xué) 院: 班 級(jí): 姓 名: 學(xué) 號(hào):課程報(bào)告題目:信息檢索程序設(shè)計(jì)報(bào)告課程名稱:匯編語(yǔ)言和微機(jī)原理評(píng)閱成績(jī):評(píng)閱意見(jiàn):成績(jī)?cè)u(píng)定教師簽名:日期: 年 月 日目 錄摘要 3關(guān)鍵字 31. 需求分析 31.1 具體分析 31.2 各個(gè)流程的主要問(wèn)題及解決方法 42. 程序源代碼 43. 程序運(yùn)行結(jié)果 74. 程序中仍存在的問(wèn)題 85. 心得體會(huì) 86. 參考文獻(xiàn) 8信息檢索程序設(shè)計(jì)報(bào)告摘 要:匯編語(yǔ)言是為了便于理解與記憶,將機(jī)器指令用助記符代替而形成的一種語(yǔ)言。由于匯編語(yǔ)言采用了助記符,因此,它比機(jī)器語(yǔ)言直觀,容易理解和記憶。匯編語(yǔ)言本質(zhì)上就是機(jī)器語(yǔ)言,因而容易產(chǎn)生運(yùn)行速度快、指令序列短小的高效率目標(biāo)程序。而該程序是利用匯編語(yǔ)言能基本實(shí)現(xiàn)信息檢索功能。該程序主要運(yùn)用了匯編程序設(shè)計(jì)的分支基本結(jié)構(gòu),使程序能夠通過(guò)對(duì)接受編號(hào)進(jìn)行先行計(jì)算找到對(duì)應(yīng)表格中將要顯示信息字符串的起始位置,實(shí)現(xiàn)信息檢索的目的。接下來(lái)我將詳細(xì)接受程序設(shè)計(jì)過(guò)程關(guān)鍵詞:匯編語(yǔ)言;信息檢索;程序跳轉(zhuǎn)1 需求分析 完成一個(gè)信息檢索系統(tǒng)。在數(shù)據(jù)區(qū),有9個(gè)不同的信息,編號(hào)0-8,每個(gè)信息包括40個(gè)字符。從鍵盤接受0-8之間的一個(gè)編號(hào),然后在屏幕上顯示出相應(yīng)編號(hào)的信息內(nèi)容,按“q”鍵退出。1.1 具體分析開(kāi)始輸入一個(gè)字符輸出字符的對(duì)應(yīng)信息N錯(cuò)誤,請(qǐng)重新輸入N是否在0-8之間Y是否為q結(jié)束該程序主要實(shí)現(xiàn)的是信息檢索的基本功能。那么首先要把信息編號(hào)為0-8的9個(gè)信息分別定義在地址連續(xù)的數(shù)據(jù)段中,通過(guò)鍵盤輸入接受編號(hào),然后通過(guò)計(jì)算得到對(duì)應(yīng)編號(hào)中信息內(nèi)容的起始地址,最后在屏幕上輸出所查詢到的內(nèi)容。程序流程圖如下:Y1.2 各個(gè)流程的主要問(wèn)題及解決方法1一、數(shù)據(jù)段中9段信息的定義。給數(shù)據(jù)分配足夠的空間,把一個(gè)編號(hào)中的信息給定40個(gè)字符,以便對(duì)數(shù)據(jù)的尋找。二、接受輸入的字符。32位windows控制臺(tái)應(yīng)用程序使用io32.lib子程序庫(kù)和io32.inc包含文件,其中有一個(gè)子程序readc,該程序的功能是輸入一個(gè)字符,并且存儲(chǔ)在eax寄存器中。三、把該字符與q進(jìn)行比較。利用比較指令cmp來(lái)比較輸入的字符與字符q,該指令主要用的是數(shù)據(jù)的ASC碼的比較。四、判斷該字符在0-8之間。同樣地,利用比較指令cmp。但是需要比較兩次,一次與0比較,一次與8比較。五、如何找到字符對(duì)應(yīng)的信息。該問(wèn)題是最關(guān)鍵的問(wèn)題。因?yàn)檫@9個(gè)信息是線性編址的,且每條信息的長(zhǎng)度也都是固定的40個(gè)字符。所以在查找過(guò)程中只要獲得第0號(hào)信息的地址,然后把輸入的數(shù)據(jù)與0比較,經(jīng)過(guò)運(yùn)算找到對(duì)應(yīng)編號(hào)內(nèi)容的起始地址,然后輸出。六、輸入錯(cuò)誤和查詢結(jié)束的跳轉(zhuǎn)。通過(guò)給程序設(shè)置標(biāo)簽,可結(jié)合cmp指令進(jìn)行條件的判斷,再運(yùn)用條件轉(zhuǎn)移指令,使程序跳轉(zhuǎn)到制定位置。也可直接使用無(wú)條件轉(zhuǎn)移指令jmp使程序跳轉(zhuǎn)到制定位置。2 程序源代碼include io32.inc.data;數(shù)據(jù)段in_msg byte Input the num(0-8;q for exit):,0;輸入提示信息finish_msg byte Search finish!,0;查詢完成提示信息msg0 db liuying 0,0msg1 db xionghong 1,0msg2 db fuzhenli 2,0msg3 db zhangcuiting 3,0msg4 db zhangyuqing 4,0msg5 db tianziyan 5,0msg6 db liwei 6,0msg7 db xuping 7,0msg8 db wangjiamin 8,0 ;9個(gè)信息,每個(gè)信息40個(gè)字符errmsg byte error! input again!,0;輸入錯(cuò)誤提示信息num dword ?;number;用于存放輸入字符的變量.code;代碼段start:mov eax,offset msg0call dispmsgcall dispcrlfmov eax,offset msg1call dispmsgcall dispcrlfmov eax,offset msg2call dispmsgcall dispcrlfmov eax,offset msg3call dispmsgcall dispcrlfmov eax,offset msg4call dispmsgcall dispcrlfmov eax,offset msg5call dispmsgcall dispcrlfmov eax,offset msg6call dispmsgcall dispcrlfmov eax,offset msg7call dispmsgcall dispcrlfmov eax,offset msg8call dispmsgcall dispcrlf;首先把9個(gè)信息顯示在屏幕上begin:mov eax,offset in_msgcall dispmsg;在屏幕上顯示輸入提示信息call readccall dispcrlf;接受輸入字符并且換行cmp eax,q;把輸入字符與q比較je done;如果相等,則程序跳轉(zhuǎn)到done位置mov num,eax;把數(shù)據(jù)放到num中cmp num,0;把輸入字符與0比較jl wrong;如果比0小,則程序跳轉(zhuǎn)到wrong位置cmp num,8;把輸入字符與8比較jg wrong ;如果比8大,則程序跳轉(zhuǎn)到wrong位置mov ebx,offset msg0;找到第0號(hào)信息的起始地址,放到ebx寄存器中sub num,48;num是字符的ASC碼,所以要減去0得到真正的偏移量,并存放在num中mov eax,num;把num放到eax寄存器中imul eax,40;用num乘以每條信息的長(zhǎng)度并存放在eax中add ebx,eax;把0號(hào)信息地址加上真正的偏移地址得到所查詢編號(hào)信息的起始地址放入ebx中mov eax,ebxcall dispmsgcall dispcrlf;顯示出所查詢的信息并換行mov eax,offset finish_msgcall dispmsgcall dispcrlf;輸出查詢成功信息并換行jmp begin;一次查詢結(jié)束,程序跳轉(zhuǎn)到begin處wrong:mov eax,offset errmsgcall dispmsgcall dispcrlf;輸出錯(cuò)誤提示信息并換行jmp begin;輸入錯(cuò)誤,程序跳轉(zhuǎn)到begin處done:exit 0end start;程序結(jié)束3 程序運(yùn)行結(jié)果msg0 db liuying 0,0msg1 db xionghong 1,0msg2 db fuzhenli 2,0msg3 db zhangcuiting 3,0msg4 db zhangyuqing 4,0msg5 db tianziyan 5,0msg6 db liwei 6,0msg7 db xuping 7,0msg8 db wangjiamin 8,0Input the num(0-8;q for exit):0liuying 0Search finish!Input the num(0-8;q for exit):6liwei 6Search finish!Input the num(0-8;q for exit):9error! input again!Input the num(0-8;q for exit):terror! input again!Input the num(0-8;q for exit):q4 程序中仍存在的問(wèn)題該程序暫時(shí)只能實(shí)現(xiàn)較為簡(jiǎn)單的信息檢索功能。并且在輸入的時(shí)候只能接收單個(gè)字符,如果數(shù)據(jù)段中信息再多一點(diǎn),那么有些信息則不能被查詢到。該程序還能繼續(xù)改進(jìn),比如通過(guò)查詢某個(gè)關(guān)鍵字,就能檢索到該關(guān)鍵字所在的位置,以及該號(hào)位置里的信息。如果再繼續(xù)改進(jìn),它應(yīng)該實(shí)現(xiàn)的功能應(yīng)該是還要能增、刪、改信息,然后繼續(xù)查詢。5 心得體會(huì)本次課程設(shè)計(jì)最開(kāi)始選了微機(jī)原理,可是經(jīng)過(guò)一上午的探索,發(fā)現(xiàn)還是無(wú)從下手。于是回來(lái)?yè)Q了的匯編語(yǔ)言。通過(guò)此次課程設(shè)計(jì),我初步了解和熟悉了匯編語(yǔ)言的編寫流程及基本指令的用法。編寫一個(gè)程序首先要把流程思路想
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- “雙減”政策下我國(guó)中小學(xué)課后延時(shí)體育服務(wù)的演進(jìn)歷程、機(jī)遇挑戰(zhàn)及實(shí)現(xiàn)路徑
- “雙減”背景下的小學(xué)語(yǔ)文大單元作業(yè)設(shè)計(jì)策略
- 臨床CT識(shí)別肺炎支原體肺炎影像學(xué)特征
- 專題一第2課二、《文檔的編輯》說(shuō)課稿 2023-2024學(xué)年青島版(2018)初中信息技術(shù)七年級(jí)下冊(cè)
- Unit 7 have用法小結(jié)(說(shuō)課稿)-2024-2025學(xué)年人教新目標(biāo)Go For It!英語(yǔ)八年級(jí)上冊(cè)
- 購(gòu)物袋、30萬(wàn)套帳篷、收納盒及防塵罩項(xiàng)目可行性研究報(bào)告寫作模板-備案審批
- 二零二五年度安全生產(chǎn)責(zé)任追究制度合同2篇
- Unit 2 My week Part A Lets spell大單元整體說(shuō)課稿表格式-2024-2025學(xué)年人教PEP版英語(yǔ)五年級(jí)上冊(cè)
- 全國(guó)人教版信息技術(shù)八年級(jí)上冊(cè)第三單元第12課三、《制作按鈕并設(shè)置動(dòng)作腳本》說(shuō)課稿設(shè)計(jì)
- 貴州商學(xué)院《機(jī)器學(xué)習(xí)與深度學(xué)習(xí)理論雙語(yǔ)教學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025屆上海市復(fù)旦附中浦東分校物理高二上期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 快樂(lè)讀書吧:童年(專項(xiàng)訓(xùn)練)-2023-2024學(xué)年六年級(jí)語(yǔ)文上冊(cè)(統(tǒng)編版)(含答案)
- 2023-2024學(xué)年廣東省廣州市海珠區(qū)九年級(jí)(上)期末英語(yǔ)試卷
- 紅色蛇年大吉年終總結(jié)匯報(bào)
- 農(nóng)業(yè)機(jī)械培訓(xùn)課件
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試英語(yǔ)試題 附答案
- 2024年度心理輔導(dǎo)合作協(xié)議模板版
- GB/T 22723-2024天然氣能量的測(cè)定
- 能源崗位招聘筆試題與參考答案(某大型國(guó)企)2024年
- 航空與航天學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 麻醉蘇醒期躁動(dòng)患者護(hù)理
評(píng)論
0/150
提交評(píng)論