Arduino assembler programming

I've written more assembler than I care to remember, for example a Pascal compiler written in assembler for the Apple 2:

However these days it is only really required for low-level system programming, where you either need to do something not supported by other languages (eg. C) or something very timing-specific.

Modern C (and C++) compilers optimize very well. You will probably write slower code if you try to do it yourself in assembler, unless you are a real expert. The compiler can keep track of register usage, use "tricks" you may not have thought of, move instructions around, and generally produce fast, tight code.

It's fine to learn how to read it, knowledge is always useful. But I wouldn't be writing a big project in assembler these days, personally.