User Tools

Site Tools


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

Common COMCARM

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.comcarm +++|          CTEXT  COMCARM - MULTIPLE WORD ARGUMENT PROCESSOR.
00002  M00S00002.comcarm +++| ARM      SPACE  4,10
00003  M00S00003.comcarm +++| QUAL$    IF     -DEF,QUAL$,1
00004  M00S00004.comcarm +++|          QUAL   COMCARM
00005  M00S00005.comcarm +++|          BASE   D
Line S00006 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M01S00006.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORP. 1972.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00007  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00008  M00S00007.comcarm +++| ARM      SPACE  4,10
00009  M00S00008.comcarm +++|***       COMCARM - MULTIPLE WORD ARGUMENT PROCESSOR.
00010  M00S00009.comcarm +++|*         D. A. HIVELEY.     72/03/19.
00011  M00S00010.comcarm +++|*         A. D. FORET.       74/12/04. RESEQUENCED.
00012  M00S00011.comcarm +++|*         H. G. VARNIS.      79/02/19.
00013  M00S00012.comcarm +++| ARM      SPACE  4,10
00014  M00S00013.comcarm +++|***       ARM - MULTIPLE WORD ARGUMENT PROCESSOR.
00015  M00S00014.comcarm +++|*
00016  M00S00015.comcarm +++|*                *COMCARM* USES *COMCPOP* TO PICK PARAMETERS OUT
00017  M00S00016.comcarm +++|*         OF A STRING BUFFER.  THE PARAMETERS ARE THEN
00018  M00S00017.comcarm +++|*         PROCESSED BY THE USE OF AN EQUIVALENCED TABLE.
00019  M00S00018.comcarm +++|*
00020  M00S00019.comcarm +++|*         ENTRY  (B3) = ADDRESS OF THE ARGUMENT TABLE.
00021  M00S00020.comcarm +++|*                (B6) = ADDRESS OF THE NEXT ENTRY IN THE STRING BUFFER.
00022  M00S00021.comcarm +++|*T ARGT   12/OP,18/ASV,9/ST,3/WC,18/ADDR
Figure ARGT

01718202129ADDRWCST30474859ASVOP

00023  M00S00022.comcarm +++|*         OR
00024  M00S00023.comcarm +++|*T ARGT   12/77B,18/ASV,9/ST,3/WC,18/ADDR
Figure ARGT

01718202129ADDRWCST30474859ASV77B

00025  M00S00024.comcarm +++|*T,       42/OP,18/0
Figure

01718290OP3059OP

00026  M00S00025.comcarm +++|*         77B    INDICATION OF TWO-WORD ENTRY TABLE FORMAT IS USED.
00027  M00S00026.comcarm +++|*         OP     ONE TO SEVEN CHARACTER OPTION (ARGUMENT KEYWORD).
00028  M00S00027.comcarm +++|*         ASV    ADDRESS OF ASSUMED VALUE.
00029  M00S00028.comcarm +++|*         ST     STATUS OF ZERO ENTRY.
00030  M00S00029.comcarm +++|*         WC     WORD COUNT OF PARAMETER.
00031  M00S00030.comcarm +++|*         ADDR   ADDRESS OF LOCATION IN WHICH TO PLACE RESULT.
00032  M00S00031.comcarm +++|*
00033  M00S00032.comcarm +++|*         PROCESSING OPTIONS -
00034  M00S00033.comcarm +++|*
00035  M00S00034.comcarm +++|*                IF  *WC* = 0, THE LOWER 18 BITS OF THE CONTENTS OF
00036  M00S00035.comcarm +++|*                *ASV* WILL BE RETAINED AS THE LOWER 18 BITS OF THE
00037  M00S00036.comcarm +++|*                RESULT VALUE.  IF THE ENTERED PARAMETER IS
00038  M00S00037.comcarm +++|*                EQUIVALENCED, THE UPPER 42 BITS OF THE RESULT ARE
00039  M00S00038.comcarm +++|*                THOSE OF THE ENTERED VALUE.  OTHERWISE, THEY ARE
00040  M00S00039.comcarm +++|*                THOSE OF THE ASSUMED VALUE.  THE SECOND AND
00041  M00S00040.comcarm +++|*                FOLLOWING WORDS OF THE ENTERED VALUE ARE IGNORED.
00042  M00S00041.comcarm +++|*
00043  M00S00042.comcarm +++|*                IF *ASV* = *ADDR*, ONLY ONE ENTRY OF THE ARGUMENT WILL
Line S00043 Modification History
M01 (Removed by) ns2695
Seq #  *Modification Id* Act 
----------------------------+
00044  M01S00043.ns2695  ---|*                BE ALLOWED (*OP* IN THE ARGUMENT TABLE WILL BE SET TO
00045  M01S00044.ns2695  ---|*                7777B FOR EACH ARGUMENT THAT IS ENTERED).
Line S00001 Modification History
M01 (Added by) ns2695
Seq #  *Modification Id* Act 
----------------------------+
00046  M01S00001.ns2695  +++|*                BE ALLOWED (*OP* IN THE ARGUMENT TABLE IS SET TO -0).
00047  M00S00045.comcarm +++|*
00048  M00S00046.comcarm +++|*                IF *ST* = 400B, A PARAMETER WHICH IS EQUIVALENCED TO
00049  M00S00047.comcarm +++|*                0 WILL HAVE DISPLAY 0 (LEFT JUSTIFIED) STORED IN THE
00050  M00S00048.comcarm +++|*                RESULT LOCATION.  IF *ST* .NE. 400B, SUCH A PARAMETER
00051  M00S00049.comcarm +++|*                WILL RECEIVE A VALUE OF BINARY 0.
00052  M00S00050.comcarm +++|*
00053  M00S00051.comcarm +++|*                IF *ASV* .LT. 0, THE PARAMETER MUST NOT BE
00054  M00S00052.comcarm +++|*                EQUIVALENCED.
00055  M00S00053.comcarm +++|*
00056  M00S00054.comcarm +++|*         NOTE   THE WORD COUNT OF ENTERED VALUES CANNOT EXCEED THE
00057  M00S00055.comcarm +++|*                MINIMUM OF *WC* AND *COMCPOP* ASSEMBLY CONSTANT
00058  M00S00056.comcarm +++|*                *POPL*.  IF *WC* .GT. *POPL*, DEFAULT VALUES WITH
00059  M00S00057.comcarm +++|*                LENGTHS GREATER THAN *POPL* ARE PROCESSED CORRECTLY,
00060  M00S00058.comcarm +++|*                BUT ENTERED VALUES ARE FLAGGED AS ERRORS.
00061  M00S00059.comcarm +++|*
00062  M00S00060.comcarm +++|*         EXIT   (X1) .NE. 0, IF ARGUMENT ERROR DETECTED.
Line S00061 Modification History
M01 (Removed by) carm1
Seq #  *Modification Id* Act 
----------------------------+
00063  M01S00061.carm1   ---|*                            BLANK ARGUMENT, OPTION NOT IN TABLE,
00064  M01S00062.carm1   ---|*                            SINGLE ARGUMENT EQUIVALENCED, NO
00065  M01S00063.carm1   ---|*                            TERMINATOR FOUND, OR ILLEGAL RE-ENTRY OF
00066  M01S00064.carm1   ---|*                            ARGUMENT.
Line S00001 Modification History
M01 (Added by) carm1
Seq #  *Modification Id* Act 
----------------------------+
00067  M01S00001.carm1   +++|*                            OPTION NOT IN TABLE, SINGLE ARGUMENT
00068  M01S00002.carm1   +++|*                            EQUIVALENCED, NO TERMINATOR FOUND OR
00069  M01S00003.carm1   +++|*                            INCORRECT RE-ENTRY OF ARGUMENT.
00070  M00S00065.comcarm +++|*
00071  M00S00066.comcarm +++|*         USES   X - 1, 2, 3, 4, 6, 7.
00072  M00S00067.comcarm +++|*                A - 2, 3, 4, 7.
00073  M00S00068.comcarm +++|*                B - 2, 4, 5, 6, 7.
00074  M00S00069.comcarm +++|*
00075  M00S00070.comcarm +++|*         CALLS  POP.
00076  M00S00071.comcarm +++|
00077  M00S00072.comcarm +++|
00078  M00S00073.comcarm +++| ARM      SUBR               ENTRY/EXIT
Line S00074 Modification History
M01 (Removed by) carm1
Seq #  *Modification Id* Act 
----------------------------+
00079  M01S00074.carm1   ---|          SX1    B0+         CLEAR ERROR
Line S00004 Modification History
M01 (Added by) carm1
Seq #  *Modification Id* Act 
----------------------------+
00080  M01S00004.carm1   +++| ARM0     SX1    B0+         CLEAR ERROR
00081  M00S00075.comcarm +++| ARM1     ZR     B6,ARM      IF NO ARGUMENTS
00082  M00S00076.comcarm +++|          RJ     POP         PICK OUT PARAMETER
00083  M00S00077.comcarm +++|          MX1    12
00084  M00S00078.comcarm +++|          NG     B5,ARM      IF ERROR
00085  M00S00079.comcarm +++|          SX2    B0
00086  M00S00080.comcarm +++|
00087  M00S00081.comcarm +++|*         SEARCH FOR MATCH IN ARGUMENT TABLE.
00088  M00S00082.comcarm +++|
00089  M00S00083.comcarm +++|          SA4    POPA
00090  M00S00084.comcarm +++|          ZR     X4,ARM      IF BLANK ARGUMENT
00091  M00S00085.comcarm +++|          SA3    B3-B1
00092  M00S00086.comcarm +++|          SB4    12
00093  M00S00087.comcarm +++|          ZR     B6,ARM2     IF TERMINATOR ENCOUNTERED
00094  M00S00088.comcarm +++|          SA2    B6-B1       PICK SEPARATOR
00095  M00S00089.comcarm +++| ARM2     SA3    A3+B1       PICK NEXT OPTION
00096  M00S00090.comcarm +++|          BX7    X1*X3
00097  M00S00091.comcarm +++|          ZR     X3,ARM      IF END OF TABLE
00098  M00S00092.comcarm +++|          SB2    B0
00099  M00S00093.comcarm +++|          LX6    X7,B4       CHECK IF TWO WORD ENTRY
00100  M00S00094.comcarm +++|          SX6    X6-77B
00101  M00S00095.comcarm +++|          NZ     X6,ARM2.1   IF NOT TWO WORD ENTRY
00102  M00S00096.comcarm +++|          SB2    B1
00103  M00S00097.comcarm +++|          MX6    42
00104  M00S00098.comcarm +++|          SA3    A3+B1       GET SECOND WORD OF ENTRY
00105  M00S00099.comcarm +++|          BX7    X6*X3       GET OPTION
00106  M00S00100.comcarm +++| ARM2.1   BX6    X7-X4
00107  M00S00101.comcarm +++|          NZ     X6,ARM2     IF NO MATCH
00108  M00S00102.comcarm +++|
00109  M00S00103.comcarm +++|*         CHECK EQUIVALENCED OPTION.
00110  M00S00104.comcarm +++|
00111  M00S00105.comcarm +++|          ZR     B2,ARM2.2   IF ONE WORD ENTRY
00112  M00S00106.comcarm +++|          SA3    A3-B1
00113  M00S00107.comcarm +++| ARM2.2   SA4    X3
00114  M00S00108.comcarm +++|          SX7    X2-1R=
00115  M00S00109.comcarm +++|          LX3    30
00116  M00S00110.comcarm +++|          SB4    X3
Line S00001 Modification History
M01 (Added by) ns2659
Seq #  *Modification Id* Act 
----------------------------+
00117  M01S00001.ns2659  +++|          MX6    -18
00118  M00S00111.comcarm +++|          PL     B4,ARM3     IF EQUIVALENCE ALLOWED
00119  M00S00112.comcarm +++|          SA2    -B4         ASSUMED VALUE
00120  M00S00113.comcarm +++|          SB4    -B4
Line S00114 Modification History
M01 (Removed by) ns2659
Seq #  *Modification Id* Act 
----------------------------+
00121  M01S00114.ns2659  ---|          SX4    X2+         ASSUMED STATUS
Line S00002 Modification History
M01 (Added by) ns2659
Seq #  *Modification Id* Act 
----------------------------+
00122  M01S00002.ns2659  +++|          BX4    -X6*X2      ASSUMED STATUS
00123  M00S00115.comcarm +++|          NZ     X7,ARM5     IF ARGUMENT NOT EQUIVALENCED
00124  M00S00116.comcarm +++|          EQ     ARM         RETURN
00125  M00S00117.comcarm +++|
00126  M00S00118.comcarm +++|*         PROCESS EQUIVALENCE.
00127  M00S00119.comcarm +++|
00128  M00S00120.comcarm +++| ARM3     SA2    B4
Line S00121 Modification History
M01 (Removed by) ns2659
Seq #  *Modification Id* Act 
----------------------------+
00129  M01S00121.ns2659  ---|          SX4    X2          ASSUMED STATUS
Line S00003 Modification History
M01 (Added by) ns2659
Seq #  *Modification Id* Act 
----------------------------+
00130  M01S00003.ns2659  +++|          BX4    -X6*X2      ASSUMED STATUS
00131  M00S00122.comcarm +++|          NZ     X7,ARM5     IF ARGUMENT NOT EQUIVALENCED
00132  M00S00123.comcarm +++|          RJ     POP         PICK OUT PARAMETER
00133  M00S00124.comcarm +++|          SB4    A2          SAVE ADDRESS OF ASSUMED VALUE
00134  M00S00125.comcarm +++|          SX1    B1
00135  M00S00126.comcarm +++|          NG     B5,ARM      IF ERROR
00136  M00S00127.comcarm +++|          SA2    POPA
Line S00005 Modification History
M01 (Added by) carm1
Seq #  *Modification Id* Act 
----------------------------+
00137  M01S00005.carm1   +++|          ZR     X2,ARM0     IF NULL PARAMETER
00138  M00S00128.comcarm +++|          BX1    X2
00139  M00S00129.comcarm +++|          LX1    -42
00140  M00S00130.comcarm +++|          SA3    A3
00141  M00S00131.comcarm +++|          LX3    30
00142  M00S00132.comcarm +++|          NG     X3,ARM4     IF *0* REQUESTED
00143  M00S00133.comcarm +++|          SX3    X1-1L0
Line S00134 Modification History
M01 (Removed by) carm1
Seq #  *Modification Id* Act 
----------------------------+
00144  M01S00134.carm1   ---|          ZR     X2,ARM      IF BLANK ARGUMENT
00145  M00S00135.comcarm +++| ARM4     SX1    B1+         RESET ERROR FLAG
00146  M00S00136.comcarm +++|          NZ     X3,ARM5     IF NOT *0*
00147  M00S00137.comcarm +++|          SX2    B0          CLEAR EQUIVALENCE
00148  M00S00138.comcarm +++|          BX4    X4-X4       CLEAR STATUS
00149  M00S00139.comcarm +++|
00150  M00S00140.comcarm +++|*         ENTER ARGUMENT.
00151  M00S00141.comcarm +++|
00152  M00S00142.comcarm +++| ARM5     SA3    A3          PICK UP WORD COUNT
00153  M00S00143.comcarm +++|          MX6    -3
00154  M00S00144.comcarm +++|          AX3    18
00155  M00S00145.comcarm +++|          BX3    -X6*X3
00156  M00S00146.comcarm +++|          SB2    X3
00157  M00S00147.comcarm +++|          MX6    42
00158  M00S00148.comcarm +++|          ZR     B2,ARM9     IF *WC* = 0
00159  M00S00149.comcarm +++|          SB5    B5+B1
00160  M00S00150.comcarm +++|          ZR     X7,ARM6     IF PREVIOUS PARAMETER WAS EQUIVALENCED
00161  M00S00151.comcarm +++|          SB5    B2
00162  M00S00152.comcarm +++| ARM6     GT     B5,B2,ARM   IF PARAMETER TOO LARGE
00163  M00S00153.comcarm +++|          SB7    B0+
00164  M00S00154.comcarm +++| ARM7     BX7    X2
00165  M00S00155.comcarm +++|          SA7    A4+B7       STORE WORD OF ARGUMENT
00166  M00S00156.comcarm +++|          SB7    B7+B1
00167  M00S00157.comcarm +++|          SA2    A2+B1
00168  M00S00158.comcarm +++|          LT     B7,B5,ARM7  IF MORE PARAMETER
00169  M00S00159.comcarm +++|          SX7    B0+         CLEAR REMAINDER OF RESULT PARAMETER AREA
00170  M00S00160.comcarm +++| ARM8     EQ     B7,B2,ARM10 IF NO WORDS LEFT
00171  M00S00161.comcarm +++|          SA7    A4+B7
00172  M00S00162.comcarm +++|          SB7    B7+B1
00173  M00S00163.comcarm +++|          EQ     ARM8        PROCESS NEXT WORD
00174  M00S00164.comcarm +++|
00175  M00S00165.comcarm +++| ARM9     BX4    -X6*X4      MERGE ARGUMENT AND STATUS
00176  M00S00166.comcarm +++|          BX2    X6*X2
Line S00167 Modification History
M01 (Removed by) ns2659
Seq #  *Modification Id* Act 
----------------------------+
00177  M01S00167.ns2659  ---|          IX7    X2+X4
Line S00004 Modification History
M01 (Added by) ns2659
Seq #  *Modification Id* Act 
----------------------------+
00178  M01S00004.ns2659  +++|          BX7    X2+X4
00179  M00S00168.comcarm +++|          SA7    A4
00180  M00S00169.comcarm +++| ARM10    SB4    A4-B4
00181  M00S00170.comcarm +++|          SX1    B0          CLEAR ERROR
00182  M00S00171.comcarm +++|          SA3    A3
00183  M00S00172.comcarm +++|          MX7    12
Line S00173 Modification History
M01 (Removed by) ns2695
Seq #  *Modification Id* Act 
----------------------------+
00184  M01S00173.ns2695  ---|          NZ     B4,ARM1     IF PARAMETER ADRESSES NOT EQUAL
Line S00002 Modification History
M01 (Added by) ns2695
Seq #  *Modification Id* Act 
----------------------------+
00185  M01S00002.ns2695  +++|          NZ     B4,ARM1     IF PARAMETER ADDRESSES NOT EQUAL
00186  M00S00174.comcarm +++|          BX7    X7+X3
Line S00175 Modification History
M01 (Removed by) ns2695
Seq #  *Modification Id* Act 
----------------------------+
00187  M01S00175.ns2695  ---|          SA7    A3
Line S00003 Modification History
M01 (Added by) ns2695
Seq #  *Modification Id* Act 
----------------------------+
00188  M01S00003.ns2695  +++|          AX3    48
00189  M01S00004.ns2695  +++|          SX3    X3-77B
00190  M01S00005.ns2695  +++|          NZ     X3,ARM11    IF ONE WORD ENTRY
00191  M01S00006.ns2695  +++|          SA3    A3+1
00192  M01S00007.ns2695  +++|          MX7    42
00193  M01S00008.ns2695  +++| ARM11    SA7    A3
00194  M00S00176.comcarm +++|          EQ     ARM1        PROCESS NEXT ARGUMENT
00195  M00S00177.comcarm +++|          SPACE  4
00196  M00S00178.comcarm +++| QUAL$    IF     -DEF,QUAL$
00197  M00S00179.comcarm +++|          QUAL   *
00198  M00S00180.comcarm +++| ARM      EQU    /COMCARM/ARM
00199  M00S00181.comcarm +++| QUAL$    ENDIF
00200  M00S00182.comcarm +++|          BASE   *
00201  M00S00183.comcarm +++|          ENDX
cdc/nos2.source/opl.opl871/common/comcarm.txt ยท Last modified: by 127.0.0.1