User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:comcpop

Common COMCPOP

3 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comcpop +++|          CTEXT  COMCPOP - PICK OUT PARAMETER.
00002  M01S00002.comcpop +++|          SPACE  4
00003  M01S00003.comcpop +++| QUAL$    IF     -DEF,QUAL$,1
00004  M01S00004.comcpop +++|          QUAL   COMCPOP
00005  M01S00005.comcpop +++|          BASE   D
Line S00006 Modification History
M01 (Added by) comcpop
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M02S00006.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORP. 1972.
00007  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00008  M01S00007.comcpop +++| POP      SPACE  4
00009  M01S00008.comcpop +++|***       COMCPOP - PICK OUT PARAMETER.
00010  M01S00009.comcpop +++|*         K. E. ZINNEL.      71/12/01.
00011  M01S00010.comcpop +++|*         D. A. HIVELEY.     72/06/01.
00012  M01S00011.comcpop +++|*         M. E. MADDEN.      73/04/10.
00013  M01S00012.comcpop +++|*         S. R. MCPHERSON.   74/09/30.
00014  M01S00013.comcpop +++|*         A. D. FORET        74/12/04. RESEQUENCE.
00015  M01S00014.comcpop +++| POP      SPACE  4
00016  M01S00015.comcpop +++|***       POP - PICK OUT PARAMETER FROM STRING BUFFER.
00017  M01S00016.comcpop +++|*
00018  M01S00017.comcpop +++|*                A LITERAL PARAMETER IS DELIMITED BY *$*.  IF THE
00019  M01S00018.comcpop +++|*         LITERAL IS TO CONTAIN A *$*, *$$* MUST BE USED.
00020  M01S00019.comcpop +++|*         EG. - $A B/C$$E$  YIELDS  A B/C$E
00021  M01S00020.comcpop +++|*
00022  M01S00021.comcpop +++|*         IF *RCC* IS DEFINED IN THE USERS PROGRAM, WHEN THE
00023  M01S00022.comcpop +++|*         STRING BUFFER IS EXHAUSTED, THE NEXT CONTROL CARD IS
00024  M01S00023.comcpop +++|*         READ FROM THE CONTROL CARD BUFFER.  HOWEVER, LITERALS
00025  M01S00024.comcpop +++|*         MAY NOT BE CONTINUED ON THE NEXT CONTROL CARD.
00026  M01S00025.comcpop +++|*
00027  M01S00026.comcpop +++|*         LITERALS WILL BE PROCESSED IF *LIT* IS DEFINED AND
00028  M01S00027.comcpop +++|*         (LIT) .NE. 0.  OTHERWISE, A *$* WILL BE TREATED AS A BLANK.
00029  M01S00028.comcpop +++|*
00030  M01S00029.comcpop +++|*         AN ASTERISK (*) IS CONSIDERED A VALID
00031  M01S00030.comcpop +++|*         PARAMETER CHARACTER, NOT A SEPARATOR.
00032  M01S00031.comcpop +++|*
00033  M01S00032.comcpop +++|*         *POPL* DEFINES THE MAXIMUM PARAMETER LENGTH IN WORDS.
00034  M01S00033.comcpop +++|*
00035  M01S00034.comcpop +++|*         ENTRY  (B6) = ADDRESS TO BEGIN ASSEMBLY.
00036  M01S00035.comcpop +++|*                (USBC) = ADDRESS OF LAST CHARACTER IN STRING BUFFER.
00037  M01S00036.comcpop +++|*                            IF NOT DEFINED IN THE USER PROGRAM
00038  M01S00037.comcpop +++|*                            THIS SYMBOL IS DEFINED IN *COMCUSB*.
00039  M01S00038.comcpop +++|*
00040  M01S00039.comcpop +++|*         EXIT   (X6) = LAST PART OF ASSEMBLED PARAMETER OR PARAMETER
00041  M01S00040.comcpop +++|*                            IF .LT. 10 CHARACTERS.
00042  M01S00041.comcpop +++|*                (B5) = PARAMETER LENGTH (IN WORDS) - 1.
00043  M01S00042.comcpop +++|*                     = NEGATIVE IF BUFFER EXHAUSTED OR ERROR.
00044  M01S00043.comcpop +++|*                (B6) = 0 IF *.* OR *)* ENCOUNTERED.
00045  M01S00044.comcpop +++|*                     = POSITIVE, NEXT STRING BUFFER ADDRESS.
00046  M01S00045.comcpop +++|*                (A1) = ADDRESS OF SEPARATOR.
00047  M01S00046.comcpop +++|*                (X1) = SEPARATOR.
00048  M01S00047.comcpop +++|*                (X2) = NEGATIVE IF *.* OR *)* ENCOUNTERED
00049  M01S00048.comcpop +++|*                     AND NO ERRORS.
00050  M01S00049.comcpop +++|*                     = 0 IF CHARACTER ENCOUNTERED WITH
00051  M01S00050.comcpop +++|*                     DISPLAY CODE GREATER THAN 57B (.).
00052  M01S00051.comcpop +++|*
00053  M01S00052.comcpop +++|*
00054  M01S00053.comcpop +++|*         USES   A - 1, 6, 7.
00055  M01S00054.comcpop +++|*                X - 1, 2, 3, 6, 7.
00056  M01S00055.comcpop +++|*                B - 1, 2, 3, 4, 5, 6, 7.
00057  M01S00056.comcpop +++|*
00058  M01S00057.comcpop +++|*         CALLS  AVC.
00059  M01S00058.comcpop +++|
00060  M01S00059.comcpop +++|
00061  M01S00060.comcpop +++| POP13    SB5    -B1         SET ERROR FLAG
00062  M01S00061.comcpop +++|          EQ     POP         RETURN
00063  M01S00062.comcpop +++|
00064  M01S00063.comcpop +++| POP14    SX3    4100B       CHECK FOR VALID TERMINATOR
00065  M01S00064.comcpop +++|          BX7    X7-X7
00066  M01S00065.comcpop +++|          AX2    X3,B2
00067  M01S00066.comcpop +++|          SA6    POPA+B5     STORE PARAMETER WORD
00068  M01S00067.comcpop +++|          SB2    B4-60       CHECK FOR EMPTY ASSEMBLE REGISTER
00069  M01S00068.comcpop +++|          EQ     B2,B0,POP15 IF EMPTY ASSEMBLY REGISTER
00070  M01S00069.comcpop +++|          SB2    B5-POPL     CHECK PARAMETER SIZE
00071  M01S00070.comcpop +++|          PL     B2,POP13    IF PARAMETER TOO LONG
00072  M01S00071.comcpop +++|          SA7    A6+1
00073  M01S00072.comcpop +++| POP15    LX2    59          CHECK TERMINATOR
00074  M01S00073.comcpop +++|          PL     X2,POP16    IF NOT *.* OR *)*
00075  M01S00074.comcpop +++|          SB6    B0          SET TERMINATOR ENCOUNTERED
00076  M01S00075.comcpop +++| POP16    SB4    B4-60
00077  M01S00076.comcpop +++|          NE     B4,B0,POP   IF NOT EMPTY ASSEMBLY REGISTER
00078  M01S00077.comcpop +++|          EQ     B5,B0,POP   IF .LT. 11D CHARACTERS
00079  M01S00078.comcpop +++|          SB5    B5-1
00080  M01S00079.comcpop +++|
00081  M01S00080.comcpop +++| POP      PS                 ENTRY/EXIT
00082  M01S00081.comcpop +++|          SB5    -1          SET PARAMETER LENGTH INDEX
00083  M01S00082.comcpop +++|          LE     B6,POP      IF NO ASSEMBLY POINTER
00084  M01S00083.comcpop +++|          SA1    USBC        GET LAST CHARACTER LOCATION
00085  M01S00084.comcpop +++|          SB7    X1+1
00086  M01S00085.comcpop +++| POP1     SB4    60          POSITION INDEX
00087  M01S00086.comcpop +++|          BX6    X6-X6       CLEAR ASSEMBLY REGISTER
00088  M01S00087.comcpop +++|          SB5    B5+B1
00089  M01S00088.comcpop +++| POP2     SA1    B6
00090  M01S00089.comcpop +++|          LT     B6,B7,POP3  IF MORE CHARACTERS IN STRING BUFFER
00091  M01S00090.comcpop +++| RC1      IF     DEF,RCC
00092  M01S00091.comcpop +++|          RJ     AVC         ADVANCE CONTROL CARD
00093  M01S00092.comcpop +++|          ZR     X2,POP13    IF NO CONTINUATION CARD
00094  M01S00093.comcpop +++|          EQ     POP2        CONTINUE PROCESSING PARAMETER
00095  M01S00094.comcpop +++|
00096  M01S00095.comcpop +++| RC1      ELSE
00097  M01S00096.comcpop +++|          SB3    POPL
00098  M01S00097.comcpop +++|          GT     B5,B3,POP13 IF BUFFER FULL
00099  M01S00098.comcpop +++|          SA6    POPA+B5
00100  M01S00099.comcpop +++|          EQ     POP13       SET ERROR FLAG - NO TERMINATOR
00101  M01S00100.comcpop +++|
00102  M01S00101.comcpop +++| RC1      ENDIF
00103  M01S00102.comcpop +++| POP3     SX2    X1-1R
00104  M01S00103.comcpop +++|          NZ     B4,POP4     IF ASSEMBLY REGISTER NOT FULL
00105  M01S00104.comcpop +++|          SA6    POPA+B5     STORE FULL WORD
00106  M01S00105.comcpop +++|          SB2    B5-POPL
00107  M01S00106.comcpop +++|          NG     B2,POP1     IF PARAMETER NOT TOO LONG
00108  M01S00107.comcpop +++|          EQ     POP13       SET ERROR FLAG - PARAMETER TOO LONG
00109  M01S00108.comcpop +++|
00110  M01S00109.comcpop +++| POP4     SX3    X1-1R$
00111  M01S00110.comcpop +++|          SB6    B6+1
00112  M01S00111.comcpop +++|          SB2    X1-1R9
00113  M01S00112.comcpop +++| LT1      IF     DEF,LIT
00114  M01S00113.comcpop +++|          ZR     X3,POP6     IF LITERAL PARAMETER
00115  M01S00114.comcpop +++| LT1      ELSE
00116  M01S00115.comcpop +++|          ZR     X3,POP2     IF CHARACTER = $
00117  M01S00116.comcpop +++| LT1      ENDIF
00118  M01S00117.comcpop +++|          SX3    X1-1R*
00119  M01S00118.comcpop +++|          ZR     X3,POP5     IF CHARACTER = *
00120  M01S00119.comcpop +++|          ZR     X2,POP2     IF CHARACTER = * *
00121  M01S00120.comcpop +++|          GT     B2,POP14    IF NOT ALPHANUMERIC
00122  M01S00121.comcpop +++|          ZR     X1,POP14    IF CHARACTER 00
00123  M01S00122.comcpop +++| POP5     SB4    B4-6
00124  M01S00123.comcpop +++|          LX7    X1,B4
00125  M01S00124.comcpop +++|          BX6    X7+X6
00126  M01S00125.comcpop +++|          EQ     POP2        CHECK NEXT CHARACTER
00127  M01S00126.comcpop +++|
00128  M01S00127.comcpop +++| LT2      IF     DEF,LIT
00129  M01S00128.comcpop +++| POP6     SA1    LIT
00130  M01S00129.comcpop +++|          ZR     X1,POP2     IF LITERALS NOT PERMITTED
00131  M01S00130.comcpop +++|          SX7    B4-60       CHECK FOR DELIMITER AS FIRST CHARACTER
00132  M01S00131.comcpop +++|          SX3    X7+B5
00133  M01S00132.comcpop +++|          NZ     X3,POP13    IF DELIMITER NOT FIRST CHARACTER
00134  M01S00133.comcpop +++| POP7     SA1    B6
00135  M01S00134.comcpop +++|          SX3    X1-1R$
00136  M01S00135.comcpop +++|          SB6    B6+B1
00137  M01S00136.comcpop +++|          GT     B6,B7,POP13 IF NO MORE CHARACTERS IN STRING BUFFER
00138  M01S00137.comcpop +++|          NZ     X3,POP11    IF NO DELIMITER
00139  M01S00138.comcpop +++|          SA1    B6
00140  M01S00139.comcpop +++|          SX3    X1-1R$
00141  M01S00140.comcpop +++|          SB6    B6+B1
00142  M01S00141.comcpop +++|          GT     B6,B7,POP10 IF NO MORE CHARACTERS IN STRING BUFFER
00143  M01S00142.comcpop +++|          ZR     X3,POP11    IF DOUBLE DELIMITER
00144  M01S00143.comcpop +++| POP8     SX3    X1-1R*
00145  M01S00144.comcpop +++|          SB2    X1-1R$
00146  M01S00145.comcpop +++|          ZR     X3,POP13    IF ILLEGAL SEPARATOR
00147  M01S00146.comcpop +++|          ZR     B2,POP13    IF ILLEGAL SEPARATOR
00148  M01S00147.comcpop +++|          ZR     X1,POP14    IF 00 CHARACTER
00149  M01S00148.comcpop +++|          SB2    X1-1R9
00150  M01S00149.comcpop +++|          SX3    X1-1R
00151  M01S00150.comcpop +++|          LE     B2,POP13    IF ALPHANUMERIC CHARACTER
00152  M01S00151.comcpop +++|          NZ     X3,POP14    IF NOT BLANK
00153  M01S00152.comcpop +++| POP9     SA1    B6
00154  M01S00153.comcpop +++|          SB6    B6+B1
00155  M01S00154.comcpop +++|          LE     B6,B7,POP8  IF MORE CHARACTERS IN STRING BUFFER
00156  M01S00155.comcpop +++| POP10    BSS    0
00157  M01S00156.comcpop +++| RC2      IF     -DEF,RCC
00158  M01S00157.comcpop +++|          EQ     POP13       SET ERROR FLAG - NO TERMINATOR
00159  M01S00158.comcpop +++|
00160  M01S00159.comcpop +++| RC2      ELSE
00161  M01S00160.comcpop +++|          RJ     AVC         ADVANCE CONTROL CARD
00162  M01S00161.comcpop +++|          ZR     X2,POP13    IF NO CONTINUATION CARD
00163  M01S00162.comcpop +++|          EQ     POP9        CHECK FOR SEPARATOR
00164  M01S00163.comcpop +++|
00165  M01S00164.comcpop +++| RC2      ENDIF
00166  M01S00165.comcpop +++|
00167  M01S00166.comcpop +++| POP11    NZ     B4,POP12    IF ASSEMBLY WORD NOT FULL
00168  M01S00167.comcpop +++|          SA6    POPA+B5     STORE ASSEMBLY WORD
00169  M01S00168.comcpop +++|          SB2    B5-POPL
00170  M01S00169.comcpop +++|          PL     B2,POP13    IF PARAMETER TOO LONG
00171  M01S00170.comcpop +++|          SB4    60
00172  M01S00171.comcpop +++|          BX6    X6-X6
00173  M01S00172.comcpop +++|          SB5    B5+B1
00174  M01S00173.comcpop +++| POP12    SB4    B4-6
00175  M01S00174.comcpop +++|          LX7    X1,B4
00176  M01S00175.comcpop +++|          BX6    X6+X7
00177  M01S00176.comcpop +++|          EQ     POP7        CHECK NEXT CHARACTER
00178  M01S00177.comcpop +++| LT2      ENDIF
00179  M01S00178.comcpop +++|
00180  M01S00001.cpop1   +++|          IF     -DEF,POPL,1
00181  M01S00179.comcpop +++| POPL     EQU    3           MAXIMUM PARAMETER LENGTH IN WORDS
00182  M01S00180.comcpop +++| POPA     BSS    POPL+1      ASSEMBLY BUFFER
00183  M01S00181.comcpop +++| RC3      IF     DEF,RCC
00184  M01S00182.comcpop +++| AVC      SPACE  4,20
00185  M01S00183.comcpop +++|**        AVC - ADVANCE CONTROL CARD.
00186  M01S00184.comcpop +++|*
00187  M01S00185.comcpop +++|*         ENTRY  (X6) = PARAMETER ASSEMBLY.
00188  M01S00186.comcpop +++|*
00189  M01S00187.comcpop +++|*         EXIT   (X2) = 0, IF NO CONTINUATION CARD WAS FOUND.
00190  M01S00188.comcpop +++|*                IF A CONTINUATION CARD WAS FOUND ((X2) .NE. 0),
00191  M01S00189.comcpop +++|*                THE FOLLOWING EXIT CONDITIONS ARE RETURNED -
00192  M01S00190.comcpop +++|*                (X6) = PARAMETER ASSEMBLY.
00193  M01S00191.comcpop +++|*                (B6) = FWA STRING BUFFER.
00194  M01S00192.comcpop +++|*                (B7) = LWA+1 DATA IN STRING BUFFER.
00195  M01S00193.comcpop +++|*
00196  M01S00194.comcpop +++|*         USES   A - 2, 6.
00197  M01S00195.comcpop +++|*                B - 2, 7.
00198  M01S00196.comcpop +++|*                X - 2, 6.
00199  M01S00197.comcpop +++|*
00200  M01S00198.comcpop +++|*         CALLS  SYS=, USB.
00201  M01S00199.comcpop +++|
00202  M01S00200.comcpop +++|
00203  M01S00201.comcpop +++| AVC      PS                 ENTRY/EXIT
00204  M01S00202.comcpop +++|          SA6    AVCA        SAVE PARAMETER ASSEMBLY REGISTER
Line S00203 Modification History
M01 (Added by) comcpop
M02 (Updated by) ns2053
Seq #  *Modification Id* Act 
----------------------------+
00205  M02S00203.ns2053  ---|          CONTROL CCDR,RSS   GET NEXT CONTROL CARD
00206  M01S00001.ns2053  +++|          CONTROL  CCDR,RSS,LF  GET NEXT CONTROL CARD
00207  M01S00204.comcpop +++|          SA2    CCDR
00208  M01S00205.comcpop +++|          ZR     X2,AVC      IF NO CONTINUATION CONTROL CARD
00209  M01S00206.comcpop +++|          CONTROL CCDR       ADVANCE POINTERS
00210  M01S00207.comcpop +++|          SB2    CCDR
00211  M01S00208.comcpop +++|          RJ     USB         UNPACK TO STRING BUFFER
00212  M01S00209.comcpop +++|          SA2    AVCA        RESTORE PARAMETER ASSEMBLY REGISTER
00213  M01S00210.comcpop +++|          BX6    X2
00214  M01S00211.comcpop +++|          SB7    B7+B1       SET LWA+1 DATA IN STRING BUFFER
00215  M01S00212.comcpop +++|          MX2    1
00216  M01S00213.comcpop +++|          EQ     AVC         RETURN
00217  M01S00214.comcpop +++|
00218  M01S00215.comcpop +++|
00219  M01S00216.comcpop +++| AVCA     BSS    1           ASSEMBLY REGISTER TEMPORARY
00220  M01S00217.comcpop +++| RC3      ENDIF
00221  M01S00218.comcpop +++|          SPACE  4
00222  M01S00219.comcpop +++| QUAL$    IF     -DEF,QUAL$
00223  M01S00220.comcpop +++|          QUAL   *
00224  M01S00221.comcpop +++| POP      EQU    /COMCPOP/POP
00225  M01S00222.comcpop +++| POPA     EQU    /COMCPOP/POPA
00226  M01S00223.comcpop +++| QUAL$    ENDIF
00227  M01S00224.comcpop +++|          BASE   *
00228  M01S00225.comcpop +++|          ENDX
cdc/nos2.source/opl.opl871/common/comcpop.txt ยท Last modified: by 127.0.0.1