1586|7

990

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

CNNE 指令,解释中有 若(a)<(driet),则1->cy ,这个解释,对吗 [复制链接]

邀请:@maychang   @chunyang   @damiaa   @jimtien   参与回复

本帖最后由 一沙一世 于 2022-8-16 12:01 编辑

CNNE 指令,如下图所示,解释中有 若(a)<(driet),则1->cy ,这个解释,对吗

 

 

此帖出自51单片机论坛

最新回复

感觉没毛病啊? “试减”不够减则CY置位 跟第一行跳不跳转无关,不过A和direct相等的话,也没CY什么事了,直接向下执行   详情 回复 发表于 2022-10-18 15:10
点赞 关注
 

回复
举报

6040

帖子

203

TA的资源

版主

沙发
 

最烂的一些列书就是xx世纪xxx系列教材,对于这种指令集,不去看英文版手册属于自找麻烦

此帖出自51单片机论坛
 
 
 

回复

990

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 

这指令好象没毛病。找了好几本书,都没有详细讲解这条指令的。唉

此帖出自51单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

4
 

当然不对。

箭头所处位置是指令 CJNE    A ,#data,rel  ,A是与立即数比较。红色方框说的可不是A与立即数比较。

红色方框应该放到箭头所在那一行才是。

此帖出自51单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

5
 

这三行 CJNE,都是 “比较,不相等转移”。比较实际上是做减法。减法的结果为零,有个标志位置位,程序实际上是根据这个标志位跳转或者不跳转的。

但减法也会影响CY位,够减CY置0,不够减CY置1。这就是红色方框中解释的由来。

此帖出自51单片机论坛
 
 
 

回复

143

帖子

1

TA的资源

一粒金砂(高级)

6
 

楼主学得这么认真,碰到这种疑惑,应该去看8051编译器附带的说明书,比如 Keil,这些是官方权威的解释。不用什么都上来问。

 

此帖出自51单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

7
 

CJNE指令,比较的结果会影响CY,这个功能对两个数字比较有用。

例如,我们要把A中数据和某立即数进行比较,A中数等于该立即数,执行程序(1),大于该立即数,执行程序(2),小于该立即数,执行程序(3)。那么可以使用 CJNE    #data,rel,在rel处放置一条JC指令,那么A中数与该立即数不等时会跳到rel处,如果A中数小于该立即数,JC指令将产生跳转(因为CY为1),而A中数大于该立即数,则执行JC这条指令之后的指令。

此帖出自51单片机论坛
 
 
 

回复

224

帖子

0

TA的资源

一粒金砂(高级)

8
 

感觉没毛病啊?

“试减”不够减则CY置位

跟第一行跳不跳转无关,不过A和direct相等的话,也没CY什么事了,直接向下执行

此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表