Se parecen bastante a las que vi en el libro de programacion de la microchip,es que en asm las variante no son muchas para un mismo proposito.
Aqui mi aporte con estas macros de BCD2BIN y BIN2BCD para C
#define BCD2BIN(val) (((val)&15) + ((val)>>4)*10)
#define BIN2BCD(val) ((((val)/10)<<4) + (val)%10)
Corren sin modificar en los micros Atmel AVR,Microchip PIC xxxxxx,MPS430,ARM.