【正文】
程序readc,該程序的功能是輸入一個字符,并且存儲在eax寄存器中。那么首先要把信息編號為08的9個信息分別定義在地址連續(xù)的數(shù)據(jù)段中,通過鍵盤輸入接受編號,然后通過計算得到對應編號中信息內(nèi)容的起始地址,最后在屏幕上輸出所查詢到的內(nèi)容。接下來我將詳細接受程序設計過程關鍵詞:匯編語言;信息檢索;程序跳轉(zhuǎn)1 需求分析 完成一個信息檢索系統(tǒng)。由于匯編語言采用了助記符,因此,它比機器語言直觀,容易理解和記憶。匯編語言本質(zhì)上就是機器語言,因而容易產(chǎn)生運行速度快、指令序列短小的高效率目標程序。在數(shù)據(jù)區(qū),有9個不同的信息,編號08,每個信息包括40個字符。程序流程圖如下:Y 各個流程的主要問題及解決方法[1]一、數(shù)據(jù)段中9段信息的定義。三、把該字符與‘q’進行比較。但是需要比較兩次,一次與0比較,一次與8比較。所以在查找過程中只要獲得第0號信息的地址,然后把輸入的數(shù)據(jù)與0比較,經(jīng)過運算找到對應編號內(nèi)容的起始地址,然后輸出。2 程序源代碼include .data 。,0 。查詢完成提示信息msg0 db 39。,0msg2 db 39。,0msg4 db 39。,0msg6 db 39。,0msg8 db 39。error! input again!!!39。用于存放輸入字符的變量.code 。接受輸入字符并且換行 cmp eax,39。如果相等,則程序跳轉(zhuǎn)到done位置 mov num,eax 。把輸入字符與‘0’比較 jl wrong 。把輸入字符與‘8’比較 jg wrong 。把num放到eax寄存器中 imul eax,40 。輸出查詢成功信息并換行 jmp begin 。程序結(jié)束3 程序運行結(jié)果msg0 db 39。,0msg2 db 39。,0msg4 db 39。,0msg6 db 39。,0msg8 db 39。q for exit):6liwei 6Search finish!Input the num(08。并且在輸入的時候只能接收單個字符,如果數(shù)據(jù)段中信息再多一點,那么