New Jersey Machine-Code Toolkit Architecture Specifications
The New Jersey Machine-Code Toolkit helps programmers write
applications that process machine code---assemblers, disassemblers,
code generators, tracers, profilers, and debuggers. The toolkit lets
programmers encode and decode machine instructions symbolically. It
transforms symbolic manipulations into bit manipulations, guided by a
specification that defines mappings between symbolic and binary
representations of instructions. This document presents our annotated
specifications for the MIPS R3000, SPARC, and Intel 486 instruction
sets. For an overview of the toolkit, read [ramsey:jersey] first.
The reference manual for the toolkit [ramsey:tk-reference] gives a
complete description of the specification language used here.