打印

CJNE比较跳转指令以及检测P0口状态程序举例

[复制链接]
838|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xia00|  楼主 | 2015-10-23 21:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xia00 于 2015-10-23 22:00 编辑

功能:比较二个字节中的值,若不等,则转移
CINE  A,#data,rel
CJNE  A,direct,rel
CJNE  @Ri,#data,rel 单片机
CJNE  Rn,#data,rel 单片机
该类指令具有比较和判断双重功能,比较的本质是做减法运算,用第一操作数内容减去第二操作数内容,但差值不回存。
转移目的地址 = (PC)+ 3 + rel
若第一操作数内容小于第二操作数内容,则(C)= 1,否则(C)= 0。
该类指令可产生三分支程序:即,相等分支;大于分支;小于分支。
例、设P1口的P1.0 ~ P1.3为准备就绪信号输入端,当该四位为全1时,说明各项工作已准备好,单片机可顺序执行,否则,循环等待。
沙发
xia00|  楼主 | 2015-10-23 22:00 | 只看该作者
这是在网上找的一个干净挺有趣的一个题目。

使用特权

评论回复
板凳
布谷鸟2015| | 2015-10-23 22:03 | 只看该作者
求答案啊

使用特权

评论回复
地板
xia00|  楼主 | 2015-10-23 22:45 | 只看该作者
答案:      
MOV  A,P1
ANL   A,#0FH
CJNE  A,#0FH,WAIT  ;P1.0 ~ P1.3不为全1时,返回WAIT
MOV  A,R2

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

1867

帖子

1

粉丝