OCTCOMP



OCTCOMP

     Converts compiled Compatibility Mode program instructions into
     Native Mode for the 900 Series.

SYNTAX


OCTCOMP [input][,[targetfile][,[list]][;INFO=quotedstring]]

or

OCTCOMP [input][,[targetfile][,[list][,[INFO=]quotedstring]]] *

* Refer to the help option of the INFO=quotedstring

NOTE

This command follows the more flexible MPE/iX command line syntax.
Refer to the MPE/iX Commands Reference Manual (32650-90003).


CAUTION

Before using this command be sure your logon group and account
does not contain files of the form Yn, Ynn, or Ynnn where n is
any alphanumeric character.  OCTCOMP may create temporary files
named in this format and similarly named permanent files may cause
an error condition.


PARAMETERS

           If no parameters are specified OCTCOMP returns a
command usage message and then exits.

input Name of the valid input program or SL file to be
translated. A valid program is a CM PROG or SL file
that can be loaded by the Compatibility Mode loader.

targetfile Name of the file to hold translated output. (Refer
to OPERATION for a description of the default for
this parameter.) If targetfile does not exist, it
will be created. If it already exists, it will be
purged and a new file will be created.

list Name of the file to which object code translator
will write listing and error messages. If you omit
this parameter, the messages are sent to $STDLIST.
All parameter parsing errors are written to $STDLIST.

INFO=quotedstring A list of parameters to define format and content of
translated output. This parameter list must be
surrounded with double or single quotation marks ("
or '), and each parameter set in the list must be
delimited with a semicolon if more than one set is
given in the command string.

help Print detailed description of
OCTCOMP parameters. This is the
only option that does not require
a source. OCTCOMP ;INFO="help"
is valid; so is
OCTCOMP ,,,"help".

add=seglist[;] Add translated segments to the
file named in the command string.
Note that the named file may
already contain translated code.
When you specify this option,
OCTCOMP will replace already
translated segments. If you use
add, the targetfile option is not
permitted.


errors[=count][;] Specify maximum number of errors
to be reported before OCTCOMP
terminates. The count value must
be greater than zero. Errors are
sent to named list file or, by
default, to $STDLIST. If
parameter is given without
optional =count, all errors are
reported. If you omit this
parameter, OCTCOMP will report
the first error, then terminate.

ignore=seglist[;] Do not translate specified
segments. If seglist is omitted,
an error is issued.

map[=seglist][;] Generate PMAP listing for
specified segments. If seglist
is omitted, PMAP listing is
generated for all segments.

noovf[=seglist][;] Selectively ignore overflow traps
in translating code. If seglist
is omitted, noovf action is
assumed for all segments.
Specifying this option gives
OCTCOMP permission to decide
whether or not to catch overflow.
The default is that OCTCOMP
follows the behavior of the
emulator.

Specifying this option improves
the performance of integer
arithmetic functions.

systemsl Inform the OCT utility that the
user intends to make the file
SL.PUB.SYS. This option is for
users creating new systems.
Several SL.PUB.SYS and system
dependent code improvements are
performed when this option is
specified.

trans=seglist[;] Translate only specified
segments.

...where

seglist = segnum[...,segnum].

and

segnum = 0 .. 9 - Decimal
(default)

or %0 .. 7 - Octal

or $0 .. F - Hexadecimal

or A[..] .. Z[..] - Alpha (SL
Only) *

or ^filename (an indirect file)
**

* In this form, a segnum
identifier may consist of as many
as 16 characters, beginning with
an alphabetic character.

** Indirect files must be
unnumbered. Indirect files
cannot be nested.

NOTE

The default base is decimal. The parameters add, ignore, and trans
are mutually exclusive.


OPERATION

     OCTCOMP translates MPE V/E instructions into native mode
     instructions.  If you specify targetfile, a new file will be
     created.  If you do not specify targetfile, OCTCOMP will
     attempt to append the translated instructions to input file.
     The append will fail, and an error message will be
     displayed, if the input file is too small to qualify as an
     output file.  In such a case, the solution is to specify a targetfile.

     User-defined labels are stripped from the input file and they may
     not be added to a translated file.

     After a new master installation tape is loaded, you must
     retranslate the file on which you used the systemsl option
     (to create SL.PUB.SYS).  Otherwise it will run in emulator mode.

     The noovf parameter can improve the code generated.
     However, the user must ensure that the necessary conditions
     hold for code translated using this parameter.  For the
     noovf parameter, the input code must not use the overflow
     trap mechanism.

     The OCTCOMP command does not support the following:

     o  File equations involving the input, targetfile or list
        files (backreferencing is not supported).

     o  $NULL, $STDIN, $STDLIST, $NEWPASS for input, targetfile
        or list.

        $OLDPASS for targetfile or list.

       ($OLDPASS is supported for input.)

     o  Using an Explicit or Implicit RUN command to execute the
        OCTCOMP command.

     This command is available in sessions and jobs, but not from
     a program and not during BREAK.  Pressing [Break] aborts the
     execution of this command.


EXAMPLE(S)

     The following set of examples illustrates the use of the
     add=, ignore=, and the trans= parameters and the effect each
     of them has on the content of the translated code output
     file with each succeeding invocation of OCTCOMP. In each
     example, the input file is assumed to consist of seven
     segments, 0 through 6.

     OCTCOMP SOURCEIN,OCTOUT;INFO="TRANS=1,2,3,4"

     In this example, the translated output file, OCTOUT, will
     consist of the SL file SOURCEIN and translated segments 1,
     2, 3, and 4 only.

     OCTCOMP OCTOUT;INFO="ADD=0,5,6;NOOVF=5"

     In the above example, the output in OCTOUT will consist of
     the existing SOURCEIN object code image, existing translated
     segments 1, 2, 3, and 4, with translated segments 0, 5, and
     6 appended to the file.  Segment 5 will not have overflow
     detection.

     OCTCOMP OCTOUT,OCTOUT2;INFO='IGNORE=1,2,4'

     In the above example, the output in OCTOUT2 will consist of
     the object code image from the existing file OCTOUT, with
     translated segments 0, 3, 5, and 6 only.  This time segment
     5 will have overflow detection in OCTOUT2.

     This output would, of course, be the same if the call to
     OCTCOMP were given using the original object code input file
     SOURCEIN, as

     OCTCOMP SOURCEIN,OCTOUT2;INFO="IGNORE=1,2,4"

     Using an indirect file

     OCTCOMP INSL;INFO="add=^adlist"

     Here adlist is an unnumbered file in which segments (names or
     numbers) are separated by a blank, a comma, or a new line

     FSSEG1,FSSEG2
     12
     TIMAGE09

     In this case, add will be applied to all of the segments
     specified in the indirectfile (^adlist).

ADDITIONAL INFORMATION

Commands:   None

Manuals :   Migration Process Guide (30367-90007)