华工微机实验报告-实验四-子程序调用.docx
文本预览下载声明
PAGE
实 验 报 告
课程名称
微型计算机原理及其应用
实验项目
子程序设计
学生姓名
朱轲信
学生学号
201530281598
专业/班级
信息工程冯秉铨实验班
实验成绩
电子与信息学院实验中心制
二〇一七年版
预习报告
实验目的
1、学习子程序的定义和调用方法。
2、掌握子程序、子程序嵌套的结构。
3、掌握子程序的程序设计、编制及调试方法。
实验设备
微机一台、TDS-MD微机一台
实验内容及步骤
程序采用菜单式选择,可接收用户输入的命令(1~5),各命令如下:
按1键完成字符串小写字母变大写字母
用户输入一由英文大小写字母或数字0~9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其它字符不变,并在屏幕上显示。用户按任一键,重做,按ESC键,返回主菜单。
按2键完成找最大值(二选一)
1、接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来。
2、接收用户输入若干无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。
按3键完成排序(二选一)
1、接收用户输入的可显示字符串,以回车结束。程序按ASCII码值大小由大到小排序并输出显示。
2、接收用户输入若干个有符号8位数(以空格逗号为分隔符,以回车结束)。程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。
按4键显示时间
首先提示用户对时,即用户输入时,分,秒(以空格或冒号分隔,以回车结束),然后,在屏幕上不断显示时间,格式为:××(时):××(分):××(秒),最好定点显示。用户按任一键,重新对时,按ESC键,返回主菜单。
按5键,结束程序运行,返回系统提示符。
流程图与程序代码
流程图:
流程图1—主菜单
流程图2--过程一 流程图3—过程二
流程图4—过程三 流程图5—过程四
代码:
STACK SEGMENT STACK STACK
DW 100 DUP(?)
TOP LABEL WORD
STACK ENDS
DATA SEGMENT
ORG 3500H
;数据段主要保存一些字符串以及定义一些字符串变量
COPYRIGHT DB ALL PROGRAMED BY @MRZHU,0DH,0AH,$
COMMON DB Please input 1 to 5 to select a function,0DH,0AH,$
S1 DB 1.Input a string,then convert the small letters to big letters,0DH,0AH,$
S2 DB 2.Find the biggest-ASCII-code character,0DH,0AH,$
S3 DB 3.Sort the character by ASCII code by decreasing order,0DH,0AH,$
S4 DB 4.display the ticking time,0DH,0AH,$
S5 DB 5.Exit the program,0DH,0AH,$
CR_LF DB 0DH,0DH,$
IN_MAIN DB Now input a number(1-5): ,$
MAIN_ERROR DB 0DH,0AH,ERROR:Please input a correct number;,0DH,0AH,$
PRO_1_S1 DB 0DH,0AH,Now input a string(number or letter):,0DH,0AH,$
PRO_1_S2 DB 0DH,0AH,The string has been changed to: ,$
PRO_2_S1 DB 0DH,0AH,Now input a string(any symbol): ,0DH,0AH,$
PRO_2_S2 DB 0DH,0AH,The biggest-ASCII-code symbol is: ,$
PRO_3_S1 DB 0DH,0AH,Now input a string(any symbol): ,0DH,0AH,$
PRO_3_S2 DB 0DH,0AH,The string has been sorted: ,$
PRO_4_S1 DB 0DH,0AH,Setting time (XX:XX:XX Hours:Minutes:Seconds): ,0DH,0AH,$
PRO_4_S2 DB 0DH,0AH,SETTING DONE! ,0DH,0AH,$
PRO_4_S3 DB 0DH,0AH,TIME_NO
显示全部