IP2022 Users ManualInstruction Set Architecture
www.ubicom.com
177
Example:
muls w,0x099;signed multiply,
;0x099 by W into MULH and W
This example multiplies the contents of the data
memory location at address 0x099 by the
contents of W into W. The high byte of the result
is loaded into the MULH register, and the low byte
is loaded into W.
If W holds 0x07 and 0x099 holds 0x06, the result
loaded into MULH || W will be 0x002A (42
decimal).
If W holds 0xF9 (-7 decimal) and 0x099 holds
0x06, the result loaded into MULH || W will be
0xFFD6 (-42 decimal).
If W holds 0xF9 (-7 decimal) and 0x099 holds
0xFA (-6 decimal), the result loaded into MULH ||
W will be 0x002A (42 decimal).