Код

#define PULSE_FLOW_SENSOR   1
#define COUNT_FLOW_SENSOR   2
#define CountFlowSensor     (COUNT_FLOW_SENSOR&&bFlowControl)

      if (delivery.type==NormalDelivery)
        if (CountFlowSensor)
                FlowFrequencyErrorService();

bFlowControl имеет тип unsigned int.

В результате компиляции исчезла операция && макроса:

Код
    135                    if (delivery.type==NormalDelivery)
   \   0000D2   D293....             CMP.B   #0x1, &delivery
   \   0000D6   0520                 JNE     ??fFilling_0
    136                                      if (CountFlowSensor)
   \   0000D8   8293....             CMP.W   #0x0, &_A_bDnOutSensorLevel + 36
   \   0000DC   0224                 JEQ     ??fFilling_0
    137                                          FlowFrequencyErrorService();
   \   0000DE   B012....             CALL    #FlowFrequencyErrorService


Сорри, некоторые макросы написаны не заглавными буквами, но в принципе понятно, что это макросы.
bFlowControl - это элемент массива, поэтому компилятор вычисляет его смещение.



Нет, нужно спать по ночам! sad.gif Лишнее &. Извините.