Vault 7: Projects
This publication series is about specific projects related to the Vault 7 main publication.
16-bit MCU and DSC Programmer’s Reference Manual
DS70157F-page 332 © 2005-2011 Microchip Technology Inc.
MULW.UU
Integer 16x16-bit Unsigned Short Literal Multiply with
16-bit Result
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X
Syntax: {label:} MULW.UU Wb, #lit5, Wnd
Operands: Wb ∈ [W0 ... W15]
lit5 ∈ [0 ... 31]
Wnd ∈ [W0, W2, W4 ... W12]
Operation: unsigned (Wb) * unsigned → Wnd
Status Affected: None
Encoding:
1011 1000 0www wddd d11k kkkk
Description: Multiply the contents of Wb with a 5-bit literal value, and store the result
in a working registers, which must be an even numbered working
register). Both source operands and the result are interpreted as
unsigned integers. Register direct addressing must be used for Wb and
Wnd.
The ‘w’ bits select the address of the base register.
The ‘d’ bits select the address of the lower destination register.
The ‘k’ bits select the 5-bit literal value.
Note 1: This instruction operates in Word mode only.
2: Wnd must be an even working register.
3: Wnd may not be W14, since W15<0> is fixed to zero.
4: The IF bit and the US<1:0> bits in the CORCON register have
no effect on this operation.
Words: 1
Cycles: 1
Example 1:
MULW.UU W4, #0x04, W2 ; Multiply W4*W0 (unsigned-unsigned)
; Store the result to W2
Before
Instruction
After
Instruction
W2 2300 W2 4000
W4 1000 W4 1000
SR 0000 SR 0000
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ64GA004-Programmers_Reference_Manual.pdf