I've recently started working in an IT Security position, and I'm trying to gain a solid foundation in assembly so I can start playing around with reverse engineering malware in my spare time. I've taken classes in Java and C++ before, and played around with HTML, JavaScript, and Python, but I haven't built anything significant yet, so I still consider myself to be a beginner. I've read a few articles, in an attempt to find out what I should start with, but there seems to be quite a wide variety of low-cost microprocessors out there.
I've read that the MSP430 is a good place to start, and it's definitely inexpensive, but I wonder if it would make more sense to just start with something more modern.
ARM processors are also supposed to be a good choice for a beginner, but there are so many choices, it's hard to figure out what I need.
Arduino looks interesting, and I hear about it all the time, but from the looks of it, most people don't use them to learn assembly. I know that they made an ARM version (which is hard to find) but I'm not sure what the difference would be between this and other ARM processors.
If anyone has a minute to share their thoughts I would be greatly appreciative.
Note that a good portion of the learning curve for AVR or other microcontroller assembler is learning the hardware environment and learning about interrupts, execution environment setup, etc etc. None of this is particularly useful for malware analysis on x86 hardware.
If you are going to analyse malware under Android/etc then ARM is not such a bad idea. The PI or the BeagleBone are excellent platforms for getting started. Be aware that ARM assembler is a bit of a beast and is probably not a good first architecture to learn.