Common COMCZAP

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.comczap +++|          CTEXT  COMCZAP - *Z* ARGUMENT PROCESSOR.
00002  M00S00002.comczap +++|          IF     -DEF,QUAL$,1
00003  M00S00003.comczap +++|          QUAL   COMCZAP
00004  M00S00004.comczap +++|          BASE   D
Line S00005 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00005  M01S00005.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORP. 1976.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00007  M00S00006.comczap +++| ZAP      SPACE  4
00008  M00S00007.comczap +++|***       COMCZAP - *Z* ARGUMENT PROCESSOR.
00009  M00S00008.comczap +++|*         A. D. FORET.       77/02/08.
00010  M00S00009.comczap +++|*         D. R. HILGREN.     79/04/15.
00011  M00S00010.comczap +++|*         J. L. LARSON.      79/04/15.
00012  M00S00011.comczap +++| ZAP      SPACE  4,10
00013  M00S00012.comczap +++|***       ZAP - *Z* ARGUMENT PROCESSOR.
00014  M00S00013.comczap +++|*
00015  M00S00014.comczap +++|*         ENTRY  (X2) = ADDRESS OF INPUT FET TO ENTER DIRECTIVES INTO.
00016  M00S00015.comczap +++|*                (B6) = STRING BUFFER LENGTH.  REQUIRED AND USED ONLY
00017  M00S00016.comczap +++|*                       WHEN VARIABLE LENGTH STRING BUFFER OPTION IS
00018  M00S00017.comczap +++|*                       SELECTED (USBL$ DEFINED).  SEE COMCUSB.
00019  M00S00018.comczap +++|*                USBB = STRING BUFFER.  MUST BE USER DEFINED IF USBL$
00020  M00S00019.comczap +++|*                       IS SELECTED.  SEE COMCUSB.
00021  M00S00020.comczap +++|*                CCDR = CONTROL STATEMENT IMAGE.
00022  M00S00021.comczap +++|*
00023  M00S00022.comczap +++|*         EXIT   DIRECTIVES ENTERED INTO BUFFER OF FET SPECIFIED.
00024  M00S00023.comczap +++|*                FET STATUS SET TO EOR READ.
Line S00024 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00025  M01S00024.ns2033  ---|*                *COMCZAP* WILL SUPPLY A TERMINATOR AT THE END OF A
00026  M01S00025.ns2033  ---|*                DIRECTIVE IF NO TERMINATOR (PERIOD OR CLOSED
00027  M01S00026.ns2033  ---|*                PARENTHESIS) HAS BEEN SUPPLIED FOR THAT DIRECTIVE
00028  M01S00027.ns2033  ---|*                AND IF *ZAP$* HAS BEEN DEFINED IN THE CALLING PROGRAM.
Line S00001 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00029  M01S00001.ns2033  +++|*                IF *ZAP$* IS DEFINED IN THE CALLING PROGRAM,
00030  M01S00002.ns2033  +++|*                *COMCZAP* WILL APPEND A TERMINATOR AT THE END OF
00031  M01S00003.ns2033  +++|*                A DIRECTIVE IF NO TERMINATOR (PERIOD OR RIGHT
00032  M01S00004.ns2033  +++|*                PARENTHESIS) HAS BEEN DETECTED WITHIN THE DIRECTIVE.
00033  M01S00005.ns2033  +++|*                NOTE THAT ANY PERIOD OR RIGHT PARENTHESIS WITHIN
00034  M01S00006.ns2033  +++|*                THE DIRECTIVE (EVEN IN A LITERAL OR AS PART OF A
00035  M01S00007.ns2033  +++|*                LOGICAL EXPRESSION) WILL PREVENT ANOTHER TERMINATOR
00036  M01S00008.ns2033  +++|*                FROM BEING APPENDED AT THE END OF THE DIRECTIVE,
00037  M01S00009.ns2033  +++|*                SO THE USER MUST SUPPLY THE ADDITIONAL TERMINATOR
00038  M01S00010.ns2033  +++|*                IN THIS CASE IF IT IS NEEDED.
00039  M00S00028.comczap +++|*
00040  M00S00029.comczap +++|*         USES   A - 1, 3, 6, 7.
00041  M00S00030.comczap +++|*                B - 2, 6, 7.
00042  M00S00031.comczap +++|*                X - 1, 2, 3, 4, 6, 7.
00043  M00S00032.comczap +++|*
Line S00033 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00044  M01S00033.ns2033  ---|*         CALLS  /COMCUSB/USB.
Line S00011 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00045  M01S00011.ns2033  +++|*         CALLS  USB.
00046  M00S00034.comczap +++|*
00047  M00S00035.comczap +++|*         MACROS RECALL, WRITES.
00048  M00S00036.comczap +++|*
00049  M00S00037.comczap +++|*         NOTES  THE FIRST CHARACTER AFTER THE CONTROL STATEMENT
00050  M00S00038.comczap +++|*                TERMINATOR IS THE SEPARATOR CHARACTER FOR ALL
00051  M00S00039.comczap +++|*                DIRECTIVES ON THE CONTROL STATEMENT.  ANY DISPLAY
00052  M00S00040.comczap +++|*                CODE CHARACTER NOT USED IN ANY DIRECTIVE (INCLUDING
00053  M00S00041.comczap +++|*                SPACE) CAN BE USED AS THE SEPARATOR CHARACTER.
00054  M01S00012.ns2033  +++|*                MULTIPLE CONSECUTIVE SEPARATORS GENERATE EMPTY LINES.
00055  M00S00042.comczap +++|
00056  M00S00043.comczap +++|
00057  M00S00044.comczap +++| ZAP      SUBR               ENTRY/EXIT
00058  M00S00045.comczap +++|
00059  M00S00046.comczap +++|*         SET INPUT FET STATUS TO EOR READ.
00060  M00S00047.comczap +++|
00061  M00S00048.comczap +++|          BX4    X2
00062  M00S00049.comczap +++|          RECALL X2
00063  M00S00050.comczap +++|          MX3    42
00064  M00S00051.comczap +++|          SA1    X4          SET EOR READ STATUS IN FET
00065  M00S00052.comczap +++|          SX2    31B
00066  M00S00053.comczap +++|          BX6    X3*X1
00067  M00S00054.comczap +++|          SX3    41B         PRESET TERMINATOR INDICATOR
00068  M00S00055.comczap +++|          BX6    X6+X2
00069  M00S00056.comczap +++|          LX3    12
00070  M00S00057.comczap +++|          SA6    A1
00071  M00S00058.comczap +++|          SB2    CCDR        FWA CONTROL STATEMENT
Line S00059 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00072  M01S00059.ns2033  ---|          RJ     /COMCUSB/USB  UNPACK CONTROL STATEMENT
Line S00013 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00073  M01S00013.ns2033  +++|          RJ     USB         UNPACK CONTROL STATEMENT
00074  M00S00060.comczap +++|
00075  M00S00061.comczap +++|*         FIND CONTROL STATEMENT TERMINATOR.
00076  M00S00062.comczap +++|
00077  M00S00063.comczap +++| ZAP1     SA1    B6          GET NEXT CHARACTER FROM CONTROL STATEMENT
00078  M00S00064.comczap +++|          SB2    X1
00079  M00S00065.comczap +++|          LX7    X3,B2
00080  M00S00066.comczap +++|          SB6    B6+B1
00081  M00S00067.comczap +++|          GE     B6,B7,ZAPX  IF END OF CONTROL STATEMENT
00082  M00S00068.comczap +++|          PL     X7,ZAP1     IF NOT TERMINATOR
00083  M00S00069.comczap +++|
00084  M00S00070.comczap +++|*         EXTRACT ONE DIRECTIVE.
00085  M00S00071.comczap +++|
Line S00072 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00086  M01S00072.ns2033  ---| ZAP2     SA3    B6+         GET SEPARATOR
00087  M01S00073.ns2033  ---|          SB2    B6+1        SAVE FWA DIRECTIVE
Line S00014 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00088  M01S00014.ns2033  +++| ZAP2     SA3    B6          GET SEPARATOR
00089  M01S00015.ns2033  +++|          SB2    B6+B1       SAVE FWA DIRECTIVE
00090  M00S00074.comczap +++| .C       IF     DEF,ZAP$
00091  M00S00075.comczap +++|          SX2    B1          ASSUME NO TERMINATOR FOUND
00092  M00S00076.comczap +++| .C       ENDIF
00093  M00S00077.comczap +++| ZAP3     SB6    B6+B1
00094  M00S00078.comczap +++|          SA1    B6+         GET NEXT CHARACTER FROM CONTROL STATEMENT
00095  M00S00079.comczap +++|          BX7    X3-X1       CHECK FOR SEPARATOR
00096  M00S00080.comczap +++|          GT     B6,B7,ZAP4  IF END OF CONTROL STATEMENT
00097  M00S00081.comczap +++| .D       IF     DEF,ZAP$
Line S00082 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00098  M01S00082.ns2033  ---|          ZR     X7,ZAP3.2   IF END OF DIRECTIVE
Line S00016 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00099  M01S00016.ns2033  +++|          ZR     X7,ZAP4     IF END OF DIRECTIVE
00100  M00S00083.comczap +++|          SX7    X1-1R.
00101  M00S00084.comczap +++|          ZR     X7,ZAP3.1   IF TERMINATOR
00102  M00S00085.comczap +++|          SX7    X1-1R)
00103  M00S00086.comczap +++|          NZ     X7,ZAP3     IF NOT TERMINATOR
Line S00087 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00104  M01S00087.ns2033  ---| ZAP3.1   SX2    B0+
Line S00017 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00105  M01S00017.ns2033  +++| ZAP3.1   SX2    B0          INDICATE TERMINATOR FOUND
00106  M00S00088.comczap +++|          EQ     ZAP3        GET SEPARATOR
00107  M00S00089.comczap +++|
Line S00090 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00108  M01S00090.ns2033  ---| ZAP3.2   BSS    0
00109  M00S00091.comczap ---| .D       ELSE
00110  M00S00092.comczap ---|          NZ     X7,ZAP3     IF NOT END OF DIRECTIVE
00111  M00S00093.comczap ---| .D       ENDIF
00112  M01S00094.ns2033  ---|          EQ     B2,B6,ZAP2  IF TWO SEPARATORS IN A ROW
00113  M00S00095.comczap ---|
00114  M00S00096.comczap ---|*         ENTER DIRECTIVE INTO INPUT FET BUFFER.
00115  M00S00097.comczap ---|
00116  M00S00098.comczap ---| ZAP4     SX6    B6          SAVE SEPARATOR ADDRESS
00117  M00S00099.comczap ---|          SA6    ZAPA
Line S00018 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00118  M01S00018.ns2033  +++|          SB7    B6-B2       SET DIRECTIVE LENGTH
00119  M01S00019.ns2033  +++|          EQ     B2,B6,ZAP7  IF TWO SEPARATORS AT END OF STATEMENT
00120  M00S00100.comczap +++| .A       IF     DEF,ZAP$
00121  M00S00101.comczap +++|          BX7    X1          SAVE SEPARATOR
00122  M00S00102.comczap +++|          SA7    ZAPB
00123  M00S00103.comczap +++|          ZR     X2,ZAP5     IF TERMINATOR FOUND
00124  M00S00104.comczap +++|          SX6    1R.
00125  M00S00105.comczap +++|          SA6    A1
Line S00106 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00126  M01S00106.ns2033  ---|          SB6    B6+B1       INCREMENT DIRECTIVE LENGTH
Line S00020 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00127  M01S00020.ns2033  +++|          SB7    B7+B1       INCREMENT DIRECTIVE LENGTH FOR TERMINATOR
00128  M00S00107.comczap +++| ZAP5     BSS    0
00129  M00S00108.comczap +++| .A       ENDIF
Line S00109 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00130  M01S00109.ns2033  ---|          SB7    B6-B2       SET DIRECTIVE LENGTH
00131  M00S00110.comczap ---|          WRITES X4,B2,B7
Line S00021 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00132  M01S00021.ns2033  +++|          SA1    ZAPA        RESTORE SEPARATOR ADDRESS
00133  M00S00111.comczap +++| .B       IF     DEF,ZAP$
Line S00112 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00134  M01S00112.ns2033  ---|          SA1    ZAPA        RESTORE PROPER SEPARATOR
00135  M01S00113.ns2033  ---|          SA3    ZAPB
00136  M01S00114.ns2033  ---|          SA1    X1
00137  M01S00115.ns2033  ---|          BX6    X3
00138  M01S00116.ns2033  ---|          SA6    A1+
Line S00022 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00139  M01S00022.ns2033  +++|          SA3    ZAPB        RESTORE PROPER SEPARATOR
00140  M01S00023.ns2033  +++|          BX6    X3
00141  M01S00024.ns2033  +++|          SA6    X1
00142  M00S00117.comczap +++| .B       ENDIF
Line S00118 Modification History
M01 (Removed by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00143  M01S00118.ns2033  ---|          SA1    ZAPA        RESTORE SEPARATOR ADDRESS
00144  M01S00119.ns2033  ---|          SA3    /COMCUSB/USBC  RESTORE LWA CONTROL STATEMENT
Line S00025 Modification History
M01 (Added by) ns2033
Seq #  *Modification Id* Act 
----------------------------+
00145  M01S00025.ns2033  +++| ZAP6     SA3    USBC        RESTORE LWA CONTROL STATEMENT
00146  M00S00120.comczap +++|          SX4    X2          RESET INPUT FET ADDRESS
00147  M00S00121.comczap +++|          SB6    X1
00148  M00S00122.comczap +++|          SB7    X3+
00149  M00S00123.comczap +++|          LT     B6,B7,ZAP2  IF MORE DIRECTIVES TO PROCESS
00150  M00S00124.comczap +++|          EQ     ZAPX        RETURN
00151  M01S00026.ns2033  +++|
00152  M01S00027.ns2033  +++| ZAP7     WRITES X4,ZAPC,1   WRITE BLANK LINE
00153  M01S00028.ns2033  +++|          SA1    ZAPA        RESTORE SEPARATOR ADDRESS
00154  M01S00029.ns2033  +++|          EQ     ZAP6        PROCESS NEXT DIRECTIVE
00155  M00S00125.comczap +++|
00156  M00S00126.comczap +++|
00157  M00S00127.comczap +++| ZAPA     CON    0           SEPARATOR ADDRESS
00158  M00S00128.comczap +++| ZAPB     CON    0           SEPARATOR USED BY CALLER
00159  M01S00030.ns2033  +++| ZAPC     CON    1R          BLANK LINE
00160  M00S00129.comczap +++| ZAP      SPACE  4,10
00161  M00S00130.comczap +++|          BASE   *
00162  M00S00131.comczap +++| QUAL$    IF     -DEF,QUAL$
00163  M00S00132.comczap +++|          QUAL   *
00164  M00S00133.comczap +++| ZAP      EQU    /COMCZAP/ZAP
00165  M00S00134.comczap +++| QUAL$    ENDIF
00166  M00S00135.comczap +++|          ENDX