DATA SEGMENT DATA_START DB 56H, 4DH, 5DH, 52H, 64H, DB 47H, 51H, 5BH, 4FH, 61H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET DATA_START MOV DI,3000H MOV CX,10 LOOP0: MOV AX,[SI] MOV [DI],AX INC SI INC DI LOOP LOOP0 MOV SI,OFFSET DATA_START MOV CX,10 MOV DI,3100H LOOP1: MOV AL,[SI] CALL RANK INC SI MOV [DI],DL INC DI LOOP LOOP1 MOV AX,4C00H INT 21H RANK PROC PUSH CX PUSH SI MOV CX,10 MOV SI,OFFSET DATA_START MOV DL,1 LOOP2: MOV BL,[SI] CMP AL,BL JB ADD1 JMP CONTINUE ADD1: INC DL JMP CONTINUE CONTINUE: INC SI LOOP LOOP2 POP SI POP CX RET RANK ENDP CODE ENDS END START