微机原理分支程序设计实验精.docx

上传人:b****7 文档编号:10435079 上传时间:2023-02-11 格式:DOCX 页数:9 大小:43.08KB
下载 相关 举报
微机原理分支程序设计实验精.docx_第1页
第1页 / 共9页
微机原理分支程序设计实验精.docx_第2页
第2页 / 共9页
微机原理分支程序设计实验精.docx_第3页
第3页 / 共9页
微机原理分支程序设计实验精.docx_第4页
第4页 / 共9页
微机原理分支程序设计实验精.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

微机原理分支程序设计实验精.docx

《微机原理分支程序设计实验精.docx》由会员分享,可在线阅读,更多相关《微机原理分支程序设计实验精.docx(9页珍藏版)》请在冰豆网上搜索。

微机原理分支程序设计实验精.docx

微机原理分支程序设计实验精

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)流程图

(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

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

JMPPEND

PEND:

MOVAH,4CH

INT21H

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:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETINFOR1

MOVAH,09H

INT21H

MOVAH,01H

INT21H

CMPAL,'Y'

JEYES

CMPAL,'y'

JEYES

CMPAL,'N'

JENO

CMPAL,'n'

JENO

JMPPEND

YES:

MOVDX,OFFSETINFOR2

MOVAH,09H

INT21H

JMPPEND

NO:

MOVDX,OFFSETINFOR3

MOVAH,09H

INT21H

JMPPEND

OTHER:

MOVDX,OFFSETINFOR4

MOVAH,09H

INT21H

JMPPEND

PEND:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

(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,程序直接结束;若输入其它字符,显示“Youpressanerrorkey!

”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。

(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$"DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

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

MOVAH,01H

INT21H

CMPAL,'1'

JEA

CMPAL,'2'

JEB

CMPAL,'3'

JEC

CMPAL,'4'

JED

CMPAL,'5'

JEPEND

;JMPPEND

A:

MOVDX,OFFSETINFOR6

MOVAH,09H

INT21HJMPPENDB:

MOVDX,OFFSETINFOR7MOVAH,09HINT21HJMPPENDC:

MOVDX,OFFSETINFOR8MOVAH,09HINT21HJMPPENDD:

MOVDX,OFFSETINFOR9MOVAH,09HINT21HJMPPENDPEND:

MOVAH,4CHINT21HCODEENDSENDSTART

(2)实验结果:

2.3.5实验小结通过本次实验,我掌握了汇编分支程序的设计方法,了解了小写和大写字母的ASCII码的转换方法,以及数字及其他的字符在ASCII码的表示方法。

实验中遇到了一些问题,例如:

输入源代码时,一定要按照语句格式与语法来写,并且少了空格会导致编译错误;一个完整的汇编程序只能返回一次DOS等,返回DOS语句后面的汇编程序不会执行等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1