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

本文介绍了一个实验,通过编程统计10名学生的成绩,将成绩分为六个区间并显示各区间的学生数量。实验涉及分支结构和循环处理,同时包含了程序设计、调试和执行结果分析的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一、实验内容:

本实验涉及对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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值