Gast
#236203
Hallo allerseits, ich habe folgendes Problem: Ich lade eine 16bit Zahl in zwei Register (Highbyte und Lowbyte) Diese möchte ich nun mit dem Befehl lsl (logical shift left) verschieben. Allderdings ist die Zahl in zwei Bytes, der Befehl lsl lässt jedoch sich nur auf ein Register anwenden. Hat jemand zu diesem Problem eine Lösung? Hier noch kurz der Assembler-Code Auszug: ldi r16, LOW(10000) ldi r17 HIGH(10000) Das gleiche Problem stellt sich dann z.B. bei den Befehlen add (Addieren) oder sub (Subtrahieren). Das ganze brauche ich für eine Multiplikationsroutine von zwei 16 bit Zahlen. Die ApNote AVR200 oder www.avr-asm-tutorial.net behandeln diese Themen leider nur schematisch. Vielen Dank schon mal für Anregungen oder CodeZeilen. Gruß Jan Purrucker