IEFBR14

IEFBR14 Ist ein Hilfsprogramm, Welches in IBM – Großrechnerbetriebssystemen seit OS / 360 used Wird, WENN Profilierung mittels JCL Dateioperationen vorgenommen Werden Sollen. Es Handelt sich dabei um ein Programm, Welches Kontrolle sofort wieder ein den Aufrufer zurückgibt (RETURN in Assemblersprache BR 14 für sterben Niederlassung Register ), ohne selbst irgendwelche Aktion zu trifft.

Dort ist Sinn von IEFBR14, der syntaktischen Anforderungen von JCL wurde richtig. Jeder Schritt muss mindestens eine EXEC-Anweisung enthalten.

Eine beliebte Anwendung ist, je JCL Dateien zu löschen oder anzulegen:

// Loesche EXEC PGM = IEFBR14
// dummy1 DD DSN = FILE.TO.DELETE,
// DISP = (MOD, DELETE),
// SPACE = (TRK, (1,1))
// DUMMY2 DD DSN = EIN. NEUE.DATEI, DISP = (NEU, CATLG),
// AVGREC = M, SPACE = (100, (10,10))

In der Ersten DD-anweisung Weist ein JES ein, ein Data Set FILE.TO.DELETE Anzu, fällt es noch nicht existiert, und nach DM Aufruf von IEFBR14 gleich wieder zu Löschen. In den Schweden wird DD eine neue Datei dauerhaft angelegt.

Dieses Programm wurde vom Maschineninstruktioner (1. setze ReturnCode 0; 2. springe zurück) entworfen.

Implementierung

IEFBR14 gilt als Schulbeispiel für die Tatsache, dass selbstleuchtend triviales Programm Fehler enthalten können. [1] Der Abgeordnete des Programms hat den Rückgabewert nicht auf 0 eingerichtet. Abfragen des Bedingungscodes wurden in Folgesteps abgehalten:

IEFBR14 START
 BR 14 ; Adresse in R14 zurückgeben - Abzweigung
 END

Dieser Fehler Wurde durch Einbauen der Instruktion SR 15,15 behoben ( SR steht für Subtract Register ):

IEFBR14 START
 SR 15 , 15 ; Nullpunktregister 15
 BR 14 ; Rückleitung in R14 - Verzweigung
 END

Hasse weder Version noch Problem, wie die END-Anweisung nicht auf den Einsprungpunkt Bezug genommen. Dies wurde mit der folgenden Version des Programms behoben:

IEFBR14 START
 SR 15 , 15 ; Nullpunktregister 15
 BR 14 ; Rückleitung in R14 - Abzweigung
 END IEFBR14

Über die Analyse von Dumps zu vereinfachen

 IEFBR14 START weiter
 verwenden IEFBR14 , 15 ; Adressierbarkeit Stellen
 B GO ; überspringen unserem Namen
 DC AL1 ( L ' ID ) , Länge des Namens
 ID DC C ' IEFBR14 ' ; Name selbst
 DS 0 H ; Force - Ausrichtung
 GO SR 15 , 15 ; Null out Register 15
 BR 14 ; return addr in R14 - Verzweigung , die es
 END IEFBR14

Siehe auch

  • IEFBR15

Einzelnachweise

  1. Hochspringen↑ John Pershing: Sichere Programmiersprachen. In: The Risks Digest, Band 6, Ausgabe 14. 25. Januar 1988, abgerufen am 25. Februar 2013 (Englisch).