Interrupt response csokkentes
Dukai Zoltan
dukai.zoltan at gmail.com
Sun Jan 8 17:21:47 CET 2006
Udv!
C-s guruktol kerdeznem hogy mi az a varazsszo amitol nem fogja a
regisztereket PUSH-olgatni es a rutin vegen POP-olni a fordito?
Alig hasznalok regisztereket, szerintem ki sincs hasznalva mind a 32, es
akkor is ...
SIGNAL(SIG_PIN_CHANGE1)
{
f6: 1f 92 push r1
f8: 0f 92 push r0
fa: 0f b6 in r0, 0x3f ; 63
fc: 0f 92 push r0
fe: 11 24 eor r1, r1
100: 8f 93 push r24
outbuf[2]=PINC;
102: 86 b1 in r24, 0x06 ; 6
104: 80 93 10 01 sts 0x0110, r24
mehet=1;
108: 81 e0 ldi r24, 0x01 ; 1
10a: 80 93 00 01 sts 0x0100, r24
10e: 8f 91 pop r24
110: 0f 90 pop r0
112: 0f be out 0x3f, r0 ; 63
114: 0f 90 pop r0
116: 1f 90 pop r1
118: 18 95 reti
a rutinon belul ha jol latom ra se szagol az r1 es r1-re. akkor minek
nyomja fel a stack-re?
Ahogy nezem minden rutinban felnyomja maganak az r0 - r1-et.
ez -O2 optimalizacional van. O0-nal hoszabb lesz, O3-nal is
eni ajdiaz? :/
More information about the Elektro
mailing list