Cytuj:
Dla programisty 20 to przyjazna nazwa TIMER0_COMP_vect którą znajdzie w pdf-ie .To jest właśnie zaleta C.
Programista nie musi znać liczb 20 i 1250. Te 1250 "obliczy" kompilator który wie jak rządzić pamięcią.
No bardzo dobrze rozumujesz

bo o to chodzi
mg101 napisał(a):
Z drugiej strony czy czegoś nie tracimy? Jak głęboko wchodzić w szczegóły?
No to spróbujmy dowiedzieć się co ew tracimy?
NIC, bo w tym przypadku to ja traciłem tylko czas na przygotowywanie tablicy wektorów przerwań gdy pisałem taki sam kod w asemblerze. Owszem zajadły zwolennik tylko asemblera - powie, ależ to żaden kłopot można sobie makro napisać ... hyhy no można, tyle że jak ludzie używają prawie samych makr w asemblerze - i po jakimś czasie przechodzą na C i go zrozumieją - to później sami widzą - że tworząc te makra - robili coś na kształt języka C ... tyle że miało to bardziej coś wspólnego z wymyślaniem od nowa koła, które jak wiadomo wynaleziono już XXXX lat temu

Owszem .... w innych przypadkach - bardziej zaawansowanych i czaso-zależnych procedur - pewnie że może się kiedyś przydać asembler - no ale to do wstawek .... albo do napisania np jakiejś funkcji czy całej procedury obsługi przerwania - o ile POTRAFIMY napisać to bardziej optymalnie niż kompilator

.... a z tym ma problem nawet wielu zagorzałych zwolenników asemblera niestety. Ja na początku też pisząc w C miałem koci nawyk, że co chwilę zaglądałem do pliku *.lss czyli listingu asemblerowego .... czy aby kompilator mnie "nie oszukuje" jak to niektórzy mówią albo czy nie robi czegoś gorzej ode mnie ..... i się mocno zdziwiłem bo w wielu rzeczach robił to lepiej ode mnie

a nawet jak się trafiały momenty że gorzej - to co ? co na tym tracę - kilkanaście nanosekund podczas gdy mam wolnego czasu np kilkanaście milisekund ?

Tak samo napisanie głupiej pętli for() z wieloma rarunkami i kawałem kodu w środku - to (jak dzisiaj na to patrzę) masakra - aby pisać to w asm. Owszem da się - i pisałem to często przecież - ale dzisiaj zamiast kilograma kodu źródłowego w asm wolę napisać
for( i=0; i<10; i++ )
i po zawodach - nie interesuje mnie za każdym razem mielenie skokami branżowymi

_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]