![試驗報告子程序設(shè)計試驗_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/30/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c1.gif)
![試驗報告子程序設(shè)計試驗_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/30/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c2.gif)
![試驗報告子程序設(shè)計試驗_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/30/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c3.gif)
![試驗報告子程序設(shè)計試驗_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/30/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c4.gif)
![試驗報告子程序設(shè)計試驗_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/30/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c/6bf38e89-25f3-44c6-a48b-9e3ca98e1c2c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗5子程序?qū)嶒炓? 實驗?zāi)康? 掌握主程序與子程序之間的調(diào)用關(guān)系及調(diào)用方法;2掌握子程序調(diào)用過程中近程調(diào)用與遠(yuǎn)程調(diào)用的區(qū)別;3掌握通過堆棧轉(zhuǎn)送參數(shù)的方法。4.掌握多模塊程序設(shè)計方法二. 實驗內(nèi)容1. 將BUF開始的10個單元中的二進(jìn)制數(shù)轉(zhuǎn)換成兩位十六進(jìn)制數(shù)的ASCII碼,在屏幕上顯示出來。要求碼型轉(zhuǎn)換通過子程序HEXAC實現(xiàn),在轉(zhuǎn)換過程中,通過子程序 DISP實現(xiàn)顯示。DATAS SEGMENTBUF DB 00000111B,00100001B,00100010B,00000011B,00000101B,10000010B,10010011B,00100100B, 11100010B,01
2、010010BCAN DB $-BUF;定義常量 CANDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASMAIN PROC FAR;主程序塊START:MOVAX,DATASMOVDS,AXMOVCL,10LEASI,BUFLOOP1:;調(diào)用子程序語句call HEXACcall DISPDEC CANJNZ LOOP1EXIT:MOV AH,4CHINT 21HMAIN ENDP;二進(jìn)制轉(zhuǎn)換成十六進(jìn)制子程序HEXAC PROC NEARMOV BL,SIINC SIRETHEXAC ENDPDISP PROC NEAR;顯示子程序MOV CL,4
3、MOV CH,2MOVE:;移位語句ROL BL,CLMOV DL,BLAND DL,0FHADD DL,30HCMP DL,'9'JBE PRINTADD DL,07HPRINT:MOV AH,02H;顯示語句INT 21HDEC CHJNZ MOVEMOV DL,''MOV AH,02HINT 21HRETDISP ENDPCODES ENDSEND STARTD = SmasnG .0>1 -exe07 21 22 03 05 82 93 24 E2 522 編寫一個主程序,從鍵盤接收若干個字符,然后用遠(yuǎn)調(diào)用的方法,調(diào)用子程序統(tǒng)計字符 串中字符的個數(shù)
4、子程序的參數(shù)是字符串的首地址TABLE,字符串長度 N及字符” b子程序返回字符"b”的個數(shù)參數(shù)傳送采用堆棧實現(xiàn)主程序在子程序返回后,顯示字符” b及其個 數(shù)(設(shè)為一位十六進(jìn)制數(shù))。DATA SEGMENTSTR1 DB 0ah,0dh,'PLEASE INPUT YOUR STRING:$' STR2 DB 0ah,0dh,'THE NUMBER OF b is:$'TABLEDB 50, ? ,50 DUP,'$'DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATASTART:MOVAX,DA
5、TAMOVDS,AXLEADX,STR1MOVAH,9INT21HLEADX,TABLEMOVAH,0AHINT21HLEASI , TABLEMOVCL, SI+1MOVCH, 0INCSIINCSIMOVAL,'b'MOVAH,0PUSHSIPUSHCXPUSHAXCALLFAR PTR CHECKPOPAXMOVCL,ALLEADX,STR2MOVAH,9INT21HMOVDL,CLANDDL, 0FHCMPDL,9JBECANADDDL,7ADDDL,30HMOVAH,2INT21HMOVAH,4CHINT21HENDSSEGMENTASSUMECS:SCODEPROC
6、FARPUSHBPMOVBP,SPMOVSI,BP+10MOVCX, BP+8MOVAX, BP+6XORAH, AHCMPAL,SIJNECAN1INCAHCAN:EXIT:CODESCODECHECKAGAIN:CAN1:INC SILOOP AGAINMOVAL, AHMOVBP+10,AXPOPBPRET4CHECK ENDPSCODE ENDSEND STARTPLEASE INPUT VOUR STRINGlhf THE NIIHRFR OF h is詞3請編寫一個程序來實現(xiàn)簡單的程序菜單顯示。(采用多模塊程序設(shè)計方法)顯示一個菜單要求用戶從下表中選擇:(1)HEXAC GAME(
7、對應(yīng)程序1)(2)CHAR STATISTICS PROGRAM(對應(yīng)程序2)(3)PRESS “ ESC”TO QUIT用戶作出選擇13時,顯示輸出要執(zhí)行操作的名字,如"Your selection is 1,the programwill execute HEXAC NUMBER GAME! ”然后轉(zhuǎn)向相應(yīng)的程序去執(zhí)行,執(zhí)行結(jié)束前進(jìn)行退出 的判斷,顯示一個提示信息"will you continue program really ? (Y:N) ”要求用戶從鍵盤鍵入字符,若是“ Y”鍵,則繼續(xù)程序的執(zhí)行,若是“ N”鍵,則返回到菜單。若用戶選擇3,要求程序顯示提示信息&
8、quot;Please press ESC key to exit!” ,并能按要求正確退出。DATAS SEGMENTOPT DW YIDW ERmenu DB 0DH,0AH,'THE MENU:'顯示菜單DB 0DH,0AH,'(1)HEXAC GAME'對應(yīng)一一 程序 1DB 0DH,0AH,'(2)CHAR STATISTICS PROGRAM'對應(yīng) 程序2DB 0DH,0AH,'(3)PRESS "ESC" TO QUIT$'BUFDB00000111B,00100001B,00100010B,00
9、000011B,00000101B,10000010B,10010011B,00100100B,11100010B,01010010BCAN DB $-BUF;定義常量 CANstr1 DB 0DH,0AH,'Your selectio n is 1,the program will execute HEXAC GAME!$'str2 DB 0dh,0ah,'Your selection is 2,the program will execute CHARSTATISTICS PROGRAMSstr3 DB 0DH,0AH,'will you continue
10、program really?(Y:N)$'str4 DB 0DH,0AH,'Please press ESC key to exit!$'TABLE DB 50, ? ,50 DUP(?),'$'charl db 0ah,0dh,'PLEASE INPUT YOUR STRING:$'char2 db 0ah,0dh,'THE NUMBER OF b is:$'DATAS ENDSCODES SEGMENTMAIN PROC FARASSUME CS:CODES,DS:DATASSTART:MOVAX,DATASMOVD
11、S,AXXORDI,DIsubbx,bxxorsi,siLEADX,me nu;顯示主采單MOVAH,9INT21Hmovdl,Odh;顯示回車movah,2int21hMOVDL,0AH;顯示換行MOVAH,2INT21HMOVAH,1;輸入選項INT21HCMPAL,'1'JEYICMPAL,2JEERCMPAL,'3'JEQUITYI:MOVDI,0leadx,str1movah,9int21hMOVCL,10LEASI,BUFCALLHEXACLOOP1:;調(diào)用子程序語句callHEXACcallDISPDECCANJNZLOOP1JMPCONTINUE
12、ER:MOVDI,02Hleadx,str2movah,9int21hLEADX,char1MOVAH,9INT21HLEADX,TABLEMOVAH,0AHINT21HLEASI , TABLEMOVCL, SI+1MOVCH, 0INCSIINCSIMOVAL,'b'MOVAH,0PUSHSIPUSHCXPUSHAXCALLCHECKPOPAXMOVCL,ALLEADX,char2MOVAH,9INT21HMOVDL,CLANDDL, 0FHCMPDL,9JBECAN3ADDDL,7CAN3:ADDDL,30HMOVAH,2INT21HJMPCONTINUEQUIT:LEA
13、DX,str4MOVAH,9INT21HMOVAH,1INT21HCMPAL,1BHJEEXITCONTINUE:LEADX,str3MOVAH,9INT21HMOVAH,1INT21HCMPAL,'Y'JEYES;輸入字符串;cx中為字符串長度;SI指向串首址TABLE;AX中為待查字符;參數(shù)送堆棧;統(tǒng)計個數(shù)在AL中;顯示結(jié)果;顯示統(tǒng)計個數(shù);退出的子程序;按ESC退出;用戶是否繼續(xù)執(zhí)行當(dāng)前程序;按y繼續(xù),按n退出,不需區(qū)分大小寫CMPAL,'y'JEYESCMPAL,'N'JESTARTCMPAL,' n'JESTARTYES:
14、JMPoptDIEXIT:MOVAH,4CH;退出INT21HMAIN ENDP;繼續(xù)運行當(dāng)前子程序CODES ENDSHEXACCODES SEGMENTASSUME CS:HEXACCODES HEXAC PROC FARMOV BL,SIINC SIRETHEXAC ENDPHEXACCODES ENDSDISPCODES SEGMENTASSUME CS:DISPCODES DISP PROC FAR;二進(jìn)制轉(zhuǎn)換成十六進(jìn)制子程序MOVMOVCL,4CH,2MOVE:ROLBL,CLMOVDL,BLANDDL,0FHADDDL,30HCMPDL,'9'JBEPRINTAD
15、DDL,07HPRINT:MOVAH,02HINT21HDECCHJNZMOVEMOVDL,''MOVAH,02HINT21HRET;顯示子程序;移位語句;顯示語句DISP ENDPDISPCODES ENDSCHARCODE SEGMENTASSUME CS: CHARCODE;子程序部分CHECK PROC FARPUSHBPMOVBP,SPMOVSI,BP+10MOVCX, BP+8MOVAX, BP+6XORAH, AHAGAIN:CMPAL,SIJNE CAN1INCAHCAN1:INCSILOOP AGAINMOVAL, AHMOVBP+10,AXPOPBPRET4
16、CHECK ENDPCHARCODE ENDSEND STARTTHE MENU:<l>HbXRC GfiHESTATISTICS PROGRAM<3>PRtS$ '*ESC'* TO Q4JEI1Vour xf lrct ion is 1 ,t lie prog ran will execute HEXAC GAHEtil P3 咅 593t 24 E:52 01ui LI you cone inuc prorealv?<YTHE MFNtU<1>HEXAC GAdESTATISTICS PHOGRAM aypnESS H*ESC&q
17、uot; TO QUIT 2Your «eion i甲 2.the praran will execute CHAR STATISTICS PROGRAM*PLFASF INPUT VOIIR STR1 MG; Mbf hhhhsri jfhTHE NUMBtR OF h is:«will yau cun tinue pre yrTHE HKNtl:<1>HEXAC GfiflE(2>CHftR STATISTICS FTOGHfifl<3>PRFSS -ESC" TO QUIT3卩】ueuh nff:":; ESG kc
18、v t_n txitF一C1>HEXAC GAME燈CMflH ETfiTISTtCS PROGBflrtOPPRESS "ESC" TO QUITIQur svlvction is 1 八he piwjjr*m will vxscute HEXAC GANE?21 22 陽3 ®S> B2 93 252 EM£11 j/vu t inur preyram rcallyTV :jNE HENUi(l)HEMAC GAHE<2)CHAR STATISTICS FftOCRflhC»PHESS "ESC1* TO QUI
19、T*/our it lection i± 2»tbc prt>9r«n will execute QIAR STATISTICS PROGRAH? PLFftSF INPUT VOIIF STRING:MbfhhbhSfljfhCHE HUHBER OF h ic:61L you cont inuc 11窖?£聲:FHE HENU:C1>HEX«C GAMEU>CWnH ETAT 1 STICS PRQGJWH OPPRESS "ESC" JO QUIT三. 實驗要求1.第一個實驗程序用子程序的近程調(diào)用實現(xiàn)。由于在調(diào)用HEXASC子程序時,子程序又調(diào)用了 DISP子程序,這叫子程序的嵌套調(diào)用。實驗過程中可以從堆棧的內(nèi)容看到兩個子 程序的返回地址值。 由于是近調(diào)用,地址值只包括返回地址的段內(nèi)偏移量。在每個子程序的執(zhí)行中,檢查CS值是不變的。2第二個程序是利用遠(yuǎn)調(diào)用的方法調(diào)用子程序的。在遠(yuǎn)調(diào)用情況下,主程序與子程序 處在不同的邏輯代碼段中,可在子程序執(zhí)行中查看 CS值,它與主程序中的 CS值是不同的。子程序調(diào)用后,堆棧中保留了返回地址的段地址及段內(nèi)偏移量。3. 第二個程序中,主程序與子程序之間參數(shù)的傳送是由堆棧實現(xiàn)的。一
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年印案針織布項目可行性研究報告
- 2025年中國鑄鐵不銹鋼串片行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2024年網(wǎng)絡(luò)劇行業(yè)市場深度分析及發(fā)展趨勢預(yù)測報告
- 電子商務(wù)技術(shù)創(chuàng)新與消費者信任關(guān)系研究
- 電話溝通技巧與商務(wù)禮儀
- 2024-2029年中國化學(xué)藥品制劑行業(yè)市場前瞻與投資戰(zhàn)略規(guī)劃分析報告
- 可行性研究報告如何編寫
- 2025年手動鋼筋打印機(jī)項目投資可行性研究分析報告
- 氨基酸分析儀項目可行性研究報告建議書備案
- 現(xiàn)代職場人士的飲食健康教育與建議
- 2025年業(yè)務(wù)員工作總結(jié)及工作計劃模版(3篇)
- 必修3《政治與法治》 選擇題專練50題 含解析-備戰(zhàn)2025年高考政治考試易錯題(新高考專用)
- 二零二五版電商企業(yè)兼職財務(wù)顧問雇用協(xié)議3篇
- 課題申報參考:流視角下社區(qū)生活圈的適老化評價與空間優(yōu)化研究-以沈陽市為例
- 深圳2024-2025學(xué)年度四年級第一學(xué)期期末數(shù)學(xué)試題
- 2024-2025學(xué)年成都市高新區(qū)七年級上英語期末考試題(含答案)
- 17J008擋土墻(重力式、衡重式、懸臂式)圖示圖集
- 《中南大學(xué)模板》課件
- 廣東省深圳市南山區(qū)2024-2025學(xué)年第一學(xué)期期末考試九年級英語試卷(含答案)
- T-CISA 402-2024 涂鍍產(chǎn)品 切口腐蝕試驗方法
- 后勤安全生產(chǎn)
評論
0/150
提交評論