6502 Disassembler

code: disassembly:
opcode starts at (hex):
disassemble from (hex):
to (hex):


Show the 6502 instruction set.
Show the virtual 6502 emulator.
Show the 6502 Assembler



This is is simple disassembler for the 65xx micro processor.
It is thought to accompany the virtual 6502 emulator.

To get your code disassmbled:

  1. Enter the object code in the "code" pane.
  2. Enter the start address.
  3. Enter an optional stop address (dissasmble the whole code else).
  4. Click the button "disassemble".
  5. Copy the assembler code from the "disassembly" pane for further use.

The object code is to be entered as series of hex numbers (separated by optional white space). Any figures prefixed by a colon ":" are ignored as line numbers.

Assembler Syntax

The disassembler supports the following syntax:

   Instructions are always 3 letter mnemonics followed by an (optional) operand/address:
   OPC .... implied
  OPC A .... Accumulator
  OPC #BB .... immediate
  OPC HHLL .... absolute
  OPC HHLL,X .... absolute, X-indexed
  OPC HHLL,Y .... absolute, Y-indexed
  OPC LL .... zeropage
  OPC LL,X .... zeropage, X-indexed
  OPC LL,Y .... zeropage, Y-indexed
  OPC (BB,X) .... X-indexed, indirect
  OPC (LL),Y .... indirect, Y-indexed
  OPC (HHLL) .... indirect
  OPC BB .... relative
  ??? .... undefined opcode
Where HHLL is a 16 bit word and LL or BB a 8 bit byte, and A is literal "A".
Operands are always represented as hex numbers (e.g.: $0000).

   Other Instructions / Pragmas:
   * = $xxxx .... set program counter (= start address)
   .END .... end of assembler code


This program is provided for free and AS IS, therefore without any warranty;
without even the implied warranty of merchantability or fitness for a particular purpose.


The official 65xx Website (The Western Design Center Inc.):


© Norbert Landsteiner 2005, mass:werk