打印
[其它应用]

CY 会被置1,否则置0

[复制链接]
242|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tian111|  楼主 | 2020-7-26 12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

SBC 将Data Memory(Mx)的内容减去累加器A 的内容相加、???,再加上CY,结果仅存回A 中,当Mx ≥ A 时,CY 会被置1,否则置0。
例2-1-11: CY=0,06H - 05H=?
: ;CY=0
LDI 20H,05H ;AC=05H,$20H=05H
LDI 21H,06H ;AC=06H,$21H=06H
LDA 20H,0 ;AC=05H
SBC 21H,0 ;AC=00H,CY=1,$21H=06H
AC=00H????

使用特权

评论回复
沙发
chenho| | 2020-7-26 12:23 | 只看该作者
你有什么想法?

使用特权

评论回复
板凳
tian111|  楼主 | 2020-7-26 12:27 | 只看该作者

更正结果:
       例2-4-13: CY=0,06H - 05H=?
       : ;CY=0
       LDI 20H,05H ;A=05H,$20H=05H
       LDI 21H,06H ;A=06H,$21H=06H
       LDA 20H,0 ;A=05H,CY=0
       SBCM 21H,0 ;A=00h,CY=1,$21H=00H
       $21H=06H,A=05H;$21H-A=06H-05H+0=00H???

使用特权

评论回复
地板
gongche| | 2020-7-26 12:31 | 只看该作者
你的算法只是机械的按照语句的表达式去计算,这样是不对的.

使用特权

评论回复
5
tian111|  楼主 | 2020-7-26 12:36 | 只看该作者
那是怎么回事?

使用特权

评论回复
6
wenfen| | 2020-7-26 12:43 | 只看该作者
在执行SBCM语句时,CY=0,说明之前的减法不够减,要向此时的21H借一位,这时再执行SBCM 21H,0时,就相当于6-1-5=0

使用特权

评论回复
7
tian111|  楼主 | 2020-7-26 12:45 | 只看该作者
不是很理解……

使用特权

评论回复
8
songqian17| | 2020-7-26 12:49 | 只看该作者
例如62-54,先低位进行操作,即2-4,这时不够减,向高位6借1当10;高位减时,6就要先减去低位借的一,就变成5了.

使用特权

评论回复
9
gongche| | 2020-7-26 12:54 | 只看该作者
他怎么能知道借21H的一位呢?

使用特权

评论回复
10
huwr| | 2020-7-26 12:59 | 只看该作者
这是2个数做减法,21H保存第一个数的高位,20H保存第二个数的高位,低位做减法后,不够减,肯定是向自己的高位借位,就是21H了

使用特权

评论回复
11
huanghuac| | 2020-7-26 13:03 | 只看该作者
楼上正解

使用特权

评论回复
12
chenjunt| | 2020-7-26 13:07 | 只看该作者
中颖单片机是不是都是用汇编语言编程啊

使用特权

评论回复
13
tian111|  楼主 | 2020-7-26 13:13 | 只看该作者
哦,理解了,多谢

使用特权

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

本版积分规则

797

主题

8878

帖子

7

粉丝