DSEG SEGMENT
STR DB 0DH,0AH,'CAPTIAL$' COUNT EQU $-STR STR1 DB 0DH,0AH,'BEFORE SORT$' STR2 DB 0DH,0AH,'AFTER$' DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV DX,OFFSET STR1 MOV AH,9 INT 21H MOV DX,OFFSET STR CALL OUTPUT MOV CX,COUNT-4 ;排序开始 L1: MOV SI,OFFSET STR+2 MOV BX,CX L2: MOV AL,[SI] CMP AL,[SI+1] JAE NEXT XCHG AL,[SI+1] MOV [SI],AL NEXT: INC SI DEC BX JNZ L2 LOOP L1
MOV DX,OFFSET STR2 CALL OUTPUT MOV DX,OFFSET STR CALL OUTPUT MOV AH,4CH INT 21H RETOUTPUT PROC;输出子过程 MOV AH,9 INT 21H;排序结束
RET OUTPUT ENDP CSEG ENDS END START