Hallo SprinterSB un storchi

Auch eine eigene einfache function zum Led steurung lief nicht wenn angerufen innerhalb ein interrupt, ich verwende den timer1 output compare interrupt dazu. Ich nutze die Asuro Robot ProgrammersNotepad2 mit Gcc.exe und eine makefile von die Asuro. Vielleicht gibts dort irgendwo die antwort. Ich vermute da geht etwas falsch beim stack. Vielleicht werden da die programcounter oder sonstiges nicht auf stack gespeichert. Es hat nicht unbedingt mit dividieren zu tun sondern mit anrufen eine function.
Meine code listing



//OCR1BL=ucMeinVar*128/110;

993 .stabn 68,0,1207,.LM159-__vector_7
994 .LM159:
995 03c6 8091 0000 lds r24,ucMeinVar
996 03ca 9927 clr r25
997 03cc 9695 lsr r25
998 03ce 982F mov r25,r24
999 03d0 8827 clr r24
1000 03d2 9795 ror r25
1001 03d4 8795 ror r24
1002 03d6 6EE6 ldi r22,lo8(110)
1003 03d8 70E0 ldi r23,hi8(110)
1004 03da 00D0 rcall __divmodhi4
vorangehend an 'rcall' keine 'stack-pop' actionen oder sonstiges!
Vielleicht sollte im makefile einige compiler flaggen zugefugt werden.


zu storchi

Die Musik sourcode ist hier zu finden:

http://www.arexx.com/downloads/Asuro_Henk/AsuroIdx.htm

irgendwo by Arexx Asuro downloads

gruss

Henk