收藏 分销(赏)

南昌大学微机原理学生成绩名次表实验.doc

上传人:1587****927 文档编号:1223312 上传时间:2024-04-18 格式:DOC 页数:5 大小:28.75KB 下载积分:6 金币
下载 相关 举报
南昌大学微机原理学生成绩名次表实验.doc_第1页
第1页 / 共5页
南昌大学微机原理学生成绩名次表实验.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
实验十六 学生成绩名次表实验 一.实验要求 根据提示将0~100之间的10个成绩存入首址为1000H的单元,1000H+i表示学号为i的学生成绩,编写程序能在2000H开始的区域排出名次表,2000H+i为学号i的学生的名次,并将其显示在屏幕上。 二.实验目的 进一步熟悉排序方法。 三.实验程序框图 四.实验程序: CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H ENDM DATA SEGMENT STUNUM EQU 10 MESS1 DB '请依次输入1-10号学生的成绩',0DH,0AH,'$' ERROR DB '输入错误,请重新输入!',0DH,0AH,'$' MESS2 DB '1-10号学生名次依次为:',0DH,0AH,'$' EMARK DB ? ORG 1000H SCORE DB 30 DUP(?) ORG 2000H SEQU DB 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,TOP ;初始化 MOV AH,09H MOV DX,OFFSET MESS1 INT 21H ;显示提示信息 MOV SI,OFFSET SCORE ;成绩表首址 MOV CX,STUNUM ;学生数送CX MOV EMARK,0 UUU: CALL GETNUM ;读取键入数值送DX CMP EMARK,01H JE START MOV [SI],DL ;存入成绩表缓冲区中 INC SI ;指向下一单元 LOOP UUU MOV CX,STUNUM ;学生数 MOV DI,OFFSET SEQU ;名次表首址 VVV: CALL SCAN ;扫描子程序 MOV AL,STUNUM ;学生数 SUB AL,CL INC AL ;计算名次 MOV BX,DX DAA MOV [DI+BX],AL ;记DX学号对应名次 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 WWW ;显示排定的学生名次 MOV AX,4C00H INT 21H SCAN PROC NEAR ;子程序,每扫描一遍成绩表缓冲区, 找出其成绩最高者 ;(由DX指针指示对应学生),之后将该成绩清除以便下一次扫描 MOV DX,0 PUSH CX MOV CX,STUNUM ;学生数 MOV AL,00H ;最低成绩 MOV BX,OFFSET SCORE MOV SI,BX ;指向成绩表首址 CCC: CMP AL,[SI] JAE JJJ ;AL中的成绩不低于成绩表指针SI所指单元的成绩则转JJJ MOV AL,[SI] ;AL存放较高的成绩 MOV DX,SI SUB DX,BX ;DX为对应学号 JJJ: INC SI ;指向下一单元 LOOP CCC ADD BX,DX MOV BYTE PTR [BX],00H ;本次扫描成绩最高者清0 POP CX RET SCAN ENDP DISPI PROC NEAR ;显示子程序 PUSH CX MOV BL,AL MOV DL,BL MOV CL,04 ROL DL,CL AND DL,0FH CALL DISPL MOV DL,BL AND DL,0FH CALL DISPL POP CX RET DISPI ENDP DISPL PROC NEAR ADD DL,30H CMP DL,3AH JB DDD ADD DL,27H DDD: MOV AH,02H INT 21H RET DISPL ENDP GETNUM PROC NEAR ;键读入子程序 PUSH CX XOR DX,DX GGG: MOV AH,01H INT 21H CMP AL,0DH JZ PPP SUB AL,30H JB KKK CMP AL,09H JBE GETS JMP KKK GETS: PUSH AX MOV AL,DL MOV CL,10 MUL CL MOV DX,AX POP AX XOR AH,AH ADD DX,AX CMP DX,100 JA KKK JMP GGG KKK: MOV AH,09H MOV DX,OFFSET ERROR INT 21H MOV EMARK,01H PPP: PUSH DX CRLF POP DX POP CX RET GETNUM ENDP CODE ENDS END START 5
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 大学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服