<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>
<META content="MSHTML 6.00.6000.16762" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=750503509-12122008><FONT face=Arial
size=2>Zdravim,</FONT></SPAN></DIV>
<DIV><SPAN class=750503509-12122008><FONT face=Arial size=2>ted me dostala
optimalizace casti kodu, kterou jsem necekal...</FONT></SPAN></DIV>
<DIV><SPAN class=750503509-12122008><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=750503509-12122008><FONT face=Arial
size=2> BYTE idx;<BR> PDS18X20_DESC pd =
&DsTSensDesc[0];<BR> for (idx=0; idx<DsTSensCount;
idx++)<BR> {<BR> pd++->status =
TSENS_ERR_HW;<BR> }<BR></FONT></SPAN></DIV>
<DIV><SPAN class=750503509-12122008><FONT face=Arial size=2>je prelozeno
takto:</FONT></SPAN></DIV>
<DIV><SPAN class=750503509-12122008><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=750503509-12122008><FONT face=Arial
size=2> BYTE idx;<BR> PDS18X20_DESC pd =
&DsTSensDesc[0];<BR> for (idx=0; idx<DsTSensCount;
idx++)<BR> bee: 90 91 78 02 lds r25,
0x0278<BR> bf2: e0 e0
ldi r30, 0x00 ; 0<BR> bf4: f2
e0 ldi r31, 0x02 ;
2<BR> bf6: 8c e0
ldi r24, 0x0C ; 12<BR> bf8: 98
9f mul r25,
r24<BR> bfa: c0 01
movw r24, r0<BR> bfc: 11
24 eor r1,
r1<BR> bfe: 8e 0f
add r24, r30<BR> c00: 9f
1f adc r25,
r31<BR> {<BR> pd++->status =
TSENS_ERR_HW;<BR> c02: 21 e0
ldi r18, 0x01 ; 1<BR> c04: 02
c0
rjmp .+4 ; 0xc0a
<TSens_SrvFunc+0x46><BR> c06: 23
87 std Z+11, r18 ;
0x0b<BR> c08: 3c 96
adiw r30, 0x0c ; 12<BR> wStartTicks =
GetTicks1ms();<BR> if (bRes !=
DS18X20_OK)<BR> {<BR> BYTE
idx;<BR> PDS18X20_DESC pd =
&DsTSensDesc[0];<BR> for (idx=0; idx<DsTSensCount;
idx++)<BR> c0a: e8 17
cp r30, r24<BR> c0c: f9
07 cpc r31,
r25<BR> c0e: d9 f7
brne .-10 ; 0xc06
<TSens_SrvFunc+0x42><BR> c10: 30
c0
rjmp .+96 ; 0xc72
<TSens_SrvFunc+0xae><BR></FONT></SPAN></DIV>
<DIV><SPAN class=750503509-12122008><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=750503509-12122008><FONT face=Arial size=2>(prolozeni textu je
trosku ujete, pointa je v tom, ze se prekladac uplne vyhne pouziti promenne idx
a ukonceni cyklu provede na zaklade porovnani ukazatele na strukturu s max.
hodnotou (pocet polozek je na adrese 0x278) Je to evidentne funkcni a logicke,
rekl bych ale, ze s pouzitim idx by kod vysel kratsi, coz byl muj
zamer...)</DIV></FONT></SPAN></BODY></HTML>