[an error occurred while processing this directive]
|
Есть код:
uint8_t x;
uint8_t y;
void main(void){
...
y = 3;
x = 0xFF > > y;
...
}
А вот что получается после компиляции:
y = 3
ldi r24,0x03
sts 0x0061,r24
x = 0xFF > > y
lds r24, 0x0061
mov r18, r24
eor r19, r19
ldi r24, 0xFF
ldi r25, 0x00
mov r0, r18
rjmp .+4
asr r25
ror r24
dec r0
brpl .-8
0x0060, r24
Лишнее я убрал. Итого компилятор приводит константы к длине 16 бит. А как от этого избавиться?
E-mail: info@telesys.ru