I have a few questions regarding exceptions in microcontroller mentioned in the topic.
I'm trying to cause Illegal instruction exception (IVOR6) by substituting part of hex with 0x0000. According to PowerISA v2.06B "an instruction consisting entirely of binaly 0s is illegal, and is quaranteed to be illegal in all future versions of this architecture". The problem is no exception is taken. From what i know this exception is not maskable so it always should be taken assuming requirements are met. I also tried writing program counter to memory region consisting of all 0s and no exception is taken. Is this behaviour correct and how can I cause this exception?
How can i translate hex code to instructions performed by microcontroller, hex code doesn't seem to correspond to opcodes presented in e200z4 core documentation?
When exacly are Floating-point unavailable (IVOR7) and SPE Unavailable (IVOR32) exceptions taken? If MSR[FP] = 0 and MSR[SPE] = 0 and division of floating-point is performed by execution of efsdiv operation, no exception is taken. Is this behaviour correct?