I'm a big believer in the Arduino boards.
1) The arduino hardware is a reasonable piece of hardware that accommodates several AVR chips (and the AVR is a reasonable first microprocessor.)
2) You don't have to use the Arudino IDE just because you're using arduino hardware.
3) You don't have to use the 'wiring' libraries just because you have arduino hardware.
4) Studying the way that the Arduino libraries and core work can be particularly educational.
5) Studying the (assembler) code produced by Arduino "sketches" is also educational.
6) in fact, you can think of an Arduino sketch as a "design document" on the way to actually implementing your code in pure C or assembler. Like a flowchart, or pseudo-code.
7) Many of the Arduino "tutorials" are more about the chips and devices being interfaced to than about the Arduino itself. So they're useful (as "pseudo-code") even for non-Arduino based code. An arduino tutorial about LED current limiting resistors, or relay switching, is just as valid for a bare AVR (or any other CPU, really.)
If the going is tough in pure C or assembler (someone mentioned "too many registers to set"), then you have the Arduino simplification to fall back on, in case you'd still like to actually DO something.