I like the 6502 for its simplicity, as well. However, its extremely limited number of data registers makes it a challenge to juggle data for computations. I’ve found that I have to plan them out for anything remotely complex.
The first assembly language I learned was on the 68000, when I was a sophomore in college. I think it has a very well designed instruction set. I also think it’s easy to learn. The number of registers makes it easy to set up computations. Unlike the 6502, its instruction set is flexible re. how you arrange your computations. As I recall, you can grab operands from addresses, or registers, or both. It doesn’t care. I liked it a lot. It really helped me drop my fear of assembly programming.
The 6502 instruction set is designed such that computations are set up along a “track.” You can’t just say, “I want to add operands from these two addresses, and put the result in the Accumulator.” There’s really only one way to use the CPU’s “add” and “subract” instructions: One of the operands must be loaded into the Accumulator. The other operand must be referenced in the arithmetic instruction (a literal, or from an address).
The other two data registers, X and Y, are special-purpose. They can be used to store values, but you can’t do the same things with them as the Accumulator. They’re designed as index registers.
A technique I’ve tended to see is 6502 programmers using the processor stack to hold extra values that they’re “holding in reserve” for a computation, rather than using X and Y, because you don’t run out of “slots” to store things. Whereas, on the 68000, which has a processor stack, I didn’t find it necessary to do that often, since you have a large number of registers, which can all be used the same way (except for a7, which is the stack pointer).
To me, the 6502 takes more thought to use than the 68000, because you have to manage a very limited resource. The instruction set is not very flexible. it tends to give you only one way to do different things. I found with the 68000, it let me decide how I wanted to arrange data values, and how I wanted to include them in computations. That felt nicer. Though, I still find dealing with the 6502 fun, because of its simplicity.