UMULL
Unsigned Long Multiply, with 32-bit operands, and 64-bit result.
Syntax
UMULL
{S
}{
}
cond
, RdLo
,
RdHi
, Rn
Rm
where:
S
is an optional suffix available in A32 state only. If S is specified, the condition flags are updated based on the result of the operation.
cond
is an optional condition code.
RdLo
,RdHi
are the destination registers.
RdLo
andRdHi
must be different registers.Rn, Rm
are ARM registers holding the operands.
Operation
The UMULL
instruction interprets the values from Rn
and
Rm
as unsigned integers. It multiplies these integers and places the
least significant 32 bits of the result in RdLo
, and the most significant
32 bits of the result in RdHi
.
Register restrictions
You cannot use PC for any operand.
You can use SP in A32 instructions but this is deprecated. You cannot use SP in T32 instructions.
Condition flags
If S is specified, this instruction:
- Updates the N and Z flags according to the result.
- Does not affect the C or V flags.
Architectures
This instruction is available in A32 and T32.
There is no 16-bit version of this instruction in T32.
Example
UMULL r0, r4, r5, r6