# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# PIC24FJ64GA004 - Programmers Reference Manual

- 1
- 2
…
- 312
- 313
- 314
- 315
- 316
…
- 501
- 502

16-bit MCU and DSC Programmer’s Reference Manual
DS70157F-page 314 © 2005-2011 Microchip Technology Inc.
MUL.SU
Integer 16x16-bit Signed-Unsigned Short Literal Multiply
with Accumulator Destination
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X
Syntax: {label:} MUL.SU Wb, #lit5, A
B
Operands: Wb ∈ [W0 ... W15]
lit5 ∈ [0 ... 31]
ACC ∈ [A, B]
Operation: signed (Wb) * unsigned (lit5) → ACC(A or B)
Status Affected: None
Encoding:
1011 1001 0www w111 A11k kkkk
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 ‘k’ bits select the 5-bit literal value.
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
Example 1:
MUL.SU W8, #0x02, A
Before
Instruction
After
Instruction
W8 0042 W8 0042
Acc A 00 0000 0000 Acc A 00 0000 0084
SR 0000 SR 0000

- 1
- 2
…
- 312
- 313
- 314
- 315
- 316
…
- 501
- 502