汇编程序:统计不同成绩段学生的人数

发布时间:2024年01月17日

统计不同成绩段学生的人数

一、实验内容:

本实验涉及对10名学生的成绩进行区间统计。成绩分别是76,69,84,90,73,88,99,63,100和80分。编写一个子程序,用于统计不同成绩段的学生人数,包括低于60分、60~69分、70~79分、80~89分、90~99分以及满分100分的学生数量,并展示这些统计结果。

二、编程指导:

1.使用分支结构来划分不同的成绩等级,采用循环结构来遍历所有学生成绩,并通过DOS功能调用来显示统计结果。
2.将统计学生成绩和展示统计结果的任务分别封装在两个子程序中。

三、实验报告:

  1. 程序说明。说明程序的功能、结构。
    功能:统计并输出10位学生的成绩
    结构:
    在这里插入图片描述
  2. 调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
    编译:
    在这里插入图片描述
    连接:
    在这里插入图片描述
    运行
    在这里插入图片描述
  3. 画出程序框图。
    在这里插入图片描述
  4. 源程序清单
DATA SEGMENT
	SCORE DW 76,69,84,90,73,88,99,63,100,80
	S1 DB '<60  :','$'
	S2 DB 0DH,0AH,'60~69:','$'
	S3 DB 0DH,0AH,'70~79:','$'
	S4 DB 0DH,0AH,'80~89:','$'
	S5 DB 0DH,0AH,'90~99:','$'
	S6 DB 0DH,0AH,'100  :','$'
	C1 DB 0
	C2 DB 0
	C3 DB 0
	C4 DB 0
	C5 DB 0
	C6 DB 0
DATA ENDS
CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
START:
	MOV AX,DATA
	MOV DS,AX
	MOV CX,10
	MOV SI,0
	CLD
	CALL SORT
	CALL DISPLAY
	MOV AX,4C00H
	INT 21H
SORT PROC
A1:
	MOV DI,SCORE[SI]
	CMP DI,60
	JAE A2;>=60
	INC C1
	JMP NEXT
A2:
	CMP DI,70
	JAE A3;>=70
	INC C2
	JMP NEXT
A3:
	CMP DI,80
	JAE A4;>=80
	INC C3
	JMP NEXT
A4:
	CMP DI,90
	JAE A5;>=90
	INC C4
	JMP NEXT
A5:
	CMP DI,100
	JAE A6;=100
	INC C5
	JMP NEXT
A6:
	INC C6;100
NEXT:
	ADD SI,2
	LOOP A1
	ret
SORT ENDP
OUTPUT PROC
	ADD DL,30H
	MOV AH,02H
	INT 21H
	RET
OUTPUT ENDP
DISPLAY PROC
;<60
	MOV DX,OFFSET S1
	MOV AH,09H
	INT 21H
	MOV DL,C1
	CALL OUTPUT
;60~69	
	MOV DX,OFFSET S2
	MOV AH,09H
	INT 21H
	MOV DL,C2
	CALL OUTPUT
;70~79	
	MOV DX,OFFSET S3
	MOV AH,09H
	INT 21H
	MOV DL,C3
	CALL OUTPUT
;80~89	
	MOV DX,OFFSET S4
	MOV AH,09H
	INT 21H
	MOV DL,C4
	CALL OUTPUT
;90~99	
	MOV DX,OFFSET S5
	MOV AH,09H
	INT 21H
	MOV DL,C5
	CALL OUTPUT
;100	
	MOV DX,OFFSET S6
	MOV AH,09H
	INT 21H
	MOV DL,C6
	CALL OUTPUT
	RET
DISPLAY ENDP
CODE ENDS
	END START
文章来源:https://blog.csdn.net/m0_74950751/article/details/135637729
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。