Seq # *Modification Id* Act
----------------------------+
00001 M00S00001.tcomnd +++| IDENT TCOMND,FWA
00002 M00S00002.tcomnd +++| TITLE TCOMND - TERMINAL COMMAND PROCESSOR.
00003 M00S00003.tcomnd +++| ABS
00004 M00S00004.tcomnd +++| ENTRY APPSW
00005 M00S00005.tcomnd +++| ENTRY ASCII
00006 M00S00006.tcomnd +++| ENTRY CSET
00007 M00S00007.tcomnd +++| ENTRY EFFECT
00008 M00S00008.tcomnd +++| ENTRY PARITY
00009 M00S00009.tcomnd +++| ENTRY RFL=
00010 M00S00010.tcomnd +++|*COMMENT TCOMND - TERMINAL COMMAND PROCESSOR.
Line S00011 Modification History |
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00011 M01S00011.281l803 ---| COMMENT COPYRIGHT CONTROL DATA CORPORATION.
Line S00001 Modification History |
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00012 M01S00001.281l803 +++| COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00013 M00S00012.tcomnd +++|
00014 M00S00013.tcomnd +++| SYSCOM B1
00015 M00S00014.tcomnd +++| SPACE 4,2
00016 M00S00015.tcomnd +++|*** TCOMND - TERMINAL COMMAND PROCESSOR.
00017 M00S00016.tcomnd +++|* P. D. FARRELL. 74/08/28.
00018 M00S00017.tcomnd +++| SPACE 4,3
00019 M00S00018.tcomnd +++|*** TCOMND PROCESSES TIME SHARING TERMINAL COMMANDS.
00020 M00S00019.tcomnd +++|* THAT HAVE BEEN ENTERED BY MEANS OF CONTROL CARD CALLS
00021 M00S00020.tcomnd +++|* RATHER THAN DIRECTLY THROUGH A TERMINAL.
00022 M00S00021.tcomnd +++| SPACE 4,10
00023 M00S00022.tcomnd +++|*** APPLICATION SWITCH COMMAND FORMATS.
00024 M00S00023.tcomnd +++|*
00025 M00S00024.tcomnd +++|* APPSW
00026 M00S00025.tcomnd +++|*
00027 M00S00026.tcomnd +++|* APPSW(ANAME[,Z.])
00028 M00S00027.tcomnd +++|*
00029 M00S00028.tcomnd +++|* APPSW(AP=ANAME[,Z.])
00030 M00S00029.tcomnd +++|*
00031 M00S00030.tcomnd +++|* ANAME = NETWORK APPLICATION NAME. IF NO APPLICATION
00032 M00S00031.tcomnd +++|* NAME IS SPECIFIED, THE USER WILL BE RETURNED
00033 M00S00032.tcomnd +++|* TO THEIR PRIMARY APPLICATION.
00034 M00S00033.tcomnd +++|*
00035 M00S00034.tcomnd +++|* Z = Z PARAMETER OPTION. IF SPECIFIED, THE REMAINDER
00036 M00S00035.tcomnd +++|* OF THE COMMAND LINE WILL BE PASSED TO THE NEW
00037 M00S00036.tcomnd +++|* APPLICATION.
00038 M00S00037.tcomnd +++|*
00039 M00S00038.tcomnd +++|* THE APPLICATION SWITCH COMMAND IS PROCESSED AS FOLLOWS-
00040 M00S00039.tcomnd +++|*
00041 M00S00040.tcomnd +++|* TLX WILL BE CALLED TO NOTIFY IAF OF THE APPLICATION SWITCH.
00042 M00S00041.tcomnd +++|* TLX WILL BE CALLED TO RESTART THE JOB WHEN THE CONNECTION
00043 M00S00042.tcomnd +++|* RETURNS.
00044 M00S00043.tcomnd +++| SPACE 4,4
00045 M00S00044.tcomnd +++|*** DAYFILE MESSAGES.
00046 M00S00045.tcomnd +++|*
00047 M00S00046.tcomnd +++|* *ERROR IN COMMAND PARAMETERS.* = A COMMAND PARAMETER
00048 M00S00047.tcomnd +++|* WAS ILLEGAL.
00049 M00S00048.tcomnd +++| SPACE 4,3
00050 M00S00049.tcomnd +++|*** OPERATOR MESSAGES.
00051 M00S00050.tcomnd +++|*
00052 M00S00051.tcomnd +++|* NONE.
00053 M00S00052.tcomnd +++| SPACE 4
00054 M00S00053.tcomnd +++|*CALL COMCMAC
00055 M00S00054.tcomnd +++| TITLE COMMAND PROCESSORS.
00056 M00S00055.tcomnd +++| ORG 120B
00057 M00S00056.tcomnd +++| FWA BSS 0 DEFINE LOAD ADDRESS
00058 M00S00057.tcomnd +++| APP SPACE 4,10
00059 M00S00058.tcomnd +++|** APP - APPLICATION SWITCH PROCESSOR.
00060 M00S00059.tcomnd +++|*
00061 M00S00060.tcomnd +++|* THE APPLICATION SWITCH COMMAND CAUSES A USER TO BE SWITCHED
00062 M00S00061.tcomnd +++|* TO THE SECONDARY APPLICATION SPECIFIED IN THE COMMAND. IF
00063 M00S00062.tcomnd +++|* THE CURRENT APPLICATION IS A SECONDARY APPLICATION, THE
00064 M00S00063.tcomnd +++|* *ABORT* OR NULL APPLICATION NAMES MAY BE SPECIFED TO RETURN
00065 M00S00064.tcomnd +++|* THE USER TO THE PRIMARY APPLICATION.
00066 M00S00065.tcomnd +++|*
00067 M00S00066.tcomnd +++|* CALLS PZO, UPC.
00068 M00S00067.tcomnd +++|
00069 M00S00068.tcomnd +++|
00070 M00S00069.tcomnd +++| APPSW BSS 0 ENTRY
00071 M00S00070.tcomnd +++| SB1 1
00072 M00S00071.tcomnd +++| SA5 CCDR SET COMMAND ADDRESS
00073 M00S00072.tcomnd +++| SB7 ARGR SET PARAMETER ADDRESS
00074 M00S00073.tcomnd +++| RJ UPC UNPACK COMMAND
00075 M00S00074.tcomnd +++| NZ X6,ERR IF PARAMETER ERROR
00076 M00S00075.tcomnd +++| SA1 ARGR+B1 READ FIRST PARAMETER
00077 M00S00076.tcomnd +++| MX0 42
00078 M00S00077.tcomnd +++| BX6 X0*X1
00079 M00S00078.tcomnd +++| ZR X6,APP2 IF NO PARAMETER SPECIFIED
00080 M00S00079.tcomnd +++| SA2 =2LAP
00081 M00S00080.tcomnd +++| BX2 X6-X2
00082 M00S00081.tcomnd +++| BX6 -X0*X1 CHECK SEPARATOR
00083 M00S00082.tcomnd +++| NZ X2,APP1 IF NOT *AP* PARAMETER
00084 M00S00083.tcomnd +++| SA2 =1R=
00085 M00S00084.tcomnd +++| BX6 X6-X2
00086 M00S00085.tcomnd +++| NZ X6,ERR IF *AP* NOT EQUATED
00087 M00S00086.tcomnd +++| SA1 A1+B1 GET APPLICATION NAME
00088 M00S00087.tcomnd +++| APP1 BX6 X0*X1
00089 M00S00088.tcomnd +++| SA6 APPA SAVE APPLICATION NAME
00090 M00S00089.tcomnd +++| SA1 A1+B1 READ NEXT PARAMETER
00091 M00S00090.tcomnd +++| ZR X1,APP2 IF NO MORE PARAMETERS
00092 M00S00091.tcomnd +++| SA2 =1LZ
00093 M00S00092.tcomnd +++| BX6 X0*X1
00094 M00S00093.tcomnd +++| BX2 X6-X2
00095 M00S00094.tcomnd +++| NZ X2,ERR IF NOT *Z* PARAMETER
00096 M00S00095.tcomnd +++| SB7 APPA+B1 SET WRITE BUFFER ADDRESS
00097 M00S00096.tcomnd +++| SB4 APPB SET END OF WRITE BUFFER
00098 M00S00097.tcomnd +++| RJ PZO PROCESS *Z* OPTION
00099 M00S00098.tcomnd +++| APP2 SX7 APPA SET APPLICATION NAME ADDRESS
00100 M00S00099.tcomnd +++| SX0 22B SET *TLX* REQUEST NUMBER
00101 M00S00100.tcomnd +++| TLX X0,X7 ENTER *TLX* SYSTEM REQUEST
00102 M00S00101.tcomnd +++| SX0 23B SET *TLX* REQUEST NUMBER
00103 M00S00102.tcomnd +++| EQ TLX CALL *TLX*
00104 M00S00103.tcomnd +++|
00105 M00S00104.tcomnd +++|
00106 M00S00105.tcomnd +++| APPA BSSZ 6 APPLICATION BUFFER
00107 M00S00106.tcomnd +++| APPB CON 0 END OF BUFFER
00108 M00S00107.tcomnd +++| ASCII SPACE 4,10
00109 M00S00108.tcomnd +++|*** ASCII.
00110 M00S00109.tcomnd +++|*
00111 M00S00110.tcomnd +++|* SET EXTENDED (ASCII) MODE.
00112 M00S00111.tcomnd +++|
00113 M00S00112.tcomnd +++|
00114 M00S00113.tcomnd +++| ASCII SB2 0 SET PARAMETER LIMIT
00115 M00S00114.tcomnd +++| RJ PRS
00116 M00S00115.tcomnd +++| SX0 3 SET FUNCTION CODE = 3
00117 M00S00116.tcomnd +++| SX7 11B SET ARGUMENT
00118 M00S00117.tcomnd +++| EQ TLX
00119 M00S00118.tcomnd +++| CSET SPACE 4,10
00120 M00S00119.tcomnd +++|*** CSET(M)
00121 M00S00120.tcomnd +++|*
00122 M00S00121.tcomnd +++|* SET CHARACTER SET MODE M.
00123 M00S00122.tcomnd +++|*
00124 M00S00123.tcomnd +++|* M = *NORMAL*.
00125 M00S00124.tcomnd +++|* = *ASCII*.
00126 M00S00125.tcomnd +++|* = *EXTEND*.
00127 M00S00126.tcomnd +++|
00128 M00S00127.tcomnd +++|
00129 M00S00128.tcomnd +++| CSET SB2 1 SET PARAMETER LIMIT
00130 M00S00129.tcomnd +++| RJ PRS CHECK PARAMETERS
00131 M00S00130.tcomnd +++| SX0 3 SET FUNCTION CODE = 3
00132 M00S00131.tcomnd +++| SA1 =6LNORMAL
00133 M00S00132.tcomnd +++| BX7 X5-X1
00134 M00S00133.tcomnd +++| ZR X7,CST1 IF *NORMAL*
00135 M00S00134.tcomnd +++| SX7 B1
00136 M00S00135.tcomnd +++| SA1 =6LEXTEND
00137 M00S00136.tcomnd +++| SA2 =5LASCII
00138 M00S00137.tcomnd +++| BX1 X5-X1
00139 M00S00138.tcomnd +++| ZR X1,CST1 IF *EXTEND*
00140 M00S00139.tcomnd +++| BX2 X5-X2
00141 M00S00140.tcomnd +++| NZ X2,ERR IF NOT *ASCII*
00142 M00S00141.tcomnd +++| CST1 SX7 X7+10B SET ENTRY MODE RESET BIT
00143 M00S00142.tcomnd +++| EQ TLX
00144 M00S00143.tcomnd +++| EFFECT SPACE 4,10
00145 M00S00144.tcomnd +++|*** EFFECT(A)
00146 M00S00145.tcomnd +++|*
00147 M00S00146.tcomnd +++|* SET USER OR SYSTEM SUPPLIED FORMAT EFFECTOR MODE.
00148 M00S00147.tcomnd +++|*
00149 M00S00148.tcomnd +++|* A = *SYSTEM*, SET SYSTEM SUPPLIED FORMAT EFFECTOR MODE.
00150 M00S00149.tcomnd +++|* = *USER*, SET USER SUPPLIED FORMAT EFFECTOR MODE.
00151 M00S00150.tcomnd +++|* = (OMITTED) = *SYSTEM*.
00152 M00S00151.tcomnd +++|
00153 M00S00152.tcomnd +++|
00154 M00S00153.tcomnd +++| EFFECT SB2 1 SET PARAMETER LIMIT
00155 M00S00154.tcomnd +++| RJ PRS
00156 M00S00155.tcomnd +++| SX0 21B SET FUNCTION CODE = 21B
00157 M00S00156.tcomnd +++| ZR X5,TLX IF NO PARAMETER
00158 M00S00157.tcomnd +++| SA1 =6LSYSTEM
00159 M00S00158.tcomnd +++| SA2 =4LUSER
00160 M00S00159.tcomnd +++| SA3 =2LON
00161 M00S00160.tcomnd +++| SA4 =3LOFF
00162 M00S00161.tcomnd +++| BX1 X5-X1
00163 M00S00162.tcomnd +++| BX2 X5-X2
00164 M00S00163.tcomnd +++| BX3 X5-X3
00165 M00S00164.tcomnd +++| BX4 X5-X4
00166 M00S00165.tcomnd +++| ZR X1,TLX IF *SYSTEM*
00167 M00S00166.tcomnd +++| ZR X3,TLX IF *ON*
00168 M00S00167.tcomnd +++| SX0 20B SET FUNCTION CODE = 20B
00169 M00S00168.tcomnd +++| ZR X2,TLX IF *USER*
00170 M00S00169.tcomnd +++| ZR X4,TLX IF *OFF*
00171 M00S00170.tcomnd +++| EQ ERR IF NONE OF THE ABOVE
00172 M00S00171.tcomnd +++| PARITY SPACE 4,10
00173 M00S00172.tcomnd +++|*** PARITY(P)
00174 M00S00173.tcomnd +++|*
00175 M00S00174.tcomnd +++|* SET PARITY P.
00176 M00S00175.tcomnd +++|*
00177 M00S00176.tcomnd +++|* P = *ODD*.
00178 M00S00177.tcomnd +++|* = *EVEN*.
00179 M00S00178.tcomnd +++|* = (OMITTED) = *ODD*.
00180 M00S00179.tcomnd +++|
00181 M00S00180.tcomnd +++|
00182 M00S00181.tcomnd +++| PARITY SB2 1 SET PARAMETER LIMIT
00183 M00S00182.tcomnd +++| RJ PRS
00184 M00S00183.tcomnd +++| SX0 4 SET FUNCTION CODE = 4
00185 M00S00184.tcomnd +++| SX7 1 SET ODD PARITY
00186 M00S00185.tcomnd +++| ZR X5,TLX IF NO PARAMETER
00187 M00S00186.tcomnd +++| SA1 =3LODD
00188 M00S00187.tcomnd +++| SA2 =4LEVEN
00189 M00S00188.tcomnd +++| BX1 X5-X1
00190 M00S00189.tcomnd +++| IX2 X5-X2
00191 M00S00190.tcomnd +++| ZR X1,TLX IF *ODD*
00192 M00S00191.tcomnd +++| NZ X2,ERR IF NOT *EVEN*
00193 M00S00192.tcomnd +++| SX7 B0 SET EVEN PARITY
00194 M00S00193.tcomnd +++| EQ TLX
00195 M00S00194.tcomnd +++| TITLE SUBROUTINES.
00196 M00S00195.tcomnd +++| ERR SPACE 4,10
00197 M00S00196.tcomnd +++|** ERR - PROCESS PARAMETER ERROR.
00198 M00S00197.tcomnd +++|
00199 M00S00198.tcomnd +++|
00200 M00S00199.tcomnd +++| ERR BSS 0
00201 M00S00200.tcomnd +++| MESSAGE (=C* ERROR IN COMMAND PARAMETERS.*)
00202 M00S00201.tcomnd +++| ABORT
00203 M00S00202.tcomnd +++| PRS SPACE 4,10
00204 M00S00203.tcomnd +++|** PRS - PRESET PROGRAM.
00205 M00S00204.tcomnd +++|*
00206 M00S00205.tcomnd +++|* ENTRY (B2) = MAXIMUM NUMBER OF ALLOWABLE PARAMETERS.
00207 M00S00206.tcomnd +++|*
00208 M00S00207.tcomnd +++|* EXIT (X5) = FIRST PARAMETER.
00209 M00S00208.tcomnd +++|* (A5) = ADDRESS OF FIRST PARAMETER.
00210 M00S00209.tcomnd +++|* (B3) = PARAMETER COUNT.
00211 M00S00210.tcomnd +++|
00212 M00S00211.tcomnd +++|
00213 M00S00212.tcomnd +++| PRS SUBR ENTRY/EXIT
00214 M00S00213.tcomnd +++| SB1 1 SET CONSTANT 1
00215 M00S00214.tcomnd +++| SA5 ACTR READ PARAMETER COUNT
00216 M00S00215.tcomnd +++| SB3 X5
00217 M00S00216.tcomnd +++| GT B3,B2,ERR IF INVALID PARAMETER COUNT
00218 M00S00217.tcomnd +++| SA5 B1+B1 READ FIRST PARAMETER
00219 M00S00218.tcomnd +++| EQ PRSX RETURN
00220 M00S00219.tcomnd +++| PZO SPACE 4,10
00221 M00S00220.tcomnd +++|** PZO - PROCESS *Z* OPTION.
00222 M00S00221.tcomnd +++|*
00223 M00S00222.tcomnd +++|* ENTRY (A5) = ADDRESS OF *Z* PARAMETER.
00224 M00S00223.tcomnd +++|* (B7) = BEGINNING ADDRESS OF WRITE BUFFER.
00225 M00S00224.tcomnd +++|* (B4) = END OF WRITE BUFFER.
00226 M00S00225.tcomnd +++|*
00227 M00S00226.tcomnd +++|* EXIT BUFFER CONTAINS THE CHARACTERS FOLLOWING THE *Z*
00228 M00S00227.tcomnd +++|* PARAMETER.
00229 M00S00228.tcomnd +++|
00230 M00S00229.tcomnd +++|
00231 M00S00230.tcomnd +++| PZO SUBR ENTRY/EXIT
00232 M00S00231.tcomnd +++| SB5 10D INITIALIZE CHARACTERS LEFT IN READ WORD
00233 M00S00232.tcomnd +++| SB3 B1 INITIALIZE END-OF-LINE FLAG
00234 M00S00233.tcomnd +++| SX6 B0 CLEAR WRITE WORD
00235 M00S00234.tcomnd +++| MX0 6
00236 M00S00235.tcomnd +++| SB6 B5+ INITIALIZE ROOM LEFT IN WRITE WORD
00237 M00S00236.tcomnd +++| MX1 -12
00238 M00S00237.tcomnd +++| SA3 =1L.
00239 M00S00238.tcomnd +++| SA4 =1L)
00240 M00S00239.tcomnd +++| SA5 A5+ READ FIRST WORD
00241 M00S00240.tcomnd +++| PZO1 BX2 X0*X5 FIND COMMAND TERMINATOR
00242 M00S00241.tcomnd +++| LX5 6
00243 M00S00242.tcomnd +++| SB5 B5-B1
00244 M00S00243.tcomnd +++| BX7 X2-X3
00245 M00S00244.tcomnd +++| ZR X7,PZO2 IF COMMAND TERMINATOR
00246 M00S00245.tcomnd +++| BX7 X2-X4
00247 M00S00246.tcomnd +++| NZ X7,PZO1 IF NOT COMMAND TERMINATOR
00248 M00S00247.tcomnd +++| PZO2 BX2 X0*X5 GET NEXT CHARACTER
00249 M00S00248.tcomnd +++| SB3 B3-B1
00250 M00S00249.tcomnd +++| ZR X2,PZO3 IF ZERO CHARACTER
00251 M00S00250.tcomnd +++| SB3 B1 RESET END-OF-LINE FLAG
00252 M00S00251.tcomnd +++| PZO3 BX6 X6+X2 ADD CHARACTER TO WRITE WORD
00253 M00S00252.tcomnd +++| SB6 B6-B1
00254 M00S00253.tcomnd +++| LX6 6
00255 M00S00254.tcomnd +++| NZ B6,PZO4 IF WRITE WORD NOT FULL
00256 M00S00255.tcomnd +++| SA6 B7+ WRITE FULL WORD
00257 M00S00256.tcomnd +++| NG B3,PZOX IF END-OF-LINE FOUND
00258 M00S00257.tcomnd +++| SB7 B7+1 INCREMENT POINTER
00259 M00S00258.tcomnd +++| GE B7,B4,PZOX IF END OF WRITE BUFFER
00260 M00S00259.tcomnd +++| SX6 B0+ RESET REGISTERS
00261 M00S00260.tcomnd +++| SB6 10D
00262 M00S00261.tcomnd +++| PZO4 SB5 B5-B1
00263 M00S00262.tcomnd +++| LX5 6
00264 M00S00263.tcomnd +++| NZ B5,PZO2 IF READ CHARACTERS LEFT
00265 M00S00264.tcomnd +++| SB5 10D RESET REGISTERS
00266 M00S00265.tcomnd +++| SA5 A5+B1 GET NEXT WORD
00267 M00S00266.tcomnd +++| EQ PZO2 CONTINUE
00268 M00S00267.tcomnd +++| TLX SPACE 4,10
00269 M00S00268.tcomnd +++|** TLX - ENTER TELEX SYSTEM REQUEST.
00270 M00S00269.tcomnd +++|*
00271 M00S00270.tcomnd +++|* ENTRY (X0) = FUNCTION CODE.
00272 M00S00271.tcomnd +++|* (X7) = ARGUMENT.
00273 M00S00272.tcomnd +++|
00274 M00S00273.tcomnd +++|
00275 M00S00274.tcomnd +++| TLX BSS 0
00276 M00S00275.tcomnd +++| TLX X0,X7 ENTER TELEX SYSTEM REQUEST
00277 M00S00276.tcomnd +++| ENDRUN
00278 M00S00277.tcomnd +++| SPACE 4
00279 M00S00278.tcomnd +++|** COMMON DECKS.
00280 M00S00279.tcomnd +++|
00281 M00S00280.tcomnd +++|
00282 M00S00281.tcomnd +++|*CALL COMCSYS
00283 M00S00282.tcomnd +++|*CALL COMCUPC
00284 M00S00283.tcomnd +++|
00285 M00S00284.tcomnd +++| USE //
00286 M00S00285.tcomnd +++| RFL= BSS 0
00287 M00S00286.tcomnd +++|
00288 M00S00287.tcomnd +++| END