1
0
mirror of https://github.com/ksherlock/x65.git synced 2024-09-29 13:54:54 +00:00
x65/disassembler
Carl-Henrik Skårstedt bf2e281751 Resolved OMF Directpage+stack seg, Disassembler "smarter"
- Using a section named DirectPage_Stack to adjust same named segment in
OMF file
- Resolving all zero page sections to fixed addresses before exporting
OMF
- Disassembler does more shenanigans to output more assemblable code
- Automatically determine the code address for c64 prg files
2015-11-17 23:47:35 -08:00
..
README.MD Resolved OMF Directpage+stack seg, Disassembler "smarter" 2015-11-17 23:47:35 -08:00
x65dsasm.cpp Resolved OMF Directpage+stack seg, Disassembler "smarter" 2015-11-17 23:47:35 -08:00

#x65 Disassembler

Simple disassembler for 6502, 65C02 and 65816 (default).

Command Line Options

Typical command line ([*] = optional):

Usage

x65dsasm binary disasm.txt [$skip[-$end]] [addr=$xxxx] [cpu=6502/65C02/65816] [mx=0-3] [src] [prg]
  • binary: file which contains some 65xx series instructions
  • disasm.txt: output file (default is stdout)
  • $skip-$end: first byte offset to disassemble to last byte offset to disassemble
  • addr: disassemble as if loaded at addr
  • prg: file is a c64 program file starting with the load address
  • cpu: set which cpu to disassemble for (default is 6502)
  • src: export near assemblable source with guesstimated data blocks
  • mx: set the mx flags which control accumulator and index register size

Sample output:

; -------------------------------- ;

; Referenced from Label_14 + $7 (subroutine)
; Referenced from Label_14 + $c (subroutine)
Label_11:
  lda $03,x
  bpl Label_13
; Referenced from Label_14 + $18 (subroutine)
Label_12:
  sec 
  lda #$00
  sbc $00,x
  sta $00,x
  lda #$00
  sbc $01,x
  sta $01,x
  lda #$00
  sbc $02,x
  sta $02,x
  lda #$00
  sbc $03,x
  sta $03,x
; Referenced from Label_11 + $2 (branch)
Label_13:
  rts 

; -------------------------------- ;

; Referenced from Label_1 + $1e (subroutine)
; Referenced from Label_16 + $1 (subroutine)
; Referenced from Label_24 + $b (subroutine)
; Referenced from Label_28 + $b (subroutine)
Label_14:
  lda $f7
  eor $f3
  lda #$e4
  jsr Label_16
  bne Label_27
  beq Label_27
; Referenced from Label_28 + $29 (branch)
Label_29:
  rts 

; -------------------------------- ;

; Referenced from Label_24 + $0 (data)
Label_30:
  dc.b $55, $55, $d5, $ff, $22, $22, $02, $00, $ff, $f2, $ff, $ff, $2e, $00, $00, $00