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

假设数1的高位存于R0,低位存于R1;数2高位存于R2,低位存于R3。

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

先比较高位。

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

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

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

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

谢谢。。

第1个回答  推荐于2018-04-23
单片机有比较指令CMP的吗,请回答者再看看书吧。可以用CJNE指令,它有比较功能,如CJNE A,#DATA,LABEL 当A<#data时,进位位置一,就可以判断了。程序如下:
CLR C ;先把进位位清零,以防误判
CJNE A,#data,no_equ ;不等则转到no_equ,相等则直接顺序执行
....... ;执行相等时的程序
no_equ:
JC lower ;继续判断,小于则跳转到 lower,大于则顺序执行
.......
lower:
......
END本回答被网友采纳
第2个回答  2009-07-17
不要想复杂了,两个CMP就可以啦

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

abc:
...
nobelow:
...本回答被提问者采纳
第3个回答  2009-07-10
还是自己看书学习吧 这个简单的问题 多看几遍自然会了
相似回答