Vidíš, to jsem zapomněl napsat.
Doplním tedy, co jsem včera ještě zjistil :
if (KEY1==0) LED1=1; else LED1=0;
zabere jenom 10 bytů (5 instrukcí), kdežto
LED1 = KEY1;
LED1 = (KEY1==1) ? 1 : 0;
LED1 = !KEY1;
LED1 = (KEY1==0) ? 1 : 0;
zabere paměti více a záleží i na vzájemné poloze bitů v bytu o kolik.
Čekal bych, že zápis LED1 = (KEY1==0) ? 1 : 0; bude mít stejný překlad jako if (KEY1==0) LED1=1; else LED1=0;, ale nemá, překládá se stejně jako LED1 = !KEY1;.