eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem lekko OT, ale w WinAVR ;-)Re: Problem lekko OT, ale w WinAVR ;-)
  • Data: 2009-06-11 15:02:43
    Temat: Re: Problem lekko OT, ale w WinAVR ;-)
    Od: J.F. <j...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Thu, 11 Jun 2009 16:16:54 +0200, Grzegorz Kurczyk wrote:
    >o co mi chodzi. Sprawa jest czysto "akademicka" i wynika z mojego
    >pewnego rodzaju "zboczenia" w dążeniu do absurdalnej optymalizacji kodu
    >wynikowego ;-)

    Nie wysilaj sie, wez lepszy procek :-)

    >void ProgressBar(char x, char y, char w, char h, char value) {
    >przy wywołaniu:
    > ProgressBar(0, 90, 128, 5, y);
    >
    >otrzymujemy w kodzie wynikowym:
    > 37e2: 0b 2d mov r16, r11
    > 37e4: 25 e0 ldi r18, 0x05 ; 5
    > 37e6: 40 e8 ldi r20, 0x80 ; 128
    > 37e8: 6a e5 ldi r22, 0x5A ; 90
    > 37ea: 80 e0 ldi r24, 0x00 ; 0
    > 37ec: 0e 94 b4 17 call 0x2f68 ; 0x2f68 <ProgressBar>
    >
    >I to co mnie "wkurza", to czemu łachudra przekazuje parametry w
    >rejestrach r16, r18, r20, r22, r24 niejako promując typ char do int ?

    Ja juz nie pamietam .. ale czy to gdzies nie jest w standardzie C
    zapisane ? cos podobnego bylo .. konwersja parametrow, a moze
    wyrownanie [alignment] .. Moze trzeba opcje kompilatora sprawdzic ?

    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: