微机原理课程设计报告学生成绩排序名次.docx

微机原理课程设计报告学生成绩排序名次.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
塚大爭 ISO UNIVERSITY 气信息工程学院 WEI JI YUAN LI 微机原理 课程设计 姓名: XX 班级: XXXXX 学号: XXXXXXXXXX 2011年7月8日 目的: 结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对计算 机原理知识的具体应用,学会对系统中 DOS和BIOS的使用。学会使用屏幕编辑 程序一一EDIT弄懂汇编程序的上级过程以及如何运用 DEBUG软件进行汇编程序 的调试。 内容与要求: 字符串匹配设计 为掌握提示信息的设置方法及读取键入信息的方法, 编写程序实现两个字符串比 较,如相同则显示“ MATCH,否则显示“ NO MATCH 。 从键盘输入数据并显示的设计 为掌握键盘接受数据的方法,并了解将键盘数据显示时必须转换为 ASCII码的原 理,编写程序,将键盘接受到的四位十六进制数据转换为等值的二进制数显示。 响铃设计 为掌握响铃的使用方法, 编写程序, 从键盘接受输入字符, 如是数字 N 则响铃 N 此,如不是数字则不响。 将键盘输入的小写字母转换成大写字母的设计 为了解小写字母和大写字母在计算机内的表示方法, 并学习如何进行转换, 编写 程序,接受键盘字符, 并将其中的小写字母转变为大写字母, 然后显示在屏幕上。 学生成绩名次表设计 为进一步熟悉排序方法,编写程序,将 100以内的 30 个成绩存入首址为 1000H 的存储区中。1000H+i表示学号为i的学生成绩。编写程序使得在 2000H开始的 区域排出名次表,2000H+i为学号i的学生的名次。 面着重介绍程序 5——学生成绩名次表设计: CRLF MACRO CRLF MACRO ;宏定义,回车换行 流程图: 主程序流程图 SCAN子函数程序流程图 程序代码及注释: MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H ENDM DATA SEGMENT STUNUM EQU 30 ;学生数 MESS1 DB 'Please input 30 score',0DH,0AH,'$' ;提示信息 ERROR DB 'Input error,try again',0DH,0AH,'$' ;报错信息 MESS2 DBEMARK DB MESS2 DB EMARK DB ORG SCORE DB ORG SEQU DB ;报错标志 1000H ;存放成绩地址 30 DUP() ;成绩表 2000H ;存放名次地址 30 DUP() ;名次表 DATA ENDS STACK SEGMENT STA DW 32 DUP() TOP DW STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV SP,TOPMOV AH,09H MOV SP,TOP MOV AH,09H MOV DX,OFFSET MESS1 INT 21H MOV SI,OFFSET SCORE MOV CX,STUNUM ;显示提示信息 MOV EMARK,0 UUU: CALL GETNUM CMP EMARK,01H JE START MOV [SI],DL INC SI LOOP UUU MOV CX,STUNUM ;成绩表首址 ;报错标志清 0 ;调用子函数读取成绩 ;判断是否出错 ;出错则重新开始 ;没出错则存入成绩 ;指向下一个成绩单元地址 ;判断 30 个成绩是否读取完 MOV DI,OFFSET SEQU ;名次表首址 VVV: CALL SCAN ;调用扫描子程序 MOV AL,STUNUM ;学生总数 SUB AL,CL ;计算名次 INC AL MOV BX,DX ;学号 PUSH AX ;将名次转换成压缩BCD码方便显示 PUSH BX PUSH CX XOR AH,AH MOV BH,0AH DIV BH MOV CL,4 SHL AL,CL ADD AL,AH MOV DH,AL POP CX POP BX POP AX MOV [DI+BX],DH ;存入名次 LOOP VVV ;判断是否存完 MOV AH,09H ; 显示名次提示信息 LEA DX,MESS2 INT 21H MOV CX,STUNUM MOV SI,OFFSET SEQU WWW: MOV AL,[SI] CALL DISPI ;调用子函数显示名次 PUSH DX PUSH AX MOV AH,02 ; 显示空格 MOV DL,20H INT 21H POP AX POP DX INC SI ;指向名次表的下一个地址 LOOP

文档评论(0)

dingfulaowang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档