C nebo ASM?
Michal HW
michalgregor@centrum.cz
Pátek Květen 22 09:00:39 CEST 2009
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
To: HW-news
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>
To: "HW-news" <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>
To: "HW-news" <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
ICQ: 21215917, MSN: clexpert@clexpert.cz
==========================================================
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
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
__________ 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
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://list.hw.cz/pipermail/hw-list/attachments/20090522/1a471964/attachment-0002.htm
Další informace o konferenci Hw-list