DATA SEGMENT Y DB 3000H DUP(0) X DB 56H,4DH,5DH,52H,64H,47H,51H,5BH,4FH,61H RESULT DB 10 DUP(0) DATA ENDS STACK SEGMENT DW 20H DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX MOV CX,10 CALL SORT_GRADE MOV SI,OFFSET RESULT MOV DI,3100H MOV CX,10 COPY_RESULT: MOV AL,[SI] MOV [DI],AL INC SI INC DI LOOP COPY_RESULT MOV AH,4CH INT 21H SORT_GRADE PROC PUSH CX MOV CX,10 MOV DI,0 LOOP1: MOV AL,0 MOV AH,[3000H+DI] MOV SI,OFFSET X MOV DL,10 LOOP2: CMP [SI],AH JB LOOP3 INC AL LOOP3: INC SI DEC DL JNZ LOOP2 MOV [RESULT+DI],AL INC DI LOOP LOOP1 POP CX RET SORT_GRADE ENDP CODE ENDS END START