如何用汇编语言实现单片机比较转移
来源:百度知道 编辑:UC知道 时间:2024/05/15 09:03:44
例如:当累加器A中数大于0小于等于10时,执行程序1
当累加器A中数大于10小于等于20时,执行程序2
当累加器A中数大于20小于等于30时,执行程序3
以此类推
一定要用汇编语言哦,谢谢了
当累加器A中数大于10小于等于20时,执行程序2
当累加器A中数大于20小于等于30时,执行程序3
以此类推
一定要用汇编语言哦,谢谢了
pan: clr cy
mov 30h,a
subb a,#10
jb cy,prog1
mov a,30h
clr cy
subb a,#20
jb cy,prog2
mov a,30h
clr cy
subb a,#30
jb cy,prog3
.....
prog1: nop
..
prog2: nop
..
prog3: nop
..
用CJNE指令加查询标志位C就可以了。
CJNE比较结果影响C的状态
;30h存放被测数
mov a,30h
jz goto0;为0转处理0的程序,或返回
cjne a,#11,k1;检测A>11吗?
k1:jc goto1 ;有借位就是小于,就是1-10了,转相应处理程序.
cjne a,#21,k2;检测A>21吗?
k2:jc goto2
cjne a,#31,k3;检测A>31吗?
k3:jc goto3
......
如此类推