[comp.sys.m68k] I need a good 68k/88k disassembler

sscott@camdev.comm.mot.com (Steve Scott) (11/03/90)

Does anybody know of a source of a good disassembler for 68k/88k based
machines (specifically an MCD Delta box in my case)?

Regards,

-- 
+-----------------------------------------------------------------------------+
| Steve Scott                           | Internet: sscott@mot.com            |
| Fort Worth Research and Design Center | UUCP:     uunet!csccat!sscott       |
| Cellular Infrastructure Group         | Internal: TX14/4G                   |
| Radio Telephone Systems Group         | Voice:    (817) 232-6317            |
| Motorola, Inc.                        | Fax:      (817) 232-6081            |
+-----------------------------------------------------------------------------+

rfg@NCD.COM (Ron Guilmette) (11/04/90)

In article <306@camdev.comm.mot.com?> sscott@mot.com (Steve Scott) writes:
>
>Does anybody know of a source of a good disassembler for 68k/88k based
>machines (specifically an MCD Delta box in my case)?

The GNU Debugger (GDB) has a built in disassembler.  The disassembler
works on either complete executables or on individual (unlinked) .o
files.

The GNU Debugger is highly portable and already works on a variety of
68k based and 88k based systems.

For 68k based systems, the version available for anonymous FTP in the
/u/emacs on prep.ai.mit.edu should do the trick.

For 88k systems, the version available for anonymous FTP in the ~/pub/gnu
directory on dg-rtp.dg.com should work nicely.

In either case you may have to fiddle a bit with the configuration
files in order to get the debugger built properly on a Delta box.

For the 68k, start with one of the m-*.h configuration files for a
68k based machine (e.g. m-hp9k320.h m-isi.h, m-sun3.h) and then
comment out:

	/* #define READ_DBX_FORMAT */

and add:

	#define COFF_FORMAT

For the 88k, use the m88kdgux configuration files and make adjustments
as required to suit your Delta box (these should be minor or nill if
your Delta box is OCS/BCS compliant).


P.S.  To disassemble a hunk of 1000 instructions in the executable file
`foobar' starting from the symbol `start_here' do:

	# gdb foobar
	(gdb) x/1000i &start_here


The display will stop every 24 lines or so and prompt you (like pg and
more do).  To avoid this, do:

	(gdb) set screensize 0

-- 

// Ron Guilmette  -  C++ Entomologist
// Internet: rfg@ncd.com      uucp: ...uunet!lupine!rfg
// Motto:  If it sticks, force it.  If it breaks, it needed replacing anyway.