📄 23.asm
字号:
DATA SEGMENT
TABLE DB '1357920468',0AH,0DH,'$'
TEMP DB ?
NOTI1 DB 'The old order is:','$'
NOTI2 DB 'The new order is:','$'
DATA ENDS
STACK SEGMENT PARA STACK
DB 10H DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA ;装入数据段
MOV DS,AX
MOV SI,00H
MOV DI,01H
MOV CX,9
LEA DX,NOTI1 ;NOTI1偏移地址送DX
MOV AH,9 ;显示字符串
INT 21H
LEA DX,TABLE ;TABLE偏移地址送DX
MOV AH,9 ;显示字符串
INT 21H
L1: MOV AL,TABLE[SI]
PUSH DI
PUSH CX
L2: MOV AH,TABLE[DI] ;用冒泡法比较两个数大小
CMP AL,AH ;比较前两个数的大小
JLE L3
MOV TEMP,AL ;将两个数交换位置
MOV AL,AH
MOV AH,TEMP
MOV TABLE[DI],AH
MOV TABLE[SI],AL
L3: INC DI
DEC CX
JNZ L2
L4: POP CX
POP DI
INC SI
INC DI
DEC CX
JNZ L1
LEA DX,NOTI2 ;显示提示字符串
MOV AH,9
INT 21H
MOV DX,OFFSET TABLE ; 显示排序后的字符串
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -