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 322 © 2005-2011 Microchip Technology Inc.
MUL.UU
Integer 16x16-bit Unsigned Multiply with Accumulator
Destination
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X
Syntax: {label:} MUL.UU Wb, Ws, A
[Ws], B
[Ws++],
[Ws--],
[++Ws],
[--Ws],
Operands: Wb ∈ [W0 ... W15]
Ws ∈ [W0 ... W15]
ACC ∈ [A, B]
Operation: unsigned (Wb) * unsigned (Ws) → ACC(A or B)
Status Affected: None
Encoding:
1011 1000 0www w111 Appp ssss
Description: Performs a 16-bit x 16-bit unsigned multiply with a 32-bit result, which is
stored in one of the DSP engine accumulators, ACCA or ACCB. The
32-bit result is zero extended to bit 39 prior to being loaded into the
target accumulator.
The source operands are treated as integer or fractional values
depending upon the operating mode of the DSP engine (as defined by
the IF bit in CORCON<0>). Both source operands are treated as
unsigned values.
The ‘w’ bits select the address of the base register.
The ‘d’ bits select the address of the source register.
The ‘p’ bits select source Address mode 2.
The ‘A’ bit selects the destination accumulator for the product.
Note 1: This instruction operates in Word mode only.
2: The state of the multiplier mode bits (US<1:0> in CORCON)
have no effect upon the operation of this instruction.
Words: 1
Cycles:
1
(1)
Note 1:
In dsPIC33E and PIC24E devices, the listed cycle count does not apply to read and
read-modify-write operations on non-CPU Special Function Registers. For more
details, see
Note 3
in
Section 3.2.1 “Multi-Cycle Instructions”
.
Example 1:
MUL.UU W4, W0, B
Before
Instruction
After
Instruction
W0 FFFFF W0 FFFFF
W4 FFFFF W4 FFFFF
Acc B 00 0000 0000 Acc B FF FFFE 0001
SR 0000 SR 0000
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ64GA004-Programmers_Reference_Manual.pdf