汇编问题!!!!!!!!!!高手进!

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:48:34
从键盘输入一组十进制数(每个数不超过3个字符),将该组数按升序排序后,并将结果送显示器显示
这是汇编题目
麻烦各位帮忙!

;运行时注意:每个不超过3个字符的十进制数以回车结束,一组十进制数以空格结束,即当输入空格时,就会在屏幕上显示结果。
DSEG SEGMENT
;数据段:在此处添加程序所需的数据
number dw 80 dup (?)
count dw ?
DSEG ENDS

CSEG SEGMENT
assume cs:CSEG, ds:DSEG
MAIN PROC FAR ;主程序入口
mov ax, dseg
mov ds, ax
;此处添加主程序代码
call input;从键盘输入一组十进制数(每个数不超过3个字符),存于数组number中
call sort;将该组数按升序排序
call disp;将结果送显示器显示
;按任意键退出
mov ah,1
int 21h
;程序结束,返回到操作系统系统
mov ax, 4c00h
int 21h
MAIN ENDP

input proc
lea si,number
next: mov bx, 0
mov cx,3
newchar: mov ah, 1;键盘输入,每个数据以回车结束
int 21h
cmp al,20h;全部数据以空格结束
jz tj
sub al, 30h
jl exit ; <0退出
cmp al, 9
jg exit ; >9退出
cbw
xchg ax, bx
mov cx, 10
mul cx
xchg ax, bx
add bx, ax
loop newchar
exit: