system dwojkowy w avr-gcc

Witam

Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu

11010101b)?
Reply to
tekio
Loading thread data ...

Thu, 6 May 2004 12:48:39 +0200, na pl.misc.elektronika, tekio napisał(a):

W oficjalnej wersji nie ( poza standardem C ). W sieci mozna odszukac patcha ( by Joerg Wunsch ) , ktory to umozliwia - ale trzeba samodzielnie przekompilowac gcc-core. Nie probowalem tego patcha.

Reply to
Jurek Szczesiul

Dnia czw 6. maja 2004 12:48 tekio napisał(a):

Nie. Chyba, że sobie zdefiniujesz makro. Na liście avr-gcc podawano przykład takiego makra - poszukaj w archiwum tej listy

formatting link

Pozdrawiam

Reply to
Marcin Stanisz

C o ile pamietam nie przewiduje. Za to mozesz hex [0xD5] oraz osemkowo [0325]

J.

Reply to
J.F.

Bezposrednio nie, ale kiedys wymyslilismy takie makro:

#define bitval(n,s) (((n>=sizeof(s)-1)?0:\ (long)(s[sizeof(s)-2-n]-'0'))<<n)

#define binaux(s) (bitval(0,s)|bitval(1,s)|bitval(2,s)|bitval(3,s)|\ bitval(4,s)|bitval(5,s)|bitval(6,s)|bitval(7,s)|\ bitval(8,s)|bitval(9,s)|bitval(10,s)|bitval(11,s)|\ bitval(12,s)|bitval(13,s)|bitval(14,s)|bitval(15,s)|\ bitval(16,s)|bitval(17,s)|bitval(18,s)|bitval(19,s)|\ bitval(20,s)|bitval(21,s)|bitval(22,s)|bitval(23,s)|\ bitval(24,s)|bitval(25,s)|bitval(26,s)|bitval(27,s)|\ bitval(28,s)|bitval(29,s)|bitval(30,s)|bitval(31,s))

#define bin(x) binaux(#x)

ktorego uzywa sie naturalnie:

int i = bin(100010010);

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski

[...]

I wynikowo wychodza z tego zoptymalizowane dwie instrukcje LDI (dla liczby 16-bitowej)? No to brawa dla optymalizera - oryginalny zapis makra jest cokolwiek zamieszany.

Reply to
Adam Dybkowski

Sat, 8 May 2004 01:12:32 +0200, na pl.misc.elektronika, Piotr Wyderski napisał(a):

Witam. Czy można to zamieścić na stronce z poradami avr ( z podaniem autora oczywiście ) ?

Reply to
Jurek Szczesiul

Wychodzi z tego int, a co z tym zrobi generator kodu wynikowego, to juz zalezy od konkretnego procesora. W szczegolnosci moga wyjsc z tego 2 instrukcje LDI, jesli akurat taki schemat translacji jest podany.

Nie przesadzajmy z tymi brawami, to sie opiera na optymalizacji zwanej skladaniem stalych, ktora jest chyba pierwsza wymyslona technika optymalizacji. :-)

Ale to nie czlowiek ma czytac, tylko maszyna. :-)

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski

Sat, 8 May 2004 17:02:03 +0200, na pl.misc.elektronika, Piotr Wyderski napisał(a):

THX - niestety rzeczywiście z avr-gcc nie działa, więc nie ma jak wykorzystać.

Reply to
Jurek Szczesiul

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.