When MicroBlaze takes an interrupt/exception, it modifies an instruction to jump to 0x10 or 0x20.
If the modified instruction is rsubc, rsubk, rsubkc, rsubic, rsubik or rsubikc and the carry bit is "0", MicroBlaze erroneously jumps to 0xC or 0x1C, respectively. The MicroBlaze versions affected are: v5.00a, v5.00b, v5.00c and v6.00a
To work around this issue, disable the "Generate Illegal Instruction Exception for NULL Instruction" MicroBlaze parameter under the Exceptions tab.
For this work-around to be effective, the memory contents at Word addresses 0xC and 0x1C must be "0".
This problem has been resolved in MicroBlaze v6.0b.