Efektivita C
Michal HW
michalgregor@centrum.cz
Úterý Leden 18 10:53:18 CET 2005
Zkousim C PICL od Hi-Techu.
Asembler zhruba takto:
movlw 8 ;8 byte
movwf Pc_Pocet_B
movlw Pc_Bufer
movwf FSR
movlw 0
Scitej addwf INDF,W
decfsz Pc_Pocet_B,F
goto Scitej
movwf Scitej
C:
Pult_Ukazatel=20;
Pom=0;
do {
Pom=Pult_Bufer[Pult_Ukazatel]+Pom;
}
while ((Pult_Ukazatel--) >0);
Ve vypisu
movlw 20
364 06AF 00B0 movwf _Pult_Ukazatel
365 ;SGDR_MAT.C: 372: Pom=0;
366 06B0 01AB clrf _Pom ;volatile
367 06B1 l48
368 ;SGDR_MAT.C: 373: do {
369 ;SGDR_MAT.C: 374:
Pom=Pult_Bufer[Pult_Ukazatel]
+ +Pom;
370 06B1 0830 movf _Pult_Ukazatel,w
371 06B2 3E4A addlw _Pult_Bufer
372 06B3 0084 movwf 4
373 06B4 1383 bcf 3,7
374 06B5 0800 movf 0,w
375 06B6 07AB addwf _Pom ;volatile
376 ;SGDR_MAT.C: 375: }
Dost mne zarazi ze v tom uzavrenenm cyklu znovu vypocitava FSR. Budu se
muset poohlednout po jinem C a porovnat to.
Michal
Další informace o konferenci Hw-list