You can also get an extra bit sometimes by using the carry flag, assuming this processor has one and shift/rotate instructions that go through it. Shift left through the carry bit gives you *2 with the most significant bit hanging out in the carry, and shift-right does the same thing for divide but with the least significant bit there.
There are also vast math routines available for tiny micros like this, but maybe more effort and difficulty than needed.
Aw rats, I just remembered you're using some higher level language to program these. I have no idea if they use the carry bit sensibly or give you access to shift commands.
Edit: is there some flag to let you know you've overflowed? Then you could just handle that case as two moves.
There are also vast math routines available for tiny micros like this, but maybe more effort and difficulty than needed.
Aw rats, I just remembered you're using some higher level language to program these. I have no idea if they use the carry bit sensibly or give you access to shift commands.
Edit: is there some flag to let you know you've overflowed? Then you could just handle that case as two moves.