DisAssem Monitor Disassembly Programs - Monitor, MonXXX ======================================================= J.G.Harston, 70 Camm Street, Walkley, Sheffield, S6 3TR jgh@arcade.demon.co.uk Core Version 2.00 - Date: 16-Mar-2007 Monitor allows you to disassemble machine code for a variety of processors using the disassembly routines in the DisAssem ROM. Mon09, Mon32, Mon65, MonPDP and MonZ80 disassemble the 6809, 32000, 6502, PDP-11 and Z80. When running in a 40-column screen mode, the disassembly is shown at the top of the screen, with a summary the instructions at the bottom. In an 80-column screen mode, the disassembly is shown at the left, with the instructions at the right. The following keys are recognised: 0-9, A-F: Enter bytes. Up to 16 bytes can be entered as a single string of digits. G: Get to buffer. The specified file will be loaded into the code buffer. L: List disassembly. The specified code is disassembled M: Set memory address. The display listing is changed to start at the specified address. N: Display named labels. This cycles through four options for displaying MOS entry points at &FFxx. It cycles through "&FFxx", "OSxxxx", "&FFxx :\ OSxxxx" and "OSxxxx :\ &FFxx". O: Set code origin. This sets the address that will be interpreted as address &0000 for disassembly. If the entered address is prefixed by '=', then the currently displayed memory address is recalculated to be the specified address. Otherwise, the entered address is used as the origin address. P: Put from buffer. The code buffer is saved, using the length entered. Q: Dump bytes/List disassembly. The display can be toggled between disassembly and hex/ascii dump. When in dump display mode, pressing + and - will move the memory address by 128 byte, instead of 8. R: ROM number. If the program is running in the I/O processor, you can disassemble from a specific sideways ROM or RAM bank. You can also enter the address directly as &FFFrxxxx. S: Set Screen mode. If there is sufficient memory, the entered mode will be switched to. T: Enter text string. The entered text string of up to 32 characters is entered straight into memory. W: Set address width. This cycles through an address width of 4 to 8 bytes. X: eXit. This terminates the program. Y: Enter bit7-terminated text string. The entered text string of up to 32 characters is entered into memory with bit 7 of the final character set. Z: Set CPU. If the program can disassemble more than one processor, this allows you to select one. If disassembly routines for the selected processor do not exist, you are prompted to re-enter until a valid number is entered. If the disassembly subroutines specify an address with, this will be changed to suit. *: Enter *commands. At this prompt *commands can be entered. Press RETURN to finish. + - : Advance or go back by 8 bytes, or 128 bytes in dump mode RETURN DELETE : Advance or go back by 1 byte SPACE : Advance past a single opcode Hints ----- You can create a file containing a disassembly listing by spooling output to a file with *Spool. Enter *Spool , then use (L)ist to list the disassembly. When finished, do *Spool with no filename. The outputted file will only have the disassembly listing, the other Monitor menu and other displays are not spooled. Version History --------------- v2.00 Main monitor core completely rewritten. v1.43 ... : v1.00 About 1985 Original MonZ80 program