南昌大学汇编语言程序设计实验3 分支程序实验

2020-03-27 08:50

南昌大学实验报告

学生姓名: 学 号: 专业班级:

√ 设计 □ 创新 实验日期: 11.24 实验成绩: 实验类型:□ 验证 □ 综合 □

实验3 分支程序实验

一.实验目的

1. 掌握单分支、双分支、多分支程序的设计方法;

2. 掌握利用DEBUG或CODEVIEW修改参数、检查结果的方法; 1. 熟悉汇编语言源程序的编辑、汇编、连接及调试过程。

二.实验内容

1.猜数程序,预设一数字字符M,从键盘输入一个数字字符N,判断:若N

BIG”;若N >M 则显示“TOO SMALL”;否则显示“YOUR ARE RIGHT” 2. 编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示“IT IS A DIGITAL”;

若为A-Z或a-z字符,均显示“IT IS A LOWCASE LETTER”;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。 3. 预留字符串口令,输入口令串与预留密码串比较。若匹配则显示“MATCH”,否则显

示“NOMATCH!,PROGRAM TERMINATED!”

4. 上述程序1、2、3分别完成后请编写一个程序来实现简单的程序菜单显示。(采用

地址跳跃表法实现)

显示一个菜单要求用户从下表中选择:

(1) GUESS NUMBER GAME (对应-->程序1) (2) CHAR SELECTION PROGRAM (对应-->程序2) (3) PASSWORD PROGRAM (对应-->程序3)

(4) PRESS “ESC” TO QUIT

用户作出选择1~3时,显示输出要执行操作的名字,如“Your selection is 1,the program will execute GUESS NUMBER GAME!”然后转向相应的程序去执行,执行结束前进行退出的判断,显示一个提示信息“will you continue program really?

(Y:N)”要求用户从键盘键入字符,若是“Y”键,则继续程序的执行,若是“N”键,则返回到菜单。若用户选择4,要求程序显示提示信息“Please press ESC key to exit!”,并能按要求正确退出。

三.实验要求

1.编写实验内容要求的四个程序;

2.熟悉源程序汇编、连接命令的使用方法。

3.认真完成上述习题,采用DEBUG或CODEVIEW进行调试,编辑实验方案,运行程序,并调试程序,写出正确结果以及遇到的问题和解决方法。

4.实验过程请认真记录,并对结果进行分析写出实验体会或意见。

四.实验环境

PC微机

DOS操作系统或 Windows 操作系统

MASM.EXE,LINK.EXE,DEBUG.COM或宏汇编集成环境

五.实验步骤

1. 用EDIT或其它编辑软件,编写.ASM源程序, 2.对其进行汇编及连接,产生.EXE文件。 3. 在MS-DOS下运行这两个.EXE文件。 4.对.EXE文件进行调试运行。

(1)用DEBUG调试运行,学会通过命令R、U、D等命令观察数据变化,学会T、G命令来实现程序的单步或断点调试调试。

(2)用CODEVIEW调试运行,学会使用该集成环境中的各个窗口综合观察寄存器、内存单元等变化,学会使用功能键进行单步或断点调试。

六.实验报告要求

1.画出四个程序的流程图,若要独立编写程序,应列出相应的程序清单。程序中应有相应的注释信息。

2.在报告中说明本实验是如何利用DEBUG或CODEVIEW进行调试的。 答:未使用debug功能,直接在MS-DOS环境下运行调试修改。

3.编辑实验方案,运行程序,并调试程序,写出正确结果以及遇到的问题和解决方法。

程序01:GUESS NUMBER GAME

data segment

a db 'GUESS NUMBER GAME',0DH,0AH DB 'please input data:','$' b equ 50

message1 db 0DH,0AH, 'IT IS TOO SMALL$' message2 db 0DH,0AH, 'IT IS TOO BIG$'

message3 db 0DH,0AH, 'CONGRATULATIONS!YOU ARE RIGHT!!$' data ends stack segment db 10 dup(?) stack ends code segment

assume ds:data,cs:code,ss:stack start: mov ax,data mov ds,ax mov ah,9 lea dx,a int 21h newchar:mov ah,7 int 21h cmp al,13 je lab cmp al,27 je exit mov dl,al mov ah,2 int 21h sub al,30h cbw

xchg ax,bx mov cx,10 mul cx xchg ax,bx add bx,ax jmp newchar lab: mov ax,bx mov bx,0 cmp ax,b jge display1 mov ah,9 lea dx,message1 int 21h mov dl,0dh mov ah,2 int 21h mov dl,0ah mov ah,2 int 21h jmp newchar display1:cmp ax,b je display2 mov ah,9

lea dx,message2 int 21h

jmp newchar display2:mov ah,9 lea dx,message3 int 21h exit: mov ah,4ch int 21h code ends end start 运行结果:

程序02:CHAR SELECTION PROGRAM

data segment

message1 db 0dh,0ah,'IT IS A DIGITAL','$'

message2 db 0dh,0ah,'IT IS A LOWCASE LETTER','$' data ends code segment

assume cs:code,ds:data start:mov ax,data mov ds,ax input:mov ah,7 int 21h cmp al,13 je exit mov dl,al mov ah,2 int 21h cmp al,49 jb input cmp al,57 ja one mov ah,9 lea dx,message1 int 21h


南昌大学汇编语言程序设计实验3 分支程序实验.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:对民办高职院校市场营销专业建设几点思考论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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