Daran ist dann aber in diesem Fall nicht der Controller schuld sondern der C-Compiler, der die Anweisung nicht korrekt in Assembler-Befehle umsetzt. Denn prinzipiell kann auch ein 8-Bit Controller nahezu beliebig große Zahlen addieren, sofern man ihn richtig programmiert.Vermutlich kann der ka 8bit prozessor nur 16bit variablen verarbeiten...
Ich würde also erstmal einen Blick auf den erzeugten Assembler-Code werfen, um herauszufinden was der Compiler da falsch macht. (und die shift-Funktion ggf. als inline-Assembler selbst schreiben)
Lesezeichen