📄 7_6_3.asm
字号:
NAME EX44
CODE SEGMENT
ORG 0100H
ASSUME CS:CODE
STAR: JMP SSTT
ASCII DB 'GAJXYDEBFIPKWR' ;定义字符串
DB 'QOUZVCHMST4135'
COUNT=$-ASCII-1
OK DB 0DH,0AH,'OK!$'
SSTT: MOV AX,CS
MOV DS,AX ;初始化数据段
MOV DL,COUNT ;置外循环次数
MOV DH,1 ;设有交换标志
XOR BX, BX
L0: OR DH,DH ;
JZ L3 ;无交换,已排好序,退出
MOV DH,0 ;无交换
MOV CX,COUNT
SUB CX,BX ;内循环次数
MOV SI,OFFSET ASCII ;指向表首
L1:MOV AL,[SI] ;字符送AL
INC SI ;指向下个字符
CMP AL,[SI] ;比较表中相邻字符
JBE L2 ;小于转
XCHG AL,[SI] ;否则交换,大字符下沉
MOV [SI-1],AL ;小字符上浮
MOV DH,1 ;有交换,DH=1
L2:LOOP L1 ;内循环结束?
INC BX ;内循环完成,加一
DEC DL ;外循环次数减一
JNZ L0 ;外循环次数非零,继续
L3: MOV DX,OFFSET ASCII
MOV AH,9
INT 21H ;显示排好序的字符
MOV AH,4CH
INT 21H ;返回DOS
CODE ENDS
END STAR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -