Early microprocessors could add and subtract but didn't have multiply or divide instructions. The Intel 8086 processor (1978) fixed this with multiply and divide instructions, making life simpler for programmers. Multiplication used shift-and-add loops written in microcode.🧵
Binary multiplication is much like long grade-school multiplication, but simpler because each step is either 0 or the multiplicand. A processor can implement this by shifting the number and adding it in each cycle of a loop. For e.g. the 6502, this was done in assembly code.