HPlogo MPE/iX Commands Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 5 Command Definitions L-O

OCTCOMP

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Converts a compiled MPE V/E program into native mode (NM) code for the HP 3000 Series 900. (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)

Feedback to webmaster