ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/mon/README
(Generate patch)

Comparing mon/README (file contents):
Revision 1.8 by cebix, 2000-10-15T15:07:09Z vs.
Revision 1.12 by cebix, 2003-09-27T20:22:55Z

# Line 1 | Line 1
1  
2 <  cxmon, Version 3.0
2 >  cxmon, Version 3.1
3    A command-line file manipulation tool and disassembler
4  
5 <  Copyright (C) 1997-2000 Christian Bauer, Marc Hellwig
5 >  Copyright (C) 1997-2003 Christian Bauer, Marc Hellwig
6    GNU binutils disassemblers Copyright (C) 1988, 89, 91, 93, 94, 95, 96, 97, 1998
7      Free Software Foundation, Inc.
8  
# Line 18 | Line 18 | Overview
18   --------
19  
20   cxmon is an interactive command-driven file manipulation tool that is
21 < inspired by the "Amiga Monitor" by Timo Rossi <trossi@jyu.fi>. It has
22 < commands and features similar to a machine code monitor/debugger, but it
23 < lacks any functions for running/tracing code. There are, however, built-in
24 < PowerPC, 680x0, 80x86, 6502 and Z80 disassemblers. By default, cxmon operates
25 < on a fixed-size (but adjustable) memory buffer with adresses starting at 0.
21 > inspired by the "Amiga Monitor" by Timo Rossi. It has commands and features
22 > similar to a machine code monitor/debugger, but it lacks any functions for
23 > running/tracing code. There are, however, built-in PowerPC, 680x0, 80x86,
24 > x86-64, 6502 and Z80 disassemblers and special support for disassembling
25 > MacOS code. By default, cxmon operates on a fixed-size (but adjustable)
26 > memory buffer with adresses starting at 0.
27  
28  
29   Installation
# Line 233 | Line 234 | Entering "d8086" without arguments is eq
234   of "." is set to the address after the last address displayed.
235  
236  
237 +  d8664 [start [end]]      Disassemble x86-64 code
238 +
239 + disassembles the buffer contents from address "start" to address "end".
240 + Entering "d8086" without arguments is equivalent to "d8086 .". The value
241 + of "." is set to the address after the last address displayed.
242 +
243 +
244    : start string           Modify memory
245  
246   puts the specified byte string at the address "start" into the buffer. The
# Line 391 | Line 399 | Load a BeBox boot ROM image and start di
399    d 100
400  
401  
402 + Using cxmon in your own programs
403 + --------------------------------
404 +
405 + cxmon provides a simple interface for integration in other programs. It can,
406 + for example, be used as a monitor/debugger for an emulator (it is used in
407 + Basilisk II in this way).
408 +
409 + Here's how to do it (all functions are defined in the mon.h header file):
410 +
411 + 1. Link all the cxmon object files, except main.o, to your program.
412 + 2. In your program, call mon_init() before using any other cxmon functions.
413 + 3. After calling mon_init(), set the mon_read_byte and mon_write_byte
414 +    function pointers to the routines used for accessing memory.
415 + 4. You can use mon_add_command() to add new commands to cxmon by specifying
416 +    the command name, function and help text. From within your command
417 +    function, you can use mon_get_token() and mon_expression() to parse the
418 +    arguments and the mon_read/write_*() functions to access memory.
419 + 5. To enter cxmon, call the mon() function like this:
420 +
421 +      char *args[3] = {"mon", "-r", NULL};
422 +      mon(2, args);
423 +
424 + 6. If you're done with cxmon, call mon_exit().
425 +
426 +
427   History
428   -------
429  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines