单片机 汇编语言 两数比较大小

来源:百度知道 编辑:UC知道 时间:2024/05/04 09:17:16
假设数1的高位存于R0,低位存于R1;数2高位存于R2,低位存于R3。

请大侠们帮帮忙,用汇编语言编写一段小程序。

先比较高位。

如果高位不相等,则根据数1和数2的大小关系跳转到子程序ABC(假设数2大于数1跳转)。

如果高位相等,则比较低位;要求同上一步。

应该是用两数不等转移语句实现该比较吧。。。

具体的就请大侠们赐教啦。。。

谢谢。。

单片机有比较指令CMP的吗,请回答者再看看书吧。可以用CJNE指令,它有比较功能,如CJNE A,#DATA,LABEL 当A<#data时,进位位置一,就可以判断了。程序如下:
CLR C ;先把进位位清零,以防误判
CJNE A,#data,no_equ ;不等则转到no_equ,相等则直接顺序执行
....... ;执行相等时的程序
no_equ:
JC lower ;继续判断,小于则跳转到 lower,大于则顺序执行
.......
lower:
......
END

不要想复杂了,两个CMP就可以啦

CMP R0,R2
JB abc
CMP R1,R3
JB abc
JMP nobelow

abc:
...
nobelow:
...

还是自己看书学习吧 这个简单的问题 多看几遍自然会了