Why not just use one word value as the multiplier for the second in a FOR NEXT loop, and not even mess with large numbers?

Receive two words from your PC, then send (A*B) number of pulses.
Code:
A VAR WORD
B VAR WORD
X VAR WORD ' Outter loop
Y VAR WORD ' Inner loop

Out_Pulse:
FOR X = 0 TO A ' Send A*B pulses
  FOR Y = 0 TO B
    SEND PULSE HERE
  NEXT Y
NEXT X
GOTO ?
You have up to 65,536 * 65,536 pulses without a drop of math.