title: How to write a disassembler?
body: <p>I'm interested in writing an x86 dissembler as an educational project.  </p>
  
  <p>The only real resource I have found is Spiral Space's, "<a href="https://web.archive.org/web/20091124113036/http://www.spiralspace.com/Depot/Projects/Disassembler/Default.aspx" rel="noreferrer">How to write a disassembler</a>".  While this gives a nice high level description of the various components of a disassembler, I'm interested in some more detailed resources.  I've also taken a quick look at <a href="http://www.nasm.us/" rel="noreferrer">NASM's</a> source code but this is somewhat of a heavyweight to learn from.</p>
  
  <p>I realize one of the major challenges of this project is the rather large x86 instruction set I'm going to have to handle.  I'm also interested in basic structure, basic disassembler links, etc.</p>
  
  <p>Can anyone point me to any detailed resources on writing a x86 disassembler?</p>