( apal | 2025. 02. 09., v – 20:23 )

Jogos, de azért lehet ezt jól csinálni. Például 2^n távolságra vannak egymástól a tömb elemei, ahol n egész, meg effélék

De mi van ha nem tudod forditasi idoben mert olyan az absztrakcio? Napi szinten hasznalok ilyet, egyebkent extrem modon kicsi cuccokat. Nyilvan megoldhato sw szorzassal is itten, de azert eros az alkalmazasi kenyszer. Nem veletlenul hogy ARMv6-M/Cortex-M0-ban is van mar szorzas (kotelezo), RISC-V eseten meg bevezettek a Zmmul-t (meg az -mno-div opciot) az M melle, AVR-nel is csak a tiny belepo agaban nincs hw-szorzas mint ISA reszhalmaz, stbstb. 

Amikor kis mikrokontrollerre ír valaki C-ben kódot, nem túl nagy baj, ha úgy gondolkodik, mintha assembly-ben programozna, nem pedig úgy, hogy használ mindenféle nyelvi megoldást, amit a C tud, mondván, majd megoldja a fordító, utánam az özönvíz.

Pedig sajna pont errol beszelunk itten hogy mar annyira jok a forditok hogy igen, megirod C-ben, utanunk az ozonviz, es az objdump/disassembly-t nezve is csak fogom a fejem (jo ertelemben) hogy hat ez igy atomfasza lett. En pl a gyakorlatban sokkal tobbet agyalok memory layout-hoz kapcsolodo dolgokon (mi megy data-ba, mi rodata-ba: ne maradjon le a const, statikus vs. automatikus vs. dinamikus allokacio, heap management es mini allokator pool-ok ha kell, context management preemtiv rendszereken, stb) mint az hogy tul nagy/lassu lesz a C-bol forditott kod. Nem, ezutobbi szinte mar nem is lehetne jobb. Mindezt ugy hogy mondjuk ~8k-ba ferjen bele minden (preemptiv oprendszer, IPC, power management, comm interface-k es persze hasznos funkciok).