English
Language : 

70291E Datasheet, PDF (337/436 Pages) Microchip Technology – High-Performance, 16-bit Digital Signal Controllers
dsPIC33FJ32MC302/304, dsPIC33FJ64MCX02/X04 AND dsPIC33FJ128MCX02/X04
TABLE 29-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
MPY
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd
Multiply Wm by Wn to Accumulator
Square Wm to Accumulator
1
1
OA,OB,OAB,
SA,SB,SAB
1
1
OA,OB,OAB,
SA,SB,SAB
49
MPY.N
50
MSC
MPY.N
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd
MSC
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd
,
AWB
-(Multiply Wm by Wn) to Accumulator
Multiply and Subtract from Accumulator
1
1
None
1
1
OA,OB,OAB,
SA,SB,SAB
51
MUL
MUL.SS Wb,Ws,Wnd
MUL.SU Wb,Ws,Wnd
{Wnd + 1, Wnd} = signed(Wb) * signed(Ws)
1
1
{Wnd + 1, Wnd} = signed(Wb) * unsigned(Ws) 1
1
None
None
MUL.US Wb,Ws,Wnd
MUL.UU Wb,Ws,Wnd
{Wnd + 1, Wnd} = unsigned(Wb) * signed(Ws) 1
1
{Wnd + 1, Wnd} = unsigned(Wb) *
unsigned(Ws)
1
1
None
None
MUL.SU Wb,#lit5,Wnd
MUL.UU Wb,#lit5,Wnd
{Wnd + 1, Wnd} = signed(Wb) * unsigned(lit5) 1
1
{Wnd + 1, Wnd} = unsigned(Wb) *
unsigned(lit5)
1
1
None
None
52
NEG
MUL
f
NEG
Acc
W3:W2 = f * WREG
Negate Accumulator
1
1
None
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
NOPR
No Operation
No Operation
1
1
1
1
None
None
54
POP
POP
f
POP
Wdo
Pop f from Top-of-Stack (TOS)
Pop from Top-of-Stack (TOS) to Wdo
1
1
1
1
None
None
POP.D Wnd
POP.S
Pop from Top-of-Stack (TOS) to
W(nd):W(nd + 1)
Pop Shadow Registers
1
2
1
1
None
All
55
PUSH
PUSH
f
PUSH
Wso
Push f to Top-of-Stack (TOS)
Push Wso to Top-of-Stack (TOS)
1
1
1
1
None
None
PUSH.D Wns
PUSH.S
Push W(ns):W(ns + 1) to Top-of-Stack (TOS) 1
2
Push Shadow Registers
1
1
None
None
56
PWRSAV PWRSAV
#lit1
57
RCALL
RCALL Expr
RCALL Wn
58
REPEAT REPEAT #lit14
REPEAT Wn
Go into Sleep or Idle mode
Relative Call
Computed Call
Repeat Next Instruction lit14 + 1 times
Repeat Next Instruction (Wn) + 1 times
1
1
WDTO,Sleep
1
2
None
1
2
None
1
1
None
1
1
None
59
RESET
RESET
60
RETFIE RETFIE
Software device Reset
Return from interrupt
1
1
1
3 (2)
None
None
61
RETLW
RETLW #lit10,Wn
62
RETURN RETURN
Return with literal in Wn
Return from Subroutine
1
3 (2)
1
3 (2)
None
None
63
RLC
RLC
f
RLC
f,WREG
f = Rotate Left through Carry f
WREG = Rotate Left through Carry f
1
1
1
1
C,N,Z
C,N,Z
64
RLNC
RLC
RLNC
Ws,Wd
f
Wd = Rotate Left through Carry Ws
f = Rotate Left (No Carry) f
1
1
1
1
C,N,Z
N,Z
RLNC
RLNC
f,WREG
Ws,Wd
WREG = Rotate Left (No Carry) f
Wd = Rotate Left (No Carry) Ws
1
1
N,Z
1
1
N,Z
65
RRC
RRC
f
RRC
f,WREG
f = Rotate Right through Carry f
WREG = Rotate Right through Carry f
1
1
1
1
C,N,Z
C,N,Z
RRC
Ws,Wd
Wd = Rotate Right through Carry Ws
1
1
C,N,Z
© 2011 Microchip Technology Inc.
DS70291E-page 337