C nebo ASM?

Michal Gregor michalgregor@centrum.cz
Čtvrtek Květen 21 20:42:18 CEST 2009


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




Další informace o konferenci Hw-list