Hallo zusammen, bei der Simulation eines Assembler Programms für den Atmega8 mit AtmelStudio ist mir folgendes aufgefallen, wenn ich mit dem sei Befehl im Status Register das Global Interrupt Enable Bit auf 1 setze, und danach in eine Endlos-Schleife gehe, wird dieses Bit nach einigen Takt-Zyklen wieder zu 0. Warum verändert sich dieses Bit, obwohl kein Befehl ausgeführt wird? Wie kann ich das Global Interrupt Enable Bit dauerhaft auf 1 setzen?
Hi >Wie kann ich das Global Interrupt Enable Bit dauerhaft auf 1 setzen? Ohne ein 'cli' bleibt das I-Flag gesetzt. Ausnahme: innerhalb von Interrupts. Welchen Simulator bzw. AVR Studio benutzt du? MfG Spess
Hi Ich AVR Studio 4.19. Irgend wie habe ich das Gefühl, das der Simulator vom 6er Studio noch etwas buggy ist. Kann natürlich auch an deinem Programm liegen. Stell das mal als Anhang hier rein. MfG Spess
Hi
>okay hier mein Testprogramm,^^
Also wenn dabei das I-Flag zurückgesetzt wird, dann ist es definitiv ein
Bug.
MfG Spess
Debug -> Options and Settings -> Debugger -> Mask interrupts while stepping
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.