Re: c: přetypování
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Neděle Leden 13 07:13:20 CET 2019
Nechapu asi zamer, kdyz chcete nejak slozite manipulovat se strukturou a
pak aby funkce vratila konstantu...
Dalsi vec je, ze pro ten PIC asi musi byt prekladac dost naohyban aby mu
ta divna architektura instrukci trosku sedla, proste mi z toho vychazi,
ze bych tu kritickou cast napsal v assembleru.
Dne 13.01.2019 v 0:43 Miroslav Draxal napsal(a):
>
> Dobrý den,
>
> Řeším tady jeden podprogram, který je časově kritický.
>
> typedef enum {
>
> uint8_t value;
>
> struct {
>
> unsigned prvniBit :1;
>
> unsigned druhyBit :1;
>
> };
>
> }_KontrolaDataResult_ ;
>
> _KontrolaDataResult_ pokus(void){
>
> // v podprogramu je cca 10x
>
> _KontrolaDataResult_ KontrolaDataResult;
>
> KontrolaDataResult.value = 0x19;
>
> return KontrolaDataResult;
>
> }
>
> Pokud na to kouknu do asm, dost blbě to tam je optimalizovaný,
> optimalizace všechny zapnutý
>
> ! _KontrolaDataResult_ KontrolaDataResult;
>
> ! KontrolaDataResult.value = 0x19;
>
> 0x7D2E: MOVLW 0x19
>
> 0x7D30: MOVWF KontrolaDataResult_2242, ACCESS
>
> ! return KontrolaDataResult;
>
> 0x7D32: MOVF KontrolaDataResult_2242, W, ACCESS
>
> 0x7D34: RETURN 0
>
> prostě to nehodí klasicky
>
> RETLW 0x19
>
> Existuje nějaká možnost, jak to přetypovat? …. Nějak takhle,
> samozřejmě, že tohle je totální blbost
>
> return (_KontrolaDataResult_).value 0x19
>
> Díky, Míra
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na 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/20190113/97e10e14/attachment.html>
Další informace o konferenci Hw-list