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 18:27:43 +0100
    Organization: -
    Lines: 64
    Message-ID: <8...@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> <u...@4...com>
    <ii6prv$gsk$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 1296494862 23058 82.143.187.50 (31 Jan 2011 17:27:42 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Mon, 31 Jan 2011 17:27:42 +0000 (UTC)
    X-Newsreader: Forte Agent 1.93/32.576 English (American)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:603903
    [ ukryj nagłówki ]

    On Mon, 31 Jan 2011 18:00:48 +0100, Michoo wrote:
    >W dniu 31.01.2011 16:38, J.F. pisze:
    >>>> 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,
    >W tym celu trzeba sprawdzić w dokumentacji kompilatora co ląduje na
    >stosie przy danej konwencji wywołań.

    I w dokumentacji procesora jaki ten stos moze byc.

    >> adresowaniem parametrow
    >Jakie to ma znaczenie w kodzie C?

    Na przyklad okresla co jest niemozliwe czy tez bardzo pracochlonne.
    Pamietasz 51 z jej pamieciami ?

    >> Albo ze np nie ma posredniego adresowania I/O.
    >Ale to wynika z dokumentacji a nie ze znajomości asm. Można napisać w

    Jak juz znasz dokumentacje na takim poziomie to znasz i asma

    >assemblerze adresujący IO pośrednio i tak samo się zastanawiać dlaczego
    >nie działa.

    albo nie mozna, bo nie ma takiego rozkazu. Przy czym latwiej da sie
    przeczytac w opisie konkretnej instrukcji niz sie zastanawiac o co
    temu glupiemu kompilatorowi chodzi przy banalnej instrukcji
    out(p,v).


    >>> 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.
    >To jest w dokumentacji przy opisie rejestru. To czy blokować, czy nie
    >jest niezależne od tego czy asm czy c.

    C moze to kompilowac inaczej niz myslisz.

    >>> Dzielenie przez stałą sensowny kompilator zamienia na
    >>> mnożenie.
    >> To mozliwe tylko dla zmiennego przecinka.
    >Hasło:
    >Division by invariant integers using multiplication

    O ile pamietam wyniki nie zawsze sa calkowicie zgodne.

    >P.S.
    >Pisanie na początku w asm potrafi zostawić brzydkie nawyki jak
    >przesunięcia binarne zamiast dzielenia,

    No, polemizowalbym nieco czy to brzydki nawyk.
    Za to brak w C operacji "obrotu" bitow, i to juz jest czasem problem.

    >czy "optymalizację" liczników w
    >pętlach, które nie mają praktycznego znaczenia a zaciemniają kod. Imo
    >optymalizować należy jeżeli są problemy z wydajnością a nie "na zapas".

    Od procka zalezy, bo jak sie ma 16 rejestrow po 32 bit to sie pisze
    fajnie, a jak trzy po 8 to kompilator musi sie bardzo mocno wykazac, a
    i programista, zeby sie nie okazalo ze zapasu nie ma :-)

    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: