User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:tcomnd

Deck TCOMND

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.tcomnd  +++|          IDENT  TCOMND,FWA
00002  M01S00002.tcomnd  +++|          TITLE  TCOMND - TERMINAL COMMAND PROCESSOR.
00003  M01S00003.tcomnd  +++|          ABS
00004  M01S00004.tcomnd  +++|          ENTRY  APPSW
00005  M01S00005.tcomnd  +++|          ENTRY  ASCII
00006  M01S00006.tcomnd  +++|          ENTRY  CSET
00007  M01S00007.tcomnd  +++|          ENTRY  EFFECT
00008  M01S00008.tcomnd  +++|          ENTRY  PARITY
00009  M01S00009.tcomnd  +++|          ENTRY  RFL=
00010  M01S00010.tcomnd  +++|*COMMENT  TCOMND - TERMINAL COMMAND PROCESSOR.
Line S00011 Modification History
M01 (Added by) tcomnd
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00011  M02S00011.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORPORATION.
00012  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00013  M01S00012.tcomnd  +++|
00014  M01S00013.tcomnd  +++|          SYSCOM B1
00015  M01S00014.tcomnd  +++|          SPACE  4,2
00016  M01S00015.tcomnd  +++|***       TCOMND - TERMINAL COMMAND PROCESSOR.
00017  M01S00016.tcomnd  +++|*         P. D. FARRELL.  74/08/28.
00018  M01S00017.tcomnd  +++|          SPACE  4,3
00019  M01S00018.tcomnd  +++|***            TCOMND PROCESSES TIME SHARING TERMINAL COMMANDS.
00020  M01S00019.tcomnd  +++|*         THAT HAVE BEEN ENTERED BY MEANS OF CONTROL CARD CALLS
00021  M01S00020.tcomnd  +++|*         RATHER THAN DIRECTLY THROUGH A TERMINAL.
00022  M01S00021.tcomnd  +++|          SPACE  4,10
00023  M01S00022.tcomnd  +++|***       APPLICATION SWITCH COMMAND FORMATS.
00024  M01S00023.tcomnd  +++|*
00025  M01S00024.tcomnd  +++|*         APPSW
00026  M01S00025.tcomnd  +++|*
00027  M01S00026.tcomnd  +++|*         APPSW(ANAME[,Z.])
00028  M01S00027.tcomnd  +++|*
00029  M01S00028.tcomnd  +++|*         APPSW(AP=ANAME[,Z.])
00030  M01S00029.tcomnd  +++|*
00031  M01S00030.tcomnd  +++|*                ANAME = NETWORK APPLICATION NAME.  IF NO APPLICATION
00032  M01S00031.tcomnd  +++|*                        NAME IS SPECIFIED, THE USER WILL BE RETURNED
00033  M01S00032.tcomnd  +++|*                        TO THEIR PRIMARY APPLICATION.
00034  M01S00033.tcomnd  +++|*
00035  M01S00034.tcomnd  +++|*                Z = Z PARAMETER OPTION.  IF SPECIFIED, THE REMAINDER
00036  M01S00035.tcomnd  +++|*                    OF THE COMMAND LINE WILL BE PASSED TO THE NEW
00037  M01S00036.tcomnd  +++|*                    APPLICATION.
00038  M01S00037.tcomnd  +++|*
00039  M01S00038.tcomnd  +++|*         THE APPLICATION SWITCH COMMAND IS PROCESSED AS FOLLOWS-
00040  M01S00039.tcomnd  +++|*
00041  M01S00040.tcomnd  +++|*           TLX WILL BE CALLED TO NOTIFY IAF OF THE APPLICATION SWITCH.
00042  M01S00041.tcomnd  +++|*           TLX WILL BE CALLED TO RESTART THE JOB WHEN THE CONNECTION
00043  M01S00042.tcomnd  +++|*           RETURNS.
00044  M01S00043.tcomnd  +++|          SPACE  4,4
00045  M01S00044.tcomnd  +++|***       DAYFILE MESSAGES.
00046  M01S00045.tcomnd  +++|*
00047  M01S00046.tcomnd  +++|*         *ERROR IN COMMAND PARAMETERS.* = A COMMAND PARAMETER
00048  M01S00047.tcomnd  +++|*                WAS ILLEGAL.
00049  M01S00048.tcomnd  +++|          SPACE  4,3
00050  M01S00049.tcomnd  +++|***       OPERATOR MESSAGES.
00051  M01S00050.tcomnd  +++|*
00052  M01S00051.tcomnd  +++|*         NONE.
00053  M01S00052.tcomnd  +++|          SPACE  4
00054  M01S00053.tcomnd  +++|*CALL     COMCMAC
00055  M01S00054.tcomnd  +++|          TITLE  COMMAND PROCESSORS.
00056  M01S00055.tcomnd  +++|          ORG    120B
00057  M01S00056.tcomnd  +++| FWA      BSS    0           DEFINE LOAD ADDRESS
00058  M01S00057.tcomnd  +++| APP      SPACE  4,10
00059  M01S00058.tcomnd  +++|**        APP - APPLICATION SWITCH PROCESSOR.
00060  M01S00059.tcomnd  +++|*
00061  M01S00060.tcomnd  +++|*         THE APPLICATION SWITCH COMMAND CAUSES A USER TO BE SWITCHED
00062  M01S00061.tcomnd  +++|*         TO THE SECONDARY APPLICATION SPECIFIED IN THE COMMAND.  IF
00063  M01S00062.tcomnd  +++|*         THE CURRENT APPLICATION IS A SECONDARY APPLICATION, THE
00064  M01S00063.tcomnd  +++|*         *ABORT* OR NULL APPLICATION NAMES MAY BE SPECIFED TO RETURN
00065  M01S00064.tcomnd  +++|*         THE USER TO THE PRIMARY APPLICATION.
00066  M01S00065.tcomnd  +++|*
00067  M01S00066.tcomnd  +++|*         CALLS  PZO, UPC.
00068  M01S00067.tcomnd  +++|
00069  M01S00068.tcomnd  +++|
00070  M01S00069.tcomnd  +++| APPSW    BSS    0           ENTRY
00071  M01S00070.tcomnd  +++|          SB1    1
00072  M01S00071.tcomnd  +++|          SA5    CCDR        SET COMMAND ADDRESS
00073  M01S00072.tcomnd  +++|          SB7    ARGR        SET PARAMETER ADDRESS
00074  M01S00073.tcomnd  +++|          RJ     UPC         UNPACK COMMAND
00075  M01S00074.tcomnd  +++|          NZ     X6,ERR      IF PARAMETER ERROR
00076  M01S00075.tcomnd  +++|          SA1    ARGR+B1     READ FIRST PARAMETER
00077  M01S00076.tcomnd  +++|          MX0    42
00078  M01S00077.tcomnd  +++|          BX6    X0*X1
00079  M01S00078.tcomnd  +++|          ZR     X6,APP2     IF NO PARAMETER SPECIFIED
00080  M01S00079.tcomnd  +++|          SA2    =2LAP
00081  M01S00080.tcomnd  +++|          BX2    X6-X2
00082  M01S00081.tcomnd  +++|          BX6    -X0*X1      CHECK SEPARATOR
00083  M01S00082.tcomnd  +++|          NZ     X2,APP1     IF NOT *AP* PARAMETER
00084  M01S00083.tcomnd  +++|          SA2    =1R=
00085  M01S00084.tcomnd  +++|          BX6    X6-X2
00086  M01S00085.tcomnd  +++|          NZ     X6,ERR      IF *AP* NOT EQUATED
00087  M01S00086.tcomnd  +++|          SA1    A1+B1       GET APPLICATION NAME
00088  M01S00087.tcomnd  +++| APP1     BX6    X0*X1
00089  M01S00088.tcomnd  +++|          SA6    APPA        SAVE APPLICATION NAME
00090  M01S00089.tcomnd  +++|          SA1    A1+B1       READ NEXT PARAMETER
00091  M01S00090.tcomnd  +++|          ZR     X1,APP2     IF NO MORE PARAMETERS
00092  M01S00091.tcomnd  +++|          SA2    =1LZ
00093  M01S00092.tcomnd  +++|          BX6    X0*X1
00094  M01S00093.tcomnd  +++|          BX2    X6-X2
00095  M01S00094.tcomnd  +++|          NZ     X2,ERR      IF NOT *Z* PARAMETER
00096  M01S00095.tcomnd  +++|          SB7    APPA+B1     SET WRITE BUFFER ADDRESS
00097  M01S00096.tcomnd  +++|          SB4    APPB        SET END OF WRITE BUFFER
00098  M01S00097.tcomnd  +++|          RJ     PZO         PROCESS *Z* OPTION
00099  M01S00098.tcomnd  +++| APP2     SX7    APPA        SET APPLICATION NAME ADDRESS
00100  M01S00099.tcomnd  +++|          SX0    22B         SET *TLX* REQUEST NUMBER
00101  M01S00100.tcomnd  +++|          TLX    X0,X7       ENTER *TLX* SYSTEM REQUEST
00102  M01S00101.tcomnd  +++|          SX0    23B         SET *TLX* REQUEST NUMBER
00103  M01S00102.tcomnd  +++|          EQ     TLX         CALL *TLX*
00104  M01S00103.tcomnd  +++|
00105  M01S00104.tcomnd  +++|
00106  M01S00105.tcomnd  +++| APPA     BSSZ   6           APPLICATION BUFFER
00107  M01S00106.tcomnd  +++| APPB     CON    0           END OF BUFFER
00108  M01S00107.tcomnd  +++| ASCII    SPACE  4,10
00109  M01S00108.tcomnd  +++|***       ASCII.
00110  M01S00109.tcomnd  +++|*
00111  M01S00110.tcomnd  +++|*         SET EXTENDED (ASCII) MODE.
00112  M01S00111.tcomnd  +++|
00113  M01S00112.tcomnd  +++|
00114  M01S00113.tcomnd  +++| ASCII    SB2    0           SET PARAMETER LIMIT
00115  M01S00114.tcomnd  +++|          RJ     PRS
00116  M01S00115.tcomnd  +++|          SX0    3           SET FUNCTION CODE = 3
00117  M01S00116.tcomnd  +++|          SX7    11B         SET ARGUMENT
00118  M01S00117.tcomnd  +++|          EQ     TLX
00119  M01S00118.tcomnd  +++| CSET     SPACE  4,10
00120  M01S00119.tcomnd  +++|***       CSET(M)
00121  M01S00120.tcomnd  +++|*
00122  M01S00121.tcomnd  +++|*         SET CHARACTER SET MODE M.
00123  M01S00122.tcomnd  +++|*
00124  M01S00123.tcomnd  +++|*                M = *NORMAL*.
00125  M01S00124.tcomnd  +++|*                  = *ASCII*.
00126  M01S00125.tcomnd  +++|*                  = *EXTEND*.
00127  M01S00126.tcomnd  +++|
00128  M01S00127.tcomnd  +++|
00129  M01S00128.tcomnd  +++| CSET     SB2    1           SET PARAMETER LIMIT
00130  M01S00129.tcomnd  +++|          RJ     PRS         CHECK PARAMETERS
00131  M01S00130.tcomnd  +++|          SX0    3           SET FUNCTION CODE = 3
00132  M01S00131.tcomnd  +++|          SA1    =6LNORMAL
00133  M01S00132.tcomnd  +++|          BX7    X5-X1
00134  M01S00133.tcomnd  +++|          ZR     X7,CST1     IF *NORMAL*
00135  M01S00134.tcomnd  +++|          SX7    B1
00136  M01S00135.tcomnd  +++|          SA1    =6LEXTEND
00137  M01S00136.tcomnd  +++|          SA2    =5LASCII
00138  M01S00137.tcomnd  +++|          BX1    X5-X1
00139  M01S00138.tcomnd  +++|          ZR     X1,CST1     IF *EXTEND*
00140  M01S00139.tcomnd  +++|          BX2    X5-X2
00141  M01S00140.tcomnd  +++|          NZ     X2,ERR      IF NOT *ASCII*
00142  M01S00141.tcomnd  +++| CST1     SX7    X7+10B      SET ENTRY MODE RESET BIT
00143  M01S00142.tcomnd  +++|          EQ     TLX
00144  M01S00143.tcomnd  +++| EFFECT   SPACE  4,10
00145  M01S00144.tcomnd  +++|***       EFFECT(A)
00146  M01S00145.tcomnd  +++|*
00147  M01S00146.tcomnd  +++|*         SET USER OR SYSTEM SUPPLIED FORMAT EFFECTOR MODE.
00148  M01S00147.tcomnd  +++|*
00149  M01S00148.tcomnd  +++|*         A = *SYSTEM*, SET SYSTEM SUPPLIED FORMAT EFFECTOR MODE.
00150  M01S00149.tcomnd  +++|*           = *USER*,   SET USER SUPPLIED FORMAT EFFECTOR MODE.
00151  M01S00150.tcomnd  +++|*           = (OMITTED) = *SYSTEM*.
00152  M01S00151.tcomnd  +++|
00153  M01S00152.tcomnd  +++|
00154  M01S00153.tcomnd  +++| EFFECT   SB2    1           SET PARAMETER LIMIT
00155  M01S00154.tcomnd  +++|          RJ     PRS
00156  M01S00155.tcomnd  +++|          SX0    21B         SET FUNCTION CODE = 21B
00157  M01S00156.tcomnd  +++|          ZR     X5,TLX      IF NO PARAMETER
00158  M01S00157.tcomnd  +++|          SA1    =6LSYSTEM
00159  M01S00158.tcomnd  +++|          SA2    =4LUSER
00160  M01S00159.tcomnd  +++|          SA3    =2LON
00161  M01S00160.tcomnd  +++|          SA4    =3LOFF
00162  M01S00161.tcomnd  +++|          BX1    X5-X1
00163  M01S00162.tcomnd  +++|          BX2    X5-X2
00164  M01S00163.tcomnd  +++|          BX3    X5-X3
00165  M01S00164.tcomnd  +++|          BX4    X5-X4
00166  M01S00165.tcomnd  +++|          ZR     X1,TLX      IF *SYSTEM*
00167  M01S00166.tcomnd  +++|          ZR     X3,TLX      IF *ON*
00168  M01S00167.tcomnd  +++|          SX0    20B         SET FUNCTION CODE = 20B
00169  M01S00168.tcomnd  +++|          ZR     X2,TLX      IF *USER*
00170  M01S00169.tcomnd  +++|          ZR     X4,TLX      IF *OFF*
00171  M01S00170.tcomnd  +++|          EQ     ERR         IF NONE OF THE ABOVE
00172  M01S00171.tcomnd  +++| PARITY   SPACE  4,10
00173  M01S00172.tcomnd  +++|***       PARITY(P)
00174  M01S00173.tcomnd  +++|*
00175  M01S00174.tcomnd  +++|*         SET PARITY P.
00176  M01S00175.tcomnd  +++|*
00177  M01S00176.tcomnd  +++|*         P = *ODD*.
00178  M01S00177.tcomnd  +++|*           = *EVEN*.
00179  M01S00178.tcomnd  +++|*           = (OMITTED) = *ODD*.
00180  M01S00179.tcomnd  +++|
00181  M01S00180.tcomnd  +++|
00182  M01S00181.tcomnd  +++| PARITY   SB2    1           SET PARAMETER LIMIT
00183  M01S00182.tcomnd  +++|          RJ     PRS
00184  M01S00183.tcomnd  +++|          SX0    4           SET FUNCTION CODE = 4
00185  M01S00184.tcomnd  +++|          SX7    1           SET ODD PARITY
00186  M01S00185.tcomnd  +++|          ZR     X5,TLX      IF NO PARAMETER
00187  M01S00186.tcomnd  +++|          SA1    =3LODD
00188  M01S00187.tcomnd  +++|          SA2    =4LEVEN
00189  M01S00188.tcomnd  +++|          BX1    X5-X1
00190  M01S00189.tcomnd  +++|          IX2    X5-X2
00191  M01S00190.tcomnd  +++|          ZR     X1,TLX      IF *ODD*
00192  M01S00191.tcomnd  +++|          NZ     X2,ERR      IF NOT *EVEN*
00193  M01S00192.tcomnd  +++|          SX7    B0          SET EVEN PARITY
00194  M01S00193.tcomnd  +++|          EQ     TLX
00195  M01S00194.tcomnd  +++|          TITLE  SUBROUTINES.
00196  M01S00195.tcomnd  +++| ERR      SPACE  4,10
00197  M01S00196.tcomnd  +++|**        ERR - PROCESS PARAMETER ERROR.
00198  M01S00197.tcomnd  +++|
00199  M01S00198.tcomnd  +++|
00200  M01S00199.tcomnd  +++| ERR      BSS    0
00201  M01S00200.tcomnd  +++|          MESSAGE (=C* ERROR IN COMMAND PARAMETERS.*)
00202  M01S00201.tcomnd  +++|          ABORT
00203  M01S00202.tcomnd  +++| PRS      SPACE  4,10
00204  M01S00203.tcomnd  +++|**        PRS - PRESET PROGRAM.
00205  M01S00204.tcomnd  +++|*
00206  M01S00205.tcomnd  +++|*         ENTRY  (B2) = MAXIMUM NUMBER OF ALLOWABLE PARAMETERS.
00207  M01S00206.tcomnd  +++|*
00208  M01S00207.tcomnd  +++|*         EXIT   (X5) = FIRST PARAMETER.
00209  M01S00208.tcomnd  +++|*                (A5) = ADDRESS OF FIRST PARAMETER.
00210  M01S00209.tcomnd  +++|*                (B3) = PARAMETER COUNT.
00211  M01S00210.tcomnd  +++|
00212  M01S00211.tcomnd  +++|
00213  M01S00212.tcomnd  +++| PRS      SUBR               ENTRY/EXIT
00214  M01S00213.tcomnd  +++|          SB1    1           SET CONSTANT 1
00215  M01S00214.tcomnd  +++|          SA5    ACTR        READ PARAMETER COUNT
00216  M01S00215.tcomnd  +++|          SB3    X5
00217  M01S00216.tcomnd  +++|          GT     B3,B2,ERR   IF INVALID PARAMETER COUNT
00218  M01S00217.tcomnd  +++|          SA5    B1+B1       READ FIRST PARAMETER
00219  M01S00218.tcomnd  +++|          EQ     PRSX        RETURN
00220  M01S00219.tcomnd  +++| PZO      SPACE  4,10
00221  M01S00220.tcomnd  +++|**        PZO - PROCESS *Z* OPTION.
00222  M01S00221.tcomnd  +++|*
00223  M01S00222.tcomnd  +++|*         ENTRY  (A5) = ADDRESS OF *Z* PARAMETER.
00224  M01S00223.tcomnd  +++|*                (B7) = BEGINNING ADDRESS OF WRITE BUFFER.
00225  M01S00224.tcomnd  +++|*                (B4) = END OF WRITE BUFFER.
00226  M01S00225.tcomnd  +++|*
00227  M01S00226.tcomnd  +++|*         EXIT   BUFFER CONTAINS THE CHARACTERS FOLLOWING THE *Z*
00228  M01S00227.tcomnd  +++|*                PARAMETER.
00229  M01S00228.tcomnd  +++|
00230  M01S00229.tcomnd  +++|
00231  M01S00230.tcomnd  +++| PZO      SUBR               ENTRY/EXIT
00232  M01S00231.tcomnd  +++|          SB5    10D         INITIALIZE CHARACTERS LEFT IN READ WORD
00233  M01S00232.tcomnd  +++|          SB3    B1          INITIALIZE END-OF-LINE FLAG
00234  M01S00233.tcomnd  +++|          SX6    B0          CLEAR WRITE WORD
00235  M01S00234.tcomnd  +++|          MX0    6
00236  M01S00235.tcomnd  +++|          SB6    B5+         INITIALIZE ROOM LEFT IN WRITE WORD
00237  M01S00236.tcomnd  +++|          MX1    -12
00238  M01S00237.tcomnd  +++|          SA3    =1L.
00239  M01S00238.tcomnd  +++|          SA4    =1L)
00240  M01S00239.tcomnd  +++|          SA5    A5+         READ FIRST WORD
00241  M01S00240.tcomnd  +++| PZO1     BX2    X0*X5       FIND COMMAND TERMINATOR
00242  M01S00241.tcomnd  +++|          LX5    6
00243  M01S00242.tcomnd  +++|          SB5    B5-B1
00244  M01S00243.tcomnd  +++|          BX7    X2-X3
00245  M01S00244.tcomnd  +++|          ZR     X7,PZO2     IF COMMAND TERMINATOR
00246  M01S00245.tcomnd  +++|          BX7    X2-X4
00247  M01S00246.tcomnd  +++|          NZ     X7,PZO1     IF NOT COMMAND TERMINATOR
00248  M01S00247.tcomnd  +++| PZO2     BX2    X0*X5       GET NEXT CHARACTER
00249  M01S00248.tcomnd  +++|          SB3    B3-B1
00250  M01S00249.tcomnd  +++|          ZR     X2,PZO3     IF ZERO CHARACTER
00251  M01S00250.tcomnd  +++|          SB3    B1          RESET END-OF-LINE FLAG
00252  M01S00251.tcomnd  +++| PZO3     BX6    X6+X2       ADD CHARACTER TO WRITE WORD
00253  M01S00252.tcomnd  +++|          SB6    B6-B1
00254  M01S00253.tcomnd  +++|          LX6    6
00255  M01S00254.tcomnd  +++|          NZ     B6,PZO4     IF WRITE WORD NOT FULL
00256  M01S00255.tcomnd  +++|          SA6    B7+         WRITE FULL WORD
00257  M01S00256.tcomnd  +++|          NG     B3,PZOX     IF END-OF-LINE FOUND
00258  M01S00257.tcomnd  +++|          SB7    B7+1       INCREMENT POINTER
00259  M01S00258.tcomnd  +++|          GE     B7,B4,PZOX  IF END OF WRITE BUFFER
00260  M01S00259.tcomnd  +++|          SX6    B0+         RESET REGISTERS
00261  M01S00260.tcomnd  +++|          SB6    10D
00262  M01S00261.tcomnd  +++| PZO4     SB5    B5-B1
00263  M01S00262.tcomnd  +++|          LX5    6
00264  M01S00263.tcomnd  +++|          NZ     B5,PZO2     IF READ CHARACTERS LEFT
00265  M01S00264.tcomnd  +++|          SB5    10D         RESET REGISTERS
00266  M01S00265.tcomnd  +++|          SA5    A5+B1       GET NEXT WORD
00267  M01S00266.tcomnd  +++|          EQ     PZO2        CONTINUE
00268  M01S00267.tcomnd  +++| TLX      SPACE  4,10
00269  M01S00268.tcomnd  +++|**        TLX - ENTER TELEX SYSTEM REQUEST.
00270  M01S00269.tcomnd  +++|*
00271  M01S00270.tcomnd  +++|*         ENTRY  (X0) = FUNCTION CODE.
00272  M01S00271.tcomnd  +++|*                (X7) = ARGUMENT.
00273  M01S00272.tcomnd  +++|
00274  M01S00273.tcomnd  +++|
00275  M01S00274.tcomnd  +++| TLX      BSS    0
00276  M01S00275.tcomnd  +++|          TLX    X0,X7       ENTER TELEX SYSTEM REQUEST
00277  M01S00276.tcomnd  +++|          ENDRUN
00278  M01S00277.tcomnd  +++|          SPACE  4
00279  M01S00278.tcomnd  +++|**        COMMON DECKS.
00280  M01S00279.tcomnd  +++|
00281  M01S00280.tcomnd  +++|
00282  M01S00281.tcomnd  +++|*CALL     COMCSYS
00283  M01S00282.tcomnd  +++|*CALL     COMCUPC
00284  M01S00283.tcomnd  +++|
00285  M01S00284.tcomnd  +++|          USE    //
00286  M01S00285.tcomnd  +++| RFL=     BSS    0
00287  M01S00286.tcomnd  +++|
00288  M01S00287.tcomnd  +++|          END
cdc/nos2.source/opl.opl871/deck/tcomnd.txt ยท Last modified: by 127.0.0.1