位置:51电子网 » 技术资料 » 仪器仪表

BCD码调整指令是一条专用的指令

发布时间:2016/7/10 18:12:25 访问次数:1899

   BCD码调整指令是一条专用的指令,用来实JCP8039-3现s021BCD码加法结果的调整,此指令为DA A

   这条指令对累加器A参与的BCD码加法运算结果进行十进制调整,使累加器A中的内容调整为两位压缩型BCD码的数,同时PsW中的CY表示结果的百位值。

   使用时必须注意,它只能跟在加法指令之后。

   DA A调整步骤:若A中的低4位大于9或辅助进位标志AC为“1”,则低4位加6;同样,A中的高4位大于9或进位标志CY为“1”,高4位加6。

   在gOc51中没有十进制减法调整指令,因此要用适当的方法编写程序段来进行十进制减法运算的BCD码调整。

   【例4.2"若A=49H,执行指令ADD A,#6BH的标志位结果是什么?

解 直接相加:                    。 由于两个正数相加结果为负数,表示出现了溢出,故oV=1;同时可以看到进位标志CY=0。在相加过程中,由于第3位相加产生对第4位的进位,故AC=1。又因为相加后A中的l的数目为偶数,故P=0。所以,结果是:A=B4H(溢出),oV=l,CY=0,AC=1,P=0。

   BCD码调整指令是一条专用的指令,用来实JCP8039-3现s021BCD码加法结果的调整,此指令为DA A

   这条指令对累加器A参与的BCD码加法运算结果进行十进制调整,使累加器A中的内容调整为两位压缩型BCD码的数,同时PsW中的CY表示结果的百位值。

   使用时必须注意,它只能跟在加法指令之后。

   DA A调整步骤:若A中的低4位大于9或辅助进位标志AC为“1”,则低4位加6;同样,A中的高4位大于9或进位标志CY为“1”,高4位加6。

   在gOc51中没有十进制减法调整指令,因此要用适当的方法编写程序段来进行十进制减法运算的BCD码调整。

   【例4.2"若A=49H,执行指令ADD A,#6BH的标志位结果是什么?

解 直接相加:                    。 由于两个正数相加结果为负数,表示出现了溢出,故oV=1;同时可以看到进位标志CY=0。在相加过程中,由于第3位相加产生对第4位的进位,故AC=1。又因为相加后A中的l的数目为偶数,故P=0。所以,结果是:A=B4H(溢出),oV=l,CY=0,AC=1,P=0。

上一篇:BCD码相加

上一篇:带进位加法指令

热门点击

 

推荐技术资料

驱动板的原理分析
    先来看看原理图。图8所示为底板及其驱动示意图,FM08... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!