Zuspruch und Widerspruch:

Bei den meisten Projekten komme ich ohne Assemblerkenntnisse aus, benutze dort aber immer die AVRs, die RAM mitbringen. In dem Fall muss ich nur bei geschwindigkeitskritischen Sachen oder Spezialitäten die von keiner Lib unterstützt werden manchmal zu Assembler wechseln. Ich komme so beim Entwickeln schneller voran. Wenn's mit dem Speicher knapp wird, wechsel ich auf einen AVR mit mehr Flash (z.B. 48->88->16 RAM war dabei eigentlich noch nie ein Problem.

Die Portabilität löse ich dann so wie man es in Assembler auch machen würde: Durch defines/EQUs in einer separaten Datei.

Ich bin allerdings der Ansicht, dass man wenigstens einen Assembler kennen sollte, weil man so die Funktionsweise von uP bzw. uC besser verstehen kann. Und bei AVRs ohne RAM geht eh kein Weg dran vorbei.