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-Sätze

Die Adresse der zu korrigierenden Daten ist stets relativ zum Modulanfang anzugeben. Jeder Rep-Satz wird vor der Verarbeitung auf richtiges Format untersucht. Prüfdaten, Kontrollzahl und Modulversion werden nur geprüft, wenn sie angegeben sind, d.h. zu Testzwecken können sie auch weggelassen werden. Fehlerhafte Sätze werden zusammen mit einer Fehlermeldung an der Konsole protokolliert, eine Korrektur wird für solche Sätze nicht ausgeführt.

Korrekturdaten, die von der Adresse eines anderen Moduls abhängen, können in der Form „Basis + Distanz“ angegeben werden. Diese Art Reps werden „relative Reps“ genannt. Die Distanz ist relativ zum Modulanfang/Entry/ISL-Entry anzugeben und die Basis in Gestalt des Modul-/Entry-/ISL-Entry-Namens. Damit sind Rep-Sätze invariant gegenüber Änderungen in allen übrigen Modulen des Objektes.

In der folgenden Tabelle steht:

  • a für ein alphanumerisches Zeichen (0-9, A-Z)

  • x für ein Sedezimalzeichen (0-9, A-F)

Spalte        

Inhalt        

Bedeutung

1

_

Leerzeichen

2 - 4

REP


5

_

Leerzeichen

6 -10

xxxxx

Rep-Adresse, relativ zum Modulanfang

11

_

Leerzeichen

12 -14

3-stellige Zahl

Laufende Nummer der Objektkorrekturversion

15

_

Leerzeichen

16

X, I, O, S, P, T

X: Standard- oder relativer Rep
I:   relativer Rep (ISL-Entry)
O, S, P, T: relativer Rep für x86-64-Code

17 - max. 50

' xxx...x'
oder
' xx...x' + Name

max.32 Korrekturdaten, in Anführungszeichen eingeschlossen, oder
max.22 Korrekturdaten, in Anführungszeichen eingeschlossen, gefolgt von einem Pluszeichen und dem Namen eines Moduls/Entries/ISL-Entries. Die Adresse wird von der Systemeinleitung zu den letzten 8 Stellen der Korrekturdaten addiert. Der Name muss (wie in Spalte 73-80) 8-stellig angegeben werden.
x86-64-Reps haben ein gesondertes Rep-Format (siehe
"Rep-Sätze")

51

_

Leerzeichen

52 - 55

xx__ oder xxxx

2 oder 4 Prüfdaten; es sind das erste oder die ersten beiden Byte anzugeben, die von den Korrekturdaten überschrieben werden sollen.

56

_

Leerzeichen

57

x

Kontrollzahl (parity digit) für Rep-Adresse, Korrekturdaten und Prüfdaten

58 - 65

aaaaaaaa

Nummer der Problemmeldung

66 - 68

aaa

Modulversion

69

a

Rep-Kennzeichen

70

1 oder 2

1 für Klasse-1-Rep-Sätze, 2 für Klasse-2-Rep-Sätze

71

a oder Leerzeichen

Laderversion (A-Z)

72

a

Kennzeichen für die Auswahl von Rep-Sätzen für unterschiedliche
Code-Varianten.
'K' kennzeichnet Korrekturen von x86-64-Code.
Ein Leerzeichen kennzeichnet Korrekturen für /390-Code.

73 - 80

aaaaaaaa

Modulname, 8-stellig; die Anfangsadresse dieses Moduls wird
zu der Rep-Adresse addiert.

Tabelle 2: Format der Rep-Sätze

Hinweise zum Format der Rep-Sätze

  • Klasse-1-Rep-Sätze und Klasse-2-Rep-Sätze besitzen dasselbe Format und erlauben dieselben Korrekturfunktionen. Sie unterscheiden sich lediglich durch die Klassenangabe in Spalte 70 und ihre Verwendung sowie die Möglichkeit zur Angabe von Entries/ISL-Entries bei „relativen Reps“.

  • Die Adresse der zu korrigierenden Daten wird stets durch Addition der Moduladresse (Name in Spalte 73ff) und der Rep-Adresse gebildet.

  • Um bei relativen Reps Unterscheidungsmöglichkeiten zu haben, werden zusätzlich zum Format mit dem Indikator X die Indikatoren I, O, S, P, und T angeboten. Die Rep-Daten werden im Anschluss an den Indikator in einschließenden Hochkommas angegeben.

    • Indikator X bezeichnet reale Module/Entries. Die Indikatoren P und T kennzeichnen spezielle relative Reps für x86-64-Code. Dazu gibt es ein spezielles Format:

      Format:

      X'distanz'+basisadresse
      Hier wird für die Basisadresse die Adresse des realen Entrys vermerkt.

    • Indikator I zeigt an, dass der angegebene Entry-Name den ISL-Entry bezeichnet.

      Beispiel:   I'distanz'+<name-des-isl-entrys>

    • Die Indikatoren O und S kennzeichnen spezielle relative Reps für x86-64-Code.
      Dazu gibt es ein spezielles Format:

      Beispiel:

      O'<code>','<distanz>'+<entry/module-name>

      Aus <code> und berechneter Adresse wird die Korrekturinformation
      aufgebaut. <code> und <distanz> sind jeweils genau 8 Zeichen lang.

  • Da die Korrekturdaten in hexadezimaler Schreibweise angegeben werden, muss deren Anzahl stets gerade sein.

  • Bei zu relativierenden Korrekturdaten müssen mind. 8 Korrekturdaten vorhanden sein.

  • Falls die zu korrigierenden Daten eine Adresse darstellen, ist der alte Wert generierungsabhängig, d.h. es sollten keine Prüfdaten angegeben werden.

  • Die Kontrollzahl (Spalte 57) dient zur Sicherung des Rep-Satz-Inhalts. Sie ergibt sich aus der Summe aller Stellen von Rep-Adresse, Korrekturdaten und Prüfdaten

  • Zur Summe ist die Anzahl der Korrekturdaten zu addieren. Das Ergebnis mod(16) ergibt für die Kontrollzahl einen Wert zwischen 0 und F.

  • mod(16) bedeutet: Die Summe ist durch 16 zu dividieren. Der verbleibende Rest ist die gesuchte Kontrollzahl. Die Kontrollzahl wird mit dem Dienstprogramm RMS (Rep Montage System) automatisch erzeugt, wenn sie nicht vorhanden ist.

  • Der Inhalt der Spalten 58-65 dient organisatorischen Zwecken und wird von der Systemeinleitung nicht ausgewertet.

  • Wahlweise können Prüfdaten, Kontrollzahl und Modulversion weggelassen werden. Bei Startup entfallen dann die entsprechenden Prüfungen.

  • Folgende Rep-Kennzeichen in Spalte 69 sind definiert:

    D = Diagnose-/Fang-Rep
    O = Optionaler Rep
    Q = Selectable Unit, Diagnose-/Fang-Rep
    S = Selectable Unit
    T = Trace (einschalten)
    U = Selectable Unit, optional
    V = Vorläufiger Rep
    _ = Normaler Rep

  • Das Kennzeichen in der Spalte 72 steuert die Auswahl der Rep-Sätze für unterschiedliche Code-Varianten (/390- oder x86-64-Code). Bei Kennzeichnung mit 'K' wird die Korrektur nur für x86-64-Code berücksichtigt. Enthält die Spalte 72 ein Leerzeichen, gilt die Korrektur für /390-Code. Alle anderen Inhalte werden ignoriert. Entsprechend dem Ablauf auf den Server Units werden die Reps für das jeweils andere HSI ignoriert.

  • Anstelle eines Modulnamens kann bei Klasse-2-Rep-Sätzen in den Spalten 18-49 auch ein ENTRY-Name stehen.

  • Anstelle eines Modulnamens kann in den Spalten 73-80 auch ein ENTRY- oder CSECT-Name stehen. In diesen Fällen darf dann keine Modulversion angegeben sein (nur für Klasse-2-Rep-Sätze).

Eingabe von Rep-Sätzen über Konsole

Während der Ladeprozedur erscheint folgende Meldung:

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

Antwortet der Operator mit P.CONS beginnt der Dialog für die Klasse-1-Rep-Sätze:

Meldung:

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

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

Meldung:

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

Antwort: P.<korrekturadresse>
(Modul-relative Adresse eines Reps; 5 sedezimale Ziffern)

Meldung:

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

Antwort: P.<änderungsdaten>
(Daten zur Korrektur eines Modulobjektcodes, 2-32 sedezimale Ziffern)

Die Eingabe von relativen Reps ist erweitert:
Neben der Eingabe von distanz+basisadresse ist jetzt auch X'distanz'+basisadresse und I'distanz'+<isl-entry-adresse> sowie die Eingabe der entsprechenden relativen Repformate für x86-64-Code möglich.
basisadresse ist die Adresse eines realen Entrys oder Moduls.

Meldung:

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

mögliche Antworten:

CCCC

1 oder 2 Prüfbytes

P

Kontrollzahl oder leer

MMM

Modulversionsnummer oder leer

Für alle eingegebenen Daten findet eine Prüfung statt, bei fehlenden Daten wird die entsprechende Prüfung nicht durchgeführt.

oder Antwort: P. (und ENTER-Taste drücken)
Bei dieser Antwort findet keine Prüfung statt.

Danach kommt wieder die Meldung NSI0070 und fordert die Eingabe des nächsten Rep-Satzes an. Der gleiche Dialog wiederholt sich solange, bis keine Klasse-1-Rep-Sätze mehr eingegeben werden sollen. In dem Fall muss die Meldung NSI0070 mit P. und dem Drücken der ENTER-Taste beantwortet werden.

Nach weiteren informativen Meldungen beginnt der Dialog für Klasse-2-Rep-Sätze. Er wird eingeleitet mit der Meldung

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

Die Antwort darauf ist P. oder P.N (keine Klasse-2-Rep-Sätze) und ENTER-Taste drücken.