DATA SEGMENT
MESSAGE DB 'Welcome to the system!',13,10,13,10,'$'
MESSAGE1 DB '10~20:','$'
MESSAGE2 DB '0~10:','$'
MESSAGE3 DB '-10~-0:','$'
MESSAGE4 DB '-20~-10:','$'
MESSAGE5 DB 'MAX:','$'
MESSAGE6 DB 'MIN:','$'
CR DB 13,10,'$'
BUF1 DB 05,-17,-11,19,15,11,-09,06,01,-05
BUF2 DB 08,-16,-14,11,13,-11,-07,04,03,-04
CUNT1 DB 0 ;计数初值
CUNT2 DB 0
CUNT3 DB 0
CUNT4 DB 0
MAX DB -20
MIN DB 20
DATA ENDS
STACKS SEGMENT
DB 200 DUP(?)
STACKS ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV SI,0
MOV CX,20 ;置循环值
LOP0: MOV AL,BUF1[SI]
CMP AL,-10D ;测试
JL LK1
CMP AL,0
JL LK2
CMP AL,10
JL LK3
INC CUNT1
JMP NEXT
LK1: INC CUNT4
JMP NEXT
LK2: INC CUNT3
JMP NEXT
LK3: INC CUNT2
NEXT:
INC SI
LOOP LOP0
LEA SI,BUF1
MOV CX,20
LOP2:
MOV AL,[SI]
CMP AL,MAX
JNG BDY
MOV MAX,AL
BDY:
CMP AL,MIN
JNL BXY
MOV MIN,AL
BXY:
INC SI
LOOP LOP2
IOUT: LEA DX,MESSAGE
MOV AH,09H
INT 21H
MES1: LEA DX,MESSAGE1
MOV AH,09H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
ADD CUNT1,30H
MOV DL,CUNT1
MOV AH,02H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
MES2: LEA DX,MESSAGE2
MOV AH,09H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
ADD CUNT2,30H
MOV DL,CUNT2
MOV AH,02H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
MES3: LEA DX,MESSAGE3
MOV AH,09H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
ADD CUNT3,30H
MOV DL,CUNT3
MOV AH,02H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
MES4: LEA DX,MESSAGE4
MOV AH,09H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
ADD CUNT4,30H
MOV DL,CUNT4
MOV AH,02H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
MES5: LEA DX,MESSAGE5
MOV AH,09H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
MOV AL,MAX
XOR AH,AH
MOV CL,10D
DIV CL
MOV DX,AX
MOV AH,2
ADD DL,30H
INT 21h
MOV DL,DH
ADD DL,30H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
MES6: LEA DX,MESSAGE6
MOV AH,09H
INT 21H
LEA DX,CR
MOV AH,09H
INT 21H
MOV AL,MIN
XOR AH,AH
NEG AL
PUSH AX
MOV AH,02H
MOV DL,'-'
INT 21H
POP AX
MOV CL,10D
DIV CL
MOV DX,AX
MOV AH,2
ADD DL,30H
INT 21h
MOV DL,DH
ADD DL,30H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
自己手写的阿,一定要给分阿,已验证了
温馨提示:答案为网友推荐,仅供参考