File: DASM.DOC Program: DASM.LIB Author: Jim Vaccaro 301-428-6065, Gaithersburg,Md 20878 Desc: An HP48 resident Saturn disassembler (HP mnemonics) Requirements: J.Donnelly's ToolKit DASM Version 1.0 (extensive gold-REVIEW) WARNING: BACK UP YOUR CALCULATOR BEFORE USING THIS LIBRARY. This library provides an HP-mnemonic disassembler. HELP tells a little about the functions SETADR take a binary address for the disassmbly to start DIS1 disassemble 1 line. May be used repeatedly DIS7 disassemble 7 lines. May be used repeatedly DISASM takes starting hex address in level 1. Disassembles til you stop it. Pause and print are controlled by WAIT. and PRNT. commands ATTN stops program - stack cleanup is manual The disassembler follows all unconditional branches in the code. Three global variables are created , \GaADDR , \GaADDRJ, and \GaLIN in the current directory. They keep track of the disassembly address and the display line number. You may purge them when you are done. Since these are fixed length objects, once they are created the source code (not rom) which is being disassembled shouldn't move around, but try it. To be safe, copy the object to be examined to the top of the home directory before disassembling. This will also make addresses correspond to those put out by the unthreader if you have it (see RTH.LIB). [Note: RTH.LIB is not on this disk because the first posted version contains some fatal bugs. -jkh-] I have tried to put in most of the newer opcodes, but sorry if I missed some. The size of the program (13k) is mostly due to string tables stored as lists. Presumably, arrays of strings might be much more compact but would require a complete reorganization of the current code. If anyone is interested, I will upload the source. DISCLAIMER: DASM.LIB is copyright 1991 by Jim Vaccaro, Gaithersburg Md. Non-commercial distrubution is allowed provided that this copyright message and disclaimer is preserved intact. DASM.LIB makes use of undocumented low-level features of the HP48SX calculator, and may or may not cause loss of data, excessive battery drainage, and/or damage to the calculator hardware. The Author takes no responsibility whatsoever for any damage caused by the use of this program. THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.