В ассемблерном файле возникла следующая проблема.
Код
#define ReceiverPin (0x3F)
#define FirstReceiverPin ((ReceiverPin) & (0x01))? (0) : (((ReceiverPin) & (0x02))? (1) : (((ReceiverPin) & (0x04))? (2) : \
(((ReceiverPin) & (0x08))? (3) : (((ReceiverPin) & (0x10))? (4) : (((ReceiverPin) & (0x20))? (5) : \
(((ReceiverPin) & (0x40))? (6) : (((ReceiverPin) & (0x80))? (7) : (0))))))))
..........
..........
ldi r16, (1<<(FirstReceiverPin))
#define FirstReceiverPin ((ReceiverPin) & (0x01))? (0) : (((ReceiverPin) & (0x02))? (1) : (((ReceiverPin) & (0x04))? (2) : \
(((ReceiverPin) & (0x08))? (3) : (((ReceiverPin) & (0x10))? (4) : (((ReceiverPin) & (0x20))? (5) : \
(((ReceiverPin) & (0x40))? (6) : (((ReceiverPin) & (0x80))? (7) : (0))))))))
..........
..........
ldi r16, (1<<(FirstReceiverPin))
И вот. На строчку ldi... ругается.
Говорит не хватает скобки и мусор в конце строки.
Как можно это обойти, при условии, что #define FirstReceiverPin сохранить, он очень важен ?