📄 ex5ord.asm
字号:
DATA SEGMENT
INFON DB 'Enter Word:$'
INFON1 DB 13,10,'Sort Order:$'
INFON2 DB 13,10,'Swap Times:$'
STRING DB 50,?,50 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
XOR SI,SI
MESSAGE: LEA DX,INFON
MOV AH,9
INT 21H
INPUTSTR: LEA DX,STRING
MOV AH,0AH
INT 21H
MOV DI,DX
MOV CL,DI[1]
ADD DI,1
PUSH DI
INIT: MOV BX,1
DEC CX
PUSH CX
JZ PRINT
XOR AX,AX
XOR DI,DI
NEXT:
MOV AL,STRING[DI+2]
CMP STRING[DI+3],AL
JAE CONT
INC SI
XCHG STRING[DI+3],AL
MOV STRING[DI+2],AL
SUB BX,BX
CONT: INC DI
LOOP NEXT
POP CX
CMP BX,0
JE INIT
PRINT: LEA DX,INFON1
MOV AH,9
INT 21H
XOR BX,BX
MOV BL,STRING[1]
ADD BX,2
MOV STRING[BX],'$'
LEA DI,STRING
INC DI
INC DI
MOV DX,DI
MOV AH,9
INT 21H
LEA DX,INFON2
MOV AH,9
INT 21H
MOV DX,SI
MOV AH,9
INT 21H
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -