📄 升序排序.asm
字号:
CODE SEGMENT
ASSUME CS:CODE
BEGIN: PUSH CS
POP DS
PUSH CS
POP ES
MOV DI,2000H
CLD
MOV AL,-12
STOSB
MOV AL,12
STOSB
MOV AL,25
STOSB
MOV AL,9
STOSB
MOV AL,-1
STOSB
MOV AL,3
STOSB
MOV AL,8
STOSB
MOV AL,98
STOSB
MOV AL,18
STOSB
MOV AL,20
STOSB
MOV AL,-30
STOSB
MOV AL,-5
STOSB
MOV AL,-7
STOSB
MOV AL,45
STOSB
MOV AL,3
STOSB
MOV AL,5
STOSB
MOV AL,11
STOSB
MOV AL,37
STOSB
MOV AL,-38
STOSB
MOV AL,-12
STOSB
MOV CX,20
XOR AX,AX ;初始化AX
XOR DX,DX ;初始化DX
DONE1: DEC CX
MOV DX, CX ;保护CX的值
MOV SI,2000H
XOR BX,BX ;清外循环标志
CLD
DONE2: LODSB ;开始排序
CMP AL,[SI]
JLE DONE3
XCHG AL,[SI] ;交换顺序
MOV [SI-1],AL
INC BL ;设外循环标志
DONE3: LOOP DONE2 ;继续内循环,排序
MOV CX,DX ;恢复CX的数值
CMP BL,0 ;判断排序是否完成
JNZ DONE1
;==========将2000H单元的数据存入2100H==============
MOV CX,20
MOV DI,2100H
MOV SI,2000H
CLD
DONE4: MOVSB
DEC CX
JNZ DONE4
CODE ENDS
END BEGIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -