Learning ARM assembly

The ARM reference documents actually provide a very nice introduction to the instruction set. Those are a great place to get started.

Since you're writing assembly (and hence probably are interested in low-level performance details), you'll want either a cycle-accurate simulator or actual hardware (or both). Besides the hardware options that David Lively suggested, you might also look into a Beagle Board.

As far as compilers go, there's ARM's RealView tools and there's GCC. Support for newer hardware features may be somewhat more fully baked in the ARM tools.


Obtain an evaluation version of of one of the arm software toolkits which will include a debugger/software emulator. If you're willing to spend a few hundred dollars, obtain an arm eval board (Keil sells a few). You can test your code on the board via a JTAG interface and see what happens on real hardware.

These should get your going in the right direction

Disclosure: I work for ARM.

Tags:

Assembly

Arm