Datasheet

© 2005 Microchip Technology Inc. DS70043F-page 41
dsPIC30F
TABLE 10-9: PROGRAM FLOW INSTRUCTIONS
Assembly Syntax Description Words Cycles
BRA Expr Branch unconditionally 1 2
BRA Wn Computed branch 1 2
BRA C,Expr Branch if Carry (no Borrow) 1 1 (2)
BRA GE,Expr Branch if greater than or equal 1 1 (2)
BRA GEU,Expr Branch if unsigned greater than or equal 1 1 (2)
BRA GT,Expr Branch if greater than 1 1 (2)
BRA GTU,Expr Branch if unsigned greater than 1 1 (2)
BRA LE,Expr Branch if less than or equal 1 1 (2)
BRA LEU,Expr Branch if unsigned less than or equal 1 1 (2)
BRA LT,Expr Branch if less than 1 1 (2)
BRA LTU,Expr Branch if unsigned less than 1 1 (2)
BRA N,Expr Branch if Negative 1 1 (2)
BRA NC,Expr Branch if not Carry (Borrow) 1 1 (2)
BRA NN,Expr Branch if not Negative 1 1 (2)
BRA NOV,Expr Branch if not Overflow 1 1 (2)
BRA NZ,Expr Branch if not Zero 1 1 (2)
BRA OA,Expr Branch if Accumulator A Overflow 1 1 (2)
BRA OB,Expr Branch if Accumulator B Overflow 1 1 (2)
BRA OV,Expr Branch if Overflow 1 1 (2)
BRA SA,Expr Branch if Accumulator A Saturate 1 1 (2)
BRA SB,Expr Branch if Accumulator B Saturate 1 1 (2)
BRA Z,Expr Branch if Zero 1 1 (2)
CALL Expr Call subroutine 2 2
CALL Wn Call indirect subroutine 1 2
DO #lit14,Expr Do code through PC + Expr, (lit14 + 1) times 2 2
DO Wn,Expr Do code through PC + Expr, (Wn + 1) times 2 2
GOTO Expr Go to address 2 2
GOTO Wn Go to address indirectly 1 2
RCALL Expr Relative call 1 2
RCALL Wn Computed call 1 2
REPEAT #lit14 Repeat next instruction (lit14 + 1) times 1 1
REPEAT Wn Repeat next instruction (Wn + 1) times 1 1
RETFIE Return from interrupt enable 1 3 (2)
RETLW #lit10,Wn Return with lit10 in Wn 1 3 (2)
RETURN Return from subroutine 1 3 (2)
Note 1: Conditional branch instructions execute in 1 cycle if the branch is not taken, or 2 cycles if the branch is
taken.
2: RETURN normally executes in 3 cycles. However, it executes in 2 cycles if an interrupt is pending.