打印

大家帮我看看程序

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

使用特权

评论回复
板凳
supernan|  楼主 | 2011-5-9 13: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???

使用特权

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

使用特权

评论回复
5
supernan|  楼主 | 2011-5-9 14:11 | 只看该作者
那是怎么回事?

使用特权

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

使用特权

评论回复
7
supernan|  楼主 | 2011-5-9 14:54 | 只看该作者
不是很理解……

使用特权

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

使用特权

评论回复
9
chenho| | 2011-5-9 15:22 | 只看该作者
他怎么不想20H借一位?

使用特权

评论回复
10
司徒老鹰| | 2011-5-9 15:48 | 只看该作者
是啊,他怎么能知道借21H的一位呢?

使用特权

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

使用特权

评论回复
12
supernan|  楼主 | 2011-5-9 16:11 | 只看该作者
哦,理解了,多谢

使用特权

评论回复
13
bnyuli| | 2011-5-10 11:46 | 只看该作者
还会有多少个理解在里面能让人感到更明显的脚步和方向

使用特权

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

本版积分规则

730

主题

10412

帖子

6

粉丝