Deck SEND

5 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.send    +++|          IDENT  SEND
00002  M01S00002.send    +++|          ENTRY  SEND
00003  M01S00003.send    +++|          ENTRY  ABH.
00004  M01S00004.send    +++|          SYSCOM B1
Line S00005 Modification History
M01 (Added by) send
M02 (Updated by) ns2440
Seq #  *Modification Id* Act 
----------------------------+
00005  M02S00005.ns2440  ---|          TITLE  SEND MESSAGE TO TERMINAL.
Line S00006 Modification History
M01 (Added by) send
M02 (Updated by) ns2440
Seq #  *Modification Id* Act 
----------------------------+
00006  M02S00006.ns2440  ---|*COMMENT  SEND MESSAGE TO TERMINAL.
00007  M01S00001.ns2440  +++|          TITLE  SEND - SEND MESSAGE TO TERMINAL.
00008  M01S00002.ns2440  +++|*COMMENT  SEND - SEND MESSAGE TO TERMINAL.
Line S00007 Modification History
M01 (Added by) send
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00009  M02S00007.281l803 ---|          COMMENT  COPYRIGHT CONTROL DATA CORP. 1978.
00010  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00011  M01S00008.send    +++|          SPACE  4,10
00012  M01S00009.send    +++|*****     SEND - SEND MESSAGE TO TERMINAL.
00013  M01S00010.send    +++|*         W.E. MARTIN.       78/01/20.
00014  M01S00011.send    +++|          SPACE  4,10
00015  M01S00012.send    +++|*         COMMON DECK.
00016  M01S00013.send    +++|*CALL     COMKMAC
00017  M01S00014.send    +++|*CALL     COMSNCD
00018  M01S00015.send    +++|*CALL     COMSPRD
00019  M01S00016.send    +++|          VFD    42/0LSEND,18/SEND
00020  M01S00017.send    +++|          SPACE  4,55
00021  M01S00018.send    +++|***       CALL FORMAT -
00022  M01S00019.send    +++|*
00023  M01S00020.send    +++|*
00024  M01S00021.send    +++|*         FORTRAN EXTENDED -
00025  M01S00022.send    +++|*
00026  M01S00023.send    +++|*         CALL SEND(MESSAGE,LENGTH,TERMINAL,CEASE,OUTPUT,BLOCK,STATUS)
00027  M01S00024.send    +++|*
00028  M01S00025.send    +++|*         COBOL -
00029  M01S00026.send    +++|*
00030  M01S00027.send    +++|*         ENTER SEND USING MESSAGE,TERMINAL,CEASE,OUTPUT,BLOCK,STATUS,
00031  M01S00028.send    +++|*                          LENGTH.
00032  M01S00029.send    +++|*
00033  M01S00030.send    +++|*         WHERE - MESSAGE= LOCATION OF MESSAGE.
00034  M01S00031.send    +++|*
00035  M01S00032.send    +++|*                 LENGTH = LENGTH OF MESSAGE EXPRESSED IN CHARACTERS.
00036  M01S00033.send    +++|*
00037  M01S00034.send    +++|*                 TERMINAL = TERMINAL NAME.  IF OMMITTED OR ZERO, SEND
00038  M01S00035.send    +++|*                            TO TERMINAL THAT ORIGINATED TRANSACTION.
00039  M01S00036.send    +++|*                            ONE TO SEVEN CHARACTERS, LEFT JUSTIFIED.
00040  M01S00037.send    +++|*
00041  M01S00038.send    +++|*                 CEASE = FLAG WHOSE NON-ZERO VALUE IMPLIES TASK IS
00042  M01S00039.send    +++|*                         COMPLETE AT TERMINATION OF SEND.  ZERO IS
00043  M01S00040.send    +++|*                         ASSUMED.
00044  M01S00041.send    +++|*
00045  M01S00042.send    +++|*                 OUTPUT = 0 IF THIS IS THE LAST SEND TO BE DONE
00046  M01S00043.send    +++|*                          FOR THIS TRANSACTION.  NON-ZERO IMPLIES THAT
00047  M01S00044.send    +++|*                          MORE SENDS WILL BE EXECUTED FROM THIS TASK.
00048  M01S00045.send    +++|*                          DEFAULT = 0 (OPTIONAL PARAMETER).
00049  M01S00046.send    +++|*
00050  M01S00047.send    +++|*                 BLOCK = OPTIONAL PARAMETER WHICH IF SPECIFIED
00051  M01S00048.send    +++|*                         TASK DESIRES NAM APPLICATION BLOCK NUMBER
00052  M01S00049.send    +++|*                         FOR RECOVERY PURPOSES.
00053  M01S00050.send    +++|*
00054  M01S00051.send    +++|*                 STATUS = FLAG TO INDICATE A SEND WITH RECALL.
00055  M01S00052.send    +++|*                          IF STATUS IS NON-ZERO,
00056  M01S00053.send    +++|*                          CONTROL IS NOT RETURNED TO THE TASK UNTIL
00057  M01S00054.send    +++|*                          THE NETWORK HAS ACKNOWLEDGED THE RECEIPT AND
00058  M01S00055.send    +++|*                          DISPOSITION OF THE BLOCK.  THE SUPERVISORY
00059  M01S00056.send    +++|*                          MESSAGE IS THEN CONVERTED TO A *TAF*
00060  M01S00057.send    +++|*                          MESSAGE NUMBER AND RETURNED TO (STATUS).
00061  M01S00058.send    +++|*
00062  M01S00059.send    +++|*                 PARAMETER FORMAT - NUMERIC DATA -
00063  M01S00060.send    +++|*                                    FORTRAN EXTENDED - INTEGER.
00064  M01S00061.send    +++|*                                    COBOL - COMPUTATIONAL-1.
00065  M01S00062.send    +++|*
00066  M01S00063.send    +++|*         NOTE - THE NETWORK REQUIRES THAT *EOL* CHARACTERS BE
00067  M01S00064.send    +++|*         CONSIDERED MORE AS LINE SEPARATORS THAN LINE TERMINATORS.
00068  M01S00065.send    +++|*         THE *EOL* MUST BE ACCOUNTED FOR IN THE *TLC* FOR THE BLOCK
00069  M01S00066.send    +++|*         BEING SENT, AND THIS MUST BE DONE AT THE TASK LEVEL PRIOR
00070  M01S00067.send    +++|*         TO ACTUALLY ISSUING THE *SEND* REQUEST.
00071  M01S00068.send    +++|
00072  M01S00069.send    +++|
00073  M01S00070.send    +++| SEND     SUBR               ENTRY/EXIT
00074  M01S00071.send    +++|          SX6    A0          SAVE (A0)
00075  M01S00072.send    +++|          BX7    X7-X7       CLEAR COBOL CALL FLAG
00076  M01S00073.send    +++|          SA6    SENG
00077  M01S00074.send    +++|
00078  M01S00075.send    +++|*         CLEAR STORAGE OF LOCAL VARIABLES.
00079  M01S00076.send    +++|
00080  M01S00077.send    +++|          SB1    1
00081  M01S00078.send    +++|          SA7    SENH
00082  M01S00079.send    +++|          SX6    X1          CHECK COBOL CALL
00083  M01S00080.send    +++|          MX4    3           (X4) = COBOL ARGUMENT MASK
00084  M01S00081.send    +++|          SA7    SENF        STATUS
00085  M01S00082.send    +++|          SA6    SENJ
00086  M01S00083.send    +++|          SA7    SENK        OUTPUT FLAG
00087  M01S00084.send    +++|          SX7    A1          SAVE FWA OF PARAMETER LIST
00088  M01S00085.send    +++|          BX0    X1
00089  M01S00086.send    +++|          SA7    SENE
00090  M01S00087.send    +++|          SB6    B1          SET ZERO CHECK FLAG TO INTEGER
00091  M01S00088.send    +++|          BX7    X1-X6
00092  M01S00089.send    +++|          SA3    A1+B1       READ LENGTH OR ADDRESS OF TERMINAL NAME
00093  M01S00090.send    +++|          LX4    20-59
00094  M01S00091.send    +++|          ZR     X7,SEN1     IF NOT COBOL COMPUTATIONAL-1 ARGUMENT
00095  M01S00092.send    +++|
00096  M01S00093.send    +++|*         DETERMINE COBOL MESSAGE LENGTH FROM PARAMETER.
00097  M01S00094.send    +++|
00098  M01S00095.send    +++|          LX7    -36         GET MESSAGE LENGTH
00099  M01S00096.send    +++|          MX5    -12
00100  M01S00097.send    +++|          BX2    -X5*X7
00101  M01S00098.send    +++|          BX5    X4*X3       EXTRACT COBOL USAGE
00102  M01S00099.send    +++|          LX5    -18
00103  M01S00100.send    +++|          MX7    1           SET COBOL CALL FLAG
00104  M01S00101.send    +++|          SB6    X5-4        ZERO IF COMP-1 USAGE
00105  M01S00102.send    +++|          SA7    SENH
00106  M01S00103.send    +++|          BX7    X2          SAVE MESSAGE LENGTH
00107  M01S00104.send    +++|          SA7    SENI
00108  M01S00105.send    +++|
00109  M01S00106.send    +++|*         PROCESS PARAMETERS.
00110  M01S00107.send    +++|
00111  M01S00108.send    +++| SEN1     RJ     DOL         DETERMINE OPTIONS FROM PARAMETER LIST
00112  M01S00109.send    +++|          SA7    SENB+1      STORE TERMINAL NAME
00113  M01S00110.send    +++|          BX3    X3+X4       INSERT ALTERNATE TERMINAL FLAG
00114  M01S00111.send    +++|          SB5    X5          (B5) = CEASE FLAG
00115  M01S00112.send    +++|          SA1    SENJ        RESTORE FWA OF MESSAGE
00116  M01S00113.send    +++|          SA2    SENI        RESTORE MESSAGE LENGTH
00117  M01S00114.send    +++|          RJ     FEL         FORCE END OF LINE
00118  M01S00115.send    +++|          SEND   SENB
00119  M01S00116.send    +++|
00120  M01S00117.send    +++|*         RETURN STATUS TO TASK AND DETERMINE EXIT CONDITIONS.
00121  M01S00118.send    +++|
00122  M01S00119.send    +++|          RJ     RST         RETURN STATUS TO TASK
00123  M01S00120.send    +++|          PL     X6,SENDX    IF NO ERROR - RETURN
00124  M01S00121.send    +++|
00125  M01S00122.send    +++|*         ABORT TASK DUE TO FAULTY SUPERVISORY MESSAGE.
00126  M01S00123.send    +++|
00127  M01S00124.send    +++|          SA1    SEND        READ TRACE-BACK WORD
00128  M01S00125.send    +++|          MX0    30
00129  M01S00126.send    +++|          LX1    30
00130  M01S00127.send    +++|          SA1    X1-1        SET TRACE-BACK WORD INTO BUFFER
00131  M01S00128.send    +++|          BX6    -X0*X1
00132  M01S00129.send    +++|          SA6    SENB
00133  M01S00130.send    +++|          ARGERR SENB        EXIT TO EXECUTIVE
00134  M01S00131.send    +++| DOL      SPACE  4,25
00135  M01S00132.send    +++|**        DOL - DETERMINE OPTIONS FROM LIST.
00136  M01S00133.send    +++|*
00137  M01S00134.send    +++|*         DETERMINE OPTIONS FROM LIST PARSES THE PARAMETER LIST
00138  M01S00135.send    +++|*         OF THE USER TASK, DETERMINING WHAT OPTIONS THE USER
00139  M01S00136.send    +++|*         DESIRES.  EACH OPTION IS DETERMINED BY THE EXISTENCE OF
00140  M01S00137.send    +++|*         THE PARAMETER AND ONCE THE LIST IS TRUNCATED, ALL
00141  M01S00138.send    +++|*         OPTIONS WHICH LIE TO THE RIGHT OF THAT PARAMETER ARE
00142  M01S00139.send    +++|*         GIVEN DEFAULT VALUES.
00143  M01S00140.send    +++|*
00144  M01S00141.send    +++|*         ENTRY  (X2) = MESSAGE LENGTH.
00145  M01S00142.send    +++|*                (X3) = ADDRESS OF CURRENT PARAMETER.
00146  M01S00143.send    +++|*                (X7) = NON-ZERO IF COBOL CALL.
00147  M01S00144.send    +++|*                (A3) = ADDRESS OF CURRENT LIST PARAMETER.
00148  M01S00145.send    +++|*
00149  M01S00146.send    +++|*         EXIT   (X3) = OPTIONS ARE FLAGGED IN UPPER SIX BITS.
00150  M01S00147.send    +++|*                (X6) = ALTERNATE TERMINAL FLAG - IF PRESENT.
00151  M01S00148.send    +++|*                (X7) = ALTERNATE TERMINAL NAME - ZERO IF NONE.
00152  M01S00149.send    +++|*                (SENF) = ADDRESS OF LOCATION REQUESTING NETWORK STATUS.
00153  M01S00150.send    +++|*
00154  M01S00151.send    +++|*         USES   A - ALL.
00155  M01S00152.send    +++|*                B - 4, 7.
00156  M01S00153.send    +++|*                X - ALL.
00157  M01S00154.send    +++|*
00158  M01S00155.send    +++|*         CALLS  ZFN.
00159  M01S00156.send    +++|
00160  M01S00157.send    +++|
00161  M01S00158.send    +++| DOL      SUBR               ENTRY/EXIT
00162  M01S00159.send    +++|          NZ     X7,DOL1     IF COBOL CALL
00163  M01S00160.send    +++|          SA2    X3          READ LENGTH
00164  M01S00161.send    +++|          SX6    X2          SAVE MESSAGE LENGTH
00165  M01S00162.send    +++|          SA3    A3+B1       READ ADDRESS OF TERMINAL NAME
00166  M01S00163.send    +++|          UX2    X2          ASSUME MIXED PARAMETERS
00167  M01S00164.send    +++|          SA6    SENI
00168  M01S00165.send    +++| DOL1     BX5    X5-X5       ASSUME CEASE = 0
00169  M01S00166.send    +++|          SX4    B0
00170  M01S00167.send    +++|          ZR     X3,DOL5     IF NO TERMINAL NAME, CEASE FLAG, OUTPUT
00171  M01S00168.send    +++|          SA4    X3          READ TERMINAL NAME
00172  M01S00169.send    +++|          UX1,B4 X4          COBOL COMPUTATIONAL-1 ARGUMENT
00173  M01S00170.send    +++|          ZR     X1,DOL2     IF NO TERMINAL NAME
00174  M01S00171.send    +++|          MX0    42
00175  M01S00172.send    +++|          BX1    X0*X4
00176  M01S00173.send    +++|          RJ     ZFN         ZERO FILL NAME
00177  M01S00174.send    +++| DOL2     BX4    X1          SAVE TERMINAL NAME
00178  M01S00175.send    +++|          SA3    A3+B1       READ CEASE FLAG PARAMETER
00179  M01S00176.send    +++|          ZR     X3,DOL5     IF NO CEASE FLAG AND OUTPUT FLAG
00180  M01S00177.send    +++|          SA5    X3          READ CEASE FLAG
00181  M01S00178.send    +++|          SA3    A3+B1       OUTPUT FLAG ADDRESS
00182  M01S00179.send    +++|          ZR     X3,DOL5     IF NO OUTPUT FLAG
00183  M01S00180.send    +++|          SB7    A3          SAVE ADDRESS OF CURRENT PARAMETER.
00184  M01S00181.send    +++|          MX7    1
00185  M01S00182.send    +++|          SA3    X3          OUTPUT FLAG
00186  M01S00183.send    +++|          UX3    X3
00187  M01S00184.send    +++|          ZR     X3,DOL3     IF LAST SEND
00188  M01S00185.send    +++|          MX3    1           (X3) = STAGING REGISTER FOR *SEND* OPTIONS
00189  M01S00186.send    +++|          LX3    57-59       OUTPUT FLAG
00190  M01S00187.send    +++| DOL3     SA1    B7+B1       NAM APPLICATION BLOCK FLAG
00191  M01S00188.send    +++|          ZR     X1,DOL5     IF NO BLOCK FLAG
00192  M01S00189.send    +++|          LX7    56-59       SET *B* FIELD IN HEADER
00193  M01S00190.send    +++|          SX6    X1          SAVE BLOCK PARAMETER ADDRESS
00194  M01S00191.send    +++|          SA2    X6          READ BLOCK NUMBER
00195  M01S00192.send    +++|          SA6    SENK
00196  M01S00193.send    +++|          UX2    X2
00197  M01S00194.send    +++|          NZ     X2,DOL4     IF (BLOCK) .NE. ZERO
00198  M01S00195.send    +++|          BX3    X7+X3
00199  M01S00196.send    +++| DOL4     SA1    A1+B1       READ STATUS PARAMETER
00200  M01S00197.send    +++|          SA2    X1
00201  M01S00198.send    +++|          ZR     X1,DOL5     IF STATUS NOT SPECIFIED
00202  M01S00199.send    +++|          UX2    X2
00203  M01S00200.send    +++|          ZR     X2,DOL4.1   IF (STATUS) .EQ. ZERO
00204  M01S00201.send    +++|          LX7    55-56       SET *R* FIELD IN HEADER
00205  M01S00202.send    +++|          BX3    X3+X7
00206  M01S00203.send    +++|          SX7    X1          SAVE STATUS PARAMETER ADDRESS
00207  M01S00204.send    +++|          SA7    SENF
00208  M01S00205.send    +++| DOL4.1   SA2    SENH        COBOL CALL FLAG
00209  M01S00206.send    +++|          PL     X2,DOL5     IF NOT COBOL CALL
00210  M01S00207.send    +++|          SA1    A1+1        READ LENGTH PARAMETER
00211  M01S00208.send    +++|          ZR     X1,DOL5     IF PARAMETER NOT PRESENT
00212  M01S00209.send    +++|          SA1    X1          SAVE COBOL MESSAGE LENGTH
00213  M01S00210.send    +++|          UX6    X1
00214  M01S00211.send    +++|          SA6    SENI
00215  M01S00212.send    +++| DOL5     BX7    X4
00216  M01S00213.send    +++|          MX4    1
00217  M01S00214.send    +++|          ZR     X7,DOL6     IF NO ALTERNATE TERMINAL DECLARED
00218  M01S00215.send    +++|          BX3    X4+X3       SET ALTERNATE TERMINAL FLAG
00219  M01S00216.send    +++| DOL6     LX4    54-59       SET APPLICATION BLOCK HEADER FLAG
00220  M01S00217.send    +++|          BX3    X4+X3
00221  M01S00001.send1   +++|          ZR     X5,DOLX     IF NOT CEASE, RETURN
00222  M01S00002.send1   +++|          LX4    58-59-54+59
00223  M01S00003.send1   +++|          BX3    X4+X3       SET CEASE BIT IN SEND PARAMETER BLOCK
00224  M01S00218.send    +++|          EQ     DOLX        RETURN
00225  M01S00219.send    +++| FEL      SPACE  4,20
00226  M01S00220.send    +++|**        FEL - FORCE END OF LINE.
00227  M01S00221.send    +++|*
00228  M01S00222.send    +++|*         FORCE *EOL* FOR TELEX COMPATIBILITY.  THIS CODE SEGMENT
00229  M01S00223.send    +++|*         IS UNNECESSARY FOR *NAM* TELE-COMMUNICATIONS, SINCE THE
00230  M01S00224.send    +++|*         EXACT CHARACTER COUNT IS REQUIRED IN THE *ABH*, TO INCLUDE
00231  M01S00225.send    +++|*         THE UNIT SEPARATOR, WILL ACCOMPANY ALL *SEND* REQUESTS TO
00232  M01S00226.send    +++|*         THE NETWORK.
00233  M01S00227.send    +++|*
00234  M01S00228.send    +++|*         ENTRY  (X1) = FWA OF MESSAGE.
00235  M01S00229.send    +++|*                (X2) = USER DECLARED CHARACTER COUNT AFTER TRUNCATION.
00236  M01S00230.send    +++|*                (X3) = HEADER OF WORD ONE OF *SEND* PARAMETER BLOCK.
00237  M01S00231.send    +++|*
00238  M01S00232.send    +++|*         EXIT   (B3) = CHARACTERS IN LAST WORD OF MESSAGE.
00239  M01S00233.send    +++|*                (SENB - SENB+4) UPDATED.
00240  M01S00234.send    +++|*                (ABH) UPDATED BY (TLC).
00241  M01S00235.send    +++|*
00242  M01S00236.send    +++|*         USES   A - 1, 2, 3, 6, 7.
00243  M01S00237.send    +++|*                B - 3, 4, 7.
00244  M01S00238.send    +++|*                X - ALL.
00245  M01S00239.send    +++|
00246  M01S00240.send    +++|
00247  M01S00241.send    +++| FEL      SUBR               ENTRY/EXIT
00248  M01S00242.send    +++|          SX5    X2+9        COMPUTE NUMBER OF WORDS IN MESSAGE
00249  M01S00243.send    +++|          SX4    10
00250  M01S00244.send    +++|          BX6    X1          INSERT MESSAGE ADDRESS
00251  M01S00245.send    +++|          IX5    X5/X4       NUMBER OF WORDS
00252  M01S00246.send    +++|          LX6    30          INSERT NUMBER OF WORDS INTO BLOCK HEADER
00253  M01S00247.send    +++|          BX7    X6+X5
00254  M01S00248.send    +++|          BX7    X7+X3       INSERT SEQUENCE, BLOCK FLAG
00255  M01S00249.send    +++|          SA7    SENB        STORE ARGUMENT WORD
00256  M01S00250.send    +++|          SA3    ABH.
00257  M01S00251.send    +++|          LX3    59-22
00258  M01S00252.send    +++|          PL     X3,FEL2     IF *ACT* .NE. *DISPLAY*
00259  M01S00253.send    +++|          SX3    10
00260  M01S00254.send    +++|          IX0    X3*X5
00261  M01S00255.send    +++|          IX0    X0-X2
00262  M01S00256.send    +++|          IX7    X3-X0
00263  M01S00257.send    +++|          IX5    X1+X5       (X5) = LAST WORD ADDRESS OF MESSAGE
00264  M01S00258.send    +++|          SA3    X5-1        SAVE LWA OF MESSAGE
00265  M01S00259.send    +++|          BX6    X3
00266  M01S00260.send    +++|          SB4    B0          (B4) = 0 WHEN (X7) = 0
00267  M01S00261.send    +++|          SA6    SENC
00268  M01S00262.send    +++|          SA2    A3+B1
00269  M01S00263.send    +++|          BX6    X2
00270  M01S00264.send    +++|          SA6    A6+B1
00271  M01S00265.send    +++|          SX6    A3
00272  M01S00266.send    +++|          SA6    SENL        LWA OF MESSAGE
00273  M01S00267.send    +++|          SA2    SENB
00274  M01S00268.send    +++|          ZR     X0,FEL1     IF LAST WORD IS FULL
00275  M01S00269.send    +++|
00276  M01S00270.send    +++|*         REMOVE TRAILING CHARACTERS FROM LAST WORD.
00277  M01S00271.send    +++|
00278  M01S00272.send    +++|          SB4    X7-9        (B4) = NUMBER OF CHARACTERS IN WORD
00279  M01S00273.send    +++|          SB3    X0          (B3) = NUMBER OF TRAILING CHARACTERS
00280  M01S00274.send    +++|          LX7    X0,B1       TRAILING CHARACTERS*2
00281  M01S00275.send    +++|          LX0    2           MULTIPLY BY 4
00282  M01S00276.send    +++|          IX7    X0+X7       NUMBER OF TRAILING BITS
00283  M01S00277.send    +++|          SB7    X7-59
00284  M01S00278.send    +++|          MX4    1
00285  M01S00279.send    +++|          LX4    X4,B7
00286  M01S00280.send    +++|          BX7    X4*X3       STRIP TRAILING CHARACTER FIELDS
00287  M01S00281.send    +++|          SA7    A3
00288  M01S00282.send    +++|          SA3    SENI        INCREMENT TLC TO INCLUDE UNIT SEPARATOR
00289  M01S00283.send    +++|          SX7    X3+B3
00290  M01S00284.send    +++|          SA7    A3
00291  M01S00285.send    +++| FEL1     NZ     B4,FEL2     IF FEWER THAN NINE CHARACTERS
00292  M01S00286.send    +++|
00293  M01S00287.send    +++|*         PROCESS CASE WHERE LAST WORD IS FULL - REQUIRING EXTRA WORD
00294  M01S00288.send    +++|*         FOR EOL.
00295  M01S00289.send    +++|
00296  M01S00290.send    +++|          SA2    SENB
00297  M01S00291.send    +++|          SX6    B1
00298  M01S00292.send    +++|          IX6    X2+X6       INCREMENT WORD COUNT
00299  M01S00293.send    +++|          SA6    A2
00300  M01S00294.send    +++|          BX6    X6-X6
00301  M01S00295.send    +++|          SA6    X5+
00302  M01S00296.send    +++|          SA3    SENI        INCREMENT TLC TO INCLUDE UNIT SEPARATOR
00303  M01S00297.send    +++|          SB3    10
00304  M01S00298.send    +++|          SX6    X3+B3
00305  M01S00299.send    +++|          SA6    A3
00306  M01S00300.send    +++|
00307  M01S00301.send    +++|*         CONSTRUCT ABH FOR *SEND*.
00308  M01S00302.send    +++|
00309  M01S00303.send    +++| FEL2     MX0    -12         (X0) = *ABN* AND *TLC* MASK
00310  M01S00304.send    +++|          BX7    X7-X7
00311  M01S00305.send    +++|          SA1    SENK        READ BLOCK PARAMETER ADDRESS
00312  M01S00306.send    +++|          SB3    B4          (B3) = NUMBER OF CHARACTERS IN LAST WORD
00313  M01S00307.send    +++|          SA3    ABH.        READ CURRENT *ABH*
00314  M01S00308.send    +++|          MX6    6
00315  M01S00309.send    +++|          ZR     X1,FEL3     IF NO BLOCK OR STATUS PARAMETERS PRESENT
00316  M01S00310.send    +++|          SA1    X1
00317  M01S00311.send    +++|          SX7    X1          APPLICATION BLOCK NUMBER
00318  M01S00312.send    +++|          ZR     X7,FEL3     IF NO BLOCK NUMBER
00319  M01S00313.send    +++|          LX0    41-11
00320  M01S00314.send    +++|          BX3    X0*X3       INSERT BLOCK NUMBER INTO *ABH*
00321  M01S00315.send    +++|          LX7    41-17
00322  M01S00316.send    +++|          LX0    11-41
00323  M01S00317.send    +++| FEL3     BX7    X7+X3
00324  M01S00318.send    +++|          BX7    X0*X7       SET *TLC* INTO *ABH*
00325  M01S00319.send    +++|          BX7    -X6*X7      CLEAR APPLICATION BLOCK TYPE
00326  M01S00320.send    +++|          SX1    B1+B1       SET MSG ABT
00327  M01S00321.send    +++|          LX2    59-57
00328  M01S00322.send    +++|          PL     X2,FEL4     IF NO OUTPUT TO FOLLOW
00329  M01S00323.send    +++|          SX1    B1          SET *BLK* *BLK* ABT
00330  M01S00324.send    +++| FEL4     LX1    59-5
00331  M01S00325.send    +++|          BX7    X1+X7       SET APPLICATION BLOCK TYPE
00332  M01S00326.send    +++|          SA2    SENI        SET TLC INTO ABH
00333  M01S00327.send    +++|          BX7    X7+X2
00334  M01S00328.send    +++|          SA7    SENB+2
00335  M01S00329.send    +++|          EQ     FELX        RETURN
00336  M01S00330.send    +++| RST      SPACE  4,20
00337  M01S00331.send    +++|**        RST - RETURN STATUS TO TASK.
00338  M01S00332.send    +++|*
00339  M01S00333.send    +++|*         RETURN NETWORK SUPERVISORY MESSAGE TO TASK IF RECALL
Line S00334 Modification History
M01 (Added by) send
M02 (Updated by) send1
Seq #  *Modification Id* Act 
----------------------------+
00340  M02S00334.send1   ---|*         PARAMETER WERE SPECIFIED, AND EXECUTE TASK CEASE - IF SO
Line S00335 Modification History
M01 (Added by) send
M02 (Updated by) send1
Seq #  *Modification Id* Act 
----------------------------+
00341  M02S00335.send1   ---|*         REQUESTED.
00342  M01S00004.send1   +++|*         PARAMETER WERE SPECIFIED.
00343  M01S00336.send    +++|*
00344  M01S00337.send    +++|*         ENTRY  (B5) .NE. ZERO IF CEASE REQUESTED.
00345  M01S00338.send    +++|*                (B3) = NUMBER OF CHARACTERS IN LAST WORD OF MESSAGE.
00346  M01S00339.send    +++|*                (X5) = ADDRESS OF TEMPORARY STORAGE LOCATION.
00347  M01S00340.send    +++|*
00348  M01S00341.send    +++|*         EXIT   (X6) .LT. 0 - IF ILLEGAL SUPERVISORY MESSAGE.
00349  M01S00342.send    +++|*                (BLOCK) RETURNED TO TASK IF (BLOCK) .NE. ZERO
00350  M01S00343.send    +++|*                UPON ENTRY TO *SEND*.
00351  M01S00344.send    +++|*                (STATUS) = TAF STATUS MESSAGE, DERIVED FROM (SENB+3).
Line S00345 Modification History
M01 (Added by) send
M02 (Updated by) send1
Seq #  *Modification Id* Act 
----------------------------+
00352  M02S00345.send1   ---|*                TASK CEASES - IF CEASE OPTION SPECIFIED.
00353  M01S00346.send    +++|*
00354  M01S00347.send    +++|*         USES   A - 1, 2, 3, 4, 6, 7.
00355  M01S00348.send    +++|*                B - 3, 4.
00356  M01S00349.send    +++|*                X - 0, 1, 2, 3, 4, 6, 7.
00357  M01S00350.send    +++|
00358  M01S00351.send    +++|
00359  M01S00352.send    +++| RST      SUBR               ENTRY/EXIT
00360  M01S00353.send    +++|          SB4    TSENL-1
00361  M01S00354.send    +++|          SA2    SENB
00362  M01S00355.send    +++|          LX2    59-56
00363  M01S00356.send    +++|          PL     X2,RST1     IF APPLICATION BLOCK NOT TO BE RETURNED
00364  M01S00357.send    +++|          MX0    12
00365  M01S00358.send    +++|          SA3    SENB+1      BLOCK NUMBER
00366  M01S00359.send    +++|          SA2    SENK        FWA OF BLOCK
00367  M01S00360.send    +++|          SX3    X3
00368  M01S00361.send    +++|          SA4    X2
00369  M01S00362.send    +++|          BX7    X0*X4       CLEAR OLD BLOCK NUMBER
00370  M01S00363.send    +++|          BX7    X7+X3       NEW BLOCK NUMBER
00371  M01S00364.send    +++|          SA7    A4+         RETURN BLOCK NUMBER
00372  M01S00365.send    +++| RST1     SA1    SENF        READ STATUS REQUEST
00373  M01S00366.send    +++|          SX4    X1+
00374  M01S00367.send    +++|          ZR     X1,RST4     IF STATUS NOT REQUESTED
00375  M01S00368.send    +++|          SA1    SENM
00376  M01S00369.send    +++|          SA2    SENB+3      SUPERVISORY MESSAGE RETURNED FROM NETWORK
00377  M01S00370.send    +++|          BX0    X1*X2
00378  M01S00371.send    +++|
00379  M01S00372.send    +++|*         DETERMINE SUPERVISORY MESSAGE VIA TABLE LOOK-UP.
00380  M01S00373.send    +++|
00381  M01S00374.send    +++| RST2     SA3    TSEN+B4     READ CURRENT TABLE ENTRY
00382  M01S00375.send    +++|          BX6    X1*X3
00383  M01S00376.send    +++|          IX6    X6-X0
00384  M01S00377.send    +++|          SB4    B4-B1
00385  M01S00378.send    +++|          ZR     X6,RST3     IF ENTRY AND MESSAGE MATCH
00386  M01S00379.send    +++|          MX6    1
00387  M01S00380.send    +++|          GE     B4,RST2     IF TABLE NOT EXHAUSTED
00388  M01S00381.send    +++|          EQ     RSTX        RETURN
00389  M01S00382.send    +++|
00390  M01S00383.send    +++| RST3     SX6    X3          RETURN MESSAGE NUMBER TO (STATUS)
00391  M01S00384.send    +++|          PX6    X6
00392  M01S00385.send    +++|          SA6    X4+
00393  M01S00386.send    +++| RST4     SA3    ABH.        READ ABH
00394  M01S00387.send    +++|          SA1    SENC        RESTORE LAST WORD
00395  M01S00388.send    +++|          LX3    59-22
00396  M01S00389.send    +++|          PL     X3,RST5     IF NOT DISPLAY
00397  M01S00390.send    +++|          BX6    X1
00398  M01S00391.send    +++|          SA2    SENL        RESTORE LAST TWO WORDS
00399  M01S00392.send    +++|          SA6    X2
00400  M01S00393.send    +++|          SA1    A1+B1
00401  M01S00394.send    +++|          BX6    X1
00402  M01S00395.send    +++|          SA6    A6+B1
00403  M01S00396.send    +++| RST5     SA1    SENG        RESTORE (A0)
00404  M01S00397.send    +++|          SA0    X1
00405  M01S00398.send    +++|          BX6    X6-X6       SET NON-ERROR CONDITION
Line S00399 Modification History
M01 (Added by) send
M02 (Updated by) send1
Seq #  *Modification Id* Act 
----------------------------+
00406  M02S00399.send1   ---|          ZR     B5,RSTX     IF CEASE NOT REQUESTED - RETURN
Line S00400 Modification History
M01 (Added by) send
M02 (Updated by) send1
Seq #  *Modification Id* Act 
----------------------------+
00407  M02S00400.send1   ---|          CEASE  B0          EXIT TO EXECUTIVE
00408  M01S00005.send1   +++|          EQ     RSTX        RETURN
00409  M01S00401.send    +++|          SPACE  4,10
00410  M01S00402.send    +++|*         PROGRAM CONSTANTS AND TEMPORARY STORAGE.
00411  M01S00403.send    +++|
00412  M01S00404.send    +++| ABH.     VFD    6/2,12/0,18/0,4/4,1/0,3/0,1/1,3/0,12/0
00413  M01S00405.send    +++| SENB     BSSZ   4           PARAMETER BLOCK FOR *SEND*
00414  M01S00406.send    +++| SENC     BSSZ   4           ARGUMENT STORAGE FOR *SEND*
00415  M01S00407.send    +++| SENE     CON    0           STORAGE FOR FWA OF CALL PARAMETERS
00416  M01S00408.send    +++| SENF     CON    0           STORAGE FOR STATUS ADDRESS
00417  M01S00409.send    +++| SENG     CON    0           STORAGE FOR (A0)
00418  M01S00410.send    +++| SENH     CON    0           COBOL CALL FLAG
00419  M01S00411.send    +++| SENI     CON    0           STORAGE FOR MESSAGE CHARACTER COUNT
00420  M01S00412.send    +++| SENJ     CON    0           STORAGE FOR MESSAGE FWA
00421  M01S00413.send    +++| SENK     CON    0           STORAGE FOR *BLOCK* PARAMETER ADDRESS
00422  M01S00414.send    +++| SENL     CON    0           STORAGE FOR LWA MESSAGE
00423  M01S00415.send    +++|
00424  M01S00416.send    +++|*         MASK FOR EXTRACTING SUPERVISORY MESSAGES.
00425  M01S00417.send    +++|
00426  M01S00418.send    +++| SENM     VFD    8/377B,1/0,1/0,6/77B,8/377B,36/0
00427  M01S00419.send    +++|          SPACE  4,10
00428  M01S00420.send    +++|*         TABLE OF SUPERVISORY MESSAGES.
00429  M01S00421.send    +++|
00430  M01S00422.send    +++| TSEN     BSS    0
00431  M01S00423.send    +++|          VFD    8/PFFC,1/0,1/0,6/SFAK,8/0,36/1
00432  M01S00424.send    +++|          VFD    8/PFFC,1/0,1/0,6/SFAX,8/AXLB,36/2
Line S00425 Modification History
M01 (Added by) send
M02 (Updated by) ns22000
Seq #  *Modification Id* Act 
----------------------------+
00433  M02S00425.ns22000 ---|          VFD    8/PFFC,1/0,1/0,6/SFBK,8/BKU1,36/3
Line S00426 Modification History
M01 (Added by) send
M02 (Updated by) ns22000
Seq #  *Modification Id* Act 
----------------------------+
00434  M02S00426.ns22000 ---|          VFD    8/PFFC,1/0,1/0,6/SFBK,8/BKU2,36/4
Line S00427 Modification History
M01 (Added by) send
M02 (Updated by) ns22000
Seq #  *Modification Id* Act 
----------------------------+
00435  M02S00427.ns22000 ---|          VFD    8/PFFC,1/0,1/0,6/SFBK,8/BKNR,36/5
Line S00428 Modification History
M01 (Added by) send
M02 (Updated by) ns22000
Seq #  *Modification Id* Act 
----------------------------+
00436  M02S00428.ns22000 ---|          VFD    8/PFFC,1/0,1/0,6/SFBK,8/BKIF,36/6
Line S00429 Modification History
M01 (Added by) send
M02 (Updated by) ns2337
Seq #  *Modification Id* Act 
----------------------------+
00437  M02S00429.ns2337  ---|          VFD    8/PFFC,1/0,1/0,6/SFSU,8/SUTB,36/7
Line S00430 Modification History
M01 (Added by) send
M02 (Updated by) ns2337
Seq #  *Modification Id* Act 
----------------------------+
00438  M02S00430.ns2337  ---|          VFD    8/PFFC,1/0,1/0,6/SFSU,8/SUTF,36/8
Line S00431 Modification History
M01 (Added by) send
M02 (Updated by) ns2337
Seq #  *Modification Id* Act 
----------------------------+
00439  M02S00431.ns2337  ---|          VFD    8/PFFC,1/0,1/0,6/SFSU,8/SUBI,36/9
00440  M01S00432.send    +++|          VFD    8/PFCN,1/0,1/0,6/SFEN,8/0,36/10
00441  M01S00433.send    +++|          VFD    8/PFCN,1/0,1/0,6/SFCB,8/CBLF,36/11
00442  M01S00434.send    +++| TSENL    EQU    *-TSEN      LENGTH ON MESSAGE TABLE
00443  M01S00435.send    +++|*         COMMON DECK.
00444  M01S00436.send    +++|*CALL     COMKZFN
00445  M01S00437.send    +++|          SPACE  4,10
00446  M01S00438.send    +++|          END