C nebo ASM?

Andrej Jancura hw_aj@zoznam.sk
Čtvrtek Květen 21 16:05:33 CEST 2009


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];
>>    }
>
>Ja jsem to odeslal moc rychle, chtel jsem jeste doplnit, ze (stale
>kompilator CCS C) pro PIC18 vyplodi toto:
>
>....................    Pom=0;
>006E:  CLRF   06
>....................    for (Ukazatel=8;Ukazatel<32+8;++Ukazatel) {
>0070:  MOVLW  08
>0072:  MOVWF  07
>0074:  MOVF   07,W
>0076:  SUBLW  27
>0078:  BNC   00C0
>....................     Pom=Pom+Bufer[Ukazatel];
>007A:  CLRF   03
>007C:  MOVF   07,W
>007E:  ADDLW  0A
>0080:  MOVWF  FE9
>0082:  MOVLW  00
>0084:  ADDWFC 03,W
>0086:  MOVWF  FEA
>0088:  MOVF   FEF,W
>008A:  ADDWF  06,F
>....................     *p_Ukaz++=Bufer[Ukazatel];
>008C:  MOVFF  09,03
>0090:  MOVF   08,W
>0092:  INCF   08,F
>0094:  BTFSC  FD8.2
>0096:  INCF   09,F
>0098:  MOVWF  x6E
>009A:  MOVFF  03,6F
>009E:  CLRF   03
>00A0:  MOVF   07,W
>00A2:  ADDLW  0A
>00A4:  MOVWF  FE9
>00A6:  MOVLW  00
>00A8:  ADDWFC 03,W
>00AA:  MOVWF  FEA
>00AC:  MOVFF  FEF,70
>00B0:  MOVFF  6F,FEA
>00B4:  MOVFF  6E,FE9
>00B8:  MOVFF  70,FEF
>....................    }
>00BC:  INCF   07,F
>00BE:  BRA    0074

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list

__________ Informacia od ESET NOD32 Antivirus, verzia databazy 4093 
(20090521) __________

Tuto spravu preveril ESET NOD32 Antivirus.

http://www.eset.sk






Další informace o konferenci Hw-list