汇编课设 成绩分段统计

更新时间:2023-09-29 15:07:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程设计任务书

设计题目: 成绩分段统计(2) 设计目的:

1. 巩固和加深课堂所学知识;

2. 将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题的

能力;

3. 通过对汇编语言程序代码的阅读、修改、设计,理解和掌握复杂的汇编语言应用程序的编程,提高实践编程能力。

设计任务及要求:(在规定的时间内完成下列任务)

任务:从键盘接受15个学生成绩,将15个学生成绩按降序排列,并分别求出最高、

最低成绩。

要求:1)原始数据由键盘输入,存入从HBCJ开始的存储区域,排序 后的成绩存入

从HBPX开始的存储区域,且将不及格的成绩用红色标注。

2)程序结构中要求至少包含数据段、代码段;有子程序应用、有系统功能调用。

时间安排:

12月27日 12月28日~30日 12月31日 布置题目,确定任务、查找相关资料 功能分析,模块设计,编写程序,调试程序 答辩后撰写设计报告。 具体要求:设计报告按统一撰写格式要求,应包含以下内容:

1、 题目:

2、设计目的:

3、设计内容:写出简要的程序功能描述、程序运行条件--所需工具软件、输入/输出描述等。 4、程序结构:① 主要的段定义说明;

② 用到的子程序(宏)的功能说明、调用关系说明、参数传送方式说明等; ③ 主要算法(方法)描述等(各模块功能实现及典型指令的应用)。

5、设计步骤(注明时间安排)

6、程序流程图、源程序(程序必须有简单注释,源程序若太长,可作为附录) 7、实验结果(输出) 8、其他值得说明的内容 (1)程序结构设计特点;

(2)设计、调试程序心得、体会或不足。

附录: ① 源程序代码(必须有简单注释)

② 参考文献

指 导 教 师 签 名: 2010 年12 月27 日 教研室主任(或责任教师)签名: 2010 年12 月27 日

1

目 录

第1章 需求分析 ..................................................... .......... ..........1 1.1 课程设计题目 ...................................................... .......... ..........1 1.2 课程设计目的 ...................................................... .......... ..........1 1.3 程序运行环境及开发工具 ......................................... .......... .1 1.3.1 运行环境 ....................................................... .......... .......... .....1 1.3.2 开发工具 ....................................................... .......... .......... .....1 1.4 课程设计任务及要求 ............................................... .......... .....2 1.4.1 设计任务 ....................................................... .......... .......... .....2 1.4.2 设计要求 ....................................................... .......... .......... .....2 第2章 概要设计 ...................................................... .......... .........2 2.1 设计原理........................................................ .......... .......... ......2 2.2 设计方法........................................................ .......... .......... ......2 第3章 详细设计 ..................................................... .......... .......... .3 3.1 数据段的设计 ...................................................... .......... ..........3 3.2 主程序的设计与实现 .............................................. .......... ......3 3.3 主要过程的设计与实现 .......................................... .......... ......4 3.3.1 键盘输入成绩 .................................................. .......... .......... ..4 3.3.2成绩复制到另一个内存空间 ................................ .......... ........5 3.3.3 成绩排序 ....................................................... .......... .......... .....5 3.3.4 求最大值和最小值 ........................................ .......... .......... ....6 3.3.5 输出成绩 ....................................................... .......... .......... .....6

2

第4章 系统调试与操作说明 ......................................... .......... ....7 4.1 调试方法 . .................................................. .......... .......... ......7 4.2 调试步骤 . .................................................. .......... .......... ......7 第5章 设计中存在的问题及解决方法 .................................... .....11 5.1 存在的问题 ........................................................ .......... .......... 11 5.2 解决方法 ................................................... .......... .......... .........11 第6章 总结与体会 .................................................. .......... ..........12 参考文献 ................................................................ .......... .......... .....12 附录:源程序 ............................................................ .......... ..........14

3

第1章 需求分析

1.1 课程设计题目 成绩分段统计(2) 1.2 课程设计目的

1. 巩固和加深课堂所学知识;

2. 将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题

能力;

3. 通过对汇编语言程序代码的阅读、修改、设计,理解和掌握复杂的汇编语言应用程

的编程,提高实践编程能力。

1.3 程序运行环境及开发工具

本程序主要在装有Windows XP的PC机上利用MASM1的软件来实现。 1.3.1 运行环境

在本次汇编语言程序课程设计中,我们主要用装有Windows XP的PC机,利用汇 编的集成环境对成绩分段统计进行设计与调试,直到程序能正常运行。要求可以通过从键盘输入成绩后,可以输出成绩各区间的人数及最高成绩,并且降成绩按降序排列输出,按空格键则退出程序。

1.3.2 开发工具

汇编程序的编译与实现必须经过文件的“建立-汇编-连接-执行”四个阶段。因此,在本次的实验中我们主要运用的是:SK.EXE,MASM.EXE,Link.EXE与DEBUG.COM这四个工具软件。

1.全屏幕编译软件SK.EXE。用以将程序键入内存,经编辑生成文件(.ASM)存盘。 2.宏汇编程序MASM.EXE。主要功能是将源文件(.ASM)汇编生成二进制代码的目标文件(.OBJ)文件、列表文件(.LST)及符号交叉引用表文件(.CRF)。

3.连接程序Link.EXE。用以将目标文件(.OBJ)与欲使用的库文件(.LIB)及其目标模块,连接装配生成一个可执行文件(.EXE)、及各段空间分配的列表文件(.MAP). 4.调试程序DEBUG.COM。用以对.EXE或.COM文件进行调试,排错。

1.4 课程设计任务及要求 1.4.1 设计任务

从键盘接受15个学生成绩,将15个学生成绩按降序排列,并分别求出最高、最低成绩。

1.4.2 设计要求

1)原始数据由键盘输入,存入从HBCJ开始的存储区域,排序 后的成绩存入从HBPX开始的存储区域,且将不及格的成绩用红色标注。

2)程序结构中要求至少包含数据段、代码段;有子程序应用、有系统功能调用。

4

第2章 概要设计

2.1 设计原理

1.本程序设置了数据段和堆栈段,以便定义字符串和分配存储空间,而栈的分配为保护现场奠定了基础。

2.先用系统功能调用命令读入键盘数据,循环输入15个学生成绩,并保存到从HBPX开始的存储区域,再将该区域中的数据对应复制到从HBCJ开始的存储区域。 3.然后,对从HBPX开始的存储区域进行降序排序并输出。

4.排序后,从HBPX开始的存储区域中的第一个数据就是最大值,最后一个数据就是最小值。将它们对应输出即求出了MAX和MIN。

5.其中输出子程序采用了按位输出的方法,并且红色标注的部分是由系统调用INT 10H中的2,3,和9号功能共同实现的。

2.2 设计方法

1. 采用起泡排序法对15个学生成绩进行降序排序。

2. 利用系统功能调用完成红色标注及读入输出等操作。

3. 使用进出栈指令保护现场,以解决重复使用同一寄存器造成的混乱。

5

MOV AH,9 ;红色标注 MOV AL,DL MOV BH,0 MOV BL,4 MOV CX,1

INT 10H MOV AH,3

INT 10H MOV AH,2

D: PRINT ENDP

CODE ENDS

END

INC DL

INT 10H

MOV DL,20H ;输出空格 MOV AH,02H

INT 21H JMP D RET START 21

本文来源:https://www.bwwdw.com/article/hihd.html

Top