Unfortunately not, because flags_p->Mode has 5 bits, its value can be 0..31 and MSB always 1 but in *ArmCpuModes[] array there are 16 elements only. Somewhere I should make some "magic": double the size of ArmCpuModes[], or mask out the MSB of flags_p->Mode or use armCpuModeMask.
However the 0x7 is a wrong value of this mask. It must be 0xF.