Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

REP records

&pagelevel(4)&pagelevel

The address of the data to be corrected is always specified with respect to the start of the module. Each REP record is checked for correct format before it is processed. The check data, parity digit and module version are verified only if specified, i.e. they may also be omitted for test purposes. Faulty records are logged together with an error message at the console; the records themselves are not corrected.

Correction data depending on the address of another module can be specified in the form “base + offset”. This type of REP is called a “relative REP”. The offset is specified relative to the start of the module or to the entry or to the ISL entry, and the base in the form of the module/entry/ISL entry name. Thus REP records are not affected by changes in other Control System modules or by regeneration of the Control System.

In the following table:

  • a stands for an alphanumeric character (0-9, A-Z)

  • x stands for a he xi decimal number (0-9, A-F)

Column

Contents

Meaning

1

_

Blank

2 - 4

REP


5

_

Blank

6 -10

xxxxx

REP address relative to start of module

11

_

Blank

12 -14

3-digit number

Sequence number of the object corrections version

15

_

Blank

16

X, I, O, S, P, T

X: Standard or relative Rep
I: Relative REP (ISL entry)
O, S, P, T: Relative REP for x86-64 code

17 - max. 50

' xxx...x'
or
' xx...x' + name

Up to 32 correction items enclosed in single quotes orup to 22 correction items enclosed in single quotes and followed by a plus sign and the name of a Control System module/entry/ISL entry. The start address of this module is added by the system startup component to the last 8 digits of the correction data. The name must be 8 characters long (as in columns 73-80).
x86-64 REPs have a special REP format (see "Notes on the format of REP records")

51

_

Blank

52 - 55

xx__ or xxxx

2 or 4 check items; the first (two) byte(s) to be overwritten by the correction data must be specified.

56

_

Blank

57

x

Parity digit for REP address, correction data and check data

58 - 65

aaaaaaaa

Number of problem message

66 - 68

aaa

Module version

69

a

REP identifier

70

1 or 2

1 for class 1 REP records, 2 for class 2 REP records

71

a or blank

Loader version (A-Z)

72

a

Identifier for the selection of REP records for different code variants.
'P' identifies x86-64 code corrections.
A blank identifies /390 code corrections.

73 - 80

aaaaaaaa

Module name, 8 characters long. The start address of this module is added to the REP address

Table 2: Format of REP records

Notes on the format of REP records

  • Class 1 REP records and class 2 REP records both have the same format and permit the same correction functions. They differ only in the class label in column 70 and in their use, and in the option of specifying entries/ISL entries for “relative REPs”.

  • The address of the data to be corrected is always derived by adding the module address (name in column 73ff) and the REP address.

  • To allow a distinction to be made in relative REPs, the indicators I, O, S, P, and T have been introduced to complement the previous format with the indicator X. The REP data follows the indicator and is enclosed by quote marks.

    • Indicator X designates real modules/entries. Indicators P and T designate special relative REPs for x86-64 code. There is a special format for this:

      Format:

      X'distance'+base address
      The address of the real entry is noted for the base address.

    • Indicator I indicates that the specified entry name designates the ISL entry.

      Example 

      X'distance'+<name-of-isl-entry>

    • Indicators O and S designate special relative REPs for x86-64 code. There is a special format for this:

      Example 

      O'<code>','<distance>'+<entry/module-name> 
      The correction information is assembled from the <code> and the address calculated. The <code> and <distance> must each be exactly 8 characters long.

  • Since the correction data is given in hexadecimal notation, its number must always be even.

  • In the case of correction data to be relocated, at least 8 correction items must be present.

  • If the data to be corrected represents an address, the old value is generation-dependent, i.e. no check data should be specified.

  • The parity digit (column 57) serves to safeguard the REP record contents. It is derived from the sum of all the digits of the REP address, correction data and check data.

  • The number of correction items is added to the sum. The result mod(16) yields a value between 0 and F for the parity digit.

  • mod(16) means that the sum is divided by 16. The remainder is the parity digit. If the parity digit is not yet present, it is automatically generated by means of the tool RMS (REP management system).

  • The contents of columns 58-65 are for organizational purposes and are ignored by system startup.

  • The check data, parity digit and module version may also be omitted. The corresponding tests during startup are then skipped.

  • The following REP identifiers have been defined for column 69:

    'D' = diagnostic/interception REP
    'O' = optional REP
    'Q' = selectable unit, diagnostic/interception REP
    'S' = selectable unit
    'T' = trace (activate)
    'U' = selectable unit, optional
    'V' = temporary REP
    ' ' = normal REP

  • The identifier in column 72 controls the selection of REP records for different code variants (/390 or x86-64 code). In the event of the identifier 'K', the correction is taken into account for x86-64 code only. If column 72 contains a blank, then the correction applies to /390 code. All other contents are ignored. In accordance with the procedure on the Server Units, the REPs for the other HSI are ignored.

  • Instead of a module name, columns 18-49 may contain an ENTRY name in the case of class 2 REP records.

  • Instead of a module name, columns 73-80 may contain an ENTRY or CSECT name. In such cases, no module version may be specified. (for class 2 REP records only)

Input of REP records at the console

During the load procedure the following message appears:


?P.NSI0050 SPECIFY BS2000 REP FILE OR DEVICE. REPLY (EOT (USE STANDARD
            FILE); FN=FILENAME(VOL=VSN); CONS; END)

If the operator’s response is P.CONS, the dialog for the class 1 REP records starts:

Message:

?P.NSI0070 ENTER CLASS 1 MODULE NAME. REPLY (NAME; EOT; (NO MORE CLASS 1
            CONSOLE REPS))

Response: P.<modulename>
(Name des Moduls, das geändert werden soll)

Message:

?P.NSI0071 ENTER RELATIVE ADDRESS IN MODULE. REPLY (5 CHAR)

Response: P.<patch-address>
(the relative address of a REP within the module; 5 hexadecimal digits)

Message:

?P.NSI0073 ENTER CORRECTION DATA. REPLY (MAX 32 CHARACTERS)

Response: P.<correction-data>
(data for patching the module object code; 2-32 hexadecimal digits)

Input of relative REPs is extended:
In addition to distance+base_address, X'<distance>'+<base_address>, I'<distance>'+<isl -entry-address> and the corresponding relative REP formats for x86-64 code may also be input. <base_address> is the address of a real entry or module.

Message:

?P.NSI0074 ENTER CHECK INFORMATION. REPLY (CCCC,P,MMM (OLD DATA, PARITY,
           VERSION); EOT(SKIP CHECK))

Possible responses:

CCCC

1 or 2 check bytes

P

parity digit or empty

MMM

module version number or empty

A check is made on all the data entered; in the absence of data, the corresponding check is not performed.

or Response: P. (Press ENTER key)
When this response is given, no check is made.

Message NSI0070 is then displayed again, requesting input of the next REP record. The same dialog is repeated until no further class 1 REP records are to be input. If this is the case, P. must be entered in response to message NSI0070, followed by pressing the ENTER key.

After further information messages, the dialog for class 2 REP records commences. It is initiated with the message

?P.NSI0075 CONSOLE ASSIGNED AS REP-LOADER FOR CLASS2 MODULES.
           REPLY (EOT(CONSOLE IS USED); N(NO)).

The response is either P. or P.N (no class 2 REP records) and press ENTER key.