C nebo ASM?

Jan Waclawek konfera@efton.sk
Čtvrtek Květen 21 16:27:11 CEST 2009


No, dobre, ale v uvedenom priklade je ocividne pointer p_Ukaz pouzity vyhradne pre datovu pamat, ze? Tak ako sa v tom Hitechu (ne-PRO) predpisuje pamatova trieda pre pointer resp. jeho ciel? Ze by to teda Michal HW vyskusal, aby sme videli, aky je rozdiel... (PICka nemusim, ale som zvedavy)

wek


>24 bitovy pointer do FLASH je prirodzeny pre modely s viac ako
>64kwords programovej pamate. Samozrejme, pre mensie MCU sa da vypnut,
>alebo ak clovek vie, co robi, taktiez.
>
>J.S.
>
>2009/5/21 Andrej Jancura <hw_aj@zoznam.sk>:
>> Je to nieco podobne... Pointer do flash je 24bitovy, teda 3 byty, dalej tam
>> ma 12bitovy pointer do ram, 2 byty a este nejake prenosy premennych vacsich
>> ako 1 byte. Potom sa niet comu divit, ze je to take dlhe. PRO verzia
>> kompilatora optimalizuje okrem ineho pointre a pracu s nimi.
>>
>> A.
>>
>>
>> ----- Original Message -----
>> From: "Jan Waclawek" <konfera@efton.sk>
>> To: "HW-news" <hw-list@list.hw.cz>
>> Sent: Thursday, May 21, 2009 3:45 PM
>> Subject: Re: C nebo ASM?
>>
>>
>> Neviem ako je to u PICiek, ale trebars u '51 velmi zalezi na konkretne
>> zvolenom pametovom modeli, resp. na deklarovanych pamatovych triedach pre
>> jednotlive premenne.
>>
>> Napriklad ak je pouzity "generic" pointer, ktory moze ukazovat do
>> ktorejkolvek z pamati, tak jednak je ten pointer vacsi nez "specializovany",
>> a druhak praca s nim je vyrazne komplikovanejsia. Podobne ak sa umiestnia
>> premenne v externej pamati (v nejakom "vacsom" pamatovom modeli), tak znova
>> je praca s nimi komplikovanejsia a zdlhavejsia.
>>
>> Nie je rozdiel medzi tymto a tym, co poslal pan kolega Michal HW, prave v
>> takomto niecom?
>>
>> wek
>>
>>
>>
>> ----- Original Message ---------------
>>
>> Subject: Re: C nebo ASM?
>>   From: Petr Zahradnik <clexpert@clexpert.cz>
>>   Date: Thu, 21 May 2009 14:53:11 +0200
>>     To: HW-news <hw-list@list.hw.cz>
>>
>>>Puvodni zprava ze dne 21.5.2009 od Michal HW:
>>>
>>>> Divam se ne preklad Hitech C kompilatoru pro PIC18:
>>>>    Pom=0;
>>>>    for (Ukazatel=8;Ukazatel<32+8;++Ukazatel) {
>>>>     Pom=Pom+Bufer[Ukazatel];
>>>>     *p_Ukaz++=Bufer[Ukazatel];
>>>>    }




Další informace o konferenci Hw-list