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: Michoo <m...@v...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: książka o programowniu AVR w C
    Date: Mon, 31 Jan 2011 15:30:22 +0100
    Organization: http://onet.pl
    Lines: 53
    Message-ID: <ii6h1t$djb$1@news.onet.pl>
    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>
    NNTP-Posting-Host: smaug.int.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1296484221 13931 83.238.197.12 (31 Jan 2011 14:30:21 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Mon, 31 Jan 2011 14:30:21 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20101227
    Icedove/3.0.11
    In-Reply-To: <ii6fuk$3re$1@news.task.gda.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:603896
    [ ukryj nagłówki ]

    W dniu 31.01.2011 15:11, Marcin Wasilewski pisze:
    > Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
    > news:ii6612$1o6$1@news.onet.pl...
    >> W dniu 31.01.2011 11:05, Marcin Wasilewski pisze:
    >>> Ale zgodze się, że
    >>> 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?

    > 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.)

    > c) że czasami po zapisie do rejestru warto wstawić nop, zanim zaczniemy
    > go czytać.
    O co powinien zadbać kompilator. Tak samo jak o uporządkowany zapis do
    rejestrów 16b.

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

    > e) że wartość z rejestru PC to tak naprawdę liczba słów i trzeba ją
    > pomnożyć x2, jeśli chcemy tej wartości użyć poprzez lpm,
    Jakie to ma znaczenie w kodzie C? Poza tym to jest w dokumentacji.

    > f) że używając w C zmiennej typu char do wymiany danych z proc. obsługi
    > przerwań, nie trzeba się tym przejmować, w odróżnieniu od int-ów i
    > jeszcze dłuższych zmiennych,
    Chyba, że się operuje na bitach... Poza tym jest to okropny styl pisania
    - komunikację z przerwaniami zawsze lepiej objąć w ATOMIC, bo inaczej
    łatwo o prosty błąd przy późniejszych przeróbkach kodu. (A koszt
    zazwyczaj pomijalny - 2 cykle +1 cykl opóźnienia.)

    > 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. Dzielenie przez stałą sensowny kompilator zamienia na
    mnożenie.

    >
    > 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ć.

    --
    Pozdrawiam
    Michoo

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: