# Vault 7: Projects

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

### Protego

# PIC24FJ64GA004 - Programmers Reference Manual

- 1
- 2
…
- 490
- 491
- 492
- 493
- 494
…
- 501
- 502

DS70157F-page 492 © 2005-2011 Microchip Technology Inc.
MPY
Wm*Wm,Acc,[Wx],Wxd,[Wy],
Wyd
(2)
Square to accumulator 1 1
     
—
MPY.N
Wm*Wn,Acc,[Wx],Wxd,[Wy],
Wyd
(2)
-(Multiply Wn by Wm) to accumulator 1 1 0 0 — — 0 — —
MSC
Wm*Wn,Acc,[Wx],Wxd,[Wy],
Wyd,AWB
(2)
Multiply and subtract from accumulator 1 1
     
—
MUL f
W3:W2 = f * WREG 1 1 — — — — — — —
MUL.SS Wb,Ws,Wnd
{Wnd + 1,Wnd} = signed(Wb) * signed(Ws) 1 1 — — — — — — —
MUL.SS Wb,Ws,Acc
(4)
Accumulator = signed(Wb) * signed(Ws) 1 1 — — — — — — —
MUL.SU Wb,#lit5,Wnd
{Wnd + 1,Wnd} = signed(Wb) * unsigned(lit5) 1 1 — — — — — — —
MUL.SU Wb,Ws,Wnd
{Wnd + 1,Wnd} = signed(Wb) * unsigned(Ws) 1 1 — — — — — — —
MUL.SU Wb,Ws,Acc
(4)
Accumulator = signed(Wb) * unsigned(Ws) 1 1 — — — — — — —
MUL.SU Wb,#lit5,Acc
(4)
Accumulator = signed(Wb) * unsigned(lit5) 1 1 — — — — — — —
MUL.US Wb,Ws,Wnd
{Wnd + 1,Wnd} = unsigned(Wb) * signed(Ws) 1 1 — — — — — — —
MUL.US Wb,Ws,Acc
(4)
Accumulator = unsigned(Wb) * signed(Ws) 1 1 — — — — — — —
MUL.UU Wb,#lit5,Wnd
{Wnd + 1,Wnd} = unsigned(Wb) * unsigned(lit5) 1 1 — — — — — — —
MUL.UU Wb,Ws,Wnd
{Wnd + 1,Wnd} = unsigned(Wb) * unsigned(Ws) 1 1 — — — — — — —
MUL.UU Wb,Ws,Acc
(4)
Accumulator = unsigned(Wb) * unsigned(Ws) 1 1 — — — — — — —
MUL.UU Wb,#lit5,Acc
(4)
Accumulator = unsigned(Wb) * unsigned(lit5) 1 1 — — — — — — —
MULW.SS Wb,Ws,Wnd
(3)
Wnd = signed(Wb) * signed(Ws) 1 1 — — — — — — —
MULW.SU Wb,Ws,Wnd
(3)
Wnd = signed(Wb) * unsigned(Ws) 1 1 — — — — — — —
MULW.SU Wb,#lit5,Wnd
(3)
Wnd = signed(Wb) * unsigned(lit5) 1 1 — — — — — — —
MULW.US Wb,Ws,Wnd
(3)
Wnd = unsigned(Wb) * signed(Ws) 1 1 — — — — — — —
MULW.UU Wb,Ws,Wnd
(3)
Wnd = unsigned(Wb) * unsigned(Ws) 1 1 — — — — — — —
MULW.UU Wb,#lit5,Wnd
(3)
Wnd = unsigned(Wb) * unsigned(lit5) 1 1 — — — — — — —
NEG f {,WREG}
Destination = f + 1 1 1 — — — — — —

NEG Ws,Wd
Wd = Ws + 1 1 1 — — — — — —

NEG Acc
(2)
Negate accumulator 1 1
     
—
NOP
No operation 1 1 — — — — — — —
Table 7-2: Instruction Set Summary Table (Continued)
Assembly Syntax
Mnemonic, Operands
Description Words Cycles OA
(2)
OB
(2)
SA
(1,2)
SB
(1,2)
OAB
(2)
SAB
(1,2)
DC N O
Legend:
 set or cleared;  may be cleared, but never set;  may be set, but never cleared; ‘1’ always set; ‘0’ always cleared; — unchanged
Note 1: SA, SB and SAB are only modified if the corresponding saturation is enabled, otherwise unchanged.
2: This instruction/operand is only available in dsPIC30F, dsPIC33F, and dsPIC33E devices.
3: This instruction/operand is only available in PIC24E and dsPIC33E devices.
4: This instruction/operand is only available in dsPIC33E devices.
5: This instruction/operand is only available in PIC24F, PIC24H, dsPIC30F, and dsPIC33F devices.
6: This instruction/operand is only available in dsPIC30F and dsPIC33F devices.

- 1
- 2
…
- 490
- 491
- 492
- 493
- 494
…
- 501
- 502