OCTCOMP [ MPE/iX Commands Reference Manual Volume I ] MPE/iX 5.0 Documentation
MPE/iX Commands Reference Manual Volume I
OCTCOMP
Converts a compiled MPE V/E program into native mode (NM) code for the
900 Series HP 3000. (Native Mode)
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. OCTCO MP may create temporary files
named in this format and similarly named permane nt files may
cause an error condition.
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 optional MPE/iX command line syntax.
Refer to "Optional Format for MPE/iX Commands" at the beginning of
this chapter.
Parameters
<omitted> 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 CM loader.
targetfile Name of the file to hold the translated output.
(Refer to "Operation Notes" for a description of
the default for this parameter.) If targetfile
does not exist, it is created. If it already
exists, it is purged and a new file is created.
list Name of the file to which object code translator
writes 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 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
replaces already translated
segments.
If you use the add option,
the targetfile, ignore, and
trans parameters are not
permitted. This option works
only for SL files.
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 this
parameter is given without
the optional =count, all
errors are reported. If you
omit this parameter, OCTCOMP
reports the first error, then
terminates.
ignore= seglist[;] Do not translate specified
segments. If seglist is
omitted, an error is issued.
If you enter the ignore
parameter, you cannot use the
add or trans parameters.
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. If the named file
contains translated code
segments that are not listed,
these segments will be set
emulated and the translated
code removed.
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.
** You must number indirect
files, and you cannot nest
them. If you enter the trans
parameter, you may not use
the add or ignore parameters.
Operation Notes
The OCTCOMP command translates MPE V/E instructions into native mode
instructions. If you specify targetfile, a new file is created. If you
do not specify targetfile, OCTCOMP attempts to append the translated
instructions to input file. The append fails and an error message is
displayed if the input file is too small to qualify as an output file.
In such a case, the solution is to specify 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 runs 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:
* File equations involving the input, targetfile, or list files
(backreferencing is not supported).
* $NULL, $STDIN, $STDLIST, or $NEWPASS for input, targetfile, or
list; $OLDPASS for targetfile or list; but $OLDPASS is supported
for input.
* Using an explicit or implicit RUN command to execute the OCTCOMP
command.
Use
This command is available in a session, job, or program. It is not
available in BREAK. Pressing Break aborts the execution of this command.
Examples
The following set of examples illustrates the use of the add=, ignore=,
and 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.
In the following example, the translated output file, OCTOUT, consists of
the SL file SOURCEIN and translated segments 1, 2, 3, and 4 only.
OCTCOMP SOURCEIN,OCTOUT;INFO="TRANS=1,2,3,4"
In the following example, the output in OCTOUT consists 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
does not have overflow detection.
OCTCOMP OCTOUT;INFO="ADD=0,5,6;NOOVF=5"
In the following example, the output in OCTOUT2 consists of the object
code image from the existing file OCTOUT, with translated segments 0, 3,
5, and 6 only. This time segment 5 has overflow detection in OCTOUT2.
OCTCOMP OCTOUT,OCTOUT2;INFO='IGNORE=1,2,4'
This output would 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 is applied to all of the segments specified in the
indirect file (^adlist).
Related Information
Commands None
Manuals Migration Process Guide (30367-60003)
MPE/iX 5.0 Documentation