--- Quote Start ---
You cant shift BCD numbers. you cant add them either. (easily anyway).
Wouldnt it be best to do a BCD -> binary conversion, do the multiplication, and then convert back?
--- Quote End ---
You can shift BCD numbers, but only by '4' bits at a time, which comes down by multiplying by 10 - decimal that is :)
I think that going from BCD to binary and back, is a bit cheating?
I peeked into the exercise (via the 'look inside' function on Amazon ...). Interesting book, but pricey :(
Just for the fun of doing it in BCD: you can do long multiplication per BCD digit as you would do per bit in standard binary. The adders would have to be BCD-capable, working with blocks of 4 binary bits and with appropriate carry-rules.
I'm not sure that the effort in converting from BCD to Binary and back to BCD would take less resources, or be any faster?