| 84717 packages online |
|
|
| | | | No screenshot available |
|
==============================================================================
6502d Version 0.1
Written by Bart Trzynadlowski, 1999
Amiga Port by Ventzislav Tzvetkov, 2002
==============================================================================
Feel free to do whatever you wish with this software, just remember that I
have provided it "as is" and will not be held responsible for anything that
occurs as a result of the software.
6502d is a 6502 disassembler. It does not have any support for special file
formats, it simply assumes the input file is a raw binary image.
6502d uses the following command line to execute:
6502d -f infile [-s start] [-h] [-v]
The first argument, infile, is the flat binary image you wish to
disassemble. The start argument is optional and specifies the offset to start
disassembly at. It is given in hexadecimal. If input occurs past the end of
the file 6502d displays an endless series of EOF characters. For help on usage
you can use -h and for the version number you can use -v. If -h or -v are
encountered on the command line they are processed and the program exits, no
disassembly occurs. The -v option has higher precedence over -h.
Standard output is used to print, therefore output can be
redirected (preferrably to a file) by using > outfile -- where outfile is
the output file -- at the end of the command line.
6502d was compiled on a DOS box with DJ Delorie's DJGPP. The
command line used was: gcc -o 6502d.exe 6502d.c comline.c disasm.c
A 6502d line of output has the following format:
address opcode instruction [operand,operand]
The address field is the file position. Addresses are implied to be
hexadecimal numbers. The opcode field is the series of bytes printed in
hexadecimal which make up the machine instruction. The instruction field is
the mnemonic name of the given instruction. Operands when they occur are
printed. With operands a hexadecimal number is specified by the $ prefix and
an immediate value is specified by the # prefix.
Only documented instructions are supported in this release. Undocumented
instructions are not recognized and are treated as described below. If demand
arises I might add undocumented opcodes, but for now I do not need it myself.
If an opcode is not recognized as a valid 6502 instruction then 6502d simply
prints .DB $XX where XX is the byte value. If the last 3rd to last byte is not
an instruction then all 3 of the last bytes in a file are not disassembled,
instead they are printed as a series of .DBs.
Displacements in branch instructions are NOT translated into absolute
addresses. The hexadecimal value of the displacement is printed as is. The
6502 can branch 127 bytes up or down the code. The displacement format uses
one's complement negation to specify wether to jump up or down the code. Bit 7
alone decided the sign of the byte. Displacements are added/subtracted to the
address that succeeds the instruction and its operand(s).
The ability to toggle between printing displacements or absolute
addresses may be included in future versions of 6502d if any are made. Please
do not bother me about this issue.
Version history:
* Version 0.0
- Initial public release.
* Version 0.1
- Now DEC ABS,X displays correctly. (DEC $FFFF,X instead of
DEC $FFFF)
Enjoy 6502d. The opcode matrix I used (source file opcode.h) is correct to the
best of my knowledge. The much-less-than-fantastic as6502 assembler aided me
in testing 6502d.
|
Contents of dev/cross/6502d.lha PERMSSN UID GID PACKED SIZE RATIO CRC STAMP NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic] 8425 20676 40.7% -lh5- 97a4 Jan 26 2002 6502d
[generic] 1287 3984 32.3% -lh5- 6c18 Jan 26 2002 6502d.c
[generic] 324 985 32.9% -lh5- e4ef Jan 26 2002 6502d.h
[generic] 1662 3871 42.9% -lh5- 3628 Jan 26 2002 6502d.readme
[generic] 796 2922 27.2% -lh5- 674f Jan 26 2002 comline.c
[generic] 1928 34629 5.6% -lh5- f59c Jan 26 2002 disasm.c
[generic] 1014 4523 22.4% -lh5- bcee Jan 26 2002 opcode.h
---------- ----------- ------- ------- ------ ---------- ------------ -------------
Total 7 files 15436 71590 21.6% Jan 27 2002
|
|
|
|
Aminet © 1992-2024 Urban
Müller and
the Aminet team.
Aminet contact address: <aminetaminet net> |