I’ve read that learning a low level language can help writing higher level languages (although not essential).
However, I don’t know how to get set up.
If some one said to me, “I want to learn VB.NET or C#.NET, how do I do it?” I would reply with: Get a PC with Windows OS, download .NET framework, download Visual Studio and here is a ‘hello world’ tutorial.
I have exactly the same question, but with an assembler language. I appreciate it may be different for each language, but I’m not precious about which language you choose to explain.
The reason for this, is I can run code natively on my machine but I get the feeling assembler is more about hardware and does that require an emulator or does it have to be done in live (where I need a piece of hardware to work on).
A recent option you have is to buy a Raspberry Pi and follow this tutorial: http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/
Another option is to buy this book: http://nostarch.com/hacking2.htm. It comes with a LiveCD already setup for you to start tinkering, which you may download for free here: http://nostarch.com/hackingCD.htm
Happy hacking 🙂
EDIT:
A free ebook is here for 6502 assembly: http://skilldrick.github.com/easy6502/