## Name

DISASM — OS-9 Module Disassembler

## Synopsis

`disasm` [[-m `module name`] | `filename` ] [options]

## Description

Disasm was written to hack apart OS-9 system modules, command modules, file managers and device drivers/descriptors either from memory or disk. Unlike most other disassemblers, disasm is a two pass disassembler, creating output using only referenced labels. This output can be redirected to a file and (after modifications if desired) then re-assembled.

Disasm provides completely commented disassembly of Device Descriptors... very useful for building a customized boot file.

## Options

disasm -m `module name`

  will link to module in memory - if not found,will load module from exec directory and then link to it... after disassembly, it will attempt to unlink the module.

disasm `pathlist/module name`

  will 'read' the module from the specified path without loading.

other options:

  o = display line number,address,object code & source code... useful for hard to crack modules with data embedded in the middle.

  x = look for module in execution directory.

Any combination of options is allowed (upper or lower case) but they must immediately follow the '-' and there must be no spaces separating the options.

## OS-9 Level I Users

By changing relative address $17 from $64 to $30 will cause the output source to reference /d0/defs instead of /dd/defs.

Also, if you are not using a driver which supports Level II display codes, you must change relative address $15 from 01 to 00 to avoid problems in the event of an error message being printed out.