AnsweredAssumed Answered

Logic behind exception handler anomaly code on Blackfin BF533 V0.5

Question asked by MikeSmithCanada on Oct 10, 2009
Latest reply on Oct 16, 2009 by StuartS

Given that  CC = R7 == R7 should always be true

 

What is logic behind the test and jump in the following anomaly code on silicion 0.5 on BF533

 

EX_EXCEPTION_HANDLER(InstructionWatchException_TestInsertion) {
[FFA0FDF8] [ -- SP ] = ASTAT ;
[FFA0FDFA] CC = R7 == R7 ;        ********  ALWAYS TRUE
[FFA0FDFC] [ -- SP ] = P0 ;
[FFA0FDFE] P0 = 20 ;
[FFA0FE00] P0.H = 0xffc0 ;
[FFA0FE04] IF CC JUMP 4 /*0xFFA0FE08*/ ;    ******** ALWAYS JUMP
[FFA0FE06] R7 = [ P0 + 0x0 ] ;               ********** WHAT SHOUL:D HAVE BEEN IN R7 that needed to be changed?
[FFA0FE08] P0 = [ SP ++ ] ;
[FFA0FE0A] ASTAT = [ SP ++ ] ;
[FFA0FE0C] LINK 0x0 ;
[FFA0FE10] [ -- SP ] = R0 ;
[FFA0FE12] [ -- SP ] = P1 ;

Outcomes