STM Compiler & & Operator
I am trying to understand what I am doing wrong here. The following image was captured during a debug session to show strange behaviour.

In the If statement ap->enable and ap->active are both true, but ap->relay_map is 0, as shown on the right, so this should evaluate to false. So why does the processor execute the statement within the brackets (shown by the green highlight) since the If fails? It actually crashes the processor because the index evaluates to -1 which is out of bounds of the relays array.
