版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
華北電力大學實驗報告||實驗名稱匯編語言程序設計實驗課程名稱IBM-PC匯編語言程序設計||專業(yè)班級:計科1103學生姓名:李慶賀學號:201109010307成績:指導教師:王保義實驗日期:1月華北電力大學實驗報告-PAGE3-實驗一用表格形式顯示字符實驗要求按15*16列的表格形式顯示ASCⅡ碼為10H—100H的所有字符,即以行為主的順序及ASCⅡ碼遞增的次序依次顯示對應的字符。每16個字符為一行,每行中的相鄰兩個字符之間用空白符隔開。設計說明顯示每個字符可使用功能號為02的顯示輸出功能調用:Movah,02hMovdl,輸出字符的ASCⅡ碼Int21h將dl初始化為10H,然后使用其加1以取得下一個字符的ASCⅡ碼。顯示空白符是,用其ASCⅡ碼置0入dl寄存器。每行結束時,用回車和換行來結束本行并開始下一行。由于逐個顯示相繼的ASCⅡ碼字符是,需要不斷修改dl寄存器的內容,而顯示空白、回車、換行也需要使用dl寄存器,為此可使用堆棧保存dx。實驗程序及調試結果prognamsegmentmainprocfarassumecs:prognamstart:movah,02hmovdl,10h;設置初始輸出為ASCII的10hmovbl,15;輸出顯示為15行e:movcx,16;設置循環(huán)次數(shù),16,表示輸出顯示為16列l(wèi):int21h;顯示輸出pushdx;推入堆棧movah,02hmovdl,0int21hmovah,02hmovdl,0int21h;顯示空白符popdx;將棧頂元素推出incdl;設置下一個元素loopl;循環(huán)輸出每行的16個ASCII元素pushdx;將下一行的首元素推入堆棧movah,02hmovah,09hint21h;顯示messkey字符內容leadx,keyadrmovah,0ahint21h;是實現(xiàn)DOS調用中的0a號功能,就是在屏幕上顯示keyadr字符串leadx,messsenmovah,09hint21hleadx,senadrmovah,0ahint21hmoval,senactsubal,keyactjlnmatch;長度比較,句子長度短,沒有找到跳到nmatch子語句callsearchjmpshorte0;無條件跳轉;以上均為DOS上讓其顯示這些內容nmatch:leadx,nomatchmovah,09hint21he0:retmainendp;結束searchprocnearxorcx,cx;cxqinglingmovdx,offsetsenadr;句子地址到dxadddl,senact;句子changduincdl;置長度加1得到句子最后一位movcl,keyact;關鍵字長度到clcld;清除方向標志leadi,secstringr0:leasi,keystringrepzcmpsb;如果si和di所指向的兩個字節(jié)相等,則繼續(xù)比較。所以如果相等的話,就停止循環(huán)。但是這時候si和di已經自動加1了,如果要找不相等的那兩個數(shù),就要把si和di減1。moval,byteptr[si-1]cmpal,byteptr[di-1];把那兩個不相等的字節(jié)放到ptr數(shù)組中去jnznext;為0?,跳到next子語句subsi,offsetkeystring;獲得操作數(shù)keystring的偏移地址movax,sicmpal,keyact;將關鍵字與secstring長度比較jeshowpnext:movcl,keyactcmpdi,dxjnzr0shown:leadx,nomatchmovah,09hint21h;在屏幕上顯示nomatch字符串jmpshorte1showp:leadx,matchmovah,09hint21h;在屏幕上顯示match字符串decdi;句子與關鍵字匹配最后一位的下一位,所以要見1位movbx,di;xorax,axmoval,keyactsubbx,ax;句子長度減去關鍵字長度movax,offsetsenadrsubbx,axcallbinihexleadx,restmovah,09hint21he1:retsearchendpbinihexprocnearmovch,4r1:movcl,4;左移4位rolbx,clmovdl,blanddl,0fhadddl,30hcmpdl,39hjledispadddl,07hdisp:movah,02hint21hdecchjnzr1retbinihexendpprognamendsendmain程序框圖實驗三分類統(tǒng)計字符個數(shù)實驗要求程序接受用戶鍵入一行字符(字符個數(shù)不超過80個,該字符串用回車符結束),并按字母、數(shù)字、其它字符分類計數(shù),然后將結果存入以letter、digit和other為名的存儲單元中。設計說明程序可采用01H功能調用把鍵入字符先分類計數(shù)再存入緩沖區(qū)中。程序進入debug運行并查看計數(shù)結果。實驗程序DATASEGMENTPARSDB80;準備接收80個字符.NNNDB?;用于存放實際輸入的個數(shù).IIIDB80DUP(?);80字節(jié)的空間.D_NDB?C_NDB?O_NDB?MESG1DB13,10,'InputSTR:$';用于提示.MES_CDB13,10,'CharNis:$';用于提示.MES_DDB13,10,'DigitNis:$';用于提示.MES_ODB13,10,'OtherNis:$';用于提示.MES_TDB13,10,'AllNis:$';用于提示.DATAENDS;CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVD_N,0MOVC_N,0MOVO_N,0MOVDX,OFFSETMESG1MOVAH,9;9號功能調用,顯示提示.INT21HMOVDX,OFFSETPARSMOVAH,10;10號功能調用,接收鍵盤輸入.INT21H;MOVCL,NNN;收到字符的個數(shù).MOVCH,0CMPCX,0JNZDO_ITJMPEXITDO_IT:LEASI,III;收到字符的起始地址.;下面開始循環(huán)統(tǒng)計.AGAIN:MOVAL,[SI]D_num:CMPAL,':';-':'JNCN_C_B;>'9'CMPAL,'0'JCN_C_B;<'0'INCD_N;數(shù)字個數(shù)加一.JMPNEXTN_C_B:CMPAL,'[';-'['JNCN_C;>'Z'CMPAL,'A'JCN_C;<'A'INCC_N;大寫,加一.JMPNEXTN_C:CMPAL,'{';-'{'JNCOTHER;>'z'CMPAL,'a'JCOTHER;<'a'INCC_N;小寫,加一.JMPNEXTOTHER:INCO_N;其它.NEXT:INCSILOOPAGAIN;統(tǒng)計結束MOVDX,OFFSETMES_DMOVAH,9;9號功能調用,顯示提示.INT21HMOVAL,D_NCALLDISP_ALMOVDX,OFFSETMES_CMOVAH,9;9號功能調用,顯示提示.INT21HMOVAL,C_NCALLDISP_ALMOVDX,OFFSETMES_OMOVAH,9;9號功能調用,顯示提示.INT21HMOVAL,O_NCALLDISP_ALMOVDX,OFFSETMES_TMOVAH,9;9號功能調用,顯示提示.INT21HMOVAL,NNNCALLDISP_AL;顯示結束.EXIT:MOVAH,4CHINT21H;============================DISP_AL:;以3位十進制數(shù)形式顯示AL中的內容.MOVAH,0MOVBL,100DIVBLADDAL,30HMOVDL,ALMOVBH,AHMOVAH,2INT21HMOVAH,0MOVAL,BHMOVBL,10DIVBLADDAL,30HMOVDL,ALMOVBH,AHMOVAH,2INT21HADDBH,30HMOVDL,BHMOVAL,AHMOVAH,2INT21HRET;============================CODEENDSENDSTART使用說明程序進入后提示輸入字符,可以輸入任意字符,輸入完成后鍵入回車鍵表示完成,則會在下一行輸出實驗結果。程序框圖實驗心得體會:這次匯編實驗歷時一周,但我用了3天時間完成了3個編程實驗:用表格形式顯示字符、查找匹配字符串、分類統(tǒng)計字符個數(shù),由于期間要考試所以就沒有做第四個。用表格形式顯示字符和查找匹配字符串是使用了循環(huán)程序設計思想。顯示字符實驗較為簡單,只需要一些基礎知識即可完成。而查找字符串較耗費時間,這個實驗主要難點就在從句子中查找關鍵字。查找關鍵字是使用的串比較指令。這個指令只能進行比較,查找就需要移動指針,將整個句子都與關鍵字比較一遍,才能確定是否找到了關鍵字。分類統(tǒng)計字符個數(shù)與查找電話號碼較難,花費了我最多的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝 借 合同范本
- 貨運租車合同范本
- 礦山勘查合同范本
- 廠房使用權再出租協(xié)議2024年樣式
- 工程機械連接合同范本
- 中介代理協(xié)議合同范本
- 2024屆甘肅省慶陽市第二中學高三高考模擬最后一卷數(shù)學試題
- 花卉出口合同范本
- 2024年春節(jié)節(jié)后收心會開學第一課春節(jié)收心主題班會
- 師范生社會實踐報告
- 部編版六年級語文上冊(習作:圍繞中心意思寫)
- 企業(yè)內部知識競賽方案
- 格爾木鹽化(集團)有限責任公司察爾汗鹽礦礦山地質環(huán)境保護與土地復墾方案
- 2023-2024學年北京版三年級上冊期中模擬檢測數(shù)學試卷(含答案解析)
- (2024年)高層建筑消防要求
- 英語八年級下冊《Unit 2 Ill help to clean up the city parks》單元課件
- (2024年)財務報表分析培訓講義
- 金融學專業(yè)大學生職業(yè)生涯規(guī)劃
- 產品銷售經理培訓課件
- 蔬菜栽培生理學課件
- 【工程項目全生命周期管理及案例分析5900字(論文)】
評論
0/150
提交評論