Das lernen des Befehlssatzes ist bei Assembler das kleinste Problem, wenn man die grobe Struktur kennt kann man den Rest nachschlagen. Das Programmieren dauert in der Regel länger als in C, vor allem wenn Rechnungen mit mehr als 8 Bits nutzt oder das Programm länger wird.

Ich würde aber auch C empfehlen, vor allem weil es für die AVRs ja einen guten, freien C Compiler gibt. Der Umstieg von C++ nach C ist ja auch nur ein kleiner Schritt.

Es hilft aber auch für die C programmierung wenn man ASM kann. Man weiss dann, was schnell geht, und was dauert. Außerdem kann man im Zweifelsfall kontrollieren was der Compiler aus dem C code gemacht hat, und kann so einige Fehler leichter finden.