title: How to execute machine code (learning assembly)
body: <p>I'd like to have a go at learning assembly, and possibly writing my own simple assembler (I recently read an interesting article on how to create an operating system, and quickly realised that a certain familiarity with assembly would help me out a lot here).</p>
  
  <p>The trouble is that although I'm sure I'll have no problems finding articles and guides on assembly language / machine code, I tend to learn by doing, and I'd really like to have a go at executing my code. I figure I have two options:</p>
  
  <ul>
  <li>Learn how to create a windows executable</li>
  <li>Use some sort of virtual machine / emulator</li>
  </ul>
  
  <p>The second option sounds better to me, as it protects me from potentially making stupid mistakes, and will probably more closely resemble the environment I'll be in while writing an OS, but I'm not really sure how to do either.</p>