編寫子程序Bin2BCD、BCD2Bin實現二進制數到壓縮BCD碼的相互轉換。待轉換的二進制數存放在w寄存器內,子程序調用完成后得到的BCD碼仍存放在w寄存器內返回。例如:
movlw .45 ; w=45call Bin2BCD ;nop ; w=0x45二進制數轉壓縮BCD碼的方法是將二進制碼左移8次,每次移位后都檢查低四位是否大于4,如果大于4則低四位加3,否則不加;高4位做同樣處理。
程序框圖:
因為壓縮BCD碼為十進制數,所以只要取其高四位和低四位,將高四位乘10D加上低四位即可。為了編程的方便,可以將乘10D轉化為累加10次。
程序框圖:
新聞熱點
疑難解答