avr-gcc; sbi, cbi deprecated

Luboš Melichar lubos.melichar@gmail.com
Úterý Červenec 31 12:21:07 CEST 2007


ad2 nemyslim ze tohle je ten pripad, zapis je rozhodne prehlednejsi a
existuje spousta podobnych maker..

• #define bit_is_set(sfr, bit) (_SFR_BYTE(sfr) & _BV(bit))
• #define bit_is_clear(sfr, bit) (!(_SFR_BYTE(sfr) & _BV(bit)))
• #define loop_until_bit_is_set(sfr, bit) do { } while (bit_is_clear(sfr,
bit))
• #define loop_until_bit_is_clear(sfr, bit) do { } while (bit_is_set(sfr,
bit))

On 7/31/07, Marek Peca <marek@tynska.cuni.cz> wrote:
>
> > Soukromy odhad, nejaky purista usoudil, ze C je jazyk ktery s daty
> > manipuluje na urovni bytu a ne bitu  a tak to vyhodil...
>
> 1. C nepracuje na urovni bytu, ani to o nem snad nikdo netvrdi ;)
>
> 2. neni to samoucelny purismus; pokud muzu napsat 1+1, bylo by chybou
> zavadet do standarnich knihoven ci maker jeste add(1,1);
> to samozrejme neznamena, ze si clovek ve _svych_ makrech (knihovnach)
> nemuze takove zhuverilosti nadefinovat -- to muze, a C je tu od toho,
> aby toho clovek i zhusta vyuzival; ale je treba pohlidat, co se
> dostane do vseobecnych knihoven (maker), aby z toho nevznikl Augiasuv
> chlev a la HTML.
>
> 3. pokud napisu neco neefektivne na makroskopicke urovni a kompilator
> to nepozna, je to moje blbost; ale pokud napisu b |= 0x80, kompilator
> to rozlusti. Proto je zbytecne delat assemblerovska makra na tohle --
> neni to systemove reseni. Naopak, jejich pouziti muze ve vysledku
> generovat horsi kod, pokud tomu neco predchazi neb neco nasleduje.
>
>
> MP
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- dal¹í èást ---------------
HTML p?íloha byla odstran?na...
URL: http://list.hw.cz/pipermail/hw-list/attachments/20070731/dd337abe/attachment-0002.htm 


Další informace o konferenci Hw-list