You copied the Doc URL to your clipboard.

3.5.6. MULS

Multiply using 32-bit operands, and producing a 32-bit result.


MULS Rd, Rn, Rm



Is the destination register.

Rn, Rm

Are registers holding the values to be multiplied.


The MUL instruction multiplies the values in the registers specified by Rn and Rm, and places the least significant 32 bits of the result in Rd. The condition code flags are updated on the result of the operation, see Conditional execution.

The results of this instruction do not depend on whether the operands are signed or unsigned.


In this instruction:

  • Rd, Rn, and Rm must only specify R0-R7.

  • Rd must be the same as Rm.

Condition flags

This instruction:

  • Updates the N and Z flags according to the result.

  • Does not affect the C or V flags.


    MULS    R0, R2, R0      ; Multiply with flag update, R0 = R0 x R2
Was this page helpful? Yes No