打印

大家帮我看看程序

[复制链接]
1031|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huwr|  楼主 | 2011-11-24 11:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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????
沙发
happy_10| | 2011-11-24 11:14 | 只看该作者
你有什么想法?

使用特权

评论回复
板凳
huwr|  楼主 | 2011-11-24 11:18 | 只看该作者
更正结果:
       例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???

使用特权

评论回复
地板
wenfen| | 2011-11-24 11:25 | 只看该作者
你的算法只是机械的按照语句的表达式去计算,这样是不对的.

使用特权

评论回复
5
huwr|  楼主 | 2011-11-24 11:29 | 只看该作者
那是怎么回事?

使用特权

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

使用特权

评论回复
7
huwr|  楼主 | 2011-11-24 11:42 | 只看该作者
不是很理解……

使用特权

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

使用特权

评论回复
9
happy_10| | 2011-11-24 12:14 | 只看该作者
他怎么能知道借21H的一位呢?

使用特权

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

使用特权

评论回复
11
huwr|  楼主 | 2011-11-24 12:34 | 只看该作者
哦,理解了,多谢

使用特权

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

本版积分规则

780

主题

8627

帖子

5

粉丝