Die Prozedur PROC.ASSXT ist eine kleine Hilfsprozedur, die bei der häufigen Nutzung des ASSEMBH-Assemblers ein schnelleres Abarbeiten (Zuweisung von Systemdateien, Aufruf des Assemblers) ermöglichen soll. Sie ist in SDF-Kommandosprache geschrieben. Die Umwandlung dieser Nicht-S-Prozedur in eine S-Prozedur erfolgt ohne Einschränkungen.
Eingabeprozedur PROC.ASSXT
/BEGIN-PROC A,P-P=(&FILE),ESC-CHAR='&' /REMARK **** Aufruf des ASSEMBH **** /DEL-FI LST.ASSEMBH /SET-JOB-STEP /ASS-SYSDTA *SYSCMD /DEL-SYS-FI "von frueheren ASSEMBH-Aufrufen" *OMF /START-PROG $ASSEMBH //COMPILE SOURCE=&FILE,LISTING=PAR(OUTPUT=LST.ASSEMBH),- //TEST-SUPPORT=YES //END /SET-JOB-STEP /ASS-SYSDTA *P /END-PROC
SDF-CONV-Ablauf
/start-sdf-conv ——————————————————————————————————————————————————————— (1)
% BLS0517 MODULE 'CVRMAIN' LOADED
% CVR0001 SDF-CONV VERSION 'V03.0B80' STARTED
% CVR0060 SDF-CONV VERSION 'V03.0B80' READY
//convert from-file=proc.assxt,to-file=sdfp.proc.assxt,doc=*min,- ————— (2)
//procedure-format=*s-proc(prog-inp=*data)
% CVR1000 CONVERSION TERMINATED WITH:
% CVR1001 FAILURES: 0
% CVR1002 ERRORS : 0
% CVR1003 WARNINGS: 0
% CVR1004 NOTES : 0
//end ————————————————————————————————————————————————————————————————— (3)
(1) | Start des Dienstprogramms SDF-CONV. |
(2) | In der CONVERT-Anweisung wird die Ein- und Ausgabeprozedur zugewiesen sowie die Dokumentationsmenge bestimmt. Die Prozedur soll in eine S-Prozedur umgewandelt werden. Alle anderen Operanden der CONVERT-Anweisung behalten den Standardwert. Nach erfolgter Abarbeitung meldet SDF-CONV, dass die Umwandlung ohne Warnungen oder Fehler durchgeführt wurde. Diese Übersicht wird nach SYSOUT ausgegeben. |
(3) | Mit der Anweisung END wird SDF-CONV beendet. |
Ablaufprotokoll (SYSLST)
***** BS2000 COMMAND CONVERTER : SDF-CONV V3 ***** page 1 % CVR1010 OPTIONS IN EFFECT: ————————————————————————————————————————— (1) % CVR1011 FROM-FILE = PROC.ASSXT % CVR1012 EXPECT-CONTINUATION = *NEW-MODE % CVR1013 PARAMETER-LINES = *CONVERT % CVR1014 TO-FILE = SDFP.PROC.ASSXT % CVR1015 PRODUCE-CONTINUATION = *NEW-MODE % CVR1016 REPLACE-OLD-FILE = *YES % CVR1017 SYSTEM-SYNTAX-FILE = $.SYSSDF.SDF-CONV.030.USER.U-CMD % CVR1018 GROUP-SYNTAX-FILE = $.SYSSDF.SDF-CONV.030.USER.S-CMD % CVR1019 UNCHANGED-CMD = *NONE % CVR1020 DOCUMENTATION = *MINIMUM % CVR1021 TARGET-VERSION = *OSD-V2 % CVR1022 OUTPUT-FORM = *STD % CVR1023 PROCEDURE-FORMAT = *S-PROCEDURE(CMD- FORMAT=*SDF,PROGRAM-INPUT=*DATA(EXCEPT-AFTER-CMD=*NONE,WARNING=*NO),BLOCK- INPUT=*NOT-ALLOWED) ***** BS2000 COMMAND CONVERTER : SDF-CONV V3 ***** page 2 /BEGIN-PROC A,P-P=(&FILE),ESC-CHAR='&' —————————————————————————————— (2) /REMARK **** Aufruf des ASSEMBH **** /DEL-FI LST.ASSEMBH /SET-JOB-STEP /ASS-SYSDTA *SYSCMD /DEL-SYS-FI "von frueheren ASSEMBH-Aufrufen" *OMF /START-PROG $ASSEMBH //COMPILE SOURCE=&FILE,LISTING=PAR(OUTPUT=LST.ASSEMBH),- //TEST-SUPPORT=YES //END /SET-JOB-STEP /ASS-SYSDTA *P /END-PROC % CVR1000 CONVERSION TERMINATED WITH: ———————————————————————————————— (3) % CVR1001 FAILURES: 0 % CVR1002 ERRORS : 0 % CVR1003 WARNINGS: 0 % CVR1004 NOTES : 0
(1) | Es werden die für den durchgeführten SDF-CONV-Lauf eingestellten Operandenwerte ausgegeben. |
(2) | Ausgabe aller Kommandosätze der Eingabeprozedur. |
(3) | Der letzte Teil des Protokolls ist identisch mit der Ausgabe nach SYSOUT. |
Ausgabeprozedur SDFP.PROC.ASSXT
/SET-PROCEDURE-OPTIONS LOGGING-ALLOWED=YES,INTERRUPT-ALLOWED=YES,- / DATA-ESCAPE-CHAR=STD,SYSTEM-FILE-CONTEXT=OWN,DATA-ERROR-HANDLING=- / NO /BEGIN-PARAMETER-DECLARATION /DECLARE-PARAMETER NAME=FILE,TYPE=ANY,INIT=*PROMPT /END-PARAMETER-DECLARATION /REMARK '**** AUFRUF DES ASSEMBH ****' /DELETE-FILE LST.ASSEMBH /SET-JOB-STEP /ASSIGN-SYSDTA TO=*SYSCMD /"*****" REMARK '/DEL-SYS-FI "von frueheren ASSEMBH-Aufrufen" *OMF' ——— (1) /DELETE-SYSTEM-FILE "von frueheren ASSEMBH-Aufrufen" *OMF /START-PROGRAM $ASSEMBH //COMPILE SOURCE=&(FILE),LISTING=PAR(OUTPUT=LST.ASSEMBH),TEST-SUPPORT=- // YES //END /SET-JOB-STEP /ASSIGN-SYSDTA TO=*P /IF-BLOCK-ERROR;END-IF /END-PROCEDURE
(1) | Der Kommandosatz mit dem Inline-Kommentar wird in eine Kommentarzeile geschrieben, die vor der Kommandozeile mit der Übersetzung steht. Dadurch ist gewährleistet, dass die Information des Inline-Kommentars bei der Übersetzung nicht verloren geht (Voraussetzung: DOCUMENTATION=*MIN/*MAX). |