eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaC vs. ASM na przykładzie PIC18FOdp: C vs. ASM na przykładzie PIC18F
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.internetia.pl!not-for-mail
    From: Sylwester Łazar <i...@a...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Odp: C vs. ASM na przykładzie PIC18F
    Date: Sat, 5 Apr 2014 11:49:07 +0200
    Organization: Netia S.A.
    Lines: 43
    Message-ID: <lhokd1$92v$1@mx1.internetia.pl>
    References: <lhntl8$u3a$1@mx1.internetia.pl>
    <533fc888$0$2155$65785112@news.neostrada.pl>
    NNTP-Posting-Host: 77-253-141-36.adsl.inetia.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1396692193 9311 77.253.141.36 (5 Apr 2014 10:03:13 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Sat, 5 Apr 2014 10:03:13 +0000 (UTC)
    X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
    X-Tech-Contact: u...@i...pl
    X-Newsreader: Microsoft Outlook Express 5.00.2615.200
    X-Priority: 3
    X-Server-Info: http://www.internetia.pl/
    X-MSMail-Priority: Normal
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:662324
    [ ukryj nagłówki ]

    > 1. Kompilator HiTech 8.05PL2 -O -Zg, procesor pic16f876A:
    > 149 words(słów, nie bajtów) ROM, 38 bytes RAM
    > bez funkcji zlicz(), odpowiednio 54 słów ROM, 35 RAM
    >
    > 2. Kompilator HiTech 9.63PL2 --opt=ALL , procesor pic18f252:
    > 284 bytes ROM, 37 RAM
    > bez funkcji zlicz(),75 bytes ROM, 15 bytes RAM
    >
    > 3. Kompilator XC8, ver 1.3 --opt=ALL (60-dniowa) procesor pic18f252: nie
    > wiem do końca, ćzy jest właczone MODE PRO niby w ciągu 60 dni powinno być
    > właczone ale coś kod zbyt duży wychodzi):
    > 606 bytes ROM, 43 RAM
    > bez funkcji zlicz() 160 ROM, 35 RAM
    >
    > 4. AVR-GCC na atmega32 -O2 (nie znam jeszcze dokładnie avr-gcc i jego
    opcji)
    > 376 ROM, 37 RAM
    > bez funkcji zlicz() 222 ROM, 37 RAM
    >
    > Wśród PICów jaki widać zwycięzcą jest 8.05 na PIC16.
    >
    > jp
    Dzięki.
    Mam mieszane uczucia.
    Napracowałeś się, przekompilowałeś i mamy fajne dane.
    Teraz tak.
    Ten PIC, który wybrałeś dla pkt.1 to 16F, a nie 18F.
    Różnica jest taka, że on ma 14bitów długość rozkazu, więc tam w bajtach nie
    mozna porównywać.
    Słusznie napisałeś, że po kompilacji ma 149 _słów_.
    Mój w ASM ma 71 słów na 18F.
    na 16F miałby o 10 słów więcej, gdyż 16F nie ma rozkazów LFSR,MOVFF i NEGF.
    Czyli 81 słów vs. 149 słów, czyli współczynnik C/ASM=1,8.

    Całkiem nieźle, jeśli chodzi o nadmiarowość kodu.
    Jednak jak powiedziałem - nie mierzyłem czasu, więc nie są te badania
    obiektywne,
    co do czasu wykonywania.
    Ja podałem ok. 6x wolniejszy, ale to tylko szacunek.
    Podaj może ilość rozkazów w głównej pętli sortującej, lub umieść kod to
    policzymy.
    S.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: