BCD码

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

你可能感兴趣的:(硬件/底层)