微机原理 分支程序设计实验.docx
- 文档编号:12127219
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:11
- 大小:66.18KB
微机原理 分支程序设计实验.docx
《微机原理 分支程序设计实验.docx》由会员分享,可在线阅读,更多相关《微机原理 分支程序设计实验.docx(11页珍藏版)》请在冰豆网上搜索。
微机原理分支程序设计实验
微机原理分支程序设计实验
2.3分支程序设计实验
2.3.1实验目的
1、掌握分支程序的设计方法。
2、掌握宏定义及宏调用的基本方法。
3、了解小写和大写字母的ASCII码表示及其转换方法。
了解数字及其它字符在的ASCII码表示方法。
、进一步掌握调试工具的使用方法4
2.3.2实验预习要求
1、复习比较指令、条件转移指令的用法。
2、复习宏定义及宏调用的基本方法。
3、根据“2.3.3实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。
4、程序框架中显示提示信息的指令序列用宏调用实现。
5、从“2.3.4实验习题”中任选一道题目,编写源程序,以便上机调试。
2.3.3实验内容
从键盘输入一字符,判断该字符是小写字母、大写字母、数字或其它字符。
若输入为小写字母,显示“YouInputaLowercaseLetter~”;若输入为大写字母,显示“YouInputaUppercaseLetter~”;若输入为数字,显示“YouInputaDigit~”;若输入为其它字符,显示“YouInputOtherLetter~”。
1、编程指导
数字0,9的ASCII码为30H,39H;大写字母的ASCII码为41H,5AH,小写字母的ASCII码为61H,7AH。
本题目将字符分为小写字母、大写字母、数字及其它字符,根据键入字符的ASCII码值判断其所属类型,并显示相应的信息。
字符串显示使用功能号为09H的DOS功能调用,接收键盘输入的单个字符使用功能号为01H的DOS功能调用。
2、流程图及程序框图
(1)流程图
开始
显示提示信息“PleasePressAnyKeytoinputaletter”
及功能号为1的接收键盘输入单个字符的指令序列
Y(AL)<’0’
Y(AL)<=’9’
Y输入的是数字,显示有关信息(AL)<’A’
Y(AL)<=’Z’
Y
(AL)<’a’输入的是大写字母,显示信息
Y(AL)<=’z’
输入的是小写字母,显示信息输入的是其它字符,显示信息
结束
素、、
(2)源程序
DATASEGMENT
INFOR1DB0AH,0DH,"PleasePressAnyKeytoinputaletter:
$"
INFOR2DB0AH,0DH,"Youinputalowercaseletter!
$"
INFOR3DB0AH,0DH,"YouinputaUppercaseletter!
$"
INFOR4DB0AH,0DH,"YouinputaDigit!
$"
INFOR5DB0AH,0DH,"YouinputOtherletter!
$"
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATASTART:
MOVAX,DATA
MOVDS,AX
MOVDX,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:
MOVDX,OFFSETINFOR2
MOVAH,09H
INT21H
JMPPEND
UPPER:
MOVDX,OFFSETINFOR3
MOVAH,09H
INT21H
JMPPEND
DIGIT:
MOVDX,OFFSETINFOR4
MOVAH,09H
INT21H
JMPPEND
OTHER:
MOVDX,OFFSETINFOR5
MOVAH,09H
INT21H
PEND:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2.3.4实验习题
1、在屏幕上显示信息“Areyoureallywanttoexit?
”,然后从键盘输入一个字符,若输入“Y”或“y”,显示“Thankyouforyourusing~”后程序结束;若输入“N”或“n”,显示“Let’scontinue!
”后程序结束;若输入其它字符,显示“Youpressanerrorkey!
”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。
源程序:
DATASEGMENT
INFOR1DB0AH,0DH,"Areyoureallywanttoexit?
:
$"
INFOR2DB0AH,0DH,"Thankyouforyourusing!
:
$"
INFOR3DB0AH,0DH,"Let'scontinue!
:
$"
INFOR4DB0AH,0DH,"Youpressanerrorkey!
:
$"
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETINFOR1
MOVAH,09H
INT21H
MOVAH,01H
INT21H
CMPAL,'N'
JBOTHER
CMPAL,'O'
JBEUSEN
CMPAL,'Y'
JBOTHER
CMPAL,'Z'
JBEUSEY
CMPAL,'n'
JBOTHER
CMPAL,'o'
JBEUSEN
CMPAL,'y'
JBOTHER
CMPAL,'z'
JBEUSEY
JMPPEND
USEY:
MOVDX,OFFSETINFOR2
MOVAH,09H
INT21H
JMPPEND
USEN:
MOVDX,OFFSETINFOR3
MOVAH,09H
INT21H
JMPPEND
OTHER:
MOVDX,OFFSETINFOR4
MOVAH,09H
INT21H
PEND:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
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,程序直接结束;若输入其它字符,显示“Youpressanerrorkey!
”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。
源程序:
DATASEGMENT
INFOR1DB0AH,0DH,"1-----------Panda:
$"
INFOR2DB0AH,0DH,"2-----------Cat:
$"
INFOR3DB0AH,0DH,"3-----------Rabbit;$"
INFOR4DB0AH,0DH,"4-----------pig:
$"
INFOR5DB0AH,0DH,"5-----------EXIT:
$"
INFOR6DB0AH,0DH,"(pleasechoose1,2,3,4or5---):
$"
INFOR7DB0AH,0DH,"IlikePanda:
$"
INFOR8DB0AH,0DH,"IlikeCat:
$"
INFOR9DB0AH,0DH,"IlikeRabbit;$"
INFOR10DB0AH,0DH,"Ilikepig:
$"
INFOR11DB0AH,0DH,"youpressanerrorkey!
:
$"
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATASTART:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETINFOR1
MOVAH,09H
INT21H
MOVDX,OFFSETINFOR2
MOVAH,09H
INT21H
MOVDX,OFFSETINFOR3
MOVAH,09H
INT21H
MOVDX,OFFSETINFOR4
MOVAH,09H
INT21H
MOVDX,OFFSETINFOR5
MOVAH,09H
INT21H
MOVDX,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,OFFSETINFOR7
MOVAH,09H
INT21H
JMPPEND
Cat:
MOVDX,OFFSETINFOR8
MOVAH,09H
INT21H
JMPPEND
Rabbit:
MOVDX,OFFSETINFOR9
MOVAH,09H
INT21H
JMPPENDPig:
MOVDX,OFFSETINFOR10
MOVAH,09H
INT21H
JMPPENDOther:
MOVDX,OFFSETINFOR11
MOVAH,09H
INT21H
JMPPENDPEND:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2.3.5实验心得
通过这次上机实验,我掌握了分支程序额设计方法,宏定义及宏调用的基本方法,了解了小写字母和大写字母的ASCII码表示及其转换方法,了解了数字及其他字符的ASCII码表示方法,进一步掌握了调试工具的使用方法。
此次实验需要结合上一次的实验,最后才会达到实验要求的目的,在实验过程中也遇到了很多麻烦,但是在同学和老师的帮助下,最后成功的完成了这次实验,达到了预期的目的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理 分支程序设计实验 微机 原理 分支 程序设计 实验