shootboy2000 发表于 2010-5-21 09:17:56

请教:关于STATUS状态寄存器C在有借位时置1还是置0?

请教:关于STATUS状态寄存器C在有借位时置1还是置0?在不同的文章里看到两种截然不同的说法:
说法一:执行加、减运算指令后,若结果有进位或借位,则C被置1,否则置0。
说法二:执行加运算指令后,若结果有进位,则C被置1,无进位则置0;减法后,结果无借位,C为1,有借位C为0。
盼高手来指点迷津。

headwolf_83 发表于 2010-5-21 13:40:42

加法和减法不一样,PIC16F系列。你用MPLAB SIM模拟一下就清楚了。

shootboy2000 发表于 2010-5-21 14:00:33

能否给个明确的答案?那种说法是正确的?

headwolf_83 发表于 2010-5-22 10:15:52

PIC16F,PIC基础档,是第二种,其它芯片,要具体看。

shootboy2000 发表于 2010-5-22 11:17:52

谢楼上

chuchuang 发表于 2010-5-23 02:17:40

第二种才是正确的 指令说明应该重点提出了

shootboy2000 发表于 2010-5-23 11:10:41

网上下载的很多资料有错误,容易误导人啊。没办法。

guyanqiu 发表于 2010-5-24 09:39:46

减法用的是补码,所以是取反加1实现的,所以借位相对于进位是取反的,也就是说借位的时候,C=0(因为进位C=1),
未发生借位时C=1(因为没有进位时,C=0)。DC和C是一样的。数据手册上是这么讲的。还是去官方网站下个PDF,可靠!

shootboy2000 发表于 2010-5-24 11:00:51

楼上高手!

chuchuang 发表于 2010-5-24 12:01:43

建议楼主你看下张明峰的pic的书把 论坛有对电子版 个人感觉不错的

richyhuang 发表于 2013-8-21 17:55:59

纠结了一天,终于看到一个比较满意的答案,官方资料上面也没讲的这么仔细啊
页: [1]
查看完整版本: 请教:关于STATUS状态寄存器C在有借位时置1还是置0?