单片机汇编:16个数比较大小,按从大到小的顺序进行排列并存放在30H~3FH单元中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机汇编:16个数比较大小,按从大到小的顺序进行排列并存放在30H~3FH单元中相关的知识,希望对你有一定的参考价值。

参考技术A DATA SEGMENT
BUF DB 10,16,15,1,48,79,15,46,14,13,5,8,7,9,26,100
COUNT EQU $-BUF
DATA ENDS
ESTA SEGMENT
BUF1 DB COUNT DUP(?)
ESTA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:ESTA
START: MOV AX,DATA
MOV DS,AX
MOV AX,ESTA
MOV ES,AX
LEA SI,BUF
LEA DI,BUF1
MOV CX,COUNT-1
CALL _CMP
MOV AH,4CH
INT 21H

_CMP PROC
PUSH SI
PUSH DI
LEA SI,BUF
LEA DI,BUF1
XOR DX,DX
XOR AX,AX
L_START: CMP DI,15
JA EXIT
CMP AL,BYTE PTR [SI]
JA L1
MOV DL,BYTE PTR [SI]
MOV BYTE PTR [SI],AL
MOV AL,DL
L1: INC SI
CMP SI,COUNT
JB L_START
CLD
STOSB
XOR AX,AX
LEA SI,BUF
ADD SI,DI
JMP L_START
EXIT:
POP SI
POP CX
RET
_CMP ENDP
CODE ENDS
END START

急C#(从键盘输入三个数)从大到小的顺序输出

参考技术A void
main()

int[]
lst
=
new
int[3];
for
(int
i
=
0;
i
<
3;
i++)

console.writeline("请输入您要进行排序的第0个数字:",
i);
lst[i]
=
convert.toint32(console.readline());

sort(lst);
foreach(int
i
in
lst)
console.writeline(i);
console.readline();

public
static
void
sort(int[]
list)

int
i,
j,
temp;
bool
done
=
false;
j
=
1;
while
((j
<
list.length)
&&
(!done))

done
=
true;
for
(i
=
0;
i
<
list.length
-
j;
i++)

if
(list[i]
>
list[i
+
1])

done
=
false;
temp
=
list[i];
list[i]
=
list[i
+
1];
list[i
+
1]
=
temp;


j++;


---------------------------
这就是冒泡法了啊
参考技术B 我就说下大概思路:
三个数分别为xyz,另一数为A,先令A=x,接着让A和y比较,如果y大于A,则A=y,再让A和Z比较,若大于A则A=z,输出A,在比较剩余两个,如此周转。
参考技术C 相信楼主是刚刚学习编程
冒泡排序
下面是用C#写的列子(C#里数组有sort()方法排序,这里仅作示例)

int[] inta = 2, 3, 1 ;
int i=0;
for (i = 1; i < inta.Length; i++)
int temp = inta[i - 1];
if (temp < inta[i])
inta[i - 1] = inta[i];
inta[i] = temp;


string ret = string.Empty;
for (i = 0; i < inta.Length; i++)
ret += inta[i].ToString();

MessageBox.Show(ret);本回答被提问者采纳
参考技术D 冒泡排序
1 楼的就行了
我估计你这程序是想在控制台做的
你只用加一个console.readline();接收一下用户输入的三个数就行了
第5个回答  2009-05-06 写个排序不就完了。冒泡或者比较。基本的。

以上是关于单片机汇编:16个数比较大小,按从大到小的顺序进行排列并存放在30H~3FH单元中的主要内容,如果未能解决你的问题,请参考以下文章

将数组8,23,4,16,77,-5,53,100中的元素按从大到小的顺序排列,最少需要交换几次?我知道答案是5次

c语言,输入3个数,按从大到小的顺序输出,要用三种方法

c语言编程: 将一组数按从大到小的顺序排序

输入三个数字,按从大到小的顺序输出

c语言解答从键盘上输入三个数,按从大到小的顺序排列并输出最大值

C语言采用选择法对数组元素按从大到小的顺序排列