Multiplier via Shifts

Hard Assembly Math
Solve this problem

Implement a multiplier routine using only shifts and adds in ARM assembly. Support 32-bit signed integers and handle negative cases.

Constraints

  • r0 = a, r1 = b.
  • Use shift-and-add algorithm.
  • Support negative multiplicands.
  • Return product in r0.
Starter codeAssembly
1.global mul_shift2mul_shift:3    ; TODO