As it happens, I've been learning ARM assembly in the recent weeks; just for fun so far. I've mostly used some instruction set references or ARM cheatsheets I found on the web.
Having written mostly m68k assembly before (well, 6502 too...) I knew a bit how to read ARM assembly but I wanted to learn it throughoutly and gain such insight into the instruction set that can only be achieved by writing non-trivial programs with it. Before that I wanted to learn x86 assembly but I soon gathered I'll have better use for my time than that.
I like ARM instruction set quite a lot: it's nicely coherent, has nicely orthogonal features (such as conditional instructions), and doesn't seem to be ridden with despicable backwards-compatibility hacks like x86 assembly.
I like that for once something as good as this has significant marketshare in mobile cpus. Just wondering if they could gradually creep into the market for desktop cpus as well.