汇编语言求救

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:56:35
有6,0,-5三个数,请将他们按从小到大重新排列为-5,0,6,并输出到屏幕上!!(财富有限,请帮忙!)

program pailei;
var a:array[1..3] of integer;
i,j:integer;
t:integer;
begin
for i:=1 to 3 do
readln(a[i]);
for i:=1 to 2 do
for j:=2 to 3 do
if a[i]>a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
for i:=1 to 2 do
write(a[i],' ');
write(a[3]);
end.

DATA SEGMENT
BUF DB 6,0,-5
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF
MOV AL,[SI]
MOV BL,[SI+1]
MOV CL,[SI+2]
CMP AL,BL
JLE NEXT1 ;小于或等于跳转
XCHG AL,BL
NEXT1: CMP AL,CL
JLE NEXT2
XCHG AL,CL
NEXT2: CMP BL,CL
JLE NEXT3
XCHG BL,CL
NEXT3: MOV [SI],AL
MOV [SI+1],BL