xbary napisał(a):
Kompilatory przecież generują kod assemblera a dokładniej kod maszynowy, i taki kod nie będzie działać inaczej jak napisany w assemblerze bo to w końcu assembler . (ale zakręciłem
)
Niestety ale się mylisz. Tzn. częściowo masz rację -> w C na końcu powstaje wsad procesora czyli zestaw mnemoników. Czyli jak po asemblerze. Ale szkopuł tkwi w pracy kompilatora. Otóż kompilator nie zawsze zamieni w najlepszy sposób daną instrukcję w C na zestaw instrukcji asemblera. Taka np. pusta pętla -> można to zrobić na 1000 sposobów. W asemblerze zrobisz to dwiema instrukcjami, a kompilator C wypluje Ci 3 instrukcje. Widzisz różnicę?
xbary napisał(a):
Czy warto stosować hmm assemblera ? to dobre pytanie. Powiem tak, jeśli rozumu nie masz zaśmieconego nawykami z języków C czy Pascal albo Basic to pisanie w assemblerze będzie ci szło tak samo szybko jakbyś pisał w C.
Znowu się nie zgodzę. Otóż język C, a w szczególności AVR-GCC ma wiele predefiniowanych makr, funkcji bibliotecznych, mechanizmów które w języku C zajmują jedną linijkę a w asm kilkanaście jak nie kilkadziesiąt. Taki np. pgm_read_word().
xbary napisał(a):
A programy napisane czysto w assemblerze i do tego jeszcze żeby programista wiedział co pisze to niema bata
musi być szybciej zwięźlej itd.
Tu masz rację. Ale jak napisałem poprzednio, już prawie nie ma różnicy w szybkości i objętości między kodem w ASM i AVR-GCC. A fakt jest taki, że pisanie czegoś większego niż mruganie kilkoma diodkami w asemblerze to niezła mordęga. A w C - sama przyjemność.