139 lines
3.4 KiB
ReStructuredText
139 lines
3.4 KiB
ReStructuredText
.. RST source for dis6502(1) man page. Convert with:
|
|
.. rst2man.py dis6502.rst > dis6502.1
|
|
.. rst2man.py comes from the SBo development/docutils package.
|
|
|
|
.. |version| replace:: 0.12
|
|
.. |date| date::
|
|
|
|
=======
|
|
dis6502
|
|
=======
|
|
|
|
----------------------------
|
|
Disassemble 6502 object code
|
|
----------------------------
|
|
|
|
:Manual section: 1
|
|
:Manual group: SlackBuilds.org
|
|
:Date: |date|
|
|
:Version: |version|
|
|
|
|
SYNOPSIS
|
|
========
|
|
|
|
dis6502 [*-b* | *-l* | *-c* | *-r <address>*] [*-a*] [*-p <pfile>*] [*-v <address>*] [*-7*] *file*
|
|
|
|
DESCRIPTION
|
|
===========
|
|
|
|
Dis6502 disassembles 6502 binary files. Binary formats understood include
|
|
Atari binary files (L menu command) and boot files. Equate and control
|
|
files can be included via the option to name well known locations and to
|
|
control the disassembly process. The output includes a cross reference.
|
|
|
|
The disassembly process is a two pass operation: First the program flow
|
|
is traced starting with the init and run parameters in the file headers.
|
|
The dump routine then prints out the information.
|
|
|
|
OPTIONS
|
|
=======
|
|
|
|
**-r** *<address*>
|
|
*file* is raw binary, located at *<address>*.
|
|
|
|
**-b**
|
|
*file* is an Atari boot image (disk or cassette). Note that neither .ATR
|
|
nor .CAS images are supported: the file must be a raw image with no header
|
|
information. For disks, this is called an XFD file.
|
|
|
|
**-l**
|
|
*file* is an Atari load file (aka XEX).
|
|
|
|
**-c**
|
|
*file* is a Commodore 64 executable.
|
|
|
|
**-a**
|
|
Generate assembly output. Suppresses the addresses and object
|
|
code normally printed on each line of output, and omits the
|
|
cross-reference section from the end of the output.
|
|
|
|
**-p** *<pfile>*
|
|
Use predefinition file. See **FILE FORMAT** for the predef file format.
|
|
Up to 10 **-p** options may be included.
|
|
|
|
**-v** *<address>*
|
|
Alternate vector address (normally **$FFFA**). This option only has
|
|
any effect with raw binaries (**-r** option).
|
|
|
|
**-7**
|
|
Mask character data to 7-bit.
|
|
|
|
FILES
|
|
=====
|
|
|
|
**/usr/share/dis6502/atari8.predef**
|
|
|
|
**/usr/share/dis6502/c64.predef**
|
|
|
|
Predefinition files for Atari 8-bit and Commodore 64, containing the usual
|
|
system equates.
|
|
|
|
FILE FORMAT
|
|
===========
|
|
|
|
Lines in a predefinition file consist of:
|
|
|
|
**label** .eq *address*
|
|
|
|
**label** .equ *address*
|
|
|
|
Defines a label. The **.eq** and **.equ** forms are equivalent.
|
|
|
|
**.jtab2** *lowaddr,hiaddr,count*
|
|
|
|
Defines a table of *count* pointers, split into low and
|
|
high byte tables. In assembly code, such a table might look like::
|
|
|
|
; func1, func2, func3 are addresses.
|
|
table_lo: .byte <func1, <func2, <func3
|
|
table_hi: .byte >func1, >func2, >func3
|
|
|
|
To disassemble these, assuming the address of *table_lo* is **$1000**,
|
|
use::
|
|
|
|
.jtab2 $1000,$1003,3
|
|
|
|
**.rtstab** *lowaddr*\,*hiaddr*\,*count*
|
|
|
|
Like **.jtab2**, but each entry contains the target address minus one, for use with RTS.
|
|
|
|
**.trace** *address*
|
|
|
|
Causes the trace process to continue at *address*.
|
|
|
|
**.stop** *address*
|
|
|
|
Causes the trace process to stop at *address*.
|
|
|
|
COPYRIGHT
|
|
=========
|
|
|
|
dis6502 is distributed under the terms of the Free Software Foundation's
|
|
General Public License, Version 2. See the file
|
|
/usr/doc/dis6502-|version|/COPYING for license information.
|
|
|
|
AUTHORS
|
|
=======
|
|
|
|
dis6502 was written by Robert Bond, Udi Finkelstein, and Eric Smith.
|
|
|
|
This man page written for the SlackBuilds.org project
|
|
by B. Watson, and is licensed under the WTFPL.
|
|
|
|
SEE ALSO
|
|
========
|
|
|
|
dis(1), da65(1)
|
|
|
|
The dis6502 homepage: http://www.brouhaha.com/~eric/software/dis6502/
|