# Vault 7: Projects

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

### Protego

# PIC24FJ64GA004 - Programmers Reference Manual

- 1
- 2
…
- 315
- 316
- 317
- 318
- 319
…
- 501
- 502

© 2005-2011 Microchip Technology Inc. DS70157F-page 317
Section 5. Instruction Descriptions
Instruction
Descriptions
5
MUL.US
Integer 16x16-bit Unsigned-Signed Multiply with
Accumulator Destination
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X
Syntax: {label:} MUL.US Wb, Ws, A
[Ws], B
[Ws++],
[Ws--],
[++Ws],
[--Ws],
Operands: Wb ∈ [W0 ... W15]
Ws ∈ [W0 ... W15]
ACC ∈ [A, B]
Operation: unsigned (Wb) * signed (Ws) → ACC(A or B)
Status Affected: None
Encoding:
1011 1000 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
unsigned value and the second source operand is interpreted as a two’s
complement signed 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”
.

- 1
- 2
…
- 315
- 316
- 317
- 318
- 319
…
- 501
- 502