Universal Disassembler program for 8-bit microprocessors
Go to file
Jeff Tranter e0a5e76ed3 Merge pull request #3 from robmcmullen/udis_only
Preliminary support for 0xfdcb and 0xddcb bit operations
2016-02-29 22:09:55 -05: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 Start 6809. 2015-07-02 22:04:51 -04:00
6809.py Implement more of 6809. 2015-07-03 23:53:23 -04:00
6811.py Start 6809. 2015-07-02 22:04:51 -04:00
8051.py Clean up indentation. 2015-07-05 15:29:44 -04:00
8080.py Start 6809. 2015-07-02 22:04:51 -04:00
LICENSE Initial commit 2015-06-18 17:18:36 -04:00
README.md Start on 8051. 2015-07-05 13:30:58 -04:00
udis.py udis: simplified flag logical operations 2016-02-29 13:27:52 -08:00
z80.py z80: removed inadvertently added test addressing mode 2016-02-29 13:26:40 -08: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 possible

65C02 done

6800 done

6809 done (incomplete)

6811 done

8080 done

8051 done (incomplete)

F8 possible

Z80 done (incomplete)

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