编写子程序Bin2BCD、BCD2Bin完成二进制数到紧缩BCD码的彼此转化。待转化的二进制数存放在w寄存器内,子程序调用完成后得到的BCD码仍存放在w寄存器内回来。例如:
movlw .45 ; w=45
call Bin2BCD ;
nop ; w=0x45
一、完成二进制数到紧缩BCD码的转化
二进制数转紧缩BCD码的办法是将二进制码左移8次,每次移位后都查看低四位是否大于4,假如大于4则低四位加3,不然不加;高4位做相同处理。
程序框图:
二、完成紧缩BCD码到二进制数的转化
由于紧缩BCD码为十进制数,所以只需取其高四位和低四位,将高四位乘10D加上低四位即可。为了编程的便利,能够将乘10D转化为累加10次。
程序框图: