system dwojkowy w avr-gcc



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "tekio" <tekio_at_nospam_klub.chip.pl>
Subject: system dwojkowy w avr-gcc
Date: Thu, 6 May 2004 12:48:39 +0200


Witam

Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu
11010101b)?




========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Jurek Szczesiul <jerzy.szczesiul_at_nospam_wycin.ep.com.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Thu, 6 May 2004 13:15:34 +0200


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

Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu
11010101b)?

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.

--
Pozdrowienia
Jurek Szczesiul

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Marcin Stanisz <mstanisz_at_nospam_poczta.bzdury.onet.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Thu, 06 May 2004 13:15:55 +0200


Dnia czw 6. maja 2004 12:48 tekio napisał(a):
Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu
11010101b)?

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

Pozdrawiam
--
Marcin Stanisz

"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Thu, 06 May 2004 14:59:45 +0200


On Thu, 6 May 2004 12:48:39 +0200, tekio wrote:
Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu
11010101b)?

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

J.


========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Bielsky" <bielsky_at_nospam_poczta.onet.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Thu, 6 May 2004 15:05:44 +0200


Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu
11010101b)?

Natchnęło mnie, napisałem coś takiego:
http://bielsky.republika.pl/binarny.h

Może się przydać.



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Wojtek" <pirat320_at_nospam_wytnij_to.interia.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Thu, 6 May 2004 16:52:40 +0200



Użytkownik "Bielsky" <bielsky_at_nospam_poczta.onet.pl> napisał w wiadomości news:c7dcuf$mml$1_at_nospam_news.onet.pl...
Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu
11010101b)?

Natchnęło mnie, napisałem coś takiego:
http://bielsky.republika.pl/binarny.h

Może się przydać.

Dobre. Mógłbyś też zrobić wersję dla long'ów (2^32 bitów)?
Nie mogę się doczekać ;)
Pozdrawiam
Wojtek




========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Bielsky" <bielsky_at_nospam_poczta.onet.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Thu, 6 May 2004 17:34:55 +0200


Dobre. Mógłbyś też zrobić wersję dla long'ów (2^32 bitów)?

Machnę na jutro :))
Masz wolne miejsce na dysku? :)))

2^32 czyli 4294967296 linii
razy
(
#define b 9 znaków
liczba 32 znaki
<spacja>
ok. dziesięć znaków liczby
cr + lf 2 znaki
)
jeśli się nie mylę 216 GB (przy definicji 1G jako 1024^3)




=======

Poprzedni Następny
Wiadomość
Spis treści
From: "tekio" <tekio_at_nospam_klub.chip.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Thu, 6 May 2004 19:48:56 +0200


THX. Swietny pomysl.

Użytkownik "Bielsky" <bielsky_at_nospam_poczta.onet.pl> napisał w wiadomości
news:c7dcuf$mml$1_at_nospam_news.onet.pl...
Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu
11010101b)?

Natchnęło mnie, napisałem coś takiego:
http://bielsky.republika.pl/binarny.h

Może się przydać.





========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.dialog.net.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderski_at_nospam_wp.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Sat, 8 May 2004 01:12:32 +0200



tekio wrote:

Czy w avr-gcc mozna zapisywac liczby w systemie dwojkowym (cos w stylu
11010101b)?

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





========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.astercity.net!news.aster.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows_at_nospam_amwaw.edu.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Sat, 08 May 2004 03:20:57 +0200


Piotr Wyderski wrote:

Bezposrednio nie, ale kiedys wymyslilismy takie makro:

#define bitval(n,s)
[...]
#define bin(x) binaux(#x)

ktorego uzywa sie naturalnie:

int i = bin(100010010);

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

--
Adam Dybkowski
adybkows_at_nospam_amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows/


========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.gazeta.pl!news.dialog.net.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderski_at_nospam_wp.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Sat, 8 May 2004 16:52:13 +0200



Adam Dybkowski wrote:

I wynikowo wychodza z tego zoptymalizowane dwie instrukcje LDI (dla
liczby 16-bitowej)?

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.

No to brawa dla optymalizera

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

- oryginalny zapis makra jest cokolwiek zamieszany.

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

Pozdrawiam
Piotr Wyderski



========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Jurek Szczesiul <jerzy.szczesiul_at_nospam_wycin.ep.com.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Sat, 8 May 2004 09:02:38 +0200


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

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

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

--
Pozdrowienia
Jurek Szczesiul

========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.gazeta.pl!news.dialog.net.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderski_at_nospam_wp.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Sat, 8 May 2004 17:02:03 +0200


Jurek Szczesiul wrote:

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

Prosze bardzo. Tylko przed opublikowaniem prosze sprawdzic
czy to dziala z AVR GCC (to zostalo pierwotnie opracowane
dla "prawdziwego" GCC). Na innych kompilatorach moga
wyniknac problemy, jesli skladanie stalych nie jest
zaimplementowane wystarczajaco dobrze. W takim
przypadku mozna uzyc tego (kod dla Watcoma, dla
GCC trzeba nieco zmodyfikowac postfiks "ui64"):

// Binary system support macros

#define __BIT_VALUE(v,n) (((v >> (0x04ui64 * n##ui64)) & 0x01) << n)

#define __BINARY_VALUE(v) __BIT_VALUE(v,0x00) | __BIT_VALUE(v,0x01) |
\
__BIT_VALUE(v,0x02) | __BIT_VALUE(v,0x03) |
\
__BIT_VALUE(v,0x04) | __BIT_VALUE(v,0x05) |
\
__BIT_VALUE(v,0x06) | __BIT_VALUE(v,0x07) |
\
__BIT_VALUE(v,0x08) | __BIT_VALUE(v,0x09) |
\
__BIT_VALUE(v,0x0a) | __BIT_VALUE(v,0x0b) |
\
__BIT_VALUE(v,0x0c) | __BIT_VALUE(v,0x0d) |
\
__BIT_VALUE(v,0x0e) | __BIT_VALUE(v,0x0f)

#define BINARY_VALUE(v) (__BINARY_VALUE((0x##v##ui64)))

ale jest to ograniczone do liczb binarnych o co najwyzej
16 cyfrach. Inne przydatne makra:

// Structure member offset

#define OFFSET(Structure,Member) ((UINT)(&((Structure *) 0)->Member))

// Array length

#define LENGTH(Array) (sizeof(Array)/sizeof(Array[0]))

Pozdrawiam
Piotr Wyderski



========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Jurek Szczesiul <jerzy.szczesiul_at_nospam_wycin.ep.com.pl>
Subject: Re: system dwojkowy w avr-gcc
Date: Mon, 10 May 2004 16:34:24 +0200


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

Jurek Szczesiul wrote:

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

Prosze bardzo. Tylko przed opublikowaniem prosze sprawdzic
czy to dziala z AVR GCC

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

--
Pozdrowienia
Jurek Szczesiul

========
Path: news-archive.icm.edu.pl!news.rmf.pl!not-for-mai