eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaksiążka o programowniu AVR w CRe: książka o programowniu AVR w C
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
    STED!not-for-mail
    From: J.F. <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: książka o programowniu AVR w C
    Date: Mon, 31 Jan 2011 16:38:43 +0100
    Organization: -
    Lines: 64
    Message-ID: <u...@4...com>
    References: <ihpvpu$mvg$1@mx1.internetia.pl> <4...@i...pl>
    <4d467cd6$1@news.home.net.pl> <ii61g5$af2$1@news.task.gda.pl>
    <ii6612$1o6$1@news.onet.pl> <ii6fuk$3re$1@news.task.gda.pl>
    <ii6h1t$djb$1@news.onet.pl>
    NNTP-Posting-Host: h82-143-187-50-static.e-wro.net.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1296488322 30292 82.143.187.50 (31 Jan 2011 15:38:42 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Mon, 31 Jan 2011 15:38:42 +0000 (UTC)
    X-Newsreader: Forte Agent 1.93/32.576 English (American)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:603898
    [ ukryj nagłówki ]

    On Mon, 31 Jan 2011 15:30:22 +0100, Michoo wrote:
    >W dniu 31.01.2011 15:11, Marcin Wasilewski pisze:
    >>>> pierwszy projekt dobrze jest napisać w assemblerze, bo wtedy ma się
    >>>> pojęcie o rzeczach, o których dłubacz kodu w C, nigdy nie będzie miał
    >>>> pojęcia.
    >>> Jak na przykład?
    >>
    >> Np. tak:
    >> a) co jest zrzucane na stos i dlaczego w takiej kolejności,
    >Jakie to ma znaczenie w kodzie C?

    Mozna sie zastanowic nad glebokoscia wywolan, adresowaniem parametrow
    itp.


    >> b) że są rejestry w obszarze I/O i w ext. I/O, a w związku z tym sporo
    >> inaczej je się obsługuje, w szczególności jeśli chodzi o operacje bitowe.
    >Jakie to ma znaczenie w kodzie C, poza informacją, że porty mają
    >możliwość ustawiania/gaszenia atomowo jednego bitu? (Co jest w
    >dokumentacji.)

    Bywaja niuanse ze jedne maja, inne nie maja, a jeszce inne maja gdzie
    indziej.

    Albo ze np nie ma posredniego adresowania I/O.

    >> c) że czasami po zapisie do rejestru warto wstawić nop, zanim zaczniemy
    >> go czytać.
    >O co powinien zadbać kompilator.

    W zasadzie tak.

    >Tak samo jak o uporządkowany zapis do rejestrów 16b.

    No i tu moze byc problem, bo rejestry specjalne moga wymagac
    specjalnie, a dla zwyklej pamiec rzadko jest potrzeba zawsze blokowac
    przerwania - ale czasem jest.

    >> d) że pewne instrukcje działają wyłącznie na dedykowanych rejestrach,
    >Jakie to ma znaczenie w kodzie C?

    Sprawdzic czy kompilator o tym wie :-)

    >> g) że znacznie lepiej mnożyć/dzielić przez 2, 4, 8 itd., niż przez 10.
    >Dlaczego? Jeżeli procesor ma układ sprzętowego mnożenia to jest to jeden
    >cykl różnicy.

    No, tu faktycznie moze sie kompilator wykazac pomyslowoscia i
    optymalizowac na rozne sposoby - nawet lepiej niz niedouczony
    programista.

    >Dzielenie przez stałą sensowny kompilator zamienia na
    >mnożenie.

    To mozliwe tylko dla zmiennego przecinka.

    >> I wiele, wiele innych rzeczy o których w tej chwili nie pamiętam.
    >I wiele, wiele innych rzeczy o których programista C _nie musi_ pamiętać.

    Albo musi, i nie tylko pamietac, ale wiedziec jak to jest w procku, i
    jak z tego skorzystac w C. Timery, komunikacja, przerwania ..

    J.

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: