實(shí)驗(yàn)二--分支程序?qū)嶒?yàn)和循環(huán)程序?qū)嶒?yàn)_第1頁(yè)
實(shí)驗(yàn)二--分支程序?qū)嶒?yàn)和循環(huán)程序?qū)嶒?yàn)_第2頁(yè)
實(shí)驗(yàn)二--分支程序?qū)嶒?yàn)和循環(huán)程序?qū)嶒?yàn)_第3頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)二-分支程序?qū)嶒?yàn)和循環(huán)程序?qū)嶒?yàn)實(shí)驗(yàn)二分支程序?qū)嶒?yàn)和循環(huán)程序?qū)嶒?yàn)【上篇】分支程序?qū)嶒?yàn)、知識(shí)點(diǎn)1、控制轉(zhuǎn)移類(lèi)指令無(wú)條件轉(zhuǎn)移指令JMP、條件轉(zhuǎn)移指令Jcc2、單分支結(jié)構(gòu)雙分支結(jié)構(gòu)注意分支條件的選擇:到分支的下一條指令;當(dāng)條件滿(mǎn)足時(shí),直接轉(zhuǎn)否則,執(zhí)行單分支語(yǔ)句段。例如,求AX中數(shù)據(jù)的絕對(duì)值:CMPAX,0JGENONEGNEGAXNONEG:MOVRESULT,AX思考:如果條件改為JL,以上分支程序段如何改寫(xiě)?是比較程序段的復(fù)雜度?3、雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)中條件的選擇任意,但特別注意:當(dāng)分支語(yǔ)句段1結(jié)束后,一定要用JMP指令跳過(guò)分支語(yǔ)句段2,即跳到分支結(jié)束的位置。例如,判斷AX中的數(shù)據(jù)的符號(hào),若

2、為非負(fù)數(shù),則0sign;否則,-1sign。CMPAX,0JGENONEGMOVSIGN,-1JMPEND0NONEG:MOVSIGN,0END0:4、分支結(jié)構(gòu)程序測(cè)試用例的設(shè)計(jì)基本準(zhǔn)則:測(cè)試用例要滿(mǎn)足能夠使每個(gè)分支都能執(zhí)行一次,特別注意邊界數(shù)據(jù)的測(cè)試。換句話說(shuō),就是首先分析每個(gè)分支條件,找出使條件成立、不成立時(shí)的數(shù)據(jù)取值范圍,然后從每個(gè)范圍中選一個(gè)數(shù)據(jù),形成一個(gè)測(cè)試用例;另夕卜,邊界數(shù)據(jù)作為單獨(dú)一個(gè)測(cè)試用例。【舉例說(shuō)明】(1) 單分支/雙分支結(jié)構(gòu)的測(cè)試:比如“判斷AX中的數(shù)據(jù)的符號(hào)”程序段,需要設(shè)計(jì)三個(gè)測(cè)試用例,即分AX0AXSETJ7DIH5TftZAmnimtcd:KDriueCismo

3、untedasloca1directoryd:XC:ScdinasniSC:nASf6masmriicr-Qsoft(ft)riacruAssemblerLtersiuii5,0GCopyright(C)MicrosoftCorp1931-19851387+Allrightsreserved,SourceFiInsaneASM:D0SBox0.7CpjpeegeyeL3Tie5kjp0,Procram;C:Xdrm殳mH|C:MASM5WHEhtiMicrosoft(R)MaceoAsse*nblerItersion5.0GKupyriyJil(C)lilct-uufICorp1981-130

4、5,107.A11riylihifcKeiAid.L.ASHJ:tUUttwo.OBJ:LNUL.LST1:(NUL.CRF1!Sourcer1lenaneObjectfilenaneSailPCelistingCrossreFprenre51770464774DgicssymbolspacefreeQHarnIngErrorsGSeiwtreErrorsC:MiASH5lnkMicrosoft(P)Over1ayLinkerktersion3,&GCopyrightC)MicrosoftCorp1933-1987,fillrigirtsreserved.ObjectliodnlesOBJ:_

5、卜:氣MASKSlinkMicrosoft(fl)OverlayLinkerUerslcm3.B0Copyrigftit(C)MicrosoftCorp1S83-1987.,Al1rightsreserued.ObjectModules(.OBJ1:twoHunFileLIUJ.EXE:ListFileHJL.mPJ:Libraries.LIB;LINK:uarninqL4GZ1:nostacksegmentObjectModules(.OBJJ:twoRufFileLTUJ.EXE1:ListFileNUL.mPl:Libraries.LIB】:LINK:uarningL4G21:nosta

6、cksegmentC:MASM5twoBaw.uaiiwfc-frmEFHE,5,-&譽(yù)獸*jwrutrm專(zhuān)IVnQ443ri|lTM!HHfV-i*REDM:EEnCWIU=!iflvBLjALtflvDL副皿cwjar*pv;I.l1l:ilillrc.vFMdlulmdlulNWflMIWiflvbL4LDDLrWa5DL.9JDEWFT5-*DIlEl:HiDaDL#HIVIK219H1V他河IK21三I/.謁口_,I:LHSOFTMiFigE*Vt*um*n*vbrnniEAilft.m?,女辱囪中費(fèi)由由:fl刊*CH|iiTV173l-|MnWiFh-IL-XJMi#UiM-Edi

7、lucXVIf.A阡Ue-NiEm顯示AL中兩位十六進(jìn)制數(shù)程序TWO.ASMcEsNA1c)EsQNAcT;匚,-1TD;2LT2DT-3AAAC97Ad2顯示高位BO972顯示低位返回DOS【下篇】循環(huán)程序?qū)嶒?yàn)-、知識(shí)點(diǎn)(1) 1、常用循環(huán)結(jié)構(gòu)的匯編語(yǔ)言實(shí)現(xiàn)對(duì)于確定循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),一般使用LOOFW令構(gòu)成循環(huán),LOO件旨令中的標(biāo)號(hào)位循環(huán)體的起始位置。但在循環(huán)之前要將循環(huán)次數(shù)送CX對(duì)于循環(huán)次數(shù)不定的循環(huán)結(jié)構(gòu),一般用Jcc指令與標(biāo)號(hào)一起構(gòu)成循環(huán)。循環(huán)結(jié)構(gòu)的匯編語(yǔ)言程序一般包含三部分,即循環(huán)初始部分循環(huán)之前準(zhǔn)備相應(yīng)的條件,如循環(huán)次數(shù)、相關(guān)變量/寄存器賦初值等;循環(huán)體重復(fù)執(zhí)行的程序代碼,其中包含

8、改變與循環(huán)條件有關(guān)的值;循環(huán)控制部分判斷循環(huán)條件,決定是否繼續(xù)循環(huán)。2、循環(huán)程序的測(cè)試技巧單步調(diào)試與分段調(diào)試結(jié)合:即對(duì)循環(huán)體內(nèi)部的程序段的測(cè)試用單步執(zhí)行的方法,執(zhí)行12遍循環(huán)體,觀察并分析每一步的結(jié)果及程序流程;對(duì)于整個(gè)循環(huán)體程序段的測(cè)試,一般用G命令分段調(diào)試,通過(guò)結(jié)果判斷循環(huán)體的正確程度。二、實(shí)驗(yàn)內(nèi)容1、編寫(xiě)一個(gè)程序,判別鍵盤(pán)上輸入的字符;若是1-9字符,則顯示之;若為A-Z或a-z字符,均顯示/c,;若是回車(chē)字符CR俱ASCII碼為0DH),則自動(dòng)結(jié)束程序,若為其它字符則不顯示,循環(huán)等待新的字符輸入。三、實(shí)驗(yàn)步驟1、用記事本編寫(xiě).ASM源程序。2、對(duì)源程序進(jìn)行匯編及連接,產(chǎn)生.EXE文件四

9、、實(shí)驗(yàn)報(bào)告要求完成實(shí)驗(yàn)內(nèi)容,截圖顯示,重點(diǎn)畫(huà)出程序的流程圖。實(shí)驗(yàn)代碼DATASEGMENTDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFARPUSHDSSUBAX,AX;AX清零PUSHAXMOVAX,DATAMOVDS,AX;DATA段地址給DSNEXT:MOVAH,07;INPUTCHARACTERINT21HCMPAL,0DHJEOVER;enterCMPAL,0JGEDA0;=0JMPNEXTDA0:CMPAL,9JLEDA09;=aJMPNEXTDA_LA:CMPAL,ZJLECHR;AZJMPNEXTCMPAL,aJGEDA

10、_LAJMPNEXTDA_GA:CMPAL,zJLECHR;azJMPNEXT;/DA09:MOVAH,02MOVDL,AL;DISPLAYNUMBERINT21HJMPNEXTCHR:MOVAH,2MOVDL,c;DISPLAYCHARACTER:cINT21HJMPNEXTOVER:RET;BACKMAINENDPCODEENDSENDMAIN實(shí)驗(yàn)截圖:(1).IT*Ba另a)Ea四z*iiid*1|4U*anhewin嗣m畔fhinit怔teiiiimm-:f八驪-HttQAE*|.,f諷巳5fli-WJkCWtl.&Mi,wrtHi*-a-Ckf-mOffnOLg.村孔金通叫營(yíng)仲膏nv

11、miIiStsb+PHeBT鹿w+電匚nn守心口I觀*r:Kr#TW-MffflF置更gMl魔調(diào)洋度:D0*5LW兌,磨*B,眼季菱*:1皂*lM|AIHI-CDfIftMTHTDLEaVtlCXJini*_*?JHUIMWEIHI71Huf|IDEMlJH*HEClCHfJLKIMK;Py?=T,j-.DIfrnc-iWjTWMmumL好I?|i?Slw?F.gfLNEEnL.f|DOSBox0.74rCpuspeed3300cycles,FrarreskipQProgramDCSBOK1DieDOSBuxTeam11LIpz/wwubdosboxkcomZ;3ETBLftSTER=fiZ0

12、17DIH5T&ZAmountcd:DriueCismountedaslocaldirectoryi:Z:c:C:cdmasinEC:SMAStfiimxmcnmtrnlMicrossPtCR)MncroAssemblerOrsion5.0GCnriglrtCC)MicrosflftCorp19B1-15R5j1587.A11rightsresfirvwl.ObjectfilenaneIconlrol.OBJ:Source11stingINULLST:CrossrefcrcnceLNUL.CPFJt51746&d700DytcssymbolspacefreeOkkirninyErrorsOSeuereErrorsC:MASrt5C:MASrSlinkMicrosoft(R)QuerlaylingerUersion3CopyriglitIC)riicrosoftCorp1583-UH?.6。Allrightsreserve!.ObjectModules.OBJJ:contra1RunFileLCONTFIDL.EXE:ListFileNUL.MAPJ:Libraries.LIB:L1HK:uarningL4GZ1:nostacksegmentrfMa整ME、riicrosoft(KJOmerlagLinkerUtersionJ.bfcC

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論