Universal Disassembler program for 8-bit microprocessors
Go to file
Jeff Tranter 4cce3be30c
Merge pull request #6 from robmcmullen/master
Fixed instruction length for 6809 ldy direct and indexed
2018-09-11 17:51:41 -04:00
65c02.py Start 6809. 2015-07-02 22:04:51 -04:00
6502.py Added 6502 undocumented opcodes 2016-02-21 22:13:14 -08:00
6800.py Make some fixes for 6800. 2018-09-09 13:04:13 -04:00
6809.py Fixed instruction length for 6809 ldy direct and indexed 2018-09-11 05:13:08 -07:00
6811.py Start 6809. 2015-07-02 22:04:51 -04:00
8051.py Fixed for Z80. 2018-09-09 18:07:30 -04:00
8080.py Start 6809. 2015-07-02 22:04:51 -04:00
65816.py 65816: text formatting: aligned right brackets in opcodeTable 2016-03-04 11:44:47 -08:00
LICENSE Initial commit 2015-06-18 17:18:36 -04:00
README.md Updated README to change status on z80 and 65816 2016-03-04 17:03:59 -08:00
udis.py Remove some white space. 2018-09-09 13:08:14 -04:00
z80.py Fixed for Z80. 2018-09-09 18:07:30 -04:00

Universal Disassembler program for 8-bit microprocessors

This is a simple disassembler for various 8-bit microprocessors. It reads a binary file specified on the command line and produces a disassembly. It requires Python 3. It has been tested on Linux but should work on any platform that supports Python. See the source code for more details.

The following CPUs are either supported or planned to be supported:

CPU Status


1802 possible

6502 done

65816 done

65C02 done

6800 done

6809 done (incomplete)

6811 done

8080 done

8051 done (incomplete)

F8 possible

Z80 done

usage: udis.py [-h] [-c CPU] [-n] [-a ADDRESS] [-i] filename

positional arguments:

filename Binary file to disassemble

optional arguments:

-h, --help show this help message and exit

-c CPU, --cpu CPU Specify CPU type (defaults to 6502)

-n, --nolist Don't list instruction bytes (make output suitable for assembler)

-a ADDRESS, --address ADDRESS Specify decimal starting address (defaults to 0)

-i, --invalid Show invalid opcodes as ??? rather than constants