A
disassembler is a
computer program which translates
machine language to
assembly language. It therefore performs the inverse operation to an
assembler. However, the output of a disassembler is often designed for human-readability rather than suitability for input to an assembler.