If you are using linux or windows you may wish to look at YAGARTO http://www.yagarto.de/
The main reason is you can write C code and see what Gcc generates (IE using the -S option) this will force the compiler to generate assembly (.s file) and you can inspect the opcodes stack frame information etc. I would avoid the proverbial hello world file and and use an embeded system (pre existing) example. See that it compiles then add in the -S option. It can be highly instructive to do this, also do NOT turn on the optimization when you do this. Otherwise you will have a hard time figuring out what variables are being used. Namely because it can potentially optimize some steps that would be obvious and you will miss what you are looking for. As for general ARM assembly RTFM the links winter_mute posted. If you have little experience with compiled languages (IE VB or .NET based ones) you may need to apprise yourself of C then maybe C++ (if you haven't already). C in particular, because it is the simplest language I know of that is very close to the machine level of operation. Cyb - PS I believe a bunch of links are in a sticky for you to obtain stuff from herein as well.