Gast
#215030
Hallo, Ich habe leider das Problem, dass mein Assembler-Code (>10KB) auf meinem ATMega16 spinnt, sobald in der Nähe der ISR's auch nur noch ein einziger NOP-Befehl hinzukommt. Ich habe eingesehen, dass ich jetzt wohl den mühsamen Weg gehen muss und den ganzen Code auf korrekte Rücksprünge usw. kontrollieren muss (kein ret nach jmp usw.). Ich habe auch schon eine Stelle gefunden, welche ein Problem darstellen kann: In einer ISR will ich am Ende erzwingen, zu einem bestimmten Punkt im Hauptprogramm zurückzuspringen. Das mache ich zur Zeit mit: ... sei jmp loop ... Ich weiß, eigentlich sollte ich am Ende mit "reti" rausspringen, weil die Rücksprungadresse noch im Stack gespeichert ist. Gibt es eine Möglichkeit das eleganter zu machen? Kann ich vielleicht irgendwie eine fest definierte Rücksprungadresse auf den Stack pushen und wenn ja, wie geht das? besten Dank im Voraus, Oliver