Datasheet
dsPIC30F6010A/6015
DS70150E-page 170 © 2011 Microchip Technology Inc.
35 FBCL FBCL Ws,Wnd Find Bit Change from Left (MSb) Side 1 1 C
36 FF1L FF1L
Ws,Wnd
Find First One from Left (MSb) Side 1 1 C
37 FF1R FF1R
Ws,Wnd
Find First One from Right (LSb) Side 1 1 C
38 GOTO GOTO
Expr
Go to address 2 2 None
GOTO
Wn
Go to indirect 1 2 None
39 INC INC
f
f = f + 1 1 1 C,DC,N,OV,Z
INC
f,WREG
WREG = f + 1 1 1 C,DC,N,OV,Z
INC
Ws,Wd
Wd = Ws + 1 1 1 C,DC,N,OV,Z
40 INC2 INC2
f
f = f + 2 1 1 C,DC,N,OV,Z
INC2
f,WREG
WREG = f + 2 1 1 C,DC,N,OV,Z
INC2
Ws,Wd
Wd = Ws + 2 1 1 C,DC,N,OV,Z
41 IOR IOR
f
f = f .IOR. WREG 1 1 N,Z
IOR
f,WREG
WREG = f .IOR. WREG 1 1 N,Z
IOR
#lit10,Wn
Wd = lit10 .IOR. Wd 1 1 N,Z
IOR
Wb,Ws,Wd
Wd = Wb .IOR. Ws 1 1 N,Z
IOR
Wb,#lit5,Wd
Wd = Wb .IOR. lit5 1 1 N,Z
42 LAC LAC
Wso,#Slit4,Acc
Load Accumulator 1 1 OA,OB,OAB,
SA,SB,SAB
43 LNK LNK
#lit14
Link Frame Pointer 1 1 None
44 LSR LSR
f
f = Logical Right Shift f 1 1 C,N,OV,Z
LSR
f,WREG
WREG = Logical Right Shift f 1 1 C,N,OV,Z
LSR
Ws,Wd
Wd = Logical Right Shift Ws 1 1 C,N,OV,Z
LSR
Wb,Wns,Wnd
Wnd = Logical Right Shift Wb by Wns 1 1 N,Z
LSR
Wb,#lit5,Wnd
Wnd = Logical Right Shift Wb by lit5 1 1 N,Z
45 MAC MAC
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd,
AWB
Multiply and Accumulate 1 1 OA,OB,OAB,
SA,SB,SAB
MAC
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd
Square and Accumulate 1 1 OA,OB,OAB,
SA,SB,SAB
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
MOV.D
Ws,Wnd
Move Double from Ws to W(nd + 1):W(nd) 1 2 None
47 MOVSAC MOVSAC
Acc,Wx,Wxd,Wy,Wyd,AWB
Prefetch and store Accumulator 1 1 None
48 MPY MPY
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd
Multiply Wm by Wn to Accumulator 1 1 OA,OB,OAB,
SA,SB,SAB
MPY
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd
Square Wm to Accumulator 1 1 OA,OB,OAB,
SA,SB,SAB
49 MPY.N MPY.N
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd
-(Multiply Wm by Wn) to Accumulator 1 1 None
50 MSC MSC
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd,
AWB
Multiply and Subtract from Accumulator 1 1 OA,OB,OAB,
SA,SB,SAB
51 MUL MUL.SS Wb,Ws,Wnd {Wnd + 1, Wnd} = signed(Wb) * signed(Ws) 1 1 None
MUL.SU
Wb,Ws,Wnd
{Wnd + 1, Wnd} = signed(Wb) * unsigned(Ws) 1 1 None
MUL.US
Wb,Ws,Wnd
{Wnd + 1, Wnd} = unsigned(Wb) * signed(Ws) 1 1 None
MUL.UU
Wb,Ws,Wnd
{Wnd + 1, Wnd} = unsigned(Wb) * unsigned(Ws) 1 1 None
MUL.SU
Wb,#lit5,Wnd
{Wnd + 1, Wnd} = signed(Wb) * unsigned(lit5) 1 1 None
MUL.UU
Wb,#lit5,Wnd
{Wnd + 1, Wnd} = unsigned(Wb) * unsigned(lit5) 1 1 None
MUL
f
W3:W2 = f * WREG 1 1 None
TABLE 22-2: INSTRUCTION SET OVERVIEW (CONTINUED)
Base
Instr
#
Assembly
Mnemonic
Assembly Syntax Description
# of
words
# of
cycles
Status Flags
Affected