I want to learn assembly language for some processor that I can emulate on my PC, or run directly on my computer. I'm in an advanced c++ class at the moment, but I want to know how programming works on a lower level. I found a few tutorials, but I don't know how to compile it. It would be cool to be able to program without a compiler, but I'm not about to learn binary machine code. So 2 questions: What tutorial/book should I use, and how do I compile an assembly language program?