實(shí)驗(yàn)五順序分支結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
實(shí)驗(yàn)五順序分支結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
實(shí)驗(yàn)五順序分支結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
實(shí)驗(yàn)五順序分支結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
實(shí)驗(yàn)五順序分支結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

實(shí)驗(yàn)五順序分支結(jié)構(gòu)程序設(shè)計(jì)第一頁(yè),共十頁(yè),2022年,8月28日2.分支結(jié)構(gòu)程序中出現(xiàn)二中選一的分支稱為二路分支,三中選一的分支稱為三路分支,還有四中選一,N中選一稱為多路分支。實(shí)現(xiàn)分支的要素有兩點(diǎn):(1)使用能影響狀態(tài)標(biāo)志的指令,如算術(shù)邏輯運(yùn)算類指令、移位指令和位測(cè)試指令等,將狀態(tài)標(biāo)志設(shè)置為能正確反映條件成立與否的狀態(tài)。(2)使用條件轉(zhuǎn)移類指令對(duì)狀態(tài)位進(jìn)行測(cè)試判斷,確定程序如何轉(zhuǎn)移,形成分支。實(shí)驗(yàn)內(nèi)容與步驟

1.已知字節(jié)變量X,Y存放于VARX,VARY存儲(chǔ)單元中,利用公式求Z的值,并將結(jié)果存放于RESULT存儲(chǔ)單元中。公式:Z=((X+Y)*8-X)/2。參考程序如下:(程序名:SY5-1.ASM)dataSEGMENTvarxDW0006hvaryDW0007hresultDW?dataENDScodeSEGMENTASSUMECS:code,DS:datastart:MOVAX,dataMOVDS,AX第二頁(yè),共十頁(yè),2022年,8月28日MOVAX,varx ;AX<-XADDAX,vary ;AX<-X+YMOVCL,3SALAX,CL ;AX<-(X+Y)*8SUBAX,varx ;DL<-(X+Y)*8-XSARAX,1 ;DL<-((X+Y)*8-X)/2MOVresult,AXMOVAH,4chINT21h ;退出程序codeENDSENDstart(1)輸入程序并檢查無(wú)誤,經(jīng)匯編、連接后產(chǎn)生正確的可執(zhí)行文件SY5-1.EXE。(2)執(zhí)行可執(zhí)行文件,可以看到執(zhí)行正常,但是沒有任何輸出,可以使用DEBUG來(lái)調(diào)試。第三頁(yè),共十頁(yè),2022年,8月28日(3)用DEBUG的UCS:0000查看MOVAX,XXXX(DATA)語(yǔ)句,即得到數(shù)據(jù)段段地址DS=XXXX。(4)單步運(yùn)行以上程序到最后一條指令,計(jì)算出了((X+Y)*8-X)/2的內(nèi)容(0031H),調(diào)試過(guò)如下:C:\>DEBUGSY5-1.EXE一_U_ ;反匯編_13F9:0000_B8F813_ MOV_AX,13F8_13F9:0003_8ED8_ MOV_DS,AX_13F9:0005_8B1E0000_ MOV_BX,[0000]_13F9:0009_031E0200_ ADD_BX,[0002]_13F9:000D_B103_ MOV_CL,03_13F9:000F_D3E3_ SHL_BX,CL_13F9:0011_2B1E0000_ SUB_BX,[0000]_13F9:0015_D1FB_ SAR_BX,1_13F9:0017_891E0400_ MOV_[0004],BX_13F9:001B_B44C_ MOV_AH,4C_13F9:001D_CD21_ INT_21_ ;源程序結(jié)束一_R_AX=0000BX=0000CX=002FDX=0000SP=0000BP=0000SI=0000DI=0000DS=13E8ES=13E8SS=13F8CS=13F9IP=0000NVUPEIPLNZNAPONC13F9:0000DBF813 MOVAX,13F8一_T_第四頁(yè),共十頁(yè),2022年,8月28日AX=13F8_BX=0000_CX=002FDX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13E8_ES=13E8_SS=13F8_CS=13F9_IP=0003_NV_UP_EI_PL_NZNAPO_NC_13F9:0003_8ED8_MOV_DS,AX_一_T_AX=13F8_BX=0000_CX=002FDX=0000_SP=0000_BP=0000_SI=0000_DI=0000DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=0005_NV_UP_EI_PL_NZNAPO_NC_13F9:0005_8B1E0000_ MOV_BX,[0000]_ DS:0000=0006_一_T_AX=13F8_BX=0006_CX=002FDX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=0009_NV_UP_EI_PL_NZNAPO_NC_13F9:0009_031E0200_ ADD_BX,[0002]_ DS:0002=0007_一_T_AX=13F8_BX=000D_CX=002F_DX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=000D_NV_UP_EI_PL_NZNAPO_NC_13F9:000D_B103_ MOV_CL,03_一_T_第五頁(yè),共十頁(yè),2022年,8月28日AX=13F8_BX=000D_CX=0003_DX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=000F_NV_UP_EI_PL_NZNAPO_NC_13F9:000F_D3E3_ SHL_BX,CL_一_T_AX=13F8_BX=0068_CX=0003DX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=0011_NV_UP_EI_PL_NZNAPO_NC_13F9:0011_2B1E0000_ SUB_BX,[0000]_一_T_AX=13F8_BX=0062_CX=0003DX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=0015_NV_UP_EI_PL_NZNAPO_NC_13F9:0015_D1FB_ SAR_BX,1_一_T_AX=13F8_BX=0031_CX=0003DX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=0017_NV_UP_EI_PL_NZNAPO_NC_13F9:0017_891E0400_ MOV_[0004],BX______________DS:0004=0000_一_T_AX=13F8_BX=0031_CX=0003DX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=001B_NV_UP_EI_PL_NZNAPO_NC_13F9:001B_B44C_ MOV_AH,4C_一_T_第六頁(yè),共十頁(yè),2022年,8月28日AX=4CFB_BX=0031_CX=0003_DX=0000_SP=0000_BP=0000_SI=0000_DI=0000_DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=001D_NV_UP_EI_PL_NZNAPO_NC_13F9:001D_CD21_ INT_21_一D00000005 ;數(shù)據(jù)段三個(gè)字內(nèi)容分別為X,Y,Z13F8:0000060007003100_ ….1._2.假設(shè)有一組數(shù)據(jù):5,-4,0,3,100,-51,請(qǐng)編一程序,判斷:每個(gè)數(shù)大于_0,等于_0,還是小于_0;并輸出其判斷結(jié)果。y=______即:_1_當(dāng)_x>0___0_當(dāng)_x=0_-1_當(dāng)_x<0_(1)編程提示:?首先將原始數(shù)據(jù)裝入起始地址為_XX_的字節(jié)存儲(chǔ)單元中。?將判斷結(jié)果以字符串的形式存放在數(shù)據(jù)區(qū)中,以便在顯示輸出時(shí)調(diào)用。?其中判斷部分可采用_CMP_指令,得到一個(gè)分支結(jié)構(gòu),分別輸出“y=0”,_“y=1”,_“y=-1”。?程序中存在一個(gè)循環(huán)結(jié)構(gòu),循環(huán)_6_次,調(diào)用6_次分支結(jié)構(gòu)后結(jié)束。參考程序如下:(程序名:SY5-2.ASM)data第七頁(yè),共十頁(yè),2022年,8月28日SEGMENTxDB5,-4,0,3,100,-51A1 DB'1',13,10,'$'A2DB'0',13,10,'$'A3DB'-1',13,10,'$'dataENDScodeSEGMENTmainPROCFARASSUMECS:code,DS:datastart:PUSH DSMOV AX,0PUSH AXMOV AX,dataMOV DS,AXLEA SI,xMOV CX,06hagain:MOV AL,[SI]第八頁(yè),共十頁(yè),2022年,8月28日CMP AL,0JGELOOP1LEA DX,A3JMPNEXTLOOP1:JELOOP2LEA DX,A1JMPNEXTLOOP2:LEA DX,A2NEXT:MOV AH,09hINT21hINC SIDEC CXJNEagainRETmain ENDPcodeENDSENDstart

第九頁(yè),共十頁(yè),2022年,8月28日(2)輸入程序并檢查無(wú)誤、經(jīng)匯編、連接后產(chǎn)生正確的可執(zhí)行文件SY5-2.EXE。(3)用DEBUG的U命令查看MOVAX,XXXX(DATA)語(yǔ)句,即得到數(shù)據(jù)段基址DS:XXXX。(4)用G命令運(yùn)行以上程序,記錄顯示結(jié)果,

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論