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