For these micros that lack multiply and divide instructions, you'll need to either develop or purchase an integer math package. For simple multiplications, though, you'll find that specialized functions are much faster. As you know, a multiplication by 2 is the same as shifting a binary number to the left by one bit. The number 3, written in binary as 0011, multiplied by 2 yields 6, binary 0110. Shifts execute fast on micros as do add instructions and you can use this shifting and adding to quickly perform multiplies of constant values.
Integer multiplication is really just a shortcut for multiple additions.
Most C compilers on a PC do simple constant multiplication in this manner. These constant multiplications are convenient but just remember to make sure that you watch out for overflow problems. A lot of the instruments and software I design involve higher-order mathematics and as such, the program is constantly calculating polynomials. It also doesn't require any intermediate storage of each newly calculated term. In one instrument I designed, there was a fifth order polynomial divided by another fifth order polynomial.