汇编程序小问题,急,100分!在线等

来源:百度知道 编辑:UC知道 时间:2024/07/04 20:45:30
汇编实现键盘输入5个无符号的2位十进制数,按升序排列输出。怎么写?好的有加分

;楼上的错啊
;我的思路:
;1.输入数据存入缓冲区
;2.对缓冲区内的数据排序
;3.将排序后的数据输出
;格式:
;如输入
;19回车
;17回车
;25回车
;54回车
;23回车
;则输出
;17 19 23 25 54
data segment
buf dw 10 dup(0);数据缓冲区
count db 0;计数器
data ends

code segment
assume cs:code,ds:data
main proc near
start:
mov ax,data
mov ds,ax
;------------------接收数据并存入buf缓冲区-------------
mov count,5
mov si,0
m1:
call decibin;接收数据子程序
call crlf;调用回车换行子程序
mov buf[si],bx
add si,2
dec count
cmp count,0
jg m1
;-----------------------冒泡排序-------------------------
mov cx,5
dec cx
loop1:
mov di,cx
mov bx,0
loop2:
mov ax,buf[bx]
cmp buf[bx+2],ax
jge cotinue
xchg ax,buf[bx+2]
mov buf[bx],ax

cotinue:
add bx,2
loop loop2
mov cx,di
loop loop1
;------------------按排序的结