用汇编语言编程:统计全班50名同学的语文成绩。7
发布网友
发布时间:2023-10-22 13:59
我来回答
共1个回答
热心网友
时间:2024-11-24 17:05
CODE SEGMENT
ASSUME CS:CODE
ORG 100H
START:
JMP BBB
SCORE DW 0,55,60,65,70,75,80,85,90,95,1,2,3,4,5,67,68,69,99,98,100
DW 1,2,3,4,5,67,89
DW 90,98,98,98,98,98,98,98,99,99,99,99
N DW ($-SCORE)/2
E DW ?
D DW ?
C DW ?
B DW ?
A DW ?
;===============
BBB: PUSH CS
POP DS
PUSH CS
POP ES
LEA SI,SCORE
LEA DI,E
MOV CX,N
CLD
LP: LODSW
SUB AX,50
CMP AX,0
JGE M1
MOV AX,0
M1: CMP AX,50
JL M10
MOV AX,49
M10:
MOV DX,0
MOV BX,10
DIV BX
MOV BX,AX
SHL BX,1
INC WORD PTR [DI+BX] ; 这是这里的画龙点睛之处
LOOP LP
; ==============
; 分别输出90~100、80~89、70~79、60~69、0~59区间的人数
LEA SI,A
MOV CX,5
M2: MOV AL,[SI]
MOV AH,0
MOV BL,10
DIV BL
PUSH AX
CMP AL,0 ; 如果高位为0,不输出
JE M3
MOV DL,AL
ADD DL,30H
MOV AH,2
INT 21H
M3: POP AX
MOV DL,AH ; 输出个位数
ADD DL,30H
MOV AH,2
INT 21H
MOV DL,' '
INT 21H
DEC SI
DEC SI
LOOP M2
;===============
MOV AH,4CH
INT 21H
CODE ENDS
END START