Re: Překlad do assembleru

Pavel Hudeček edizon na seznam.cz
Neděle Říjen 8 19:34:29 CEST 2023


Časově úspornější shození bitu umí novější AVRka. Ekvivalentem toho 
Vašeho by bylo
PORTA.OUTCLR = 1;

Ale největší časové úspory se dosáhne, pokud se sníží počet ifů, kterými 
program musí projít. Tedy např. lineátní projití 24 ifů je dost šílený, 
ale když se z toho udělá nějaká hierarchie, kterou to projde na 3-6 
kroků, bude to 3-8x rychlejší.

PH

Dne 08.10.2023 v 18:22 Jaroslav Buchta napsal(a):
> Nejde to udelat nejakou byte->byte tabulkou ve flash?
> Dne 08.10.2023 v 18:16 Martin Záruba napsal(a):
>>
>> 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.
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231008/dea62b8e/attachment.htm>


Další informace o konferenci Hw-list