《分支程序設計實驗報告分支結構程序設計》由會員分享,可在線閱讀,更多相關《分支程序設計實驗報告分支結構程序設計(11頁珍藏版)》請在裝配圖網上搜索。
1、分支程序設計實驗報告分支結構程序設計
實驗二分支程序設計一、實驗目的:
1、分支程序的設計方法
2、熟悉在PC機上建立、匯編、連接、調試和運行匯編語言程序的過程二、實驗環(huán)境:
硬件環(huán)境IBM/PC及其兼容機
軟件環(huán)境操作系統(tǒng)DOS
編輯程序EDIT或其他編輯程序
匯編程序MASM.EXE
連接程序LINK.EXE
調試程序DEBUG.EXE三、實驗容:
1、在屏幕上顯示如下信息:
1 Panda
2 Cat
3 Rabbit
4 Pig
5 EXIT
(Pleasechoose1,2,3,4or5)
若輸入1,顯示“Ilikepanda”后程序結束;若輸入2,
2、顯示“Ilikecat”后程序結束;若輸入3,顯示“Ilikerabbit”后程序結束;若輸入4,顯示“Idon'tlikepig”后程序結束;若輸入5,
程序直接結束;若輸入其它字符,顯示“Youpressanerrorkey!”后程序結束。
1)流程圖
Y
Y
Y
Y
Y
N
N
N
N
開始
選項
用戶輸入Al=1
Al=2Al=3
Al=4Al=5
Youpressanerrorkey
結束
Ilikepanda
Ilikecat
Ilikerabbit
Ilikedonotlikepig
2)源程序
DATASEGMENT
INFOR
3、1DB0AH,0DH,"1Panda:$"
INFOR2DB0AH,0DH,"2Cat:$"
INFOR3DB0AH,0DH,"3Rabbit;$"
INFOR4DB0AH,0DH,"4pig:$"
INFOR5DB0AH,0DH,"5EXIT:$"
INFOR6DB0AH,0DH,"(pleasechoose1,2,3,4or5---):$"
INFOR7DB0AH,0DH,"IlikePanda:$"
INFOR8DB0AH,0DH,"IlikeCat:$"
INFOR9DB0AH,0DH,"IlikeRabbit;$"
INFOR10DB0AH,0DH,"Ilikepi
4、g:$"
INFOR11DB0AH,0DH,"youpressanerrorkey!:$"
DATAENDS數(shù)據(jù)段結束
CODESEGMEN代碼段開始
ASSUMECS:CODE,DS:DAT段尋址
START:MOVAX,DAT將data的數(shù)據(jù)存入ax中
MOVDS,AX為ds賦值
MOVDX,OFFSETINFO;返回變量INFOR1段偏移地址【運行后在屏幕上顯示字符1Panda:】
MOVAH,09H
INT21H;執(zhí)行九號功能調用MOVDX,OFFSETINFOR2
MOVAH,09H
INT21HMOVDX,OFFSETINFOR3
MOVAH,09H
IN
5、T21HMOVDX,OFFSETINFOR4
MOVAH,09H
INT21H
MOVDXQFFSETINFO;返回變量INFOR5段偏移地址【運行后在屏幕上顯示字符5EXIT:】
MOVAH,09H
INT21HMOVDX,OFFSETINFOR6
MOVAH,09H
INT21H
MOVAH,01H
INT21H
CMPAL,'1'
JEPanda
CMPAL,'2'
JECat
CMPAL,'3'
JERabbit
CMPAL,'4'
JEPig
CMPAL,'5'
JEPEND
JMPOther
Panda:
MOVDX,OFFSETINFO
6、R7
MOVAH,09H
INT21H
JMPPEND
Cat:
MOVDX,OFFSETINFOR8
MOVAH,09H
INT21H
JMPPEND
Rabbit:
MOVDX,OFFSETINFOR9
MOVAH,09H
INT21H
JMPPEND
Pig:
MOVDX,OFFSETINFOR10
MOVAH,09H
INT21H
JMPPEND
Other:
MOVDX,OFFSETINFOR11
MOVAH,09H
INT21H
JMPPEND
PEND:MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2
7、、從鍵盤輸入一字符,判斷該字符是小寫字母、大寫字母、數(shù)字或其它字符。若輸入為小寫字母,顯示“YouInputaLowercaseLetter!”;若輸入為大寫字母,顯示“YouInputaUppercaseLetter!”;若輸入為數(shù)字,顯示“YouInputaDigit!”;若輸入為其它字符,顯示“YouInputOtherLetter!”。
編程指導
數(shù)字0?9的ASCII碼為30H?39H;大寫字母的ASCII碼為41H?5AH小寫字母的ASCII碼為61H?7AH本題目將字符分為小寫字母、大寫字母、數(shù)字及其它字符,根據(jù)鍵入字符的ASCII碼值判
斷其所屬類型,并顯示相應的信息。字
8、符串顯示使用功能號為09H的DOS功能調用,接收鍵盤輸入的單個字符使用功能號為01H的DOS功能調用。
YY
Y
Y
Y
Y
Y
Y
顯示提示信息“PleasePressAnyKeytoinputaletter
及功能號為1的接收鍵盤輸入單個字符的指令序列
開始
結束素、、
(AL)<'0'(AL)<='9'
(AL)<'A'(AL)<='Z'
(AL)<'a'(AL)<='z'
輸入的是小寫字母,顯示信息輸入的是大寫字母,顯示信息輸入的是數(shù)字,顯示有關信息輸入的是其它字符,顯示信息流程圖2)源程序
DATASEGMENTINFOR1DB0AH,0DH,"Ple
9、asePressAnyKeytoinputaletter:$"INFOR2DB0AH,0DH,"Youinputalowercaseletter!$"INFOR3DB0AH,0DH,"YouinputaUppercaseletter!$"INFOR4DB0AH,0DH,"YouinputaDigit!$"
INFOR5DB0AH,0DH,"YouinputOtherletter!$"DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
的指令序列以及接收從鍵
START:MOVAX,DATA顯示信息“PleasePressAnyKeytoinputal
10、etter盤輸入一個字符的指令序列
MOVDS,AXMOVDX,OFFSETINFOR1
MOVAH,09H
INT21H
MOVAH,01H
INT21H
CMPAL,'0'
JBOTHER
CMPAL,'9'
JBEDIGIT
CMPAL,'A'
JBOTHER
CMPAL,'Z'
JBEUPPER
CMPAL,'a'
JBOTHER
CMPAL,'z'
JBELOWER
JMPPEND
LOWER;:顯示“YouInputaLowercaseLetter!”的指令序列MOVDX,OFFSETINFOR2
MOVAH,09H
INT21H
JMP
11、PEND注意執(zhí)行完一個分支后應使程序跳出
UPPER;:顯示“YouInputaUppercaseLetter”的指令序列MOVDX,OFFSETINFOR3
MOVAH,09H
INT21H
JMPPEND
DIGIT:;顯示“YouInputaDigit!”的指令序列MOVDX,OFFSETINFOR4
MOVAH,09H
INT21H
JMPPEND
OTHER;:顯示“YouInputOtherLetter!”的指令序列MOVDX,OFFSETINFOR5
MOVAH,09H
INT21H
PEND:MOVAH,4CH
INT21H
CODEENDS
ENDSTART四、
通過這次上機實驗,我掌握了分支程序額設計方法,宏定義及宏調用的基本方法,了解了小寫字母和大寫字母的ASCII碼表示及其轉換方法,了解了數(shù)字及其他字符的ASCII碼表示方法,進步掌握了調試工具的使用方法。