B
Branch Using a Register
3-72
Instruction Set
SPRU733
Target Instruction
Pipeline
Stage
E1
PS
PW
PR
DP
DC
E1
Read
src2
Written
Branch
Taken
Unit in use
.S2
Instruction Type
Branch
Delay Slots
5
Example
Table 3
−
14 gives the program counter values and actions for the following
code example. In this example, the B10 register holds the value 1000 000Ch.
B10 1000 000Ch
1000 0000
B
.S2 B10
1000 0004
ADD
.L1 A1, A2, A3
1000 0008
|| ADD
.L2 B1, B2, B3
1000 000C
MPY
.M1X A3, B3, A4
1000 0010
|| SUB
.D1 A5, A6, A6
1000 0014
MPY
.M1 A3, A6, A5
1000 0018
MPY
.M1 A6, A7, A8
1000 001C
SHR
.S1 A4, 15, A4
1000 0020
ADD
.D1 A4, A6, A4
Table 3
−
14. Program Counter Values for Example Branch Using a Register
Cycle
Program Counter Value
Action
Cycle 0
1000 0000h
Branch command executes
(target code fetched)
Cycle 1
1000 0004h
Cycle 2
1000 000Ch
Cycle 3
1000 0014h
Cycle 4
1000 0018h
Cycle 5
1000 001Ch
Cycle 6
1000 000Ch
Branch target code executes
Cycle 7
1000 0014h
Pipeline