http://www.eecs.harvard.edu/~nr/toolkit/ The New Jersey Machine-Code (NJMC) Toolkit helps programmers write applications that process machine code -- assemblers, disassemblers, code generators, tracers, profilers, and debuggers. The NJMC Toolkit implements the [[http://www.eecs.harvard.edu/~nr/pubs/specifying.ps][SLED]] (Specification Language for Encoding and Decoding) language. SLED specifications for the MIPS, SPARC, Pentium, Alpha and PowerPC have been written. Take a look at a plain vanilla SPARC disassembler example at http://www.eecs.harvard.edu/~nr/toolkit/examples/sparc/. Use the ML version for decoding, and the Icon version for encoding. See [[http://www.itee.uq.edu.au/~emmerik/toolkitml.html][Using the ML NJMC Toolkit]] and [[http://www.itee.uq.edu.au/~emmerik/njtk.html][Using the NJMC Toolkit]] for important information. Retrieved Aug 2004. CategoryDecompilation