数据排序实验程序

来源:百度知道 编辑:UC知道 时间:2024/06/03 17:21:35
在4000h开始处存放有100个无序的无符号数,试将这些数按照升序的顺序排列.帮忙用汇编语言编写出这个程序来。

data segment
org 4000h
BUF db 10,9,8,7,6,5,4,3,2,1;0~255即0~0FFH之间的数
N equ $-BUF;数的个数
data ends
code segment
assume cs:code,ds:data
start:;选择排序
mov ax,data
mov ds,ax
lea bx,BUF
mov es,ax
mov cx,N-1
again1:
mov si,bx
mov di,si
inc di
again2:
mov al,[si]
cmp al,[di]
jb next
mov si,di
next:
inc di
cmp di,offset BUF+N
jb again2
cmp si,bx
je next2
mov al,[si]
xchg al,[bx]
mov [si],al
next2:
inc bx
loop again1
mov dx,offset BUF
MOV byte ptr BUF+N,'$'
MOV AH,9
INT 21H
mov ax,4c00h
int 21h
code ends
end start