打印
[其它应用]

CY 会被置1,否则置0

[复制链接]
353|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangzsa|  楼主 | 2017-9-23 18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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????
沙发
zhuww| | 2017-9-23 18:36 | 只看该作者

你有什么想法?

使用特权

评论回复
板凳
wangzsa|  楼主 | 2017-9-23 18:40 | 只看该作者

更正结果:
       例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???

使用特权

评论回复
地板
zhanglli| | 2017-9-23 18:41 | 只看该作者


你的算法只是机械的按照语句的表达式去计算,这样是不对的.

使用特权

评论回复
5
wangzsa|  楼主 | 2017-9-23 18:43 | 只看该作者


那是怎么回事?

使用特权

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

使用特权

评论回复
7
wangzsa|  楼主 | 2017-9-23 18:46 | 只看该作者
不是很理解……

使用特权

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

使用特权

评论回复
9
hanwe| | 2017-9-23 18:49 | 只看该作者

他怎么能知道借21H的一位呢?

使用特权

评论回复
10
yufe| | 2017-9-23 18:52 | 只看该作者

这是2个数做减法,21H保存第一个数的高位,20H保存第二个数的高位,低位做减法后,不够减,肯定是向自己的高位借位,就是21H了

使用特权

评论回复
11
langgq| | 2017-9-23 18:54 | 只看该作者
楼上正解

使用特权

评论回复
12
wangzsa|  楼主 | 2017-9-23 18:55 | 只看该作者

哦,理解了,多谢

使用特权

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

本版积分规则

914

主题

9040

帖子

5

粉丝