Nexus
MPC5566 Microcontroller Reference Manual, Rev. 2
25-48 Freescale Semiconductor
 
25.13.1 Branch Trace Messaging (BTM)
Traditional branch trace messaging facilitates program trace by providing the following types of 
information:
• Messages generated for direct branches that were taken indicate the number of sequential 
instructions executed since the last branch or exception. Branches not taken (direct or indirect) are 
not counted as sequential instructions.
• Messages generated for indirect branches and exceptions that were taken indicate:
— Number of sequential instructions executed since the last branch that was taken 
— Exception with the unique portion of the branch target address or exception vector address 
• History field in the branch and predicate instructions that can generate the following messages for 
program trace: 
— Number of sequential instructions executed since the last indirect branch was taken, as well as 
the unique portion of the indirect branch address
— Number of sequential instructions executed since the last exception was processed, as well as 
the unique portion of the exception vector address
— Number of sequential instructions executed since the last predicate instruction was taken
— History field in the branch and predicate instruction unique to the branch target address or 
exception vector address. Each bit in the history field represents a direct branch or predicated 
instruction where a value of one (1) indicates taken, and a value of zero (0) indicates not taken. 
Certain instructions (evsel) generate a pair of predicate bits which are both reported as 
consecutive bits in the history field.
25.13.1.1 e200z6 Indirect Branch Message Instructions 
(Power Architecture Book E)
Table 25-34 shows the types of instructions and events which cause indirect branch messages or branch 
history messages to be encoded.
Table 25-34. Indirect Branch Message Sources
Source of Indirect Branch Message Instructions
Taken branch relative to a register value bcctr, bcctrl, bclr, bclrl
System call / trap exceptions taken sc, tw, twi
Return from interrupts / exceptions rfi, rfci, rfdi