打印

疑问

[复制链接]
1357|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuhuis|  楼主 | 2010-7-30 21:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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????
沙发
zhuhuis|  楼主 | 2010-7-30 22:00 | 只看该作者
是不是错了?

使用特权

评论回复
板凳
wenfen| | 2010-7-30 22:07 | 只看该作者
你有什么想法?

使用特权

评论回复
地板
zhuhuis|  楼主 | 2010-7-30 22:08 | 只看该作者
更正结果:
       例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???

使用特权

评论回复
5
huanghuac| | 2010-7-30 22:14 | 只看该作者
你的算法只是机械的按照语句的表达式去计算,这样是不对的.

使用特权

评论回复
6
zhuhuis|  楼主 | 2010-7-30 22:14 | 只看该作者
那是怎么回事?

使用特权

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

使用特权

评论回复
8
zhuhuis|  楼主 | 2010-7-30 22:24 | 只看该作者
不是很理解……

使用特权

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

使用特权

评论回复
10
zhuhuis|  楼主 | 2010-7-30 22:58 | 只看该作者
他怎么不想20H借一位?

使用特权

评论回复
11
zhuhuis|  楼主 | 2010-7-30 22:58 | 只看该作者
他怎么能知道借21H的一位呢?

使用特权

评论回复
12
huanghuac| | 2010-7-30 22:59 | 只看该作者
这是2个数做减法

使用特权

评论回复
13
huanghuac| | 2010-7-30 22:59 | 只看该作者
21H保存第一个数的高位,20H保存第二个数的高位,低位做减法后,不够减,肯定是向自己的高位借位,就是21H了

使用特权

评论回复
14
zhuhuis|  楼主 | 2010-7-30 23:02 | 只看该作者
哦,理解了,多谢

使用特权

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

本版积分规则

728

主题

8464

帖子

6

粉丝