ad2 nemyslim ze tohle je ten pripad, zapis je rozhodne prehlednejsi a existuje spousta podobnych maker..<br><br>• #define bit_is_set(sfr, bit) (_SFR_BYTE(sfr) &amp; _BV(bit))<br>• #define bit_is_clear(sfr, bit) (!(_SFR_BYTE(sfr) &amp; _BV(bit)))
<br>• #define loop_until_bit_is_set(sfr, bit) do { } while (bit_is_clear(sfr, bit))<br>• #define loop_until_bit_is_clear(sfr, bit) do { } while (bit_is_set(sfr, bit))<br><br><div><span class="gmail_quote">On 7/31/07, <b class="gmail_sendername">
Marek Peca</b> &lt;<a href="mailto:marek@tynska.cuni.cz">marek@tynska.cuni.cz</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; Soukromy odhad, nejaky purista usoudil, ze C je jazyk ktery s daty<br>&gt; manipuluje na urovni bytu a ne bitu&nbsp;&nbsp;a tak to vyhodil...<br><br>1. C nepracuje na urovni bytu, ani to o nem snad nikdo netvrdi ;)<br><br>2. neni to samoucelny purismus; pokud muzu napsat 1+1, bylo by chybou
<br>zavadet do standarnich knihoven ci maker jeste add(1,1);<br>to samozrejme neznamena, ze si clovek ve _svych_ makrech (knihovnach)<br>nemuze takove zhuverilosti nadefinovat -- to muze, a C je tu od toho,<br>aby toho clovek i zhusta vyuzival; ale je treba pohlidat, co se
<br>dostane do vseobecnych knihoven (maker), aby z toho nevznikl Augiasuv<br>chlev a la HTML.<br><br>3. pokud napisu neco neefektivne na makroskopicke urovni a kompilator<br>to nepozna, je to moje blbost; ale pokud napisu b |= 0x80, kompilator
<br>to rozlusti. Proto je zbytecne delat assemblerovska makra na tohle --<br>neni to systemove reseni. Naopak, jejich pouziti muze ve vysledku<br>generovat horsi kod, pokud tomu neco predchazi neb neco nasleduje.<br><br><br>
MP<br><br>_______________________________________________<br>HW-list mailing list&nbsp;&nbsp;-&nbsp;&nbsp;sponsored by <a href="http://www.HW.cz">www.HW.cz</a><br><a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br><a href="http://list.hw.cz/mailman/listinfo/hw-list">
http://list.hw.cz/mailman/listinfo/hw-list</a><br></blockquote></div><br>