📄 程序4.txt
字号:
程序4:功能 统计30个学生成绩中得分在100~90、89~80、79~70、69~60区间以及低于60分的人数,并计算30个学生的平均成绩(取整数),结果依次存入指定的存入区域。
例如:
内存中有10个分数 5EH,50H,64H,52H,55H,48H,3AH,4AH,40H,42H
结果为 02H,03H,02H,02H,01H,4DH(平均成绩)
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要 求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。-S
DATA SEGMENT
SCORE DB 78,64,29,91,84,67,92,100,54,66
COUNT EQU $-CORE
RESULT DB 6 DUP (?)
DATA ENDS
;------------------
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
START: MOV CX,COUNT
MOV AH,0
MOV BX,0
MOV DX,0
MOV SI,OFFSET SCORE
LOP: MOV AL,[SI]
CMP AL,60
JB FAIL
CMP AL,70
JB CHA
CMP AL,80
JB ZHONG
CMP AL,90
JB LIANG
YOU: INC AH ;优秀(90-100)
JMP DONE
LIANG: INC BH ;良好(80-89)
JMP DONE
ZHONG: INC BL ;中(70-79)
JMP DONE
CHA: INC DH ;差(60-69)
JMP DONE
FAIL: INC DL ;不及格(59-0)
DONE: INC SI
LOOP LOP
MOV DI,OFFSET RESULT
MOV [DI],AH
MOV [DI+1],BH
MOV [DI+2],BL
MOV [DI+3],DH
MOV [DI+4],DL
MOV CX,COUNT ;求平均
MOV DX,0
MOV SI,OFFSET SCORE
LOP1: MOV AL,[SI]
MOV AH,0
ADD DX,AX
INC SI
LOOP LOP1
MOV AX,DX
MOV BL,COUNT
DIV BL
MOV DI,OFFSET RESULT
MOV [DI+5],AL
RET
MAIN ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -