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