177 lines
4.5 KiB
Groff
177 lines
4.5 KiB
Groff
.\" Man page generated from reStructuredText.
|
|
.
|
|
.TH DIS6502 1 "2017-09-08" "0.12" "SlackBuilds.org"
|
|
.SH NAME
|
|
dis6502 \- Disassemble 6502 object code
|
|
.
|
|
.nr rst2man-indent-level 0
|
|
.
|
|
.de1 rstReportMargin
|
|
\\$1 \\n[an-margin]
|
|
level \\n[rst2man-indent-level]
|
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
-
|
|
\\n[rst2man-indent0]
|
|
\\n[rst2man-indent1]
|
|
\\n[rst2man-indent2]
|
|
..
|
|
.de1 INDENT
|
|
.\" .rstReportMargin pre:
|
|
. RS \\$1
|
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
|
. nr rst2man-indent-level +1
|
|
.\" .rstReportMargin post:
|
|
..
|
|
.de UNINDENT
|
|
. RE
|
|
.\" indent \\n[an-margin]
|
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
.nr rst2man-indent-level -1
|
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
|
..
|
|
.\" RST source for dis6502(1) man page. Convert with:
|
|
.
|
|
.\" rst2man.py dis6502.rst > dis6502.1
|
|
.
|
|
.\" rst2man.py comes from the SBo development/docutils package.
|
|
.
|
|
.SH SYNOPSIS
|
|
.sp
|
|
dis6502 [\fI\-b\fP | \fI\-l\fP | \fI\-c\fP | \fI\-r <address>\fP] [\fI\-a\fP] [\fI\-p <pfile>\fP] [\fI\-v <address>\fP] [\fI\-7\fP] \fIfile\fP
|
|
.SH DESCRIPTION
|
|
.sp
|
|
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.
|
|
.sp
|
|
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.
|
|
.SH OPTIONS
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \fB\-r\fP \fI<address\fP>
|
|
\fIfile\fP is raw binary, located at \fI<address>\fP\&.
|
|
.TP
|
|
.B \fB\-b\fP
|
|
\fIfile\fP 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.
|
|
.TP
|
|
.B \fB\-l\fP
|
|
\fIfile\fP is an Atari load file (aka XEX).
|
|
.TP
|
|
.B \fB\-c\fP
|
|
\fIfile\fP is a Commodore 64 executable.
|
|
.TP
|
|
.B \fB\-a\fP
|
|
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.
|
|
.TP
|
|
.B \fB\-p\fP \fI<pfile>\fP
|
|
Use predefinition file. See \fBFILE FORMAT\fP for the predef file format.
|
|
Up to 10 \fB\-p\fP options may be included.
|
|
.TP
|
|
.B \fB\-v\fP \fI<address>\fP
|
|
Alternate vector address (normally \fB$FFFA\fP). This option only has
|
|
any effect with raw binaries (\fB\-r\fP option).
|
|
.TP
|
|
.B \fB\-7\fP
|
|
Mask character data to 7\-bit.
|
|
.UNINDENT
|
|
.SH FILES
|
|
.sp
|
|
\fB/usr/share/dis6502/atari8.predef\fP
|
|
.sp
|
|
\fB/usr/share/dis6502/c64.predef\fP
|
|
.sp
|
|
Predefinition files for Atari 8\-bit and Commodore 64, containing the usual
|
|
system equates.
|
|
.SH FILE FORMAT
|
|
.sp
|
|
Lines in a predefinition file consist of:
|
|
.sp
|
|
\fBlabel\fP .eq \fIaddress\fP
|
|
.sp
|
|
\fBlabel\fP .equ \fIaddress\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
Defines a label. The \fB\&.eq\fP and \fB\&.equ\fP forms are equivalent.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
\fB\&.jtab2\fP \fIlowaddr,hiaddr,count\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
Defines a table of \fIcount\fP pointers, split into low and
|
|
high byte tables. In assembly code, such a table might look like:
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
; func1, func2, func3 are addresses.
|
|
table_lo: .byte <func1, <func2, <func3
|
|
table_hi: .byte >func1, >func2, >func3
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
To disassemble these, assuming the address of \fItable_lo\fP is \fB$1000\fP,
|
|
use:
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
\&.jtab2 $1000,$1003,3
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
\fB\&.rtstab\fP \fIlowaddr\fP,*hiaddr*,*count*
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
Like \fB\&.jtab2\fP, but each entry contains the target address minus one, for use with RTS.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
\fB\&.trace\fP \fIaddress\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
Causes the trace process to continue at \fIaddress\fP\&.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
\fB\&.stop\fP \fIaddress\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
Causes the trace process to stop at \fIaddress\fP\&.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.SH COPYRIGHT
|
|
.sp
|
|
dis6502 is distributed under the terms of the Free Software Foundation\(aqs
|
|
General Public License, Version 2. See the file
|
|
/usr/doc/dis6502\-0.12/COPYING for license information.
|
|
.SH AUTHORS
|
|
.sp
|
|
dis6502 was written by Robert Bond, Udi Finkelstein, and Eric Smith.
|
|
.sp
|
|
This man page written for the SlackBuilds.org project
|
|
by B. Watson, and is licensed under the WTFPL.
|
|
.SH SEE ALSO
|
|
.sp
|
|
dis(1), da65(1)
|
|
.sp
|
|
The dis6502 homepage: \fI\%http://www.brouhaha.com/~eric/software/dis6502/\fP
|
|
.\" Generated by docutils manpage writer.
|
|
.
|