C nebo ASM?
Jan Waclawek
konfera@efton.sk
Čtvrtek Květen 21 15:45:52 CEST 2009
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
Další informace o konferenci Hw-list