English
Language : 

PIC24EP256GU810-I Datasheet, PDF (491/622 Pages) Electronic Film Capacitors, Inc. – 16-Bit Microcontrollers and Digital Signal Controllers with High-Speed PWM, USB and Advanced Analog
dsPIC33EPXXX(GP/MC/MU)806/810/814 and PIC24EPXXX(GP/GU)810/814
TABLE 30-2: INSTRUCTION SET OVERVIEW (CONTINUED)
Base
Instr
#
Assembly
Mnemonic
Assembly Syntax
Description
# of
# of Status Flags
Words Cycles(2) Affected
46 MOV
MOV
f,Wn
Move f to Wn
1
1
None
MOV
f
Move f to f
1
1
None
MOV
f,WREG
Move f to WREG
1
1
None
MOV
#lit16,Wn
Move 16-bit literal to Wn
1
1
None
MOV.b #lit8,Wn
Move 8-bit literal to Wn
1
1
None
MOV
Wn,f
Move Wn to f
1
1
None
MOV
Wso,Wdo
Move Ws to Wd
1
1
None
MOV
WREG,f
Move WREG to f
1
1
None
MOV.D Wns,Wd
Move Double from W(ns):W(ns + 1) to Wd 1
2
None
MOV.D Ws,Wnd
Move Double from Ws to W(nd + 1):W(nd) 1
2
None
47 MOVPAG MOVPAG #lit10,DSRPAG
Move 10-bit literal to DSRPAG
1
1
None
MOVPAG #lit9,DSWPAG
Move 9-bit literal to DSWPAG
1
1
None
MOVPAG #lit8,TBLPAG
Move 8-bit literal to TBLPAG
1
1
None
MOVPAGW Ws, DSRPAG
Move Ws<9:0> to DSRPAG
1
1
None
MOVPAGW Ws, DSWPAG
Move Ws<8:0> to DSWPAG
1
1
None
MOVPAGW Ws, TBLPAG
Move Ws<7:0> to TBLPAG
1
48 MOVSAC MOVSAC Acc,Wx,Wxd,Wy,Wyd,AWB(1)
Prefetch and store accumulator
1
49 MPY
MPY
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd(1)
Multiply Wm by Wn to Accumulator
1
MPY
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd(1)
Square Wm to Accumulator
1
50 MPY.N
MPY.N
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd(1)
-(Multiply Wm by Wn) to Accumulator
1
51 MSC
MSC
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd,AWB(1) Multiply and Subtract from Accumulator
1
1
None
1
None
1
OA,OB,OAB,
SA,SB,SAB
1
OA,OB,OAB,
SA,SB,SAB
1
None
1
OA,OB,OAB,
SA,SB,SAB
52 MUL
MUL.SS Wb,Ws,Wnd
MUL.SS Wb,Ws,Acc(1)
{Wnd + 1, Wnd} = signed(Wb) *
signed(Ws)
1
1
Accumulator = signed(Wb) * signed(Ws) 1
1
None
None
MUL.SU Wb,Ws,Wnd
MUL.SU Wb,Ws,Acc(1)
MUL.SU Wb,#lit5,Acc(1)
{Wnd + 1, Wnd} = signed(Wb) *
unsigned(Ws)
Accumulator = signed(Wb) *
unsigned(Ws)
Accumulator = signed(Wb) *
unsigned(lit5)
1
1
1
1
1
1
None
None
None
MUL.US Wb,Ws,Wnd
MUL.US Wb,Ws,Acc(1)
{Wnd + 1, Wnd} = unsigned(Wb) *
signed(Ws)
Accumulator = unsigned(Wb) *
signed(Ws)
1
1
1
1
None
None
MUL.UU Wb,Ws,Wnd
MUL.UU Wb,#lit5,Acc(1)
MUL.UU Wb,Ws,Acc(1)
{Wnd + 1, Wnd} = unsigned(Wb) *
unsigned(Ws)
Accumulator = unsigned(Wb) *
unsigned(lit5)
Accumulator = unsigned(Wb) *
unsigned(Ws)
1
1
1
1
1
1
None
None
None
MULW.SS Wb,Ws,Wnd
Wnd = signed(Wb) * signed(Ws)
1
1
None
MULW.SU Wb,Ws,Wnd
Wnd = signed(Wb) * unsigned(Ws)
1
1
None
MULW.US Wb,Ws,Wnd
Wnd = unsigned(Wb) * signed(Ws)
1
1
None
MULW.UU Wb,Ws,Wnd
Wnd = unsigned(Wb) * unsigned(Ws)
1
1
None
MUL.SU Wb,#lit5,Wnd
{Wnd + 1, Wnd} = signed(Wb) *
unsigned(lit5)
1
1
None
MUL.SU Wb,#lit5,Wnd
Wnd = signed(Wb) * unsigned(lit5)
1
1
None
MUL.UU Wb,#lit5,Wnd
{Wnd + 1, Wnd} = unsigned(Wb) *
unsigned(lit5)
1
1
None
MUL.UU Wb,#lit5,Wnd
Wnd = unsigned(Wb) * unsigned(lit5)
1
1
None
MUL
f
W3:W2 = f * WREG
1
1
None
Note 1: This instruction is available in dsPIC33EPXXX(GP/MC/MU)806/810/814 devices only.
2: Read and Read-Modify-Write (e.g., bit operations and logical operations) on non-CPU SFRs incur an additional instruction cycle.
 2009-2012 Microchip Technology Inc.
DS70616G-page 491