User Tools

Site Tools


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

Deck SEND

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.send    +++|          IDENT  SEND
00002  M00S00002.send    +++|          ENTRY  SEND
00003  M00S00003.send    +++|          ENTRY  ABH.
00004  M00S00004.send    +++|          SYSCOM B1
Line S00005 Modification History
M01 (Removed by) ns2440
Seq #  *Modification Id* Act 
----------------------------+
00005  M01S00005.ns2440  ---|          TITLE  SEND MESSAGE TO TERMINAL.
00006  M01S00006.ns2440  ---|*COMMENT  SEND MESSAGE TO TERMINAL.
Line S00001 Modification History
M01 (Added by) ns2440
Seq #  *Modification Id* Act 
----------------------------+
00007  M01S00001.ns2440  +++|          TITLE  SEND - SEND MESSAGE TO TERMINAL.
00008  M01S00002.ns2440  +++|*COMMENT  SEND - SEND MESSAGE TO TERMINAL.
Line S00007 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00009  M01S00007.281l803 ---|          COMMENT  COPYRIGHT CONTROL DATA CORP. 1978.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00010  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00011  M00S00008.send    +++|          SPACE  4,10
00012  M00S00009.send    +++|*****     SEND - SEND MESSAGE TO TERMINAL.
00013  M00S00010.send    +++|*         W.E. MARTIN.       78/01/20.
00014  M00S00011.send    +++|          SPACE  4,10
00015  M00S00012.send    +++|*         COMMON DECK.
00016  M00S00013.send    +++|*CALL     COMKMAC
00017  M00S00014.send    +++|*CALL     COMSNCD
00018  M00S00015.send    +++|*CALL     COMSPRD
00019  M00S00016.send    +++|          VFD    42/0LSEND,18/SEND
00020  M00S00017.send    +++|          SPACE  4,55
00021  M00S00018.send    +++|***       CALL FORMAT -
00022  M00S00019.send    +++|*
00023  M00S00020.send    +++|*
00024  M00S00021.send    +++|*         FORTRAN EXTENDED -
00025  M00S00022.send    +++|*
00026  M00S00023.send    +++|*         CALL SEND(MESSAGE,LENGTH,TERMINAL,CEASE,OUTPUT,BLOCK,STATUS)
00027  M00S00024.send    +++|*
00028  M00S00025.send    +++|*         COBOL -
00029  M00S00026.send    +++|*
00030  M00S00027.send    +++|*         ENTER SEND USING MESSAGE,TERMINAL,CEASE,OUTPUT,BLOCK,STATUS,
00031  M00S00028.send    +++|*                          LENGTH.
00032  M00S00029.send    +++|*
00033  M00S00030.send    +++|*         WHERE - MESSAGE= LOCATION OF MESSAGE.
00034  M00S00031.send    +++|*
00035  M00S00032.send    +++|*                 LENGTH = LENGTH OF MESSAGE EXPRESSED IN CHARACTERS.
00036  M00S00033.send    +++|*
00037  M00S00034.send    +++|*                 TERMINAL = TERMINAL NAME.  IF OMMITTED OR ZERO, SEND
00038  M00S00035.send    +++|*                            TO TERMINAL THAT ORIGINATED TRANSACTION.
00039  M00S00036.send    +++|*                            ONE TO SEVEN CHARACTERS, LEFT JUSTIFIED.
00040  M00S00037.send    +++|*
00041  M00S00038.send    +++|*                 CEASE = FLAG WHOSE NON-ZERO VALUE IMPLIES TASK IS
00042  M00S00039.send    +++|*                         COMPLETE AT TERMINATION OF SEND.  ZERO IS
00043  M00S00040.send    +++|*                         ASSUMED.
00044  M00S00041.send    +++|*
00045  M00S00042.send    +++|*                 OUTPUT = 0 IF THIS IS THE LAST SEND TO BE DONE
00046  M00S00043.send    +++|*                          FOR THIS TRANSACTION.  NON-ZERO IMPLIES THAT
00047  M00S00044.send    +++|*                          MORE SENDS WILL BE EXECUTED FROM THIS TASK.
00048  M00S00045.send    +++|*                          DEFAULT = 0 (OPTIONAL PARAMETER).
00049  M00S00046.send    +++|*
00050  M00S00047.send    +++|*                 BLOCK = OPTIONAL PARAMETER WHICH IF SPECIFIED
00051  M00S00048.send    +++|*                         TASK DESIRES NAM APPLICATION BLOCK NUMBER
00052  M00S00049.send    +++|*                         FOR RECOVERY PURPOSES.
00053  M00S00050.send    +++|*
00054  M00S00051.send    +++|*                 STATUS = FLAG TO INDICATE A SEND WITH RECALL.
00055  M00S00052.send    +++|*                          IF STATUS IS NON-ZERO,
00056  M00S00053.send    +++|*                          CONTROL IS NOT RETURNED TO THE TASK UNTIL
00057  M00S00054.send    +++|*                          THE NETWORK HAS ACKNOWLEDGED THE RECEIPT AND
00058  M00S00055.send    +++|*                          DISPOSITION OF THE BLOCK.  THE SUPERVISORY
00059  M00S00056.send    +++|*                          MESSAGE IS THEN CONVERTED TO A *TAF*
00060  M00S00057.send    +++|*                          MESSAGE NUMBER AND RETURNED TO (STATUS).
00061  M00S00058.send    +++|*
00062  M00S00059.send    +++|*                 PARAMETER FORMAT - NUMERIC DATA -
00063  M00S00060.send    +++|*                                    FORTRAN EXTENDED - INTEGER.
00064  M00S00061.send    +++|*                                    COBOL - COMPUTATIONAL-1.
00065  M00S00062.send    +++|*
00066  M00S00063.send    +++|*         NOTE - THE NETWORK REQUIRES THAT *EOL* CHARACTERS BE
00067  M00S00064.send    +++|*         CONSIDERED MORE AS LINE SEPARATORS THAN LINE TERMINATORS.
00068  M00S00065.send    +++|*         THE *EOL* MUST BE ACCOUNTED FOR IN THE *TLC* FOR THE BLOCK
00069  M00S00066.send    +++|*         BEING SENT, AND THIS MUST BE DONE AT THE TASK LEVEL PRIOR
00070  M00S00067.send    +++|*         TO ACTUALLY ISSUING THE *SEND* REQUEST.
00071  M00S00068.send    +++|
00072  M00S00069.send    +++|
00073  M00S00070.send    +++| SEND     SUBR               ENTRY/EXIT
00074  M00S00071.send    +++|          SX6    A0          SAVE (A0)
00075  M00S00072.send    +++|          BX7    X7-X7       CLEAR COBOL CALL FLAG
00076  M00S00073.send    +++|          SA6    SENG
00077  M00S00074.send    +++|
00078  M00S00075.send    +++|*         CLEAR STORAGE OF LOCAL VARIABLES.
00079  M00S00076.send    +++|
00080  M00S00077.send    +++|          SB1    1
00081  M00S00078.send    +++|          SA7    SENH
00082  M00S00079.send    +++|          SX6    X1          CHECK COBOL CALL
00083  M00S00080.send    +++|          MX4    3           (X4) = COBOL ARGUMENT MASK
00084  M00S00081.send    +++|          SA7    SENF        STATUS
00085  M00S00082.send    +++|          SA6    SENJ
00086  M00S00083.send    +++|          SA7    SENK        OUTPUT FLAG
00087  M00S00084.send    +++|          SX7    A1          SAVE FWA OF PARAMETER LIST
00088  M00S00085.send    +++|          BX0    X1
00089  M00S00086.send    +++|          SA7    SENE
00090  M00S00087.send    +++|          SB6    B1          SET ZERO CHECK FLAG TO INTEGER
00091  M00S00088.send    +++|          BX7    X1-X6
00092  M00S00089.send    +++|          SA3    A1+B1       READ LENGTH OR ADDRESS OF TERMINAL NAME
00093  M00S00090.send    +++|          LX4    20-59
00094  M00S00091.send    +++|          ZR     X7,SEN1     IF NOT COBOL COMPUTATIONAL-1 ARGUMENT
00095  M00S00092.send    +++|
00096  M00S00093.send    +++|*         DETERMINE COBOL MESSAGE LENGTH FROM PARAMETER.
00097  M00S00094.send    +++|
00098  M00S00095.send    +++|          LX7    -36         GET MESSAGE LENGTH
00099  M00S00096.send    +++|          MX5    -12
00100  M00S00097.send    +++|          BX2    -X5*X7
00101  M00S00098.send    +++|          BX5    X4*X3       EXTRACT COBOL USAGE
00102  M00S00099.send    +++|          LX5    -18
00103  M00S00100.send    +++|          MX7    1           SET COBOL CALL FLAG
00104  M00S00101.send    +++|          SB6    X5-4        ZERO IF COMP-1 USAGE
00105  M00S00102.send    +++|          SA7    SENH
00106  M00S00103.send    +++|          BX7    X2          SAVE MESSAGE LENGTH
00107  M00S00104.send    +++|          SA7    SENI
00108  M00S00105.send    +++|
00109  M00S00106.send    +++|*         PROCESS PARAMETERS.
00110  M00S00107.send    +++|
00111  M00S00108.send    +++| SEN1     RJ     DOL         DETERMINE OPTIONS FROM PARAMETER LIST
00112  M00S00109.send    +++|          SA7    SENB+1      STORE TERMINAL NAME
00113  M00S00110.send    +++|          BX3    X3+X4       INSERT ALTERNATE TERMINAL FLAG
00114  M00S00111.send    +++|          SB5    X5          (B5) = CEASE FLAG
00115  M00S00112.send    +++|          SA1    SENJ        RESTORE FWA OF MESSAGE
00116  M00S00113.send    +++|          SA2    SENI        RESTORE MESSAGE LENGTH
00117  M00S00114.send    +++|          RJ     FEL         FORCE END OF LINE
00118  M00S00115.send    +++|          SEND   SENB
00119  M00S00116.send    +++|
00120  M00S00117.send    +++|*         RETURN STATUS TO TASK AND DETERMINE EXIT CONDITIONS.
00121  M00S00118.send    +++|
00122  M00S00119.send    +++|          RJ     RST         RETURN STATUS TO TASK
00123  M00S00120.send    +++|          PL     X6,SENDX    IF NO ERROR - RETURN
00124  M00S00121.send    +++|
00125  M00S00122.send    +++|*         ABORT TASK DUE TO FAULTY SUPERVISORY MESSAGE.
00126  M00S00123.send    +++|
00127  M00S00124.send    +++|          SA1    SEND        READ TRACE-BACK WORD
00128  M00S00125.send    +++|          MX0    30
00129  M00S00126.send    +++|          LX1    30
00130  M00S00127.send    +++|          SA1    X1-1        SET TRACE-BACK WORD INTO BUFFER
00131  M00S00128.send    +++|          BX6    -X0*X1
00132  M00S00129.send    +++|          SA6    SENB
00133  M00S00130.send    +++|          ARGERR SENB        EXIT TO EXECUTIVE
00134  M00S00131.send    +++| DOL      SPACE  4,25
00135  M00S00132.send    +++|**        DOL - DETERMINE OPTIONS FROM LIST.
00136  M00S00133.send    +++|*
00137  M00S00134.send    +++|*         DETERMINE OPTIONS FROM LIST PARSES THE PARAMETER LIST
00138  M00S00135.send    +++|*         OF THE USER TASK, DETERMINING WHAT OPTIONS THE USER
00139  M00S00136.send    +++|*         DESIRES.  EACH OPTION IS DETERMINED BY THE EXISTENCE OF
00140  M00S00137.send    +++|*         THE PARAMETER AND ONCE THE LIST IS TRUNCATED, ALL
00141  M00S00138.send    +++|*         OPTIONS WHICH LIE TO THE RIGHT OF THAT PARAMETER ARE
00142  M00S00139.send    +++|*         GIVEN DEFAULT VALUES.
00143  M00S00140.send    +++|*
00144  M00S00141.send    +++|*         ENTRY  (X2) = MESSAGE LENGTH.
00145  M00S00142.send    +++|*                (X3) = ADDRESS OF CURRENT PARAMETER.
00146  M00S00143.send    +++|*                (X7) = NON-ZERO IF COBOL CALL.
00147  M00S00144.send    +++|*                (A3) = ADDRESS OF CURRENT LIST PARAMETER.
00148  M00S00145.send    +++|*
00149  M00S00146.send    +++|*         EXIT   (X3) = OPTIONS ARE FLAGGED IN UPPER SIX BITS.
00150  M00S00147.send    +++|*                (X6) = ALTERNATE TERMINAL FLAG - IF PRESENT.
00151  M00S00148.send    +++|*                (X7) = ALTERNATE TERMINAL NAME - ZERO IF NONE.
00152  M00S00149.send    +++|*                (SENF) = ADDRESS OF LOCATION REQUESTING NETWORK STATUS.
00153  M00S00150.send    +++|*
00154  M00S00151.send    +++|*         USES   A - ALL.
00155  M00S00152.send    +++|*                B - 4, 7.
00156  M00S00153.send    +++|*                X - ALL.
00157  M00S00154.send    +++|*
00158  M00S00155.send    +++|*         CALLS  ZFN.
00159  M00S00156.send    +++|
00160  M00S00157.send    +++|
00161  M00S00158.send    +++| DOL      SUBR               ENTRY/EXIT
00162  M00S00159.send    +++|          NZ     X7,DOL1     IF COBOL CALL
00163  M00S00160.send    +++|          SA2    X3          READ LENGTH
00164  M00S00161.send    +++|          SX6    X2          SAVE MESSAGE LENGTH
00165  M00S00162.send    +++|          SA3    A3+B1       READ ADDRESS OF TERMINAL NAME
00166  M00S00163.send    +++|          UX2    X2          ASSUME MIXED PARAMETERS
00167  M00S00164.send    +++|          SA6    SENI
00168  M00S00165.send    +++| DOL1     BX5    X5-X5       ASSUME CEASE = 0
00169  M00S00166.send    +++|          SX4    B0
00170  M00S00167.send    +++|          ZR     X3,DOL5     IF NO TERMINAL NAME, CEASE FLAG, OUTPUT
00171  M00S00168.send    +++|          SA4    X3          READ TERMINAL NAME
00172  M00S00169.send    +++|          UX1,B4 X4          COBOL COMPUTATIONAL-1 ARGUMENT
00173  M00S00170.send    +++|          ZR     X1,DOL2     IF NO TERMINAL NAME
00174  M00S00171.send    +++|          MX0    42
00175  M00S00172.send    +++|          BX1    X0*X4
00176  M00S00173.send    +++|          RJ     ZFN         ZERO FILL NAME
00177  M00S00174.send    +++| DOL2     BX4    X1          SAVE TERMINAL NAME
00178  M00S00175.send    +++|          SA3    A3+B1       READ CEASE FLAG PARAMETER
00179  M00S00176.send    +++|          ZR     X3,DOL5     IF NO CEASE FLAG AND OUTPUT FLAG
00180  M00S00177.send    +++|          SA5    X3          READ CEASE FLAG
00181  M00S00178.send    +++|          SA3    A3+B1       OUTPUT FLAG ADDRESS
00182  M00S00179.send    +++|          ZR     X3,DOL5     IF NO OUTPUT FLAG
00183  M00S00180.send    +++|          SB7    A3          SAVE ADDRESS OF CURRENT PARAMETER.
00184  M00S00181.send    +++|          MX7    1
00185  M00S00182.send    +++|          SA3    X3          OUTPUT FLAG
00186  M00S00183.send    +++|          UX3    X3
00187  M00S00184.send    +++|          ZR     X3,DOL3     IF LAST SEND
00188  M00S00185.send    +++|          MX3    1           (X3) = STAGING REGISTER FOR *SEND* OPTIONS
00189  M00S00186.send    +++|          LX3    57-59       OUTPUT FLAG
00190  M00S00187.send    +++| DOL3     SA1    B7+B1       NAM APPLICATION BLOCK FLAG
00191  M00S00188.send    +++|          ZR     X1,DOL5     IF NO BLOCK FLAG
00192  M00S00189.send    +++|          LX7    56-59       SET *B* FIELD IN HEADER
00193  M00S00190.send    +++|          SX6    X1          SAVE BLOCK PARAMETER ADDRESS
00194  M00S00191.send    +++|          SA2    X6          READ BLOCK NUMBER
00195  M00S00192.send    +++|          SA6    SENK
00196  M00S00193.send    +++|          UX2    X2
00197  M00S00194.send    +++|          NZ     X2,DOL4     IF (BLOCK) .NE. ZERO
00198  M00S00195.send    +++|          BX3    X7+X3
00199  M00S00196.send    +++| DOL4     SA1    A1+B1       READ STATUS PARAMETER
00200  M00S00197.send    +++|          SA2    X1
00201  M00S00198.send    +++|          ZR     X1,DOL5     IF STATUS NOT SPECIFIED
00202  M00S00199.send    +++|          UX2    X2
00203  M00S00200.send    +++|          ZR     X2,DOL4.1   IF (STATUS) .EQ. ZERO
00204  M00S00201.send    +++|          LX7    55-56       SET *R* FIELD IN HEADER
00205  M00S00202.send    +++|          BX3    X3+X7
00206  M00S00203.send    +++|          SX7    X1          SAVE STATUS PARAMETER ADDRESS
00207  M00S00204.send    +++|          SA7    SENF
00208  M00S00205.send    +++| DOL4.1   SA2    SENH        COBOL CALL FLAG
00209  M00S00206.send    +++|          PL     X2,DOL5     IF NOT COBOL CALL
00210  M00S00207.send    +++|          SA1    A1+1        READ LENGTH PARAMETER
00211  M00S00208.send    +++|          ZR     X1,DOL5     IF PARAMETER NOT PRESENT
00212  M00S00209.send    +++|          SA1    X1          SAVE COBOL MESSAGE LENGTH
00213  M00S00210.send    +++|          UX6    X1
00214  M00S00211.send    +++|          SA6    SENI
00215  M00S00212.send    +++| DOL5     BX7    X4
00216  M00S00213.send    +++|          MX4    1
00217  M00S00214.send    +++|          ZR     X7,DOL6     IF NO ALTERNATE TERMINAL DECLARED
00218  M00S00215.send    +++|          BX3    X4+X3       SET ALTERNATE TERMINAL FLAG
00219  M00S00216.send    +++| DOL6     LX4    54-59       SET APPLICATION BLOCK HEADER FLAG
00220  M00S00217.send    +++|          BX3    X4+X3
Line S00001 Modification History
M01 (Added by) send1
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00218.send    +++|          EQ     DOLX        RETURN
00225  M00S00219.send    +++| FEL      SPACE  4,20
00226  M00S00220.send    +++|**        FEL - FORCE END OF LINE.
00227  M00S00221.send    +++|*
00228  M00S00222.send    +++|*         FORCE *EOL* FOR TELEX COMPATIBILITY.  THIS CODE SEGMENT
00229  M00S00223.send    +++|*         IS UNNECESSARY FOR *NAM* TELE-COMMUNICATIONS, SINCE THE
00230  M00S00224.send    +++|*         EXACT CHARACTER COUNT IS REQUIRED IN THE *ABH*, TO INCLUDE
00231  M00S00225.send    +++|*         THE UNIT SEPARATOR, WILL ACCOMPANY ALL *SEND* REQUESTS TO
00232  M00S00226.send    +++|*         THE NETWORK.
00233  M00S00227.send    +++|*
00234  M00S00228.send    +++|*         ENTRY  (X1) = FWA OF MESSAGE.
00235  M00S00229.send    +++|*                (X2) = USER DECLARED CHARACTER COUNT AFTER TRUNCATION.
00236  M00S00230.send    +++|*                (X3) = HEADER OF WORD ONE OF *SEND* PARAMETER BLOCK.
00237  M00S00231.send    +++|*
00238  M00S00232.send    +++|*         EXIT   (B3) = CHARACTERS IN LAST WORD OF MESSAGE.
00239  M00S00233.send    +++|*                (SENB - SENB+4) UPDATED.
00240  M00S00234.send    +++|*                (ABH) UPDATED BY (TLC).
00241  M00S00235.send    +++|*
00242  M00S00236.send    +++|*         USES   A - 1, 2, 3, 6, 7.
00243  M00S00237.send    +++|*                B - 3, 4, 7.
00244  M00S00238.send    +++|*                X - ALL.
00245  M00S00239.send    +++|
00246  M00S00240.send    +++|
00247  M00S00241.send    +++| FEL      SUBR               ENTRY/EXIT
00248  M00S00242.send    +++|          SX5    X2+9        COMPUTE NUMBER OF WORDS IN MESSAGE
00249  M00S00243.send    +++|          SX4    10
00250  M00S00244.send    +++|          BX6    X1          INSERT MESSAGE ADDRESS
00251  M00S00245.send    +++|          IX5    X5/X4       NUMBER OF WORDS
00252  M00S00246.send    +++|          LX6    30          INSERT NUMBER OF WORDS INTO BLOCK HEADER
00253  M00S00247.send    +++|          BX7    X6+X5
00254  M00S00248.send    +++|          BX7    X7+X3       INSERT SEQUENCE, BLOCK FLAG
00255  M00S00249.send    +++|          SA7    SENB        STORE ARGUMENT WORD
00256  M00S00250.send    +++|          SA3    ABH.
00257  M00S00251.send    +++|          LX3    59-22
00258  M00S00252.send    +++|          PL     X3,FEL2     IF *ACT* .NE. *DISPLAY*
00259  M00S00253.send    +++|          SX3    10
00260  M00S00254.send    +++|          IX0    X3*X5
00261  M00S00255.send    +++|          IX0    X0-X2
00262  M00S00256.send    +++|          IX7    X3-X0
00263  M00S00257.send    +++|          IX5    X1+X5       (X5) = LAST WORD ADDRESS OF MESSAGE
00264  M00S00258.send    +++|          SA3    X5-1        SAVE LWA OF MESSAGE
00265  M00S00259.send    +++|          BX6    X3
00266  M00S00260.send    +++|          SB4    B0          (B4) = 0 WHEN (X7) = 0
00267  M00S00261.send    +++|          SA6    SENC
00268  M00S00262.send    +++|          SA2    A3+B1
00269  M00S00263.send    +++|          BX6    X2
00270  M00S00264.send    +++|          SA6    A6+B1
00271  M00S00265.send    +++|          SX6    A3
00272  M00S00266.send    +++|          SA6    SENL        LWA OF MESSAGE
00273  M00S00267.send    +++|          SA2    SENB
00274  M00S00268.send    +++|          ZR     X0,FEL1     IF LAST WORD IS FULL
00275  M00S00269.send    +++|
00276  M00S00270.send    +++|*         REMOVE TRAILING CHARACTERS FROM LAST WORD.
00277  M00S00271.send    +++|
00278  M00S00272.send    +++|          SB4    X7-9        (B4) = NUMBER OF CHARACTERS IN WORD
00279  M00S00273.send    +++|          SB3    X0          (B3) = NUMBER OF TRAILING CHARACTERS
00280  M00S00274.send    +++|          LX7    X0,B1       TRAILING CHARACTERS*2
00281  M00S00275.send    +++|          LX0    2           MULTIPLY BY 4
00282  M00S00276.send    +++|          IX7    X0+X7       NUMBER OF TRAILING BITS
00283  M00S00277.send    +++|          SB7    X7-59
00284  M00S00278.send    +++|          MX4    1
00285  M00S00279.send    +++|          LX4    X4,B7
00286  M00S00280.send    +++|          BX7    X4*X3       STRIP TRAILING CHARACTER FIELDS
00287  M00S00281.send    +++|          SA7    A3
00288  M00S00282.send    +++|          SA3    SENI        INCREMENT TLC TO INCLUDE UNIT SEPARATOR
00289  M00S00283.send    +++|          SX7    X3+B3
00290  M00S00284.send    +++|          SA7    A3
00291  M00S00285.send    +++| FEL1     NZ     B4,FEL2     IF FEWER THAN NINE CHARACTERS
00292  M00S00286.send    +++|
00293  M00S00287.send    +++|*         PROCESS CASE WHERE LAST WORD IS FULL - REQUIRING EXTRA WORD
00294  M00S00288.send    +++|*         FOR EOL.
00295  M00S00289.send    +++|
00296  M00S00290.send    +++|          SA2    SENB
00297  M00S00291.send    +++|          SX6    B1
00298  M00S00292.send    +++|          IX6    X2+X6       INCREMENT WORD COUNT
00299  M00S00293.send    +++|          SA6    A2
00300  M00S00294.send    +++|          BX6    X6-X6
00301  M00S00295.send    +++|          SA6    X5+
00302  M00S00296.send    +++|          SA3    SENI        INCREMENT TLC TO INCLUDE UNIT SEPARATOR
00303  M00S00297.send    +++|          SB3    10
00304  M00S00298.send    +++|          SX6    X3+B3
00305  M00S00299.send    +++|          SA6    A3
00306  M00S00300.send    +++|
00307  M00S00301.send    +++|*         CONSTRUCT ABH FOR *SEND*.
00308  M00S00302.send    +++|
00309  M00S00303.send    +++| FEL2     MX0    -12         (X0) = *ABN* AND *TLC* MASK
00310  M00S00304.send    +++|          BX7    X7-X7
00311  M00S00305.send    +++|          SA1    SENK        READ BLOCK PARAMETER ADDRESS
00312  M00S00306.send    +++|          SB3    B4          (B3) = NUMBER OF CHARACTERS IN LAST WORD
00313  M00S00307.send    +++|          SA3    ABH.        READ CURRENT *ABH*
00314  M00S00308.send    +++|          MX6    6
00315  M00S00309.send    +++|          ZR     X1,FEL3     IF NO BLOCK OR STATUS PARAMETERS PRESENT
00316  M00S00310.send    +++|          SA1    X1
00317  M00S00311.send    +++|          SX7    X1          APPLICATION BLOCK NUMBER
00318  M00S00312.send    +++|          ZR     X7,FEL3     IF NO BLOCK NUMBER
00319  M00S00313.send    +++|          LX0    41-11
00320  M00S00314.send    +++|          BX3    X0*X3       INSERT BLOCK NUMBER INTO *ABH*
00321  M00S00315.send    +++|          LX7    41-17
00322  M00S00316.send    +++|          LX0    11-41
00323  M00S00317.send    +++| FEL3     BX7    X7+X3
00324  M00S00318.send    +++|          BX7    X0*X7       SET *TLC* INTO *ABH*
00325  M00S00319.send    +++|          BX7    -X6*X7      CLEAR APPLICATION BLOCK TYPE
00326  M00S00320.send    +++|          SX1    B1+B1       SET MSG ABT
00327  M00S00321.send    +++|          LX2    59-57
00328  M00S00322.send    +++|          PL     X2,FEL4     IF NO OUTPUT TO FOLLOW
00329  M00S00323.send    +++|          SX1    B1          SET *BLK* *BLK* ABT
00330  M00S00324.send    +++| FEL4     LX1    59-5
00331  M00S00325.send    +++|          BX7    X1+X7       SET APPLICATION BLOCK TYPE
00332  M00S00326.send    +++|          SA2    SENI        SET TLC INTO ABH
00333  M00S00327.send    +++|          BX7    X7+X2
00334  M00S00328.send    +++|          SA7    SENB+2
00335  M00S00329.send    +++|          EQ     FELX        RETURN
00336  M00S00330.send    +++| RST      SPACE  4,20
00337  M00S00331.send    +++|**        RST - RETURN STATUS TO TASK.
00338  M00S00332.send    +++|*
00339  M00S00333.send    +++|*         RETURN NETWORK SUPERVISORY MESSAGE TO TASK IF RECALL
Line S00334 Modification History
M01 (Removed by) send1
Seq #  *Modification Id* Act 
----------------------------+
00340  M01S00334.send1   ---|*         PARAMETER WERE SPECIFIED, AND EXECUTE TASK CEASE - IF SO
00341  M01S00335.send1   ---|*         REQUESTED.
Line S00004 Modification History
M01 (Added by) send1
Seq #  *Modification Id* Act 
----------------------------+
00342  M01S00004.send1   +++|*         PARAMETER WERE SPECIFIED.
00343  M00S00336.send    +++|*
00344  M00S00337.send    +++|*         ENTRY  (B5) .NE. ZERO IF CEASE REQUESTED.
00345  M00S00338.send    +++|*                (B3) = NUMBER OF CHARACTERS IN LAST WORD OF MESSAGE.
00346  M00S00339.send    +++|*                (X5) = ADDRESS OF TEMPORARY STORAGE LOCATION.
00347  M00S00340.send    +++|*
00348  M00S00341.send    +++|*         EXIT   (X6) .LT. 0 - IF ILLEGAL SUPERVISORY MESSAGE.
00349  M00S00342.send    +++|*                (BLOCK) RETURNED TO TASK IF (BLOCK) .NE. ZERO
00350  M00S00343.send    +++|*                UPON ENTRY TO *SEND*.
00351  M00S00344.send    +++|*                (STATUS) = TAF STATUS MESSAGE, DERIVED FROM (SENB+3).
Line S00345 Modification History
M01 (Removed by) send1
Seq #  *Modification Id* Act 
----------------------------+
00352  M01S00345.send1   ---|*                TASK CEASES - IF CEASE OPTION SPECIFIED.
00353  M00S00346.send    +++|*
00354  M00S00347.send    +++|*         USES   A - 1, 2, 3, 4, 6, 7.
00355  M00S00348.send    +++|*                B - 3, 4.
00356  M00S00349.send    +++|*                X - 0, 1, 2, 3, 4, 6, 7.
00357  M00S00350.send    +++|
00358  M00S00351.send    +++|
00359  M00S00352.send    +++| RST      SUBR               ENTRY/EXIT
00360  M00S00353.send    +++|          SB4    TSENL-1
00361  M00S00354.send    +++|          SA2    SENB
00362  M00S00355.send    +++|          LX2    59-56
00363  M00S00356.send    +++|          PL     X2,RST1     IF APPLICATION BLOCK NOT TO BE RETURNED
00364  M00S00357.send    +++|          MX0    12
00365  M00S00358.send    +++|          SA3    SENB+1      BLOCK NUMBER
00366  M00S00359.send    +++|          SA2    SENK        FWA OF BLOCK
00367  M00S00360.send    +++|          SX3    X3
00368  M00S00361.send    +++|          SA4    X2
00369  M00S00362.send    +++|          BX7    X0*X4       CLEAR OLD BLOCK NUMBER
00370  M00S00363.send    +++|          BX7    X7+X3       NEW BLOCK NUMBER
00371  M00S00364.send    +++|          SA7    A4+         RETURN BLOCK NUMBER
00372  M00S00365.send    +++| RST1     SA1    SENF        READ STATUS REQUEST
00373  M00S00366.send    +++|          SX4    X1+
00374  M00S00367.send    +++|          ZR     X1,RST4     IF STATUS NOT REQUESTED
00375  M00S00368.send    +++|          SA1    SENM
00376  M00S00369.send    +++|          SA2    SENB+3      SUPERVISORY MESSAGE RETURNED FROM NETWORK
00377  M00S00370.send    +++|          BX0    X1*X2
00378  M00S00371.send    +++|
00379  M00S00372.send    +++|*         DETERMINE SUPERVISORY MESSAGE VIA TABLE LOOK-UP.
00380  M00S00373.send    +++|
00381  M00S00374.send    +++| RST2     SA3    TSEN+B4     READ CURRENT TABLE ENTRY
00382  M00S00375.send    +++|          BX6    X1*X3
00383  M00S00376.send    +++|          IX6    X6-X0
00384  M00S00377.send    +++|          SB4    B4-B1
00385  M00S00378.send    +++|          ZR     X6,RST3     IF ENTRY AND MESSAGE MATCH
00386  M00S00379.send    +++|          MX6    1
00387  M00S00380.send    +++|          GE     B4,RST2     IF TABLE NOT EXHAUSTED
00388  M00S00381.send    +++|          EQ     RSTX        RETURN
00389  M00S00382.send    +++|
00390  M00S00383.send    +++| RST3     SX6    X3          RETURN MESSAGE NUMBER TO (STATUS)
00391  M00S00384.send    +++|          PX6    X6
00392  M00S00385.send    +++|          SA6    X4+
00393  M00S00386.send    +++| RST4     SA3    ABH.        READ ABH
00394  M00S00387.send    +++|          SA1    SENC        RESTORE LAST WORD
00395  M00S00388.send    +++|          LX3    59-22
00396  M00S00389.send    +++|          PL     X3,RST5     IF NOT DISPLAY
00397  M00S00390.send    +++|          BX6    X1
00398  M00S00391.send    +++|          SA2    SENL        RESTORE LAST TWO WORDS
00399  M00S00392.send    +++|          SA6    X2
00400  M00S00393.send    +++|          SA1    A1+B1
00401  M00S00394.send    +++|          BX6    X1
00402  M00S00395.send    +++|          SA6    A6+B1
00403  M00S00396.send    +++| RST5     SA1    SENG        RESTORE (A0)
00404  M00S00397.send    +++|          SA0    X1
00405  M00S00398.send    +++|          BX6    X6-X6       SET NON-ERROR CONDITION
Line S00399 Modification History
M01 (Removed by) send1
Seq #  *Modification Id* Act 
----------------------------+
00406  M01S00399.send1   ---|          ZR     B5,RSTX     IF CEASE NOT REQUESTED - RETURN
00407  M01S00400.send1   ---|          CEASE  B0          EXIT TO EXECUTIVE
Line S00005 Modification History
M01 (Added by) send1
Seq #  *Modification Id* Act 
----------------------------+
00408  M01S00005.send1   +++|          EQ     RSTX        RETURN
00409  M00S00401.send    +++|          SPACE  4,10
00410  M00S00402.send    +++|*         PROGRAM CONSTANTS AND TEMPORARY STORAGE.
00411  M00S00403.send    +++|
00412  M00S00404.send    +++| ABH.     VFD    6/2,12/0,18/0,4/4,1/0,3/0,1/1,3/0,12/0
00413  M00S00405.send    +++| SENB     BSSZ   4           PARAMETER BLOCK FOR *SEND*
00414  M00S00406.send    +++| SENC     BSSZ   4           ARGUMENT STORAGE FOR *SEND*
00415  M00S00407.send    +++| SENE     CON    0           STORAGE FOR FWA OF CALL PARAMETERS
00416  M00S00408.send    +++| SENF     CON    0           STORAGE FOR STATUS ADDRESS
00417  M00S00409.send    +++| SENG     CON    0           STORAGE FOR (A0)
00418  M00S00410.send    +++| SENH     CON    0           COBOL CALL FLAG
00419  M00S00411.send    +++| SENI     CON    0           STORAGE FOR MESSAGE CHARACTER COUNT
00420  M00S00412.send    +++| SENJ     CON    0           STORAGE FOR MESSAGE FWA
00421  M00S00413.send    +++| SENK     CON    0           STORAGE FOR *BLOCK* PARAMETER ADDRESS
00422  M00S00414.send    +++| SENL     CON    0           STORAGE FOR LWA MESSAGE
00423  M00S00415.send    +++|
00424  M00S00416.send    +++|*         MASK FOR EXTRACTING SUPERVISORY MESSAGES.
00425  M00S00417.send    +++|
00426  M00S00418.send    +++| SENM     VFD    8/377B,1/0,1/0,6/77B,8/377B,36/0
00427  M00S00419.send    +++|          SPACE  4,10
00428  M00S00420.send    +++|*         TABLE OF SUPERVISORY MESSAGES.
00429  M00S00421.send    +++|
00430  M00S00422.send    +++| TSEN     BSS    0
00431  M00S00423.send    +++|          VFD    8/PFFC,1/0,1/0,6/SFAK,8/0,36/1
00432  M00S00424.send    +++|          VFD    8/PFFC,1/0,1/0,6/SFAX,8/AXLB,36/2
Line S00425 Modification History
M01 (Removed by) ns22000
Seq #  *Modification Id* Act 
----------------------------+
00433  M01S00425.ns22000 ---|          VFD    8/PFFC,1/0,1/0,6/SFBK,8/BKU1,36/3
00434  M01S00426.ns22000 ---|          VFD    8/PFFC,1/0,1/0,6/SFBK,8/BKU2,36/4
00435  M01S00427.ns22000 ---|          VFD    8/PFFC,1/0,1/0,6/SFBK,8/BKNR,36/5
00436  M01S00428.ns22000 ---|          VFD    8/PFFC,1/0,1/0,6/SFBK,8/BKIF,36/6
Line S00429 Modification History
M01 (Removed by) ns2337
Seq #  *Modification Id* Act 
----------------------------+
00437  M01S00429.ns2337  ---|          VFD    8/PFFC,1/0,1/0,6/SFSU,8/SUTB,36/7
00438  M01S00430.ns2337  ---|          VFD    8/PFFC,1/0,1/0,6/SFSU,8/SUTF,36/8
00439  M01S00431.ns2337  ---|          VFD    8/PFFC,1/0,1/0,6/SFSU,8/SUBI,36/9
00440  M00S00432.send    +++|          VFD    8/PFCN,1/0,1/0,6/SFEN,8/0,36/10
00441  M00S00433.send    +++|          VFD    8/PFCN,1/0,1/0,6/SFCB,8/CBLF,36/11
00442  M00S00434.send    +++| TSENL    EQU    *-TSEN      LENGTH ON MESSAGE TABLE
00443  M00S00435.send    +++|*         COMMON DECK.
00444  M00S00436.send    +++|*CALL     COMKZFN
00445  M00S00437.send    +++|          SPACE  4,10
00446  M00S00438.send    +++|          END
cdc/nos2.source/opl.opl871/deck/send.txt ยท Last modified: (external edit)