《分支程序設(shè)計實驗報告分支結(jié)構(gòu)程序設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《分支程序設(shè)計實驗報告分支結(jié)構(gòu)程序設(shè)計(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、分支程序設(shè)計實驗報告分支結(jié)構(gòu)程序設(shè)計實驗二分支程序設(shè)計一、實驗?zāi)康模?、分支程序的設(shè)計方法2、熟悉在PC機(jī)上建立、匯編、連接、調(diào)試和運(yùn)行匯編語言程序的過程二、實驗環(huán)境:硬件環(huán)境IBM/PC及其兼容機(jī)軟件環(huán)境操作系統(tǒng)DOS編輯程序EDIT或其他編輯程序匯編程序MASM.EXE連接程序LINK.EXE調(diào)試程序DEBUG.EXE三、實驗容:1、在屏幕上顯示如下信息:1 Panda2 Cat3 Rabbit4 Pig5 EXIT(Pleasechoose1,2,3,4or5)若輸入1,顯示“Ilikepanda”后程序結(jié)束;若輸入2,顯示“Ilikecat”后程序結(jié)束;若輸入3,顯示“Ilikerab
2、bit”后程序結(jié)束;若輸入4,顯示“Idontlikepig”后程序結(jié)束;若輸入5,程序直接結(jié)束;若輸入其它字符,顯示“Youpressanerrorkey!”后程序結(jié)束。1)流程圖YYYYYNNNN開始選項用戶輸入Al=1Al=2Al=3Al=4Al=5Youpressanerrorkey結(jié)束IlikepandaIlikecatIlikerabbitIlikedonotlikepig2)源程序DATASEGMENTINFOR1DB0AH,0DH,1Panda:$INFOR2DB0AH,0DH,2Cat:$INFOR3DB0AH,0DH,3Rabbit;$INFOR4DB0AH,0DH,4pi
3、g:$INFOR5DB0AH,0DH,5EXIT:$INFOR6DB0AH,0DH,(pleasechoose1,2,3,4or5-):$INFOR7DB0AH,0DH,IlikePanda:$INFOR8DB0AH,0DH,IlikeCat:$INFOR9DB0AH,0DH,IlikeRabbit;$INFOR10DB0AH,0DH,Ilikepig:$INFOR11DB0AH,0DH,youpressanerrorkey!:$DATAENDS數(shù)據(jù)段結(jié)束CODESEGMEN代碼段開始ASSUMECS:CODE,DS:DAT段尋址START:MOVAX,DAT將data的數(shù)據(jù)存入ax中MOVD
4、S,AX為ds賦值MOVDX,OFFSETINFO;返回變量INFOR1段偏移地址【運(yùn)行后在屏幕上顯示字符1Panda:】MOVAH,09HINT21H;執(zhí)行九號功能調(diào)用MOVDX,OFFSETINFOR2MOVAH,09HINT21HMOVDX,OFFSETINFOR3MOVAH,09HINT21HMOVDX,OFFSETINFOR4MOVAH,09HINT21HMOVDXQFFSETINFO;返回變量INFOR5段偏移地址【運(yùn)行后在屏幕上顯示字符5EXIT:】MOVAH,09HINT21HMOVDX,OFFSETINFOR6MOVAH,09HINT21HMOVAH,01HINT21HCMP
5、AL,1JEPandaCMPAL,2JECatCMPAL,3JERabbitCMPAL,4JEPigCMPAL,5JEPENDJMPOtherPanda:MOVDX,OFFSETINFOR7MOVAH,09HINT21HJMPPENDCat:MOVDX,OFFSETINFOR8MOVAH,09HINT21HJMPPENDRabbit:MOVDX,OFFSETINFOR9MOVAH,09HINT21HJMPPENDPig:MOVDX,OFFSETINFOR10MOVAH,09HINT21HJMPPENDOther:MOVDX,OFFSETINFOR11MOVAH,09HINT21HJMPPEND
6、PEND:MOVAH,4CHINT21HCODEENDSENDSTART2、從鍵盤輸入一字符,判斷該字符是小寫字母、大寫字母、數(shù)字或其它字符。若輸入為小寫字母,顯示“YouInputaLowercaseLetter!”;若輸入為大寫字母,顯示“YouInputaUppercaseLetter!”;若輸入為數(shù)字,顯示“YouInputaDigit!”;若輸入為其它字符,顯示“YouInputOtherLetter!”。編程指導(dǎo)數(shù)字0?9的ASCII碼為30H?39H;大寫字母的ASCII碼為41H?5AH小寫字母的ASCII碼為61H?7AH本題目將字符分為小寫字母、大寫字母、數(shù)字及其它字符,根
7、據(jù)鍵入字符的ASCII碼值判斷其所屬類型,并顯示相應(yīng)的信息。字符串顯示使用功能號為09H的DOS功能調(diào)用,接收鍵盤輸入的單個字符使用功能號為01H的DOS功能調(diào)用。YYYYYYYY顯示提示信息“PleasePressAnyKeytoinputaletter及功能號為1的接收鍵盤輸入單個字符的指令序列開始結(jié)束素、(AL)0(AL)=9(AL)A(AL)=Z(AL)a(AL)=z輸入的是小寫字母,顯示信息輸入的是大寫字母,顯示信息輸入的是數(shù)字,顯示有關(guān)信息輸入的是其它字符,顯示信息流程圖2)源程序DATASEGMENTINFOR1DB0AH,0DH,PleasePressAnyKeytoinput
8、aletter:$INFOR2DB0AH,0DH,Youinputalowercaseletter!$INFOR3DB0AH,0DH,YouinputaUppercaseletter!$INFOR4DB0AH,0DH,YouinputaDigit!$INFOR5DB0AH,0DH,YouinputOtherletter!$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA的指令序列以及接收從鍵START:MOVAX,DATA顯示信息“PleasePressAnyKeytoinputaletter盤輸入一個字符的指令序列MOVDS,AXMOVDX,OFFSETINF
9、OR1MOVAH,09HINT21HMOVAH,01HINT21HCMPAL,0JBOTHERCMPAL,9JBEDIGITCMPAL,AJBOTHERCMPAL,ZJBEUPPERCMPAL,aJBOTHERCMPAL,zJBELOWERJMPPENDLOWER;:顯示“YouInputaLowercaseLetter!”的指令序列MOVDX,OFFSETINFOR2MOVAH,09HINT21HJMPPEND注意執(zhí)行完一個分支后應(yīng)使程序跳出UPPER;:顯示“YouInputaUppercaseLetter”的指令序列MOVDX,OFFSETINFOR3MOVAH,09HINT21HJMPPENDDIGIT:;顯示“YouInputaDigit!”的指令序列MOVDX,OFFSETINFOR4MOVAH,09HINT21HJMPPENDOTHER;:顯示“YouInputOtherLetter!”的指令序列MOVDX,OFFSETINFOR5MOVAH,09HINT21HPEND:MOVAH,4CHINT21HCODEENDSENDSTART四、通過這次上機(jī)實驗,我掌握了分支程序額設(shè)計方法,宏定義及宏調(diào)用的基本方法,了解了小寫字母和大寫字母的ASCII碼表示及其轉(zhuǎn)換方法,了解了數(shù)字及其他字符的ASCII碼表示方法,進(jìn)步掌握了調(diào)試工具的使用方法。