《微機(jī)原理分支程序設(shè)計(jì)實(shí)驗(yàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《微機(jī)原理分支程序設(shè)計(jì)實(shí)驗(yàn)(7頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、真誠(chéng)為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請(qǐng)指正。 2.3 分支程序設(shè)計(jì)實(shí)驗(yàn)2.3.1 實(shí)驗(yàn)?zāi)康?、 掌握分支程序的設(shè)計(jì)方法。2、 掌握宏定義及宏調(diào)用的基本方法。3、 了解小寫和大寫字母的ASCII碼表示及其轉(zhuǎn)換方法。了解數(shù)字及其它字符在的ASCII碼表示方法。4、進(jìn)一步掌握調(diào)試工具的使用方法2.3.2 實(shí)驗(yàn)預(yù)習(xí)要求1、 復(fù)習(xí)比較指令、條件轉(zhuǎn)移指令的用法。2、 復(fù)習(xí)宏定義及宏調(diào)用的基本方法。3、 根據(jù)“2.3.3 實(shí)驗(yàn)內(nèi)容”中給出的流程圖和程序框架編寫源程序,以便上機(jī)調(diào)試。4、 程序框架中顯示提示信息的指令序列用宏調(diào)用實(shí)現(xiàn)。5、 從“2.3.4 實(shí)驗(yàn)習(xí)題”中任選一道題目,編寫源程序,以便上機(jī)調(diào)試
2、。2.3.3 實(shí)驗(yàn)內(nèi)容從鍵盤輸入一字符,判斷該字符是小寫字母、大寫字母、數(shù)字或其它字符。若輸入為小寫字母,顯示“You Input a Lowercase Letter!”;若輸入為大寫字母,顯示“You Input a Uppercase Letter!”; 若輸入為數(shù)字,顯示“You Input a Digit!”; 若輸入為其它字符,顯示“You Input Other Letter!”。1、 編程指導(dǎo)數(shù)字09的ASCII碼為30H39H;大寫字母的ASCII碼為41H5AH,小寫字母的ASCII碼為61H7AH。本題目將字符分為小寫字母、大寫字母、數(shù)字及其它字符,根據(jù)鍵入字符的ASCI
3、I碼值判斷其所屬類型,并顯示相應(yīng)的信息。字符串顯示使用功能號(hào)為09H的DOS功能調(diào)用,接收鍵盤輸入的單個(gè)字符使用功能號(hào)為01H的DOS功能調(diào)用。YYYYYY顯示提示信息“Please Press Any Key to input a letter”及功能號(hào)為1的接收鍵盤輸入單個(gè)字符的指令序列開始結(jié)束素、(AL)0(AL)=9(AL)A(AL)=Z(AL)a(AL)=z輸入的是小寫字母,顯示信息輸入的是大寫字母,顯示信息輸入的是數(shù)字,顯示有關(guān)信息輸入的是其它字符,顯示信息2、 流程圖及程序框圖(1) 流程圖(2) 實(shí)驗(yàn)代碼:DATA SEGMENT INFOR1 DB 0AH,0DH,Pleas
4、e Press Any Key to input a letter:$ INFOR2 DB 0AH,0DH,You Input a Lowercase Letter!$ INFOR3 DB 0AH,0DH,You Input a Uppercase Letter!$INFOR4 DB 0AH,0DH,You Input a Digit!$INFOR5 DB 0AH,0DH,You Input Other Letter!$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,OFFSET IN
5、FOR1 MOV AH,09HINT 21H CMP AL,0JB OTHERCMP AL,9JBE DIGITCMP AL,AJB OTHERCMP AL,ZJBE UPPERCMP AL,aJB OTHERCMP AL,zJBE LOWERJMP PENDLOWER:MOV DX,OFFSET INFOR2MOV AH,09HINT 21HJMP PENDUPPER:MOV DX,OFFSET INFOR3MOV AH,09HINT 21HJMP PENDDIGIT:MOV DX,OFFSET INFOR4MOV AH,09HINT 21HJMP PENDOTHER:MOV DX,OFFS
6、ET INFOR5MOV AH,09HINT 21HJMP PENDPEND:MOV AH,4CHINT 21HCODE ENDSEND START(3)實(shí)驗(yàn)結(jié)果:2.3.4 實(shí)驗(yàn)習(xí)題1、 在屏幕上顯示信息“Are you really want to exit?”,然后從鍵盤輸入一個(gè)字符,若輸入“Y”或“y”,顯示“Thank you for your using!”后程序結(jié)束;若輸入“N”或“n”,顯示“Lets continue!”后程序結(jié)束;若輸入其它字符,顯示“You press an error key!”后程序結(jié)束(要求盡量使用宏指令以便使源程序更加簡(jiǎn)潔)。(1)實(shí)驗(yàn)代碼:DAT
7、A SEGMENTINFOR1 DB 0AH,0DH,Are you really want to exit?$INFOR2 DB 0AH,0DH,Thank you for your using !$INFOR3 DB 0AH,0DH,Lets continue !$INFOR4 DB 0AH,0DH,You press an error key !$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET INFOR1MOV AH,09HINT 21HMOV AH,01HINT 2
8、1HCMP AL,YJE YESCMP AL,yJE YESCMP AL,NJE NOCMP AL,nJE NOJMP PENDYES:MOV DX,OFFSET INFOR2MOV AH,09HINT 21HJMP PENDNO:MOV DX,OFFSET INFOR3MOV AH,09HINT 21HJMP PENDOTHER:MOV DX,OFFSET INFOR4MOV AH,09HINT 21HJMP PENDPEND:MOV AH,4CHINT 21HCODE ENDSEND START (2) 實(shí)驗(yàn)結(jié)果:2、 在屏幕上顯示如下信息: 1-Panda 2-Cat 3-Rabbit
9、4-Pig 5-EXIT (Please choose 1,2,3,4or 5)-若輸入1,顯示“I like panda”后程序結(jié)束;若輸入2,顯示“I like cat”后程序結(jié)束;若輸入3,顯示“I like rabbit”后程序結(jié)束;若輸入4,顯示“I dont like pig”后程序結(jié)束;若輸入5,程序直接結(jié)束;若輸入其它字符,顯示“You press an error key!”后程序結(jié)束(要求盡量使用宏指令以便使源程序更加簡(jiǎn)潔)。(1)代碼:DATA SEGMENTINFOR1 DB 0AH,0DH,1-Panda$INFOR2 DB 0AH,0DH,2-Cat$INFOR3
10、DB 0AH,0DH,3-Rabbit$INFOR4 DB 0AH,0DH,4-Pig$INFOR5 DB 0AH,0DH,5-EXIT$INFOR6 DB 0AH,0DH,I like Panda$INFOR7 DB 0AH,0DH,I like Cat$INFOR8 DB 0AH,0DH,I like Rabbit$INFOR9 DB 0AH,0DH,I dont like Pig$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET INFOR1MOV AH,09HINT 2
11、1HMOV DX,OFFSET INFOR2MOV AH,09HINT 21HMOV DX,OFFSET INFOR3MOV AH,09HINT 21HMOV DX,OFFSET INFOR4MOV AH,09HINT 21HMOV DX,OFFSET INFOR5MOV AH,09HINT 21HMOV AH,01HINT 21HCMP AL,1JE ACMP AL,2JE BCMP AL,3JE CCMP AL,4JE DCMP AL,5JE PEND;JMP PENDA:MOV DX,OFFSET INFOR6MOV AH,09HINT 21HJMP PENDB:MOV DX,OFFSE
12、T INFOR7MOV AH,09HINT 21HJMP PENDC:MOV DX,OFFSET INFOR8MOV AH,09HINT 21HJMP PENDD:MOV DX,OFFSET INFOR9MOV AH,09HINT 21HJMP PENDPEND:MOV AH,4CHINT 21HCODE ENDSEND START(2)實(shí)驗(yàn)結(jié)果:2.3.5 實(shí)驗(yàn)小結(jié)通過(guò)本次實(shí)驗(yàn),我掌握了匯編分支程序的設(shè)計(jì)方法,了解了小寫和大寫字母的ASCII碼的轉(zhuǎn)換方法,以及數(shù)字及其他的字符在ASCII碼的表示方法。實(shí)驗(yàn)中遇到了一些問題,例如:輸入源代碼時(shí),一定要按照語(yǔ)句格式與語(yǔ)法來(lái)寫,并且少了空格會(huì)導(dǎo)致編譯錯(cuò)誤;一個(gè)完整的匯編程序只能返回一次DOS等,返回DOS語(yǔ)句后面的匯編程序不會(huì)執(zhí)行等。7 / 7