ASSUME CS:CODE, DS:DATA
DATA SEGMENT
BUF db 3,2,1,34h,5,23H,4,54H,77H,56H,6
count EQU $-BUF ;count表示s1的长度,
;数据段
DATA ENDS
CODE SEGMENT
main:
MOV AX,DATA
MOV DS,AX ; 确定数据段
MOV DX,count-1
MOV BX,DX ;外层用BX计数
B1:
MOV CX,DX
MOV SI,OFFSET BUF ;SI当做内层计数
B2:
MOV AL,[SI]
CMP AL,[SI+1]
JB XIAOYU ;AL比[SI+1]小跳转,也就是当前数字小于后面数字跳转
XCHG AL,[SI+1]
XCHG AL,[SI] ;若当前数字大于后面,利用AL进行二者交换
XIAOYU:INC SI ;SI自加一
LOOP B2 ;回到循环
DEC BX
MOV AX,0
CMP AX,BX
JB B1
CODE ENDS
END main
运行结果