DAA指令和DAS指令

1.

DAA(Decimal Adjust After Addition)
组合(压缩)BCD码的加法调整指令。
格式:DAA
功能:将AL的内容调整为两位组合型的二进制数。调整方法与AAA指令类似,不同的是DAA指令要分别考虑AL的高4位和低4位。
如果AL的低4位大于9或AF=1,则AL的内容加06H,并将AF置1;

如果AL的高4位大于9或CF=1,则AL的内容加60H,且将CF置1。

 

 

2.

DAS(Decimal Adjust for Subtraction)
组合(压缩)BCD码的加法调整指令。
格式:DAS
功能:
如果AL低四位>9或AF=1 ,则AL的值减06h,并置AF=1
如果AL高四位>9或CF=1 ,则AL的值减60h ,且置CF=1

 

参考资源链接:[压缩BCD码调整指令详解:DAADAS在8086微处理器中的应用](https://wenku.csdn.net/doc/50u7sxdu46?utm_source=wenku_answer2doc_content) 要在8086微处理器中使用DAADAS指令进行加法减法操作后的压缩BCD码调整,首先需要理解DAA(加法调整)DAS(减法调整)指令的工作原理及其在BCD码运算中的应用。这两个指令的主要功能是在执行加法或减法运算后,根据运算结果调整AL寄存器中的内容,使之符合压缩BCD码的格式。以下是具体步骤: 1. 加法调整(DAA):在执行了加法指令后(如ADD或ADC),AL寄存器中的二进制数可能超出了压缩BCD码的表示范围。此时,应立即执行DAA指令DAA指令会检查AL寄存器中的低四位高四位,以及标志寄存器中的辅助进位标志位AF进位标志位CF。根据这些信息,DAA可能会在AL寄存器中增加06H或60H,以修正结果使其成为正确的BCD码,并相应地设置AFCF标志位。 2. 减法调整(DAS):执行减法运算后(如SUB或SBB),若结果需要转换为压缩BCD码,应使用DAS指令DAS指令同样会检查AL寄存器的内容以及AFCF标志位,并根据需要从AL中减去06H或60H,调整结果并设置相应的标志位。 在使用这些指令时,需要注意的是,DAADAS指令只有在之前执行了加法或减法指令后才能正确工作,它们必须紧随其后执行。此外,应当熟悉相关的标志位设置清除机制,以确保调整后的结果正确反映在相应的标志位上。 为了更深入地理解DAADAS指令的使用,建议参考《压缩BCD码调整指令详解:DAADAS在8086微处理器中的应用》这篇复习资料。它详细介绍了这些指令的内部工作机制,以及如何在实际编程中应用它们进行有效的BCD码运算调整。通过学习实践,你可以熟练掌握这些指令,以应对更复杂的编程挑战。 参考资源链接:[压缩BCD码调整指令详解:DAADAS在8086微处理器中的应用](https://wenku.csdn.net/doc/50u7sxdu46?utm_source=wenku_answer2doc_content)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值