BCD码分为组合BCD码和非组合BCD码(ASCII码)。
组合BCD码是通常的8421码,它用4个二进制位表示一个十进制位,一个字节可以表示两个十进制位,即00~99。
MOV AL,68H ;AL=68H,表示压缩BCD码68
MOV BL,28H ;BL=28H;表示压缩BCD码28
ADD AL,BL ;二进制加法:AL=68H+28H=90H
DAA ; 十进制调整:AL=96H
非组合BCD码用8个二进制位表示一个十进制位,实际上只是用低4个二进制位表示一个十进制位0~9,高4位任意,但通常默认为0。ASCII码中0~9的编码是30H~39H,所以0~9的ASCII码(高4位变为0)就可以认为是非压缩BCD码。
MOV AX,0608H ;AX=0608H,表示非压缩BCD码68
MOV BL,09H ;BL=09H,表示非压缩BCD码9
ADD AL,BL ;二进制加法:AL=08H+09=11H
AAA ;十进制调整:AX=0707H
本文详细解析了BCD码与ASCII码的概念,包括组合BCD码和非组合BCD码(ASCII码)的特点。通过具体的指令示例,如MOV和ADD等,展示了在计算机中如何处理这两种编码,以及进行十进制调整的过程。
2666

被折叠的 条评论
为什么被折叠?



