Hallo Leute, ich habe einen Vorwärtszähler (mit Tastendruck) mit LCD-Azeiger in Assembler programmiert und benutze dabei ein Atmega8 und eine STK500. Alles funktioniert und der zählt bis 255 dann fängt er wieder auf 0. Ok! Nun möchte ich nicht, dass er bis 255 hochzählt, sondern über 255. Aber dadurch das mein Register 8 Bit breit sind, wie kann ich die im 16 Bit breite benutzen. beigefügt ist mein Code
Immer wenn dein lowbyte überläuft, das highbyte weiterzählen... http://www.avr-asm-tutorial.net/avr_de/beginner/sprung.html#Inc
Einsteiger wrote: > Hallo Leute, > > ich habe einen Vorwärtszähler (mit Tastendruck) mit LCD-Azeiger in > Assembler programmiert und benutze dabei ein Atmega8 und eine STK500. > Alles funktioniert und der zählt bis 255 dann fängt er wieder auf 0. Ok! So weit so gut... > Nun möchte ich nicht, dass er bis 255 hochzählt, sondern über 255. Aber > dadurch das mein Register 8 Bit breit sind, wie kann ich die im 16 Bit > breite benutzen. Dazu gibt es einerseits Befehle, die mit zwei Registern (aber nur mit bestimmten Registern) einfache Addition und Subtraktion machen können (adiw und sbiw). Ansonsten muss man entsprechende Aktionen über das Carry-Flag machen (z.B. mit einer Kombination aus add und adc). Dazu stehen aber afaik im AVR-Tutorial und in der Befehlssatz-Dokumentation von ATMEL (z.B. in der Hilfe vom AVRStudio) Beispiele. Das solltest Du Dir am besten mal ansehen. > beigefügt ist mein Code Das sehe ich anders...
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.