Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.comcarm +++| CTEXT COMCARM - MULTIPLE WORD ARGUMENT PROCESSOR.
00002 M01S00002.comcarm +++| ARM SPACE 4,10
00003 M01S00003.comcarm +++| QUAL$ IF -DEF,QUAL$,1
00004 M01S00004.comcarm +++| QUAL COMCARM
00005 M01S00005.comcarm +++| BASE D
Line S00006 Modification History
M01(Added by)
comcarm
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.comcarm +++| ARM SPACE 4,10
00009 M01S00008.comcarm +++|*** COMCARM - MULTIPLE WORD ARGUMENT PROCESSOR.
00010 M01S00009.comcarm +++|* D. A. HIVELEY. 72/03/19.
00011 M01S00010.comcarm +++|* A. D. FORET. 74/12/04. RESEQUENCED.
00012 M01S00011.comcarm +++|* H. G. VARNIS. 79/02/19.
00013 M01S00012.comcarm +++| ARM SPACE 4,10
00014 M01S00013.comcarm +++|*** ARM - MULTIPLE WORD ARGUMENT PROCESSOR.
00015 M01S00014.comcarm +++|*
00016 M01S00015.comcarm +++|* *COMCARM* USES *COMCPOP* TO PICK PARAMETERS OUT
00017 M01S00016.comcarm +++|* OF A STRING BUFFER. THE PARAMETERS ARE THEN
00018 M01S00017.comcarm +++|* PROCESSED BY THE USE OF AN EQUIVALENCED TABLE.
00019 M01S00018.comcarm +++|*
00020 M01S00019.comcarm +++|* ENTRY (B3) = ADDRESS OF THE ARGUMENT TABLE.
00021 M01S00020.comcarm +++|* (B6) = ADDRESS OF THE NEXT ENTRY IN THE STRING BUFFER.
00022 M01S00021.comcarm +++|*T ARGT 12/OP,18/ASV,9/ST,3/WC,18/ADDR
Figure ARGT
00023 M01S00022.comcarm +++|* OR
00024 M01S00023.comcarm +++|*T ARGT 12/77B,18/ASV,9/ST,3/WC,18/ADDR
Figure ARGT
00025 M01S00024.comcarm +++|*T, 42/OP,18/0
Figure
00026 M01S00025.comcarm +++|* 77B INDICATION OF TWO-WORD ENTRY TABLE FORMAT IS USED.
00027 M01S00026.comcarm +++|* OP ONE TO SEVEN CHARACTER OPTION (ARGUMENT KEYWORD).
00028 M01S00027.comcarm +++|* ASV ADDRESS OF ASSUMED VALUE.
00029 M01S00028.comcarm +++|* ST STATUS OF ZERO ENTRY.
00030 M01S00029.comcarm +++|* WC WORD COUNT OF PARAMETER.
00031 M01S00030.comcarm +++|* ADDR ADDRESS OF LOCATION IN WHICH TO PLACE RESULT.
00032 M01S00031.comcarm +++|*
00033 M01S00032.comcarm +++|* PROCESSING OPTIONS -
00034 M01S00033.comcarm +++|*
00035 M01S00034.comcarm +++|* IF *WC* = 0, THE LOWER 18 BITS OF THE CONTENTS OF
00036 M01S00035.comcarm +++|* *ASV* WILL BE RETAINED AS THE LOWER 18 BITS OF THE
00037 M01S00036.comcarm +++|* RESULT VALUE. IF THE ENTERED PARAMETER IS
00038 M01S00037.comcarm +++|* EQUIVALENCED, THE UPPER 42 BITS OF THE RESULT ARE
00039 M01S00038.comcarm +++|* THOSE OF THE ENTERED VALUE. OTHERWISE, THEY ARE
00040 M01S00039.comcarm +++|* THOSE OF THE ASSUMED VALUE. THE SECOND AND
00041 M01S00040.comcarm +++|* FOLLOWING WORDS OF THE ENTERED VALUE ARE IGNORED.
00042 M01S00041.comcarm +++|*
00043 M01S00042.comcarm +++|* IF *ASV* = *ADDR*, ONLY ONE ENTRY OF THE ARGUMENT WILL
Line S00043 Modification History
M01(Added by)
comcarm
M02(Updated by)
ns2695
Seq # *Modification Id* Act
----------------------------+
00044 M02S00043.ns2695 ---|* BE ALLOWED (*OP* IN THE ARGUMENT TABLE WILL BE SET TO
Line S00044 Modification History
M01(Added by)
comcarm
M02(Updated by)
ns2695
Seq # *Modification Id* Act
----------------------------+
00045 M02S00044.ns2695 ---|* 7777B FOR EACH ARGUMENT THAT IS ENTERED).
00046 M01S00001.ns2695 +++|* BE ALLOWED (*OP* IN THE ARGUMENT TABLE IS SET TO -0).
00047 M01S00045.comcarm +++|*
00048 M01S00046.comcarm +++|* IF *ST* = 400B, A PARAMETER WHICH IS EQUIVALENCED TO
00049 M01S00047.comcarm +++|* 0 WILL HAVE DISPLAY 0 (LEFT JUSTIFIED) STORED IN THE
00050 M01S00048.comcarm +++|* RESULT LOCATION. IF *ST* .NE. 400B, SUCH A PARAMETER
00051 M01S00049.comcarm +++|* WILL RECEIVE A VALUE OF BINARY 0.
00052 M01S00050.comcarm +++|*
00053 M01S00051.comcarm +++|* IF *ASV* .LT. 0, THE PARAMETER MUST NOT BE
00054 M01S00052.comcarm +++|* EQUIVALENCED.
00055 M01S00053.comcarm +++|*
00056 M01S00054.comcarm +++|* NOTE THE WORD COUNT OF ENTERED VALUES CANNOT EXCEED THE
00057 M01S00055.comcarm +++|* MINIMUM OF *WC* AND *COMCPOP* ASSEMBLY CONSTANT
00058 M01S00056.comcarm +++|* *POPL*. IF *WC* .GT. *POPL*, DEFAULT VALUES WITH
00059 M01S00057.comcarm +++|* LENGTHS GREATER THAN *POPL* ARE PROCESSED CORRECTLY,
00060 M01S00058.comcarm +++|* BUT ENTERED VALUES ARE FLAGGED AS ERRORS.
00061 M01S00059.comcarm +++|*
00062 M01S00060.comcarm +++|* EXIT (X1) .NE. 0, IF ARGUMENT ERROR DETECTED.
Line S00061 Modification History
M01(Added by)
comcarm
M02(Updated by)
carm1
Seq # *Modification Id* Act
----------------------------+
00063 M02S00061.carm1 ---|* BLANK ARGUMENT, OPTION NOT IN TABLE,
Line S00062 Modification History
M01(Added by)
comcarm
M02(Updated by)
carm1
Seq # *Modification Id* Act
----------------------------+
00064 M02S00062.carm1 ---|* SINGLE ARGUMENT EQUIVALENCED, NO
Line S00063 Modification History
M01(Added by)
comcarm
M02(Updated by)
carm1
Seq # *Modification Id* Act
----------------------------+
00065 M02S00063.carm1 ---|* TERMINATOR FOUND, OR ILLEGAL RE-ENTRY OF
Line S00064 Modification History
M01(Added by)
comcarm
M02(Updated by)
carm1
Seq # *Modification Id* Act
----------------------------+
00066 M02S00064.carm1 ---|* ARGUMENT.
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 M01S00065.comcarm +++|*
00071 M01S00066.comcarm +++|* USES X - 1, 2, 3, 4, 6, 7.
00072 M01S00067.comcarm +++|* A - 2, 3, 4, 7.
00073 M01S00068.comcarm +++|* B - 2, 4, 5, 6, 7.
00074 M01S00069.comcarm +++|*
00075 M01S00070.comcarm +++|* CALLS POP.
00076 M01S00071.comcarm +++|
00077 M01S00072.comcarm +++|
00078 M01S00073.comcarm +++| ARM SUBR ENTRY/EXIT
Line S00074 Modification History
M01(Added by)
comcarm
M02(Updated by)
carm1
Seq # *Modification Id* Act
----------------------------+
00079 M02S00074.carm1 ---| SX1 B0+ CLEAR ERROR
00080 M01S00004.carm1 +++| ARM0 SX1 B0+ CLEAR ERROR
00081 M01S00075.comcarm +++| ARM1 ZR B6,ARM IF NO ARGUMENTS
00082 M01S00076.comcarm +++| RJ POP PICK OUT PARAMETER
00083 M01S00077.comcarm +++| MX1 12
00084 M01S00078.comcarm +++| NG B5,ARM IF ERROR
00085 M01S00079.comcarm +++| SX2 B0
00086 M01S00080.comcarm +++|
00087 M01S00081.comcarm +++|* SEARCH FOR MATCH IN ARGUMENT TABLE.
00088 M01S00082.comcarm +++|
00089 M01S00083.comcarm +++| SA4 POPA
00090 M01S00084.comcarm +++| ZR X4,ARM IF BLANK ARGUMENT
00091 M01S00085.comcarm +++| SA3 B3-B1
00092 M01S00086.comcarm +++| SB4 12
00093 M01S00087.comcarm +++| ZR B6,ARM2 IF TERMINATOR ENCOUNTERED
00094 M01S00088.comcarm +++| SA2 B6-B1 PICK SEPARATOR
00095 M01S00089.comcarm +++| ARM2 SA3 A3+B1 PICK NEXT OPTION
00096 M01S00090.comcarm +++| BX7 X1*X3
00097 M01S00091.comcarm +++| ZR X3,ARM IF END OF TABLE
00098 M01S00092.comcarm +++| SB2 B0
00099 M01S00093.comcarm +++| LX6 X7,B4 CHECK IF TWO WORD ENTRY
00100 M01S00094.comcarm +++| SX6 X6-77B
00101 M01S00095.comcarm +++| NZ X6,ARM2.1 IF NOT TWO WORD ENTRY
00102 M01S00096.comcarm +++| SB2 B1
00103 M01S00097.comcarm +++| MX6 42
00104 M01S00098.comcarm +++| SA3 A3+B1 GET SECOND WORD OF ENTRY
00105 M01S00099.comcarm +++| BX7 X6*X3 GET OPTION
00106 M01S00100.comcarm +++| ARM2.1 BX6 X7-X4
00107 M01S00101.comcarm +++| NZ X6,ARM2 IF NO MATCH
00108 M01S00102.comcarm +++|
00109 M01S00103.comcarm +++|* CHECK EQUIVALENCED OPTION.
00110 M01S00104.comcarm +++|
00111 M01S00105.comcarm +++| ZR B2,ARM2.2 IF ONE WORD ENTRY
00112 M01S00106.comcarm +++| SA3 A3-B1
00113 M01S00107.comcarm +++| ARM2.2 SA4 X3
00114 M01S00108.comcarm +++| SX7 X2-1R=
00115 M01S00109.comcarm +++| LX3 30
00116 M01S00110.comcarm +++| SB4 X3
00117 M01S00001.ns2659 +++| MX6 -18
00118 M01S00111.comcarm +++| PL B4,ARM3 IF EQUIVALENCE ALLOWED
00119 M01S00112.comcarm +++| SA2 -B4 ASSUMED VALUE
00120 M01S00113.comcarm +++| SB4 -B4
Line S00114 Modification History
M01(Added by)
comcarm
M02(Updated by)
ns2659
Seq # *Modification Id* Act
----------------------------+
00121 M02S00114.ns2659 ---| SX4 X2+ ASSUMED STATUS
00122 M01S00002.ns2659 +++| BX4 -X6*X2 ASSUMED STATUS
00123 M01S00115.comcarm +++| NZ X7,ARM5 IF ARGUMENT NOT EQUIVALENCED
00124 M01S00116.comcarm +++| EQ ARM RETURN
00125 M01S00117.comcarm +++|
00126 M01S00118.comcarm +++|* PROCESS EQUIVALENCE.
00127 M01S00119.comcarm +++|
00128 M01S00120.comcarm +++| ARM3 SA2 B4
Line S00121 Modification History
M01(Added by)
comcarm
M02(Updated by)
ns2659
Seq # *Modification Id* Act
----------------------------+
00129 M02S00121.ns2659 ---| SX4 X2 ASSUMED STATUS
00130 M01S00003.ns2659 +++| BX4 -X6*X2 ASSUMED STATUS
00131 M01S00122.comcarm +++| NZ X7,ARM5 IF ARGUMENT NOT EQUIVALENCED
00132 M01S00123.comcarm +++| RJ POP PICK OUT PARAMETER
00133 M01S00124.comcarm +++| SB4 A2 SAVE ADDRESS OF ASSUMED VALUE
00134 M01S00125.comcarm +++| SX1 B1
00135 M01S00126.comcarm +++| NG B5,ARM IF ERROR
00136 M01S00127.comcarm +++| SA2 POPA
00137 M01S00005.carm1 +++| ZR X2,ARM0 IF NULL PARAMETER
00138 M01S00128.comcarm +++| BX1 X2
00139 M01S00129.comcarm +++| LX1 -42
00140 M01S00130.comcarm +++| SA3 A3
00141 M01S00131.comcarm +++| LX3 30
00142 M01S00132.comcarm +++| NG X3,ARM4 IF *0* REQUESTED
00143 M01S00133.comcarm +++| SX3 X1-1L0
Line S00134 Modification History
M01(Added by)
comcarm
M02(Updated by)
carm1
Seq # *Modification Id* Act
----------------------------+
00144 M02S00134.carm1 ---| ZR X2,ARM IF BLANK ARGUMENT
00145 M01S00135.comcarm +++| ARM4 SX1 B1+ RESET ERROR FLAG
00146 M01S00136.comcarm +++| NZ X3,ARM5 IF NOT *0*
00147 M01S00137.comcarm +++| SX2 B0 CLEAR EQUIVALENCE
00148 M01S00138.comcarm +++| BX4 X4-X4 CLEAR STATUS
00149 M01S00139.comcarm +++|
00150 M01S00140.comcarm +++|* ENTER ARGUMENT.
00151 M01S00141.comcarm +++|
00152 M01S00142.comcarm +++| ARM5 SA3 A3 PICK UP WORD COUNT
00153 M01S00143.comcarm +++| MX6 -3
00154 M01S00144.comcarm +++| AX3 18
00155 M01S00145.comcarm +++| BX3 -X6*X3
00156 M01S00146.comcarm +++| SB2 X3
00157 M01S00147.comcarm +++| MX6 42
00158 M01S00148.comcarm +++| ZR B2,ARM9 IF *WC* = 0
00159 M01S00149.comcarm +++| SB5 B5+B1
00160 M01S00150.comcarm +++| ZR X7,ARM6 IF PREVIOUS PARAMETER WAS EQUIVALENCED
00161 M01S00151.comcarm +++| SB5 B2
00162 M01S00152.comcarm +++| ARM6 GT B5,B2,ARM IF PARAMETER TOO LARGE
00163 M01S00153.comcarm +++| SB7 B0+
00164 M01S00154.comcarm +++| ARM7 BX7 X2
00165 M01S00155.comcarm +++| SA7 A4+B7 STORE WORD OF ARGUMENT
00166 M01S00156.comcarm +++| SB7 B7+B1
00167 M01S00157.comcarm +++| SA2 A2+B1
00168 M01S00158.comcarm +++| LT B7,B5,ARM7 IF MORE PARAMETER
00169 M01S00159.comcarm +++| SX7 B0+ CLEAR REMAINDER OF RESULT PARAMETER AREA
00170 M01S00160.comcarm +++| ARM8 EQ B7,B2,ARM10 IF NO WORDS LEFT
00171 M01S00161.comcarm +++| SA7 A4+B7
00172 M01S00162.comcarm +++| SB7 B7+B1
00173 M01S00163.comcarm +++| EQ ARM8 PROCESS NEXT WORD
00174 M01S00164.comcarm +++|
00175 M01S00165.comcarm +++| ARM9 BX4 -X6*X4 MERGE ARGUMENT AND STATUS
00176 M01S00166.comcarm +++| BX2 X6*X2