-
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
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
Najnowsze wątki
- 2025-09-15 jak sprawdzić czy zerwałem gwint
- 2025-09-14 UWAGA: MAM PODEJRZENIE, ŻE onet.pl DOKONUJE ATAKÓW!!!
- 2025-09-14 zarobki w 1995r
- 2025-09-13 Korea Południowa odpowie za niewolnictwo seksualne armii USA
- 2025-09-13 Zatrzymano zabójcę Charliego Kirka
- 2025-09-13 Wrześniowe promocje na ładowarkach
- 2025-09-13 Warszawa => BI Developer <=
- 2025-09-13 Warszawa => Sales Assistant <=
- 2025-09-13 Warszawa => Lead SAP PP Consultant <=
- 2025-09-13 Jestem pod wrażeniem. Komputery bankowe w łikendy nie odpoczywają ;-)
- 2025-09-13 Lublin => Delphi Programmer <=
- 2025-09-13 Lublin => Programista Delphi <=
- 2025-09-13 SFP, 10G, simplex sc/apc
- 2025-09-13 KIA 2025r
- 2025-09-12 Rejestracja godna elektryka