单片机编程求解: 1.. 将片内RAM30H开始的连续16个单元的数据按从小到大的顺序排列。

2、将片外RAM2000H内容拆开,高位送片外RAM2001H,低位送片外RAM2002H,片外RAM2001H,2002H高位清零。
请各位高手把程序完整写入,谢谢!

排序的题目,可以到 我的空间 去找答案。
----
MOV DPTR, #2000H ;设定地址.
MOVX A, @DPTR ;取来内容.
MOV B, A ;暂存.
SWAP A ;交换高低四位.
ANL A, #0FH ;保留低四位(原高四位).
INC DPTR ;2001H
MOVX @DPTR, A ;存放.
MOV A, B ;取回.
ANL A, #0FH ;保留低四位.
INC DPTR ;2002H
MOVX @DPTR, A ;存放.

END ;完
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-16
用冒泡排序法,将B,2001H,2002H清零,将2000H传到A,将A,B半字节交换,传到2002H,在将A高低位交换,在将A,B半字节交换,在将B传到2001H,OK
第2个回答  2011-02-16
读片外2000H给a , b=a&0b00001111 然后b将b送2002H , c=a>>4, 然后b将b送2001H
第3个回答  2011-02-17
GVJHFH
相似回答