华北科技学院综合性
实 验 报 告
课程名称 汇 编 语 言 实验学期 2014 至 2015 学年 第 1 学期 学生所在系部 计算机学院网络工程系 年级 三年级 专业班级 网络B12-1 学生姓名 朱生军 学号 201207024106 任课教师 李冬艳 实验成绩
计算机学院制
华北科技学院综合性实验报告
《 汇 编 语 言》课程综合性实验报告
开课实验室:基础一 2019-01-26 实验题目 一、实验目的 显示学生名次表 进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序、子程序、宏指令编程方法,提高汇编语言程序设计能力的应用水平。 二、设备与环境 PC兼容机、Windows操作系统、汇编程序masm for windows 2012 三、实验内容 编制一程序,要求接收从键盘输入的一个班的学生的学号、姓名、成绩,对学生的成绩进行排序,最后把学号、姓名、学生成绩、名次显示出来。 实验要求: 1.必须画流程图。 2.本程序涉及汇编语言的多重循环、子程序及宏,其中 成绩输入、计算学生名次、显示学生名次都分别用子程序,也可用宏处理。 3.要求用菜单选择。具体要求: 输入1是数据录入并输出(包括姓名、学号、成绩); 输入2是排序后的数据输出(包括姓名、学号、成绩、名次); 输入3是可以按学号查找某学生,并输出其成绩,选择修改或不改成绩。 四、实验结果及分析(包括①已完成什么功能,②如何实现的、遇到的问题和解决办法、流程图和关键代码解释,③收获和体会等) (一)、程序实现的功能。 1、本次实验中,我首先运用了菜单,来实现选择本程序的其他功能。 2、学生信息(姓名,学号,成绩)的录入以及显示。 3、对于学生的成绩来进行排序,然后显示 第 1 页
华北科技学院综合性实验报告 4、用学生的学号来查询学生的信息。 (二)、程序的分析: 1、本程序中分别运用了宏,子程序、定义提示符等,来简化程序,并且让程序更容易的看清楚。 ①:宏定义的举例: PRINT MACRO A LEA DX,A MOV AH,9 INT 21H ENDM ②:子程序定义的举例: WEIZHI PROC sun PRINT string6 PRINT string7 PRINT string8 sun RET OUTPUT_ALLpx PROC(子程序中嵌套子程序) call WEIZHI_px LET2: mov bx,15 mov ax,x1 MUL BX mov b1,ax CALL OUTPUTpx INC X1 CMP X1,3 JNZ LET2 RET OUTPUT_ALLpx ENDP WEIZHI ENDP ③:提示符定义的举例: string db \,10,13,\string1 db \,10,13,\string3 db \,10,13,\ string4 db \string5 db 'error',10,13,'$' 2、程序的设计: ①:本程序中主程序用菜单来实现各个功能的选择。首先键盘输入数字,然后依次和1、2、3、4等比较,符合了之后跳入各个功能。每个功能之中,调用之后用的子程序,来实现自己的功能。菜单的流程图如下:
第 2 页