BCD码指令 AAA DAA AAS DAS AAM AAD

本文详细介绍了8086/8088处理器中的BCD码(十进制数)运算指令,包括非压缩型和压缩型BCD码的加法调整指令AAA、DAA,减法调整指令AAS、DAS,以及乘法调整指令AAM和除法调整指令AAD。这些指令用于对十进制数的运算结果进行修正,以确保得到正确的BCD码表示的结果。
摘要由CSDN通过智能技术生成

十进制数(BCD码)运算指令

    在计算机中十进制数是用BCD码来表示的,BCD码有两类:一类叫压缩型BCD码,一类叫非压缩型BCD码。用BCD码进行加、减、乘、除运算,通常采用两种方法:一种是在指令系统中设置一套专用于BCD码运算的指令;另一种是利用二进制数的运算指令算出结果,然后再用专门的指令对结果进行修正(调整),使之转变为正确的BCD码表示的结果。8086/8088指令系统所采用的是后一种方法。

    在进行十进制数算术运算时,应分两步进行:

    ① 先按二进制数运算规则进行运算,得到中间结果。

    ② 再用十进制调整指令对中间结果进行修正,得到正确的结果。

 下面通过几个例子说明BCD码运算为什么要调整以及怎样调整。

结果正确,这时调整指令不需要做什么。

    结果不正确,因为在进行二进制加法运算时,低4位向高4位有一个进位,这个进位是按十六进制进行的,即低4位逢十六才进一,而十进制数应是逢十进一。因此,比正确结果少6,这时,调整指令应在低4位上加6。即:


    加法运算后,低4位若向高4位有进位(即AF=1)时,调整指令应做加06H处理。

   

    加法运算后,低4位>9时,调整指令需做加06H处理;高4位>9时,调整指令需做加60H处理。

   

    加法运算后,当CF=1(有进位产生)时,调整指令应做加60H处理。

    前面我们已经详细地介绍了二进制数的算术运算指令,下面主要介绍十进制数(BCD码)的调整指令。

    ⒈ 十进制加法的调整指令

    根据BCD码的种类,对BCD码加法进行十进制调整的指令有两条AAA和DAA。

    ⑴ 非压缩型BCD码加法调整指令AAA (ASCII Adjus

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值