3_分支程序设计实验

时间:2025-04-20

2.3 分支程序设计实验

班级:软件1101

学号:04113033

姓名:岳彦利

1. 实验目的

1、掌握分支程序的设计方法。

2、掌握宏定义及宏调用的基本方法。

3、了解小写和大写字母的ASCII码表示及其转换方法。了解数字及其它字符在的ASCII码表示方法。

4、进一步掌握调试工具的使用方法

2. 实验预习要求

1.复习比较指令、条件转移指令的用法。

2.复习宏定义及宏调用的基本方法。

3.程序框架中显示提示信息的指令序列用宏调用实现。

3.实验内容

从键盘输入一字符,判断该字符是小写字母、大写字母、数字或其它字符。若输入为小写字母,显示“You Input a Lowercase Letter!”;若输入为大写字母,显示“You Input a Uppercase Letter!”;若输入为数字,显示“You Input a Digit!”;若输入为其它字符,显示“You Input Other Letter!”。

1、编程指导

数字0~9的ASCII码为30H~39H;大写字母的ASCII码为41H~5AH,小写字母的ASCII码为61H~7AH。本题目将字符分为小写字母、大写字母、数字及其它字符,根据键入字符的ASCII码值判断其所属类型,并显示相应的信息。字符串显示使用功能号为09H的DOS功能调用,接收键盘输入的单个字符使用功能号为01H的DOS功能调用。

2、流程图及程序框图

(1)流程图

4.我的程序

data segment

infor1 db 0ah,0dh,"please press any key to imput 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 another letter!$"

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

;显示提示信息

mov dx,offset infor1

mov ah,09h

int 21h

;从键盘接收一个字符

mov ah,01h

int 21h

;mov dx,offset infor1

;mov ah,09h

cmp al,'0'

jb other

cmp al,'9'

jbe digit

cmp al,'A'

jb other

cmp al,'Z'

jbe upper

cmp al,'a'

jb other

cmp al,'z'

jbe lower

jmp pend

lower: mov dx,offset infor2

mov ah,09h

int 21h

jmp pend

upper: mov dx,offset infor3

mov ah,09h

int 21h

jmp pend

digit: mov dx,offset infor4

mov ah,09h

int 21h

jmp pend

other: mov dx,offset infor5

mov ah,09h

int 21h

jmp pend

pend: mov ah,4ch

int 21h

code ends

end start

5.我选做的习题:

1、在屏幕上显示如下信息:

1------------------------Panda

2------------------------Cat

3------------------------Rabbit

4------------------------Pig

5------------------------EXIT

(Please choose 1,2,3,4or 5)-----

若输入1,显示“I like panda”后程序结束;若输入2,显示“I like cat”后程序结束;若输入3,显示“I like rabbit”后程序结束;若输入4,显示“I don’t like pig”后程序结束;若输入5,程序直接结束;若输入其它字符,显示“You press an error key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。

我的程序:

data segment

infor1 db 0ah,0dh,"1.........panda"

db 0ah,0dh,"2.........cat"

db 0ah,0dh,"3.........rabbit"

db 0ah,0dh,"4.........pig"

db 0ah,0dh,"5.........exit"

db 0ah,0dh,"(please choose1,2,3,4,5).....$"

infor7 db 0ah,0dh,"I like panda$"

infor8 db 0ah,0dh,"I like cat$"

infor9 db 0ah,0dh,"I like rabbit$"

infor10 db 0ah,0dh,"I don't like pig$"

infor11 db 0ah,0dh,"you press an error key$"

data ends

code segment

assume ds:data,cs:code

start: mov ax,data

mov ds,ax

mov dx,offset infor1

mov ah,09h

int 21h

;从键盘接收一个字符

mov ah,01h

int 21h

cmp al,'1'

je panda

cmp al,'2'

je cat

cmp al,'3'

je rabbit

cmp al,'4'

je pig

cmp al,'5'

je pend

other:

mov dx,offset infor11

mov ah,09h

int 21h

jmp pend

panda:

mov dx,offset infor7

mov ah,09h

int 21h

jmp pend

cat:

mov dx,offset infor8

mov ah,09h

int 21h

jmp pend

rabbit:

mov dx,offset infor9

mov ah,09h

int 21h

jmp pend

pig: mov dx,offset infor10 mov ah,09h

int 21h

jmp pend

pend: mov ah,4ch

int 21h

code ends

end start

6.实验小结

经过这次实验,我更加深入学习了分支指令的实现,对我的编程能力也是一个很大的提高。

…… 此处隐藏:821字,全部文档内容请下载后查看。喜欢就下载吧 ……
3_分支程序设计实验.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219