Bscc branch to subroutine conditionally bscc – Motorola DSP96002 User Manual
Page 237
MOTOROLA
DSP96002 USER’S MANUAL
A - 49
BScc
Branch to Subroutine Conditionally
BScc
Operation:
If cc, then PC
→
SSH; SR
→
SSL; PC+xx
→
PC
else
PC + 1
→
PC
If cc, then PC
→
SSH; SR
→
SSL; PC+xxxx
→
PC
else
PC + 1
→
PC
If cc, then PC
→
SSH; SR
→
SSL; PC+Rn
→
PC
else
PC + 1
→
PC
Assembler Syntax:
BScc label (short)
BScc label
BScc Rn
Description:
If the specified condition is true, the address of the instruction immediately following the BScc instruction
and the status register are pushed onto the stack. Program execution then continues at location PC+dis-
placement. The PC contains the address of the next instruction. If the specified condition is false, the PC
is incremented and program execution continues sequentially. The displacement is a 2’s complement 32-
bit integer that represents the relative distance from the current PC to the destination PC. Short Displace-
ment, Long Displacement and Address Register PC Relative addressing modes may be used. The Short
Displacement 15-bit data is sign extended to form the PC relative displacement. See Section A.10 for
restrictions.
"cc" may specify the following conditions:
Mnemonic
Condition
CC (HS) - carry clear (higher or same)
C = 0
CS (LO) - carry set (lower)
C = 1
EQ
- equal
Z = 1
GE
- greater or equal
N && V = 0
GT
- greater than
Z v (N && V) = 0
HI
- higher
Z v C = 0
LE
- less or equal
Z v (N && V) = 1
LS
- lower or same
Z v C = 1
LT
- less than
N && V = 1
MI
- minus
N = 1
NE(Q)
- not equal
Z = 0
PL
- plus
N = 0
VC
- overflow clear
V = 0
VS
- overflow set
V = 1
CCR Condition Codes: Not affected.