DISASM

Use the DISASM command to disassemble a TEXT file.  The output is written
to the standard output file.

The format of the DISASM command is:

+--------+--------------------------------------------------------------+
|        |                                                              |
|        |                                                              |
|DISASM  | fname <ftype <fmode>> <( options> < >stdout-filespec>        |
|        |                                                              |
|        |                                                              |
+--------+--------------------------------------------------------------+

where

fname
     is the filename of the TEXT file to be disassembled.  If ftype is
     not specified, it is assumed to be TEXT.  If fmode is not specified,
     * is used.  The input file must be RECFM F LRECL 80.

options
     are processed from left to right and can be any sequence of the
     following:

     (NO)Regequ can be specified to request that equate symbols R0-R15
     and F0-F6 (not) be defined and used as register names.  Regequ is
     the default.

     NONe can be specified to request that none of the special classes
     of instruction be disassembled.  By default, all known instructions
     are disassembled.

     (NO)Esa can be specified to request that ESA/370-only instructions
     (not) be disassembled.  Esa is the default.

     (NO)Priv can be specified to request that privileged instructions
     (not) be disassembled.  Priv is the default.

     (NO)Xa can be specified to request that XA-only instructions
     (not) be disassembled.  Xa is the default.

     (NO)Bas can be specified to request that branch and save
     instructions (BAS, BASR) (not) be disassembled.  Bas is the default.

     (NO)CSS can be specified to request that channel-set switching
     instructions (CONCS, DISCS) (not) be disassembled.  CSS is the
     default.

     (NO)Cs can be specified to request that conditional swapping
     instructions (CS, CDS) (not) be disassembled.  Cs is the default.

     (NO)Tcc can be specified to request that CPU timer and clock
     comparator instructions (SCKC, SPT, STCKC, STPT) (not) be
     disassembled.  Tcc is the default.

     (NO)DC can be specified to request that direct control instructions
     (RDD, WRD) (not) be disassembled.  DC is the default.

     (NO)Das can be specified to request that dual address space
     instructions (EPAR, ESAR, IAC, IVSK, LASP, MVCP, MVCS, MVCK, PC, PT,
     SAC, SSAR) (not) be disassembled.  Das is the default.

     (NO)EF can be specified to request that extended facility
     instructions (IPTE, TPROT) (not) be disassembled.  EF is the
     default.

     (NO)Epf can be specified to request that extended-precision floating
     point instructions (AXR, LRDR, LRER, MXR, MXDR, MXD, SXR) (not) be
     disassembled.  Epf is the default.

     (NO)Mi can be specified to request that move inverse instructions
     (MVCIN) (not) be disassembled.  Mi is the default.

     (NO)MP can be specified to request that multiprocessing instructions
     (SPX, SIGP, STAP, STPX) (not) be disassembled.  MP is the default.

     (NO)PKh can be specified to request that PSW-key handling
     instructions (IPK, SPKA) (not) be disassembled.  PKh is the default.

     (NO)Ski can be specified to request that storage-key-instruction
     extension instructions (not) be disassembled.  Ski is the default.

     (NO)SR can be specified to request that suspend and resume
     instructions (RIO) (not) be disassembled.  SR is the default.

     (NO)TB can be specified to request that test block instructions (TB)
     (not) be disassembled.  TB is the default.

     (NO)TR can be specified to request that translation instructions
     (LRA, PTLB, RRB, STNSM, STOSM) (not) be disassembled.  TR is the
     default.

     (NO)Vector can be specified to request that vector instructions
     (not) be disassembled.  Vector is the default.

stdout-filespec
     is the output file specification.

EXAMPLES:

disasm myfile ( noregequ > myfile assemble a ( recfm f lrecl 80

     disassembles the file 'MYFILE TEXT *', without register prefixes.
     The output is written to the 'MYFILE ASSEMBLE A1'.

disasm printf text z

     disassembles 'PRINTF TEXT Z' with register prefixes and
     writes the output to the terminal (stdout).

disasm printf text z ( nor non x nop

     disassembles 'PRINTF TEXT Z' without register prefixes, and without
     special class instructions, but with unprivileged XA instructions.
     Note that 'nor', 'non', 'x' and 'nop' are sufficient abbreviations
     for 'NOREGEQU', 'NONE', 'XA' and 'NOPRIV' respectively.

disasm ?

     displays information on the use of the DISASM command.
