C kerdes - bitmezők

Papp Zoltán zombi at c2.hu
Wed Jun 6 19:12:01 CEST 2007


2007.06.06. 00:20:50 dátumon Fuzesi Arnold <arnold.fuzesi.lista at gmail.com>  
írta:

> Köszi!!! Pont ugyan ezt néztem én is, ++ -t - ez működik nálam is.
> Valszeg akkor minden más is... :) Ez jelen helyzetre/fordítóra jó...de
> jólenne tudni hogy mire számíthat az ember
> úgy általában...kénytelen leszek utánanézni ha senki nem mondja meg. :)
> C99 szabvany az iranyadó ilyenkor?

??? (tanácstalan)

> Ezt viszont nemértem:
> "Persze erre pl. feltételes ugrást vizsgálni nem igazán
> lehet, mert utána van még két utasítás."
>
> Ugyerted hatékonyan nem lehet, mert elrontja a flag-eket a köv. két
> utasítás, és újra be kell ovasni?

Igen, erre gondoltam volna, ha megnézed alant az ASM kódot, akkor az  
inkrementálás után van még két utasítás.
Persze most jut eszembe, hogy ASM-szintű bitvizsgálatokra gondoltam  
(Carry, Zefo flag és ilyesmi), míg a C-ben pl. nem tudsz túlcsordulást  
vizsgálni, és ezt a fordító máshogy intézi el, azaz mégiscsak lehet.  
Próbáld csak ki!

>    \   00000032   B118               IN      R17, 0x08
>    \   00000034   2F01               MOV     R16, R17
>    \   00000036   7C00               ANDI    R16, 0xC0
>    \   00000038   9513               INC     R17
>    \   0000003A   731F               ANDI    R17, 0x3F
>    \   0000003C   2B10               OR      R17, R16
>    \   0000003E   B918               OUT     0x08, R17


-- 
Papp Zoltán
OneWay Electronics - www.onewayelectronics.hu
Hangszerviz - www.hangszerviz.hu



More information about the Elektro mailing list