Ich habe hier mal ein Ergebnis des GCC-Compilers:
1 | 10e: cd b7 in r28, 0x3d ; 61
|
2 | 110: de b7 in r29, 0x3e ; 62
|
3 | 112: 2c 97 sbiw r28, 0x0c ; 12
|
4 | 114: 0f b6 in r0, 0x3f ; 63
|
5 | 116: f8 94 cli
|
6 | 118: de bf out 0x3e, r29 ; 62
|
7 | 11a: 0f be out 0x3f, r0 ; 63
|
8 | 11c: cd bf out 0x3d, r28 ; 61
|
Nach der Reservierung einiger Bytes auf dem Stack, wird dieser neue
Stackpointer unter Interruptsperre in die entsprechenden Register
zurückgeschrieben. Müsste SREG nicht als letztes beschrieben werden?
Oder dauert das sowieso eine Weile, ehe ein möglicher Interrupt davon
weiß?