汇编语言课程设计学生成绩管理系统_第1页
汇编语言课程设计学生成绩管理系统_第2页
汇编语言课程设计学生成绩管理系统_第3页
汇编语言课程设计学生成绩管理系统_第4页
汇编语言课程设计学生成绩管理系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、 课程设计的目的、任务 汇编语言课程设计对于巩固汇编语言理论知识,加强学生的实际动手能力和提高学生综合素质十分必要。课程设计的目的主要是通过程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。2、 软件需求分析和设计2.1学生成绩管理系统是对学生成绩的管理,其中包括以下几个模块:(1) .插入一个数据(插入学生学号以及语数外三个成绩)。(2) 修改一个数据。(3) 删除学生成绩数据。(4) 查找学生成绩。(5) 查看学生成绩的排名(6) 查看学生

2、成绩分布(7) 按esc键退出系统 2.2学生成绩管理系统应该包含以下信息:学号,语文成绩,英语成绩,数学成绩。因此,系统应该提供以下功能: (1)输出显示菜单。 (2)输入学生的成绩 (3)修改学生成绩 (4)删除学生成绩 (5)查询学生成绩 (6)显示学生成绩排名 (7)显示成绩分布统计 (8)按esc键退出系统2.3依据程序的功能需求,该系统的功能结构图如下 系统功能结构图 2.4 程序流程图: 主程序流程图 查找学生成绩 插入学生学号及成绩 修改学生的成绩 显示各个学科各分数段的人数3、 程序实现说明3.1学生管理系统中各子程序如下:(1).输入全部学生学号以及语文,英语,数学三科的成

3、绩。子程序名:insert子程序描述:该子程序为输入字程序。系统在开始的时候是没有数据的,通过该子程序可以初始化系统,将学生的学号及成绩输入系统。 代码: insert proc near ;定义进程子程序:插入学生,学号及 成绩 call input ;调用input add n,1 ret insert endp(2).修改输入的成绩。子程序名:modify子程序描述:通过子程序修改学生的成绩代码: modify proc near ;定义进程子程序:修改学生学号,成绩 md1:output mess1 ;输出mess1 shuru ;调用宏shuru:二位数据输入 mov bl,n mo

4、v bh,0 mov al,dl mov si,0 md: cmp al,xhsi ;先查找输入的学生是否存在 je qq1_1 ;查到的话,就跳转到qq1_1输入修改的值, 也就是重新输入。;结果相等则跳转到qq1_1 add si,1 cmp si,bx jbe md ;小于等于则跳转到md output mess ;输出mess jmp md1 ;不相等继续输入学号 qq1_1: ;转入修改的值重新输入。 mov di,si output mess2 output mess4 mov si,0 mov cx,3 qq3_1:shuruu ;分别输入语文,英语,数学成绩,并将其放 在缓冲区

5、buf中 cmp dx,78h ;比较输入的成绩是否大于120,如果大于120的 话,那么重 新输入成绩 jbe qq2_1 ;小于等于则转移到qq2_1 output ts3 ;输出ts3 jmp qq1_1 ;跳转到qq1_1qq2_1:mov bufsi,dl output bg ;输出空格 add si,1 loop qq3_1 mov al,buf0 ;将存入buf中的成绩,分别赋值给存放对应科 目的成绩的数组 mov chidi,al mov al,buf1 mov engdi,al mov al,buf2 mov matdi,al ret modify endp (3).删除学生

6、的成绩。子程序名:delete子程序描述:通过子程序删除学生的成绩代码: de proc near ;删除某个学生的记录sc1:output mess1 shuru ;调用宏shuru,接受输入的学号 mov bl,n mov bh,0 mov al,dl mov si,0sc: cmp al,xhsi ;查询输入学号的学生信息是否存在,不存在的 话,重新输入学号 je sc2 ;相等则转移到sc2 add si,1 cmp si,bx jbe sc ;小于等于则转移到sc output mess ;输出mess jmp sc1 sc2: sub bx,si cmp bx,0 je sc3 ;

7、相等则转移到sc3 mov cx,bxsc4:mov dl,chisi+1 mov chisi,dl mov dl,engsi+1 mov engsi,dl mov dl,matsi+1 mov matsi,dl mov dl,xhsi+1 mov xhsi,dl add si,1 loop sc4 ;loop循环指令,执行操作(cx)<-(cx)-1.若 cx!=0,跳转到标号sc处循环执行;cx=0,则推出 循环,执行loop的下一条指令 sub n,1sc3: retde endp(3).查询学生的成绩。子程序名:find子程序描述:通过子程序查询学生的成绩代码: find pro

8、c near ;定义进程子程序:查找学生成绩 call sum ;求学生的总成绩 call ping ;求学生的平均成绩 bj1:output mess1 ;输出mess1 shuru ;二位数数据输入 mov bl,n mov bh,0 mov al,dl mov si,0 bj: cmp al,xhsi ;将输入的学号与输入的学号相比, je i ;存在的话,将此学生的成绩输出。je表示结果相 等则转移。 add si,1 cmp si,bx jbe bj ;小于等于则转移到bj output mess jmp bj1 i: output strr2 shuzi xhsi ;shuzi为二

9、位数据输出 output bg ;输出空格 mov al,chisi cbw ;将字节变为字 shuzii ax ;shuzii为三位数据输出。 output bg ;输出空格 mov al,engsi cbw ;将字节变为字 shuzii ax ;shuzii为三位数据输出 output bg mov al,matsi cbw shuzii ax output bg ;输出空格的字符串,用于与标题栏对齐 mov al,pjsi cbw shuzii ax output bg mov ax,si mov bl,2 mul bl mov bx,ax shuzii zcbx ;shuzii为三位数

10、据输出 output bg ;输出空格的字符串,用于与标题栏对齐 shuzi mcsi ;shuzi为二位数据输出 retfind endp(4).显示学生的成绩排名。子程序名:show子程序描述:通过子程序显示学生的成绩排名代码: show proc near ;定义进程子程序:显示结果排名 call sum ;调用宏sum call ping ;调用宏ping call rank ;调用宏rank call shuchu ;调用宏shuchu ret show endp 3.2程序运行抓图: 主菜单 修改学生成绩 删除学生成绩 显示各个学科各分数段的人数4、 程序总结通过两个星期的学习,努力,终于完成了报告。系统可以很好的运行。这两个多星期的时间,几乎每天不是在敲代码,就是在看代码,查书,上网。系统中用到了很多最近才学习的知识,比如宏,子程序。这些都使得代码的运行效率提高了,代码行数减少了。系统还用到了bios的清屏功能。这些功能如果不是做课程设计,我想我很难会接触到这些知识。由于自己对知识掌握的不是很牢固,其中也会碰到一些困难。每当遇到问题的时候,我会先上网去查找,看

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论