diff options
Diffstat (limited to 'development/dis6502/dis6502.1')
-rw-r--r-- | development/dis6502/dis6502.1 | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/development/dis6502/dis6502.1 b/development/dis6502/dis6502.1 new file mode 100644 index 0000000000000..458f8fd3835e0 --- /dev/null +++ b/development/dis6502/dis6502.1 @@ -0,0 +1,176 @@ +.\" 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. +. |