-
Data: 2014-04-05 12:42:04
Temat: Odp: C vs. ASM na przykładzie PIC18F
Od: Sylwester Łazar <i...@a...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> 5) Po włączeniu optymalizacji "Enable on" kod zmniejszył się do 342 bajtów
> i w ten sposób współczynnik ilości bajtów C vs. ASM wyniósł: 2,67.
> Główna pętla zwiększyła się ze 121instrukcji na 182!
> Przypominam: w asm 20 instrukcji.
> Możliwe, że ma to swoje umotywowanie czasowe, ale trudno mi sobie je
> wytłumaczyć,
> skoro da się to ze spokojem przeprowadzić w 20 instrukcjach, a niech
będzie,
> że i w 40,
> jeśli jakiś student by się pokusił o nieoptymalne napisanie kodu.
> Ale 182 to już gruba przesada.
Tutaj muszę sprostować.
Oczywiście 182 bajty. Nie instrukcje.
No i dodatkowo okazało się, że jest jeszcze więcej, bo coś około 218 bajtów
W każdym razie, w poniższej pętli jest zawartych 94 instrukcji ASM 18F,
co odpowiada 20 instrukcjom w kodzie pisanym bezpośrednio w ASM.
for(i = n-1 ; i >= 0 ; --i)
{
j=--LICZV[VDIOD[i]]; // aktualizacja LICZV
VDOUT[j] = VDIOD[i]; //wstawienie elementu na odpowiednią pozycję
ADRDOUT[j][0] = ADRDIOD[i][0]; // sortowanie adresów
ADRDOUT[j][1] = ADRDIOD[i][1]; // sortowanie adresów
}
Przepraszam, za pomyłkę.
S.
Następne wpisy z tego wątku
- 05.04.14 12:42 jacek pozniak
- 05.04.14 12:48 Sylwester Łazar
- 05.04.14 12:52 Marek
- 05.04.14 13:03 Sylwester Łazar
- 05.04.14 13:09 Sylwester Łazar
- 05.04.14 13:19 Sylwester Łazar
- 05.04.14 13:27 Sylwester Łazar
- 05.04.14 13:26 jacek pozniak
- 05.04.14 13:39 Sylwester Łazar
- 05.04.14 14:13 jacek pozniak
- 05.04.14 15:28 Sylwester Łazar
- 05.04.14 15:43 AlexY
- 05.04.14 15:49 jacek pozniak
- 05.04.14 16:12 Sylwester Łazar
- 05.04.14 16:19 Sylwester Łazar
Najnowsze wątki z tej grupy
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
Najnowsze wątki
- 2025-04-07 Położyłem dwa telefony obok siebie
- 2025-04-07 Warszawa => Key Account Manager IT <=
- 2025-04-07 Warszawa => Spedytor Międzynarodowy <=
- 2025-04-07 Warszawa => Generative AI Engineer <=
- 2025-04-07 Warszawa => BI Developer / Analityk BI <=
- 2025-04-07 Warszawa => IT Recruiter <=
- 2025-04-07 Warszawa => Gen AI Engineer <=
- 2025-04-07 Co jest większym przestępstwem?
- 2025-04-06 czy Niemcy wyłączą zdalnie Ałdi
- 2025-04-06 Przekaźnik na szynę DIN (?)
- 2025-04-05 Dziwny wymiar wyroku
- 2025-04-05 Prunt z dachu
- 2025-04-05 Taśma LED
- 2025-04-05 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-04-05 Warszawa => Strategic Account Manager <=