Toolkit Feature Disassembler

The HLASM Toolkit Feature Disassembler lets you extract single control sections (CSECTs) from object modules or executables such as load modules and phases. It converts them to assembler language statements that you can assemble to generate the same object code. For details on the Disassembler see Using the disassembler.

Your first control statement specifies the module and control section you are to disassemble. Adding control statements provides further guidance and helpful information to the Disassembler, allowing it to create a more readable program. You can supply sets of control statements in the primary input stream to the Disassembler, or (as each set is developed) you can save them in a library and direct the Disassembler to read them using COPY control statements.
  • You can describe the layout of the control section with control statements asserting that certain areas of the module contain data only, instructions only, or are known to be uninitialized.
  • You can request symbolic resolutions of halfword base-displacement storage by supplying control statements giving base addresses and the base registers for addressing.
  • You can define data structures (DSECTs) and assign your own labels to designated positions in the program.
  • The Disassembler automatically assigns symbolic names to registers. Branch instructions use extended mnemonics where possible, and identifies supervisor call (SVC) instructions when known.
  • The Disassembler listing provides a full summary of the inputs and outputs of the disassembly, and places the reconstructed assembler language source program in a separate PUNCH file.

If you use the High Level Assembler with the ADATA option to assemble disassembler-generated statements, High Level Assembler generates a SYSADATA file (sometimes called the ADATA file). You can use this file as input to other Toolkit Feature components. This combination of facilities can help you recover lost source code written in any compiled language.