




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、微機(jī)實(shí)驗(yàn)三 分支和循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)一、分支程序設(shè)計(jì)實(shí)驗(yàn)1.實(shí)驗(yàn)?zāi)康?.掌握分支程序的結(jié)構(gòu)。2掌握分支程序的設(shè)計(jì)、調(diào)試方法。2.實(shí)驗(yàn)設(shè)備微機(jī)一臺3.內(nèi)容設(shè)計(jì)一數(shù)據(jù)塊間的搬移程序設(shè)計(jì)思想:程序要求把內(nèi)存中一數(shù)據(jù)區(qū)(稱為源數(shù)據(jù)塊)傳送到另一存貯區(qū)(稱為目的數(shù)據(jù)塊)。源數(shù)據(jù)塊和目的數(shù)據(jù)塊在存貯中可能有三種情況。對于兩個(gè)數(shù)據(jù)塊分離的情況,數(shù)據(jù)的傳送從數(shù)據(jù)塊的首址開始,或者從數(shù)據(jù)塊的末址開始均可,但對于有部分重疊的情況,則要加以分析,否則重疊部分會因“搬移”而遭破壞??梢缘贸鲆韵陆Y(jié)論:當(dāng)源數(shù)據(jù)塊首址目的塊首址時(shí),從數(shù)據(jù)塊首址開始傳送數(shù)據(jù)。當(dāng)源數(shù)據(jù)塊首址目的塊首址時(shí),從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù)。 流程圖:結(jié)
2、果:在源數(shù)據(jù)塊中存入6個(gè)數(shù),分別使SI大于、等于、小于DI均發(fā)覺數(shù)據(jù)正確傳送??梢姵绦蛘_。實(shí)現(xiàn)代碼如下:DATA SEGMENTORG3500HSRC_MESSDB 1,2,3,4,5,6ORG3510HNEW_LOCDB 20 DUP(0)DATA ENDS;CODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOV DS,AXMOVES,AXLEASI,SRC_MESSLEADI,NEW_LOCMOVCX,6CLD ;DF置0CMPSI,DI ;源數(shù)據(jù)塊首址目的塊首址時(shí),從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù)。JLNEXT1 ;如果SI小于
3、DI,則跳轉(zhuǎn)到NEXT1(否則直接執(zhí)行NEXT2)NEXT2:REPMOVSBNEXT1:ADDSI,CX ; SI=SI+CX-1 從末地址開始傳遞數(shù)據(jù)DECSI ;ADDDI,CX ;DI+=DI+CX-1DECDI ;STD ; DF置1JMPNEXT2 ;CODEENDSEND START結(jié)果顯示:將3500H開始的1,2,3,4,5,6復(fù)制到3510H開始的地址。DATA SEGMENTORG3500HSRC_MESSDB 1,2,3,4,5,6DATA ENDS;CODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOV
4、DS,AXMOVES,AXLEASI,SRC_MESSMOVDI,3502HMOVCX,6CLD ;DF置0CMPSI,DI ;源數(shù)據(jù)塊首址目的塊首址時(shí),從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù)。JLNEXT1 ;如果SI小于DI,則跳轉(zhuǎn)到NEXT1(否則直接執(zhí)行NEXT2)NEXT2:REPMOVSB MOV AH,4CH INT 21H NEXT1:ADDSI,CX ; SI=SI+CX-1 從末地址開始傳遞數(shù)據(jù)DECSI ;ADDDI,CX ;DI+=DI+CX-1DECDI ;STD ; DF置1JMPNEXT2 ;CODEENDSEND START結(jié)果顯示:將3500H開始的連續(xù)的1,2,3,4,
5、5,6復(fù)制搬移到3502H開始的地址。此時(shí),搬移過程應(yīng)當(dāng)從數(shù)組的最后一個(gè)數(shù)字6開始搬移,一直到最前面的3500H對應(yīng)的的數(shù)字01搬移到3502H地址為止。DATA SEGMENTORG3502HSRC_MESSDB 1,2,3,4,5,6DATA ENDS;CODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOV DS,AXMOVES,AXLEASI,SRC_MESSMOVDI,3500HMOVCX,6CLD ;DF置0CMPSI,DI ;源數(shù)據(jù)塊首址目的塊首址時(shí),從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù)。JLNEXT1 ;如果SI小于DI,則跳
6、轉(zhuǎn)到NEXT1(否則直接執(zhí)行NEXT2)NEXT2:REPMOVSB MOV AH,4CH INT 21H NEXT1:ADDSI,CX ; SI=SI+CX-1 從末地址開始傳遞數(shù)據(jù)DECSI ;ADDDI,CX ;DI+=DI+CX-1DECDI ;STD ; DF置1JMPNEXT2 ;CODEENDSEND START結(jié)果顯示:將3502H開始的1,2,3,4,5,6搬移到3500H開始的地址,應(yīng)該從3502H地址開始傳數(shù)據(jù)到3500H,依次往后搬移。二、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)1.實(shí)驗(yàn)?zāi)康?1)加深對循環(huán)結(jié)構(gòu)的理解。(2)掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法。(3)熟練掌握調(diào)試循環(huán)程序的方法。2.實(shí)驗(yàn)
7、設(shè)備TDS-MD微機(jī)一臺3.內(nèi)容(1)編制程序使S=1+2*3+3*4+4*5+N(N+1),直到N(N+1)項(xiàng)大于200為止。流程圖: 實(shí)現(xiàn)代碼:DATA SEGMENT ORG 3500H HELLO DB 32 DUP(0)DATA ENDS;CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AXMOVDX,1 ;DX存儲總和MOVBL,2 ;BL存儲被乘項(xiàng)NEXT:MOVAL,BL; AL存儲被乘項(xiàng)INCBL ; MUL BL ; 結(jié)果存儲在AXADDDX,AXCMPAX,200JLNEXT MOV BX,3500
8、H MOV BX,DX MOV BX,3510H MOV BX,AX MOV AH,4CH INT 21HCODE ENDSENDSTART結(jié)果與分析:運(yùn)行結(jié)果為045FH,與實(shí)際相符,程序正確。(2)求某個(gè)數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù)設(shè)數(shù)據(jù)區(qū)的第一單元存放區(qū)內(nèi)數(shù)據(jù)的個(gè)數(shù),從第二單元開始存放數(shù)據(jù),在區(qū)內(nèi)最后一個(gè)單元存放結(jié)果。為統(tǒng)計(jì)數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù),需要逐個(gè)判斷區(qū)內(nèi)的每一個(gè)數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號位為1的數(shù)據(jù)的個(gè)數(shù)累加起來,即得區(qū)內(nèi)所包含負(fù)數(shù)的個(gè)數(shù)。 流程圖: 實(shí)現(xiàn)代碼:DATASEGMENTORG3500HHELLODB 6,3,-58,-34,7,-2,29 ;6是數(shù)據(jù)的個(gè)數(shù),共有6個(gè)數(shù)據(jù)OR
9、G3510HNUM_TDB 16 DUP(0) ;3510H單元存結(jié)果DATAENDS;CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATA ;初始化數(shù)據(jù)段MOVDS,AXMOVDI,3500H ;數(shù)據(jù)區(qū)的首地址給DIMOVCL,DI ;數(shù)據(jù)的個(gè)數(shù)給CL,作為NEXT1循環(huán)的個(gè)數(shù)INCDI ;DI指向第一個(gè)需要比較的數(shù)據(jù)MOVCH,0MOVBL,0NEXT1:MOVAL,DIANDAL,80H ;AL與1000(B)做按位與操作,如果是負(fù)數(shù),AL存儲的是1000(B),否則存儲的是0CMPAL,80H ;如果是負(fù)數(shù),AL與80H相等JENEXT2
10、 ;如果是負(fù)數(shù),跳轉(zhuǎn)到NEXT2GOGO:INCDILOOPNEXT1MOVDI,3510HMOVDI,BLMOVAX,4C00H ;返回DOSINT21HNEXT2:INCBLJMPGOGOCODEENDSENDSTART結(jié)果與分析:輸入數(shù)據(jù)個(gè)數(shù)為6輸入3,-58,-34,7,-2,29得結(jié)果03,存放在3510H地址。其中3500H地址對應(yīng)的數(shù)字6是原始數(shù)據(jù)的個(gè)數(shù)。結(jié)果與實(shí)際相符,程序正確。輸入數(shù)據(jù)個(gè)數(shù)為6輸入3,-58,-34,7,-2,-29得結(jié)果04,存放在3510H地址。其中3500H地址對應(yīng)的數(shù)字6是原始數(shù)據(jù)的個(gè)數(shù)。結(jié)果與實(shí)際相符,程序正確。實(shí)驗(yàn)四子程序設(shè)計(jì)一. 實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)子
11、程序的定義和調(diào)用方法。、掌握子程序、子程序嵌套的結(jié)構(gòu)。、掌握子程序的程序設(shè)計(jì)、編制及調(diào)試方法。二. 實(shí)驗(yàn)內(nèi)容程序采用菜單式選擇,可接收用戶輸入的命令(15),各命令如下:按1鍵完成字符串小寫字母變大寫字母用戶輸入一由英文大小寫字母或數(shù)字09組成的字符串(以回車結(jié)束),程序逐個(gè)檢查字符串中各字符,將原串中小寫字母變成大寫字母,其它字符不變,并在屏幕上顯示。用戶按任一鍵,重做,按ESC鍵,返回主菜單。按2鍵完成找最大值(二選一)、接收用戶輸入的可顯示字符串(以回車結(jié)束),程序?qū)⑵渲蠥SCII碼值最大的字符顯示出來。、接收用戶輸入若干無符號8位數(shù)(以空格或逗號為分隔符,以回車結(jié)束),程序?qū)⑵渲凶畲蟮?/p>
12、數(shù)顯示出來。用戶按任一鍵,重做,按ESC鍵,返回主菜單。按3鍵完成排序(二選一)、接收用戶輸入的可顯示字符串,以回車結(jié)束。程序按ASCII碼值大小由大到小排序并輸出顯示。、接收用戶輸入若干個(gè)有符號8位數(shù)(以空格逗號為分隔符,以回車結(jié)束)。程序?qū)⑵渲凶畲蟮臄?shù)顯示出來。用戶按任一鍵,重做,按ESC鍵,返回主菜單。按4鍵顯示時(shí)間首先提示用戶對時(shí),即用戶輸入時(shí),分,秒(以空格或冒號分隔,以回車結(jié)束),然后,在屏幕上不斷顯示時(shí)間,格式為:(時(shí)):(分):(秒),最好定點(diǎn)顯示。用戶按任一鍵,重新對時(shí),按ESC鍵,返回主菜單。按5鍵,結(jié)束程序運(yùn)行,返回系統(tǒng)提示符。三 程序與流程圖主程序的簡略流程 子程序一的
13、簡略流程圖 子程序二的簡略流程圖 子程序三的簡略流程圖 子程序4,顯示時(shí)間流程圖 實(shí)現(xiàn)代碼:DATA SEGMENTORG3500HBUF DB 100 ;從3500H開始定義緩沖區(qū)DB ?DB 100 DUP(0)MYNAMEDB Programed by ali .,0DH,0AH,$BUF1 DB 1. Input a string,then convert the small letter to big letter.,0DH,0AH,$BUF2 DB 2. Find the character whose ASCII code is biggest.,0DH,0AH,$BUF3 DB
14、 3. Sort the character by ASCII code by decreasing order .,0DH,0AH,$BUF4 DB 4. Display the ticking time.,0DH,0AH,$BUF5 DB 5. End the program.,0DH,0AH,$STRING1 DB Please input a string:,0DH,0AH,$STRING2 DB Enter any character to play again or Esc to quit.,0DH,0AH,$STRING3DB 0DH,0AH,$DATAENDS;CODE SEG
15、MENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATA ;DATA初始化MOVDS,AXHELLO:CALLCHILD0 ;顯示菜單MOVAX,0100H ;從鍵盤輸入一個(gè)數(shù)字的ASCII,AL存儲輸入的數(shù)字的ASCIIINT21HCMPAL,31HJENEXT1 CMPAL,32HJENEXT2CMPAL,33HJENEXT3;CMPAL,34H;JENEXT4CMPAL,35HJENEXT5NEXT1:CALLCHILD1JMPHELLONEXT2:CALLCHILD2JMPHELLONEXT3:CALLCHILD3 JMPHELLO;NEXT4:CALLCH
16、ILD4; JMPHELLONEXT5:CALLCHILD5 ;顯示菜單子程序CHILD0PROCNEAR MOVDX,OFFSET MYNAMEMOVAH,9H ;顯示INT21H MOVDX,OFFSET BUF1MOVAH,9H ;顯示INT21H MOVDX,OFFSET BUF2MOVAH,9H ;顯示INT21H MOVDX,OFFSET BUF3MOVAH,9H ;顯示INT21H MOVDX,OFFSET BUF4MOVAH,9H ;顯示INT21H MOVDX,OFFSET BUF5MOVAH,9H ;顯示INT21HRETCHILD0ENDP;CHILD1PROCNEARH
17、ELLO_1:MOVDX,OFFSET STRING1MOVAH,9HINT 21HLEA DX,BUF MOV AH,10 INT 21HMOVDX,OFFSET STRING3 ;換行MOVAH,9HINT 21HMOVBX,3501HMOVCL,BXMOVCH,0MOVBX,3502HNEXT1_1:MOVAL,BXCMPAL,97JLDADACMPAL,122JGDADASUBAL,32;是小寫字符DADA:MOVDL,ALMOVAH,02HINT21HINCBXLOOPNEXT1_1MOVDX,OFFSET STRING3 ;換行MOVAH,9HINT 21HMOVDX,OFFSET
18、 STRING2MOVAH,9HINT 21HMOVAH,08HINT21HCMPAL,27 ;跟ESC的ASCII比較JEBYBYJMPHELLO_1BYBY:RETCHILD1ENDP;CHILD2PROCNEARMOVDX,OFFSET STRING1MOVAH,9HINT 21HLEA DX,BUF MOV AH,10 INT 21H MOV DI,3501H MOV CL,DI DEC CL ;循環(huán)次數(shù) MOV CH,0LOOP1:MOVDX,CXMOVBX,3502HLOOP2:MOVAL,BXCMPAL,BX+1JAENO_CHANGEXCHGAL,BX+1MOVBX,ALNO_CHANGE:ADDBX,1LOOPLOOP2MOVCX,DXLOOPLOOP1 MOVDX,OFFSET STRING3MOVAH,9HINT 21HMOV DI,3502HMOV DL,DI MOV AH,02HINT 21HMOVDX,OFFSET STRING3 ;換行MOVAH,9HINT 21H RETCHILD2ENDP CHILD3PROCNEARMOVDX,OFFSET STRING1MOVAH,9HINT 21HLEA DX,BUF MOV AH,10 INT
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煙臺汽車工程職業(yè)學(xué)院《水處理原理與技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津輕工職業(yè)技術(shù)學(xué)院《小學(xué)語文教學(xué)與研究理論教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西財(cái)經(jīng)大學(xué)華商學(xué)院《游戲引擎應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 玉溪農(nóng)業(yè)職業(yè)技術(shù)學(xué)院《建筑工程CAD》2023-2024學(xué)年第二學(xué)期期末試卷
- 鎮(zhèn)江市高等??茖W(xué)校《通信工程設(shè)計(jì)實(shí)施與網(wǎng)絡(luò)規(guī)劃優(yōu)化實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆維吾爾醫(yī)學(xué)專科學(xué)?!端\(yùn)工程經(jīng)濟(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧輕工職業(yè)學(xué)院《沉積盆地分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江長征職業(yè)技術(shù)學(xué)院《比較教育學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東藥科大學(xué)《交通運(yùn)輸信息技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 德宏師范高等專科學(xué)?!都o(jì)錄片創(chuàng)作后期剪輯》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國鐵路青藏集團(tuán)有限公司招聘普通高校真題2024
- XX公司事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)制度1
- 附件6工貿(mào)高風(fēng)險(xiǎn)企業(yè)高危領(lǐng)域較大以上安全風(fēng)險(xiǎn)管控清單
- 國際貿(mào)易公司后勤管理崗位職責(zé)
- 中國礦業(yè)大學(xué)專職輔導(dǎo)員招聘真題2024
- 骨科手術(shù)切口感染的預(yù)防與控制
- 2025年角膜接觸鏡考試題及答案
- 透析營養(yǎng)不良相關(guān)知識
- 西部計(jì)劃面試試題及答案
- 2025 ACC-AHA急性冠脈綜合征患者管理指南解讀課件
- 江蘇開放大學(xué)2025年春大學(xué)英語B【2】
評論
0/150
提交評論