Gast
#3726019
Ich möchte tvtext_v2.asm aus Beitrag "Re: AVR Videogenerator, 40x25 Zeichen, nur 60% CPU Auslastung !" so modifizieren, dass ein Zähler laufend ausgegeben wird. Das Programm hat eine Textmode-Demo, wo ich eigene Zeichenketten untergebracht habe (anstelle des ASCII-Generators). Leider habe ich keine Ahnung von ASM (avr asm). Nach meinem Verständnis gibt es jedoch einen Speicherbereich im RAM, der für die Zeichen auf dem Display genutzt wird (aus diesen Daten wird in Interrupts das Video-Signal erzeugt). In diesen Speicherbereich wird über eine print-Funktion mittels Z-Pointer geschrieben. Das passiert einmal bei der Initialisierung des Programms. In der main-loop möchte ich nun stets an eine bestimmte Stelle im "Textspeicher" die Ziffern des Zählers schreiben. Dazu habe ich versucht, den Z-Pointer bei der Initialisierung zu kopieren, um eine einfache Positionierung im sonst statischen Text zu ermöglichen. Für die Zeichenausgabe der Zahl (=Ziffernausgabe) hatte ich gedacht, man könnte die aus Z gesicherte Adresse wieder laden, und dann die drei Zeichen erzeugen. Leider funktioniert dann die Ausgabe gar nicht mehr, der Versuch, das Programm zu simulieren schlug fehl (AVR Studio 4.x hat nicht mehr reagiert). Ich sehe drei mögliche Fehlerquellen: - Z-Pointer funktionert anders, ich benutze es falsch - Z-Pointer wird zwischenzeitlich verändert, bzw. durch meine Veränderung bringe ich das Programm durcheinander (push/pop erforderlich/möglich?) - Die Zahlenausgabe bringt das Timing durcheinander Ich würde mich freuen, wenn jemand zwei Minuten einen Blick drauf werfen könnte. Meine Änderungen sind im o.g. Thread zu sehen.