Ich machs immer so:
Wobei ich allerdings nicht denke, dass eine 8Bit Variable auf 2 Register verteilt wird. Das würde mMn keinen Sinn machen. (Bei Computer-Prozessoren kann eher das umgekehrte auftreten, also das z.b 4 8Bit Variablen auf 4 32Bit Register aufgeteilt werden, da es schneller ist, als ein 32Bit Register mit 4 8Bit Variablen zu verwalten)Code:uint16_t var = 6518; asm ("" : "+r" (var));
Das einzige was an deinem Code "optimiert" werden könnte ist statt system_timer++; ein Pre-Increment zu machen, also: ++system_timer;
Ich nehme aber mal an das der Compiler das ohnehin tut (ohne es getestet zu haben). Dazu müsstest du dir den Assemblecode ansehen
LG
Lesezeichen