Eigentlich muss man mit Assembler immer 'von vorne' anfangen, wenn man auf eine neue Architektur umsteigt.
Selbst für ein und den selben Controller werden teilweise unterschiedliche Mnemonics oder andere Syntak/Semantik verwendet, üblicherweise wird aber die Notation verwendet, die ein Chip-Hersteller in seinen Datenblättern und Befehlsbeschreibungen verwendet.
Und zudem kommen noch andere Sachen hinzu wie Assembler-Direktiven für Sections, Alignment, Symbolnamen, Makros, etc. oder wie Kommentare eingeleitet werden und nicht zuletzt die bedienung des Assembler-Programmes selbst.

Assembler lernt man am besten mit der Befehlsbeschreibung des Herstellers, kleine Programme schreiben, andere -- möglichst gut dokumentierte -- Quellen anschauen oder gucken, was zB ein C-Compiler so ausspuckt.

Bei avr-gcc ist natürlich auch ein Assembler dabei, der avr-as.
Der ist vielleicht keine schlechte Wahl, denn im embedded-Bereich wird praktisch nicht mehr in Assembler programmiert, weil das zu fehlerträchtig ist und die Entwicklungszeiten zu lang sind.

Verbreiteter sind da Hochsprachen wie C, C++, Java, Ada, so dass es dir dann einfacher fällt auf den avr-gcc umzusteigen. Und GCC ist ein riesiges Werkzeug, der für praktisch auf alle heute üblichen Zielarchitekturen portiert ist: AVR, XC, Tricore, PowerPC, MSP, ARM, i386, M68000, ...

Gruß, Johann