微机原理分支程序设计实验Word文档下载推荐.docx
《微机原理分支程序设计实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理分支程序设计实验Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
若输入为数字,显示“YouInputaDigit!
若输入为其它字符,显示“YouInputOtherLetter!
”。
1、编程指导
数字0?
9的ASCII码为30H?
39H;
大写字母的ASCII码为41H?
5AH,小写字母的ASCII码为61H?
7AH。
本题目将字符分为小写字母、大写字母、数字及其它字符,根据键入字符的ASCII码值判断其所属类型,并显示相应的信息。
字符串显示使用功能号为09H的DOS功能调用,接收键盘输入的单个字符使用功能号为01H的DOS功能调用。
2、
流程图及程序框图
(1)流程图
(2)实验代码:
DATASEGMENT
INFOR1DB0AH,0DH,"
PleasePressAnyKeytoinputaletter:
$"
INFOR2DB0AH,0DH,"
YouInputaLowercaseLetter!
INFOR3DB0AH,0DH,"
YouInputaUppercaseLetter!
INFOR4DB0AH,0DH,"
YouInputaDigit!
INFOR5DB0AH,0DH,"
YouInputOtherLetter!
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETINFOR1
MOVAH,09H
INT21H
CMPAL,'
0'
JBOTHER
9'
JBEDIGIT
A'
JBOTHER
Z'
JBEUPPER
a'
z'
JBELOWER
JMPPEND
LOWER:
MOVDX,OFFSETINFOR2
MOVAH,09H
INT21H
JMPPEND
UPPER:
MOVDX,OFFSETINFOR3
DIGIT:
MOVDX,OFFSETINFOR4
OTHER:
MOVDX,OFFSETINFOR5
PEND:
MOVAH,4CH
CODEENDS
ENDSTART
(3)实验结果:
2.3.4实验习题
1、在屏幕上显示信息“Areyoureallywanttoexit?
”,然后从键盘输入一个字符,若输入“Y”或“y”,显示“Thankyouforyourusing!
”后程序结束;
若输入“N”或“n”,显示“Let’scontinue!
若输入其它字符,显示“Youpressanerrorkey!
”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。
(1)实验代码:
DATASEGMENT
INFOR1DB0AH,0DH,"
Areyoureallywanttoexit?
INFOR2DB0AH,0DH,"
Thankyouforyourusing!
INFOR3DB0AH,0DH,"
Let'
scontinue!
INFOR4DB0AH,0DH,"
Youpressanerrorkey!
DATAENDS
CODESEGMENT
ASSUMECS:
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETINFOR1
MOVAH,01H
CMPAL,'
Y'
JEYES
y'
N'
JENO
n'
JMPPEND
YES:
JMPPEND
NO:
OTHER:
PEND:
CODEENDS
(2)实验结果:
2、在屏幕上显示如下信息:
1------------------------Panda
2------------------------Cat
3------------------------Rabbit
4------------------------Pig
5------------------------EXIT
(Pleasechoose1,2,3,4or5)-----
若输入1,显示“Ilikepanda”后程序结束;
若输入2,显示“Ilikecat”后程序结束;
若输入3,显示“Ilikerabbit”后程序结束;
若输入4,显示“Idon’tlikepig”后程序结束;
若输入5,程序直接结束;
(1)代码:
DATASEGMENT
INFOR1DB0AH,0DH,"
1---------------------Panda$"
INFOR2DB0AH,0DH,"
2---------------------Cat$"
INFOR3DB0AH,0DH,"
3---------------------Rabbit$"
INFOR4DB0AH,0DH,"
4---------------------Pig$"
INFOR5DB0AH,0DH,"
5---------------------EXIT$"
INFOR6DB0AH,0DH,"
IlikePanda$"
INFOR7DB0AH,0DH,"
IlikeCat$"
INFOR8DB0AH,0DH,"
IlikeRabbit$"
INFOR9DB0AH,0DH,"
Idon'
tlikePig$"
ASSUMECS:
MOVDS,AX
MOVDX,OFFSETINFOR1
MOVAH,09H
INT21H
MOVDX,OFFSETINFOR2
MOVDX,OFFSETINFOR3
MOVDX,OFFSETINFOR4
MOVDX,OFFSETINFOR5
MOVAH,01H
CMPAL,'
1'
JEA
2'
JEB
3'
JEC
4'
JED
5'
JEPEND
;
A:
MOVDX,OFFSETINFOR6
B:
MOVDX,OFFSETINFOR7
C:
MOVDX,OFFSETINFOR8
D:
MOVDX,OFFSETINFOR9
ENDSTART
(2)实验结果:
2.3.5实验小结
通过本次实验,我掌握了汇编分支程序的设计方法,了解了小写和大写字母的ASCII码的转换方法,以及数字及其他的字符在ASCII码的表示方法。
实验中遇到了一些问题,例如:
输入源代码时,一定要按照语句格式与语法来写,并且少了空格会导致编译错误;
一个完整的汇编程序只能返回一次DOS等,返回DOS语句后面的汇编程序不会执行等。