;选择法排序
data segment
array db -1, -2, 100, 34, 55, 89, 0, 2, 3, 1 count equ ($ - offset array) / type array data ends
code segment
assume cs:code, ds:data start:
mov ax, data mov ds, ax mov cx, count dec cx outloop:
push cx
mov di, cx
mov bx, offset array mov si, 0 mov al, [bx]
inloop:
cmp al, [bx + 1] jg nobig
mov al, [bx + 1] lea si, [bx + 1] nobig:
inc bx
loop inloop mov al, [di] xchg al, [si] xchg al, [di] pop cx
loop outloop mov ax, 4c00h int 21h code ends end start