C18 Optimierung
Dienstag, 22. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Entwicklungswerkzeuge  |  Compiler  |  C18 Optimierung « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: C18 Optimierung  (Gelesen 1367 mal)
 
bemi
Full Member
***
Offline Offline

Beiträge: 193


Profil anzeigen WWW
« am: Dezember 07, 2008, 12:19:31 »

Hallo,

aus Interesse wollte ich mal den C18 gegen den GCCAVR testen.

Mein Ergebnis mit Optimierung ist allerdings erschreckend.

Ich habe unter Optimierung alles ausgewählt, jedoch entspricht das Ergebnis nicht so ganz meinen Vorstellungen von eine Optimierung. Schlechteren Code kann man ja kaum noch produzieren. Was habe ich falsch eingestellt. Ich füge das Projekt mal als ZIP-Datei an.

Zitat
20:                   while(size--) {
  00EA    0E02     MOVLW 0x2
  00EC    CFDB     MOVFF 0xfdb, 0xff3
  00EE    FFF3     NOP
  00F0    06DB     DECF 0xfdb, F, ACCESS
  00F2    50F3     MOVF 0xff3, W, ACCESS
  00F4    0900     IORLW 0
  00F6    E015     BZ 0x122
  0120    D7E4     BRA 0xea
21:                     *WritePtr++=*readptr++;
  00F8    CFDF     MOVFF 0xfdf, 0xfe9
  00FA    FFE9     NOP
  00FC    2ADF     INCF 0xfdf, F, ACCESS
  00FE    0E01     MOVLW 0x1
  0100    CFDB     MOVFF 0xfdb, 0xfea
  0102    FFEA     NOP
  0104    E301     BNC 0x108
  0106    2ADB     INCF 0xfdb, F, ACCESS
  0108    50EF     MOVF 0xfef, W, ACCESS
  010A    6EE6     MOVWF 0xfe6, ACCESS
  010C    C082     MOVFF 0x82, 0xfe9
  010E    FFE9     NOP
  0110    C083     MOVFF 0x83, 0xfea
  0112    FFEA     NOP
  0114    2B82     INCF 0x82, F, BANKED
  0116    0E00     MOVLW 0
  0118    2383     ADDWFC 0x83, F, BANKED
  011A    52E5     MOVF 0xfe5, F, ACCESS
  011C    50E7     MOVF 0xfe7, W, ACCESS
  011E    6EEF     MOVWF 0xfef, ACCESS
22:                   }

Das war das Ergebnis. Erwartet hätte ich da eher etwas wie:
Jetzt nur die Schleife:

Code:
loop:
  MOVFF POSTINC1, POSTINC2
  DECFSZ Zaehler
  BRA loop

Das sind 5 Zyklen gegen 20+x.

 
Gespeichert

Projektseite: Amadeus-USB
bemi
Full Member
***
Offline Offline

Beiträge: 193


Profil anzeigen WWW
« Antworten #1 am: Dezember 07, 2008, 12:20:43 »

Tja, daß mit dem Upload der Datei klappt irgendwie nicht.
"Das Upload-Verzeichnis ist voll. Bitte versuchen Sie es mit einer kleineren Datei oder kontaktieren Sie den Administrator" oder so ähnlich lautet die Fehlermeldung.
Dabei sind daß nur 15kBytes. Weinen
Gespeichert

Projektseite: Amadeus-USB
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.032 Sekunden mit 18 Zugriffen.
 
Top! Top!