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
- Hochspringen↑ John Pershing: Sichere Programmiersprachen. In: The Risks Digest, Band 6, Ausgabe 14. 25. Januar 1988, abgerufen am 25. Februar 2013 (Englisch).