scotws wrote:
Put simpler, ARM assembler doesn't seem fun. When every instruction can be conditional and you can shift everything at the end, it gets pretty complicated.
Having ported a compiler to ARM (a large part of which was writing small assembly-language snippets), I found ARM assembler to be great fun. Predicated code allows for some impressive tricks even without teaching the compiler to take direct advantage, and having the program counter in a register is good for not just position-independent data references, but also position-independent computed jumps, and then there's having a barrel shifter on one of the ALU inputs... My main complaints are the limited range on immediate values and the lack of registers (just having ONE more register would have saved me a great deal of trouble, for example, and several months after completion we're still trying to scare up another register in order to implement a major chunk of "optional" functionality).
Oh, and the stupidly huge number of FPU variations. FPA, iwMMXt or whatever it's called, I don't know how many variants of VFP, plus probably others. Ugh.