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