DATAS SEGMENT
DATA db 'asdfefasdsfsa','$'
DATAS ENDS
STACKS SEGMENT
;此處輸入堆棧段代碼
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
lea si,DATA
xor cx,cx
s:
mov al,[si]
cmp al,'$'
jz ss1
inc si
inc cx
jmp s
ss1: ;冒泡法排序
lea si,DATA
dec cx
ss2:
mov dx,cx
mov bx,0
mov al,[si]
ss3:
cmp dx,0
jz ss5
inc bx
cmp al,[si+bx]
jbe ss4 ;排序開關 從小到大
;jae ss4 ;從大到小
xchg al,[si+bx]
mov [si],al
ss4:dec dx
jmp ss3
ss5:
inc si
loop ss2
lea dx,DATA ;輸出字符串
mov ah,9
int 21h
mov ah,0 ;等待輸入
int 16h
MOV AH,4CH
INT 21H
CODES ENDS
END START