Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>What you're looking for is not a tutorial or source code, it's a <em>specification</em>. See <a href="http://msdn.microsoft.com/en-us/library/windows/hardware/gg463119.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/windows/hardware/gg463119.aspx</a></p> <p>Once you understand the specification of an executable, write a program to generate one. The executable you build should be as simple as possible. Once you have mastered that, <em>then</em> you can write a simple line-oriented parser that reads instruction names and numeric arguments to generate a block of code to plug into the exe. Later you can add symbols, branches, sections, whatever you want, and that's where something like <a href="http://www.davidsalomon.name/assem.advertis/asl.pdf" rel="nofollow">http://www.davidsalomon.name/assem.advertis/asl.pdf</a> will come in.</p> <p>P.S. Carl Norum has a good point in the comment above. If your goal is create your own programming language, learning to write an assembler is irrelevant and is very much not the right way to start (unless the language you want to create is an assembly language). There are already assemblers that produce executables from assembler source, so your compiler could produce assembler source and you could avoid the work of recreating the assembler ... and you should. Or you could use something like LLVM, which will solve many other daunting problems of compiler construction. The odds are very small that you will ever actually produce your own programming language, but they're much smaller if you start from scratch and there's no need to. Decide what your goal is and use the best tools available to achieve it.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload