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 312 © 2005-2011 Microchip Technology Inc.
MUL.SU
Integer 16x16-bit Signed-Unsigned Multiply with
Accumulator Destination
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X
Syntax: {label:} MUL.SU Wb, Ws,
[Ws], A
[Ws++], B
[Ws--],
[++Ws],
[--Ws],
Operands: Wb ∈ [W0 ... W15]
Ws ∈ [W0 ... W15]
ACC ∈ [A, B]
Operation: signed (Wb) * unsigned (Ws) → ACC(A or B)
Status Affected: None
Encoding:
1011 1001 0www w111 Appp ssss
Description: Performs a 16-bit x 16-bit signed multiply with a 32-bit result, which is
stored in one of the DSP engine accumulators, ACCA or ACCB. The
32-bit result is sign 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>). The first source operand is interpreted as a
two’s complement signed value and the second source operand is
interpreted as an unsigned value.
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”
.
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ64GA004-Programmers_Reference_Manual.pdf