dsPIC30F2011/2012/3012/3013
TABLE 18-2: INSTRUCTION SET OVERVIEW (CONTINUED)
Base
Instr
#
Assembly
Mnemonic
Assembly Syntax
Description
# of
Words
# of
Cycle
s
48
MPY
MPY
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd
Multiply Wm by Wn to Accumulator
1
1
MPY
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd
Square Wm to Accumulator
1
1
49
MPY.N
MPY.N
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd
-(Multiply Wm by Wn) to Accumulator
1
1
50
MSC
MSC
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd Multiply and Subtract from Accumulator
,
AWB
1
1
51
MUL
MUL.SS Wb,Ws,Wnd
{Wnd+1, Wnd} = signed(Wb) * signed(Ws)
1
1
MUL.SU Wb,Ws,Wnd
{Wnd+1, Wnd} = signed(Wb) *
unsigned(Ws)
1
1
MUL.US Wb,Ws,Wnd
{Wnd+1, Wnd} = unsigned(Wb) *
signed(Ws)
1
1
MUL.UU Wb,Ws,Wnd
{Wnd+1, Wnd} = unsigned(Wb) *
unsigned(Ws)
1
1
MUL.SU Wb,#lit5,Wnd
{Wnd+1, Wnd} = signed(Wb) * unsigned(lit5) 1
1
MUL.UU Wb,#lit5,Wnd
{Wnd+1, Wnd} = unsigned(Wb) *
unsigned(lit5)
1
1
MUL
f
W3:W2 = f * WREG
1
1
52
NEG
NEG
Acc
Negate Accumulator
1
1
53
NOP
54
POP
NEG
NEG
NEG
NOP
NOPR
POP
POP
POP.D
f
f,WREG
Ws,Wd
f
Wdo
Wnd
POP.S
55
PUSH
PUSH
f
PUSH
Wso
PUSH.D Wns
PUSH.S
56
PWRSAV PWRSAV
#lit1
57
RCALL
RCALL Expr
RCALL Wn
58
REPEAT REPEAT #lit14
REPEAT Wn
59
RESET
RESET
60
RETFIE
RETFIE
61
RETLW
RETLW #lit10,Wn
62
RETURN RETURN
63
RLC
RLC
f
RLC
f,WREG
RLC
Ws,Wd
64
RLNC
RLNC
f
RLNC
f,WREG
RLNC
Ws,Wd
65
RRC
RRC
f
RRC
f,WREG
RRC
Ws,Wd
f=f+1
1
1
WREG = f + 1
1
1
Wd = Ws + 1
1
1
No Operation
1
1
No Operation
1
1
Pop f from top-of-stack (TOS)
1
1
Pop from top-of-stack (TOS) to Wdo
1
1
Pop from top-of-stack (TOS) to
W(nd):W(nd+1)
1
2
Pop Shadow Registers
1
1
Push f to top-of-stack (TOS)
1
1
Push Wso to top-of-stack (TOS)
1
1
Push W(ns):W(ns+1) to top-of-stack (TOS)
1
2
Push Shadow Registers
1
1
Go into Sleep or Idle mode
1
1
Relative Call
1
2
Computed Call
1
2
Repeat Next Instruction lit14+1 times
1
1
Repeat Next Instruction (Wn)+1 times
1
1
Software device Reset
1
1
Return from interrupt
1
3 (2)
Return with literal in Wn
1
3 (2)
Return from Subroutine
1
3 (2)
f = Rotate Left through Carry f
1
1
WREG = Rotate Left through Carry f
1
1
Wd = Rotate Left through Carry Ws
1
1
f = Rotate Left (No Carry) f
1
1
WREG = Rotate Left (No Carry) f
1
1
Wd = Rotate Left (No Carry) Ws
1
1
f = Rotate Right through Carry f
1
1
WREG = Rotate Right through Carry f
1
1
Wd = Rotate Right through Carry Ws
1
1
Status Flags
Affected
OA,OB,OAB,
SA,SB,SAB
OA,OB,OAB,
SA,SB,SAB
None
OA,OB,OAB,
SA,SB,SAB
None
None
None
None
None
None
None
OA,OB,OAB,
SA,SB,SAB
C,DC,N,OV,Z
C,DC,N,OV,Z
C,DC,N,OV,Z
None
None
None
None
None
All
None
None
None
None
WDTO,Sleep
None
None
None
None
None
None
None
None
C,N,Z
C,N,Z
C,N,Z
N,Z
N,Z
N,Z
C,N,Z
C,N,Z
C,N,Z
© 2008 Microchip Technology Inc.
DS70139F-page 141