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