BCD碼也叫十進(jìn)制編碼,它分為壓縮(一個字節(jié)存兩個十進(jìn)制位)和不壓縮(一個字節(jié)存一個十進(jìn)制位)兩種形式,下面我們以壓縮為例。
壓縮BCD碼分為8421碼、余3碼和格雷碼。
8421碼和十六進(jìn)制很接近,就是去掉>9以上的值。
余3碼是無權(quán)碼,有較好的校驗(yàn)性,具體就是編碼比被表示碼大3。
格雷碼是無權(quán)碼,相鄰的數(shù)只差1個二進(jìn)制位,具有很強(qiáng)的抗干擾能力。
下面是三種編碼的表:
具體值: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
8421碼: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001
余 3碼:0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100
格雷碼: 0000, 0001, 0011, 0010, 0110, 0111, 0101, 0100, 1100, 1101
非壓縮的,就是前面4位2進(jìn)制為0000
匯編語言可以對使用8421的BCD碼進(jìn)行直接運(yùn)算—
DAA:壓縮BCD碼加法
DAS:壓縮BCD碼減法
AAA:非壓縮BCD碼加法
AAS:非壓縮BCD碼減法
AAM:非壓縮BCD碼乘法
AAD:非壓縮BCD碼除法
非8421的可以采用上表轉(zhuǎn)換然后再運(yùn)算。