C nebo ASM?

Andrej Jancura hw_aj@zoznam.sk
Pátek Květen 22 09:56:26 CEST 2009


Odpoved na prvu cast otazky, myslim si, ze pokial to v C napises tak ako 
by si to robil v ASM, tak Ti to vypadne tiez kratke. Este jedna 
poznamka, preco si neskopirujes data z ext. ram do ram na cipe a potom 
ich znova nenakopirujes do ext. ram? Odpadne zbytocne vela kodu, 
vypoctov a cele sa to zrychli a sprehladni.

Druha cast otazky suvisi s tym, aku kategoriu zariadeni robis. Podla 
toho sa musi pouzit algoritmus a postup. Ak chces byt uplne korektny, 
tak by si tu rutinu mal napisat na dva-krat a vysledok musi byt rovnaky 
v oboch pripadoch. Prakticky raz cez pointre a raz cez index. Na PC 
rozdiel asi nebude, ale na jednocipoch ano a velky.

A.


Michal HW  wrote / napísal(a):
> Kontrolni soucet pole v ASM je na PIC18 podstatne rychlejsi, Cecko od 
> Hitechu to udela strasne pomale. Mne se jedna pouze o jednu vec a to 
> jestli dokaze nejaky kompilator na jednocipech toto plne 
> optimalizovat. Pripadne jak by to vypadalo na PC.
> Mam tady knihu "Dokonaly kod" a v ni se tvrdi ze psani v asembleru je 
> dnes zbytecne a kod v C je stejne rychly, (A taky se tam nedoporucuje 
> pouzivat pointery).
> Michal Gregor
>
>     ----- Original Message -----
>     *From:* Andrej Jancura <mailto:hw_aj@zoznam.sk>
>     *To:* HW-news <mailto:hw-list@list.hw.cz>
>     *Sent:* Thursday, May 21, 2009 9:53 PM
>     *Subject:* Re: C nebo ASM?
>
>     Ak mame byt korektny, tak to treba napisat v C jasne a zretelne
>     vratane
>     definicii premennych.
>     Ak chces dostat ten Tvoj kod v asm z C, tak to rozhodne nebude cez
>     for(;;)... Okrem toho treba pouzit pointre a pointerovu
>     aritmetiku(!!!).
>
>     A.
>
>
>     ----- Original Message -----
>     From: "Michal Gregor" <michalgregor@centrum.cz
>     <mailto:michalgregor@centrum.cz>>
>     To: "HW-news" <hw-list@list.hw.cz <mailto:hw-list@list.hw.cz>>
>     Sent: Thursday, May 21, 2009 8:42 PM
>     Subject: Re: C nebo ASM?
>
>
>     Mne se jednalo o kod v asembleru:
>     PIC ma specielni registry pro neprimou obsluhu pameti. Finta je v
>     tom ze se
>     ty registry po precteni automaticky navysuji, snizuji a podobne.
>     Takze na
>     rozdil od C pracuji primo s nimi a vysledny kod je kratky a rychly:
>     Pocitej
>              addwf POSTINC0,W ; Pricti obsah Pole a prejdi na dalsi bunku
>               decfsz Rx1_Pocet_B   ; Vse secteno?
>                bra Pocitej
>
>     Kdezto v Cecku:
>        Pom=0;
>        for (Ukazatel=8;Ukazatel<32+8;++Ukazatel) {
>         Pom=Pom+Bufer[Ukazatel];
>        }
>
>     vysledkem je docela dlouhy kod, protoze index na pole se pokazde
>     pocita.
>     Jak sem jiz psal jde to optimalizovat, ale vysledny kod je
>     nepronosny na
>     jine procesory nebo PC.
>     Michal Gregor
>
>
>
>
>     ----- Original Message -----
>     From: "Petr Zahradnik" <clexpert@clexpert.cz
>     <mailto:clexpert@clexpert.cz>>
>     To: "HW-news" <hw-list@list.hw.cz <mailto:hw-list@list.hw.cz>>
>     Sent: Thursday, May 21, 2009 4:48 PM
>     Subject: Re: C nebo ASM?
>
>
>     Puvodni zprava ze dne 21.5.2009 od Jan Waclawek:
>
>     > Nie je rozdiel medzi tymto a tym, co poslal pan kolega Michal HW,
>     > prave v takomto niecom?
>
>     Ja jsem ten assembler od Michala nijak nezkoumal, tak netusim, co s
>     tim dela. Vychazel jsem z kodu cecka. A ty definice jsem si musel
>     domyslet, kdyz to blize neupresnil :-) Takze pochopitelne, ze variant
>     je dost ruznych...
>
>     Petr Zahradnik, pocitacovy expert
>
>     ==========================================================
>     Petr Zahradnik, Computer Laboratory
>     Obvodova 740/14, 400 07 Usti nad Labem
>     telefon: 475 501 627, mobil: 602 409 601, fax: 475 511 338
>     web: http://www.clexpert.cz, e-mail: clexpert@clexpert.cz
>     <mailto:clexpert@clexpert.cz>
>     ICQ: 21215917, MSN: clexpert@clexpert.cz <mailto:clexpert@clexpert.cz>
>     ==========================================================
>
>
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list@list.hw.cz <mailto:Hw-list@list.hw.cz>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list@list.hw.cz <mailto:Hw-list@list.hw.cz>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>     __________ Informacia od ESET NOD32 Antivirus, verzia databazy 4094
>     (20090521) __________
>
>     Tuto spravu preveril ESET NOD32 Antivirus.
>
>     http://www.eset.sk
>
>
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list@list.hw.cz <mailto:Hw-list@list.hw.cz>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>   



Další informace o konferenci Hw-list