Hello
Basically you should understand that the ANSI C standard does not specify how a compiler is supposed to allocate bits inside of a bitfields. Bits might be allocated MSB or LSB first, there might be some alignment constraints and compiler might insert gaps between bits.
This is why bitfields are per definition not portable.
if your application is relying on the sequence in which the bits are allocated, you better use logical OR or AND operation to set/reset the bits inside of the table.
If you want to use bitfield, your application should be adjusted to whatever the compiler is doing.
CodeWarrior for HC08 & CodeWarrior for HC12 provides a set of options to change allocation scheme within bitfields (-bfaB, -bfaTSR, -BfaGapLimit), but you may not come exactly to the layout you are looking for.
You may have to adjust your application to match whatever the compiler is doing.
Please refer to the Compiler user manual for more information on internal coding for Bitfields.
I hope this helps.
CrasyCat