Pro programovani v C asm znat nemusi.
Co se tyka optimalizaci, neni na tom GCC zrovna spatne. Pokud si nechas prelozit program v C a pak studujes, co to vytvorilo, rucne to upravujes a funguje to, tak to jsi teda frajer
Potreboval jsem jednou cvicit s pinama maximalni moznou rychlosti kterou mcu zvladne. Nechal jsem to prelozit pri ruznych optimalizacit a koukal, co to dela… Dospel jsem ke zjisteni, ze uz s optimalizacema o3 to ani rucne nenapises rychlejsi nez to vytvoril GCC. Jeste mi navic GCC ukazalo instrukce, o kterych jsem ani nevedel, ze existujou
Bez asm se da bezproblemu obejit, staci jen znat zpusoob prace C a vliv ruznych klicovych slov, kteryma se da lecos urychlit a poladit. Co naopak JE potreba je schopnost pochopit datasheet psanej v anj…
Pro to, aby si mohl zacit hrat s mcu mu staci z C znat jen zlomek C (par cyklu, podminky, bitove operace, volani funkci, viditelnost promennych), mit datasheet procesoru a muze se vrhnout na vec. O pointerech, kterych se zacatecnici boji, nepotrebuje mit zpocatku ani paru.
Je-li jeho cilem C na kontrolerech, pres asm a x51 by ho cekala pomerne dlouha cesta… Brzy by totiz zjistil, ze jsou to lemry a cela architektura, kterou se naucil, je mu k nicemu a zbyde mu jen ten zpusob uvazovani nutny pro praci s mcu. Ten ale nemusi cvicit na obstaroznich x51.
Co se tyka spozdovcich smycek v main… Co na to rict… Kdyz nekoho ucis programovat, mel bys ho misto takovyhle uchylnosti naucit pouzivat preruseni. Takovy snizeni spotreby uspanim procesoru neni k zahozeni Mimo jine se tu nekde povaluje programek, kterej tu smycku (v asm) vygeneruje a s pomerne slusnou presnosti (desetiny procent).