English
Language : 

DSPIC30F5011_07 Datasheet, PDF (163/224 Pages) Microchip Technology – High-Performance, 16-bit Digital Signal Controllers
dsPIC30F5011/5013
TABLE 21-2: INSTRUCTION SET OVERVIEW (CONTINUED)
Base
Instr
#
Assembly
Mnemonic
Assembly Syntax
Description
# of # of Status Flags
Words Cycles Affected
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, Multiply and Subtract from Accumulator
AWB
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
52
NEG
NEG
Acc
Negate Accumulator
1
1
OA,OB,OAB,
SA,SB,SAB
NEG
f
f=f+1
1
1
C,DC,N,OV,Z
NEG
f,WREG
WREG = f + 1
1
1
C,DC,N,OV,Z
NEG
Ws,Wd
Wd = Ws + 1
1
1
C,DC,N,OV,Z
53
NOP
NOP
No Operation
1
1
None
NOPR
No Operation
1
1
None
54
POP
POP
f
Pop f from Top-of-Stack (TOS)
1
1
None
POP
Wdo
Pop from Top-of-Stack (TOS) to Wdo
1
1
None
POP.D Wnd
Pop from Top-of-Stack (TOS) to
W(nd):W(nd+1)
1
2
None
POP.S
Pop Shadow Registers
1
1
All
55
PUSH
PUSH f
Push f to Top-of-Stack (TOS)
1
1
None
PUSH Wso
Push Wso to Top-of-Stack (TOS)
1
1
None
PUSH.D Wns
Push W(ns):W(ns+1) to Top-of-Stack (TOS)
1
2
None
PUSH.S
Push Shadow Registers
1
1
None
56
PWRSAV PWRSAV #lit1
Go into Sleep or Idle mode
1
1
WDTO,Sleep
57
RCALL
RCALL Expr
Relative Call
1
2
None
RCALL Wn
Computed Call
1
2
None
58
REPEAT REPEAT #lit14
Repeat Next Instruction lit14+1 times
1
1
None
REPEAT Wn
Repeat Next Instruction (Wn)+1 times
1
1
None
59
RESET
RESET
Software device Reset
1
1
None
60
RETFIE
RETFIE
Return from interrupt
1
3 (2)
None
61
RETLW
RETLW #lit10,Wn
Return with literal in Wn
1
3 (2)
None
62
RETURN RETURN
Return from Subroutine
1
3 (2)
None
63
RLC
RLC
f
f = Rotate Left through Carry f
1
1
C,N,Z
RLC
f,WREG
WREG = Rotate Left through Carry f
1
1
C,N,Z
RLC
Ws,Wd
Wd = Rotate Left through Carry Ws
1
1
C,N,Z
64
RLNC
RLNC
f
f = Rotate Left (No Carry) f
1
1
N,Z
RLNC
f,WREG
WREG = Rotate Left (No Carry) f
1
1
N,Z
RLNC
Ws,Wd
Wd = Rotate Left (No Carry) Ws
1
1
N,Z
65
RRC
RRC
f
f = Rotate Right through Carry f
1
1
C,N,Z
RRC
f,WREG
WREG = Rotate Right through Carry f
1
1
C,N,Z
RRC
Ws,Wd
Wd = Rotate Right through Carry Ws
1
1
C,N,Z
66
RRNC
RRNC f
f = Rotate Right (No Carry) f
1
1
N,Z
RRNC f,WREG
WREG = Rotate Right (No Carry) f
1
1
N,Z
RRNC Ws,Wd
Wd = Rotate Right (No Carry) Ws
1
1
N,Z
© 2007 Microchip Technology Inc.
DS70116G-page 161