Programovani v C

Hynek Sladky sladky
Středa Březen 17 12:05:06 CET 2004


> V assembleru ovsem napiseme snadno kratsi kod:
>   incf counter,f
>   btfss counter,2
>   goto lbl0
>   bcf counter,2
>   call spust_cinnost
> lbl0:

nebo
    incf counter, f
    btfsc counter, 2
    call spust_cinnost
    bcf counter, 2

... :-)

> I kdyby snad nekoho napadlo psat v Cecku nasledujici, neni vubec jiste,
> jestli kompilator 'pochopi' jak to efektivne prelozit.
> counter++;
> if(counter&0x04){
>   counter &= ~0x04;
>   spust_cinnost();
> }

Ja jsem to resil kdysi u KEILa a to tak, ze jsem se podival, co vypadne ve vyslednem kodu z C do assembleru, a podle toho jsem pak
'optimalizoval' C kod, abych dosahl ocekavanych vysledku

Hynek Sladky







Další informace o konferenci Hw-list