How to execute machine code (learning assembly)

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).

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:

  • Learn how to create a windows executable
  • Use some sort of virtual machine / emulator
  • 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.


    Great place to learn windows assembly programming for x86 is legendary Iczelion's tutorials.

    You can also find MASM tools here

    and if you have the patience, #asm on EFNET


    你可能想阅读这本非常棒的书:


    I recommend you learn a RISC assembly instead of CISC; you will have fewer instructions to learn and you can practice building more of the higher-level constructs. I first learned MIPS assembly because it has a great free emulator (SPIM) and textbook, which I unfortunitely forget the name of, but it had an old-school woven binding and was a cream color.

    链接地址: http://www.djcxy.com/p/50552.html

    上一篇: 如何使用动态重新编译?

    下一篇: 如何执行机器代码(学习程序集)