求汇编大神指教,输入一组字符串对其排序,并显示

2025-12-05 16:43:54
推荐回答(1个)
回答1:

DATA SEGMENT
DT0 DB 13, 10
DT1 DB 100 DUP('$')
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
AGN:
MOV AX, DATA
MOV DS, AX

MOV DI, 0
LEA SI, DT1
LOOP0:
MOV AH, 1
INT 21H
CMP AL, 0DH
JE BEGIN
MOV [SI], AL
INC SI
INC DI
JMP LOOP0

BEGIN:
SUB DI, 1
MOV CX, DI
LOOP1:
MOV DX, CX
MOV BX, 0

LOOP2:
MOV AL, DT1[BX]
CMP AL, DT1[BX + 1]
JAE NO_CHANGE
XCHG AL, DT1[BX + 1]
MOV DT1[BX], AL
NO_CHANGE:
INC BX
LOOP LOOP2

MOV CX, DX
LOOP LOOP1

LEA DX, DT0
MOV AH, 09H
INT 21H

MOV AX, 4C00H
INT 21H
CODE ENDS
END AGN

好用了。