Re: Pøeklad do assembleru

Martin Záruba swz na volny.cz
Neděle Říjen 8 20:58:36 CEST 2023


Moc děkuji za ochotu

Martin Záruba

Dne 8.10.2023 v 20:34 Jan Waclawek napsal(a):
> [preposielam]
>
>
> Ahoj,
>
> Můžete mi prosím někdo napstat jak se přeloží v C++ na AtMega
>
> byte b1,x;
> if(b1==x){PORTA &=0xFE;};
> popřípadě zda se dá vymyslet *časově* úspornější zápis pro shození bitu?
> Přerušení je po tu dobu zakázané. Příkazů if bude v přerušení celkem 24
> a potřebuji přerušení vyvolat dost často, tak aby vůbec ještě nějaký čas
> procesoru zbyl.
>
>
> Moj rucny asm-kod za predpokladu, ze bude funkcny, vysiel nasledovne:
>
>
> ;  byte b1,x;
> ;  if(b1==x){PORTA &=0xFE;};
>
>     LDS   Rx, ADR_b1
>
>     LDS   Ry, ADR_x
>
>     CPSE  Rx, Ry
>
>     RJMP  L1:
>
>     CBI   PORTA,0
>
> L1:
>
>
> 24 x 5 = 120 instrukcii, plus nejaky overload tej rutiny, to je cca
> 130instrukcii. Kolko to zaberie casu, zalezi na frekvencii oscilatora.
> To uz musite ale doriesit Vy.
>
> A.
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.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/20231008/f3b66594/attachment.htm>


Další informace o konferenci Hw-list