MULTCB
          IDENT  MULTCB 
          ENTRY  LOADCB 
          ENTRY  RELSCB 
          TITLE  MULTCB - ACCESS MULTIPLE COMMUNICATION BLOCKS. 
*COMMENT  MULTCB - ACCESS MULTIPLE C.B.-S.
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4,10 
***       MULTCB - ACCESS MULTIPLE COMMUNICATION BLOCKS.
*         J.R. HOGUE.  74/11/06.
          SPACE  4
*CALL,COMCMAC 
*CALL,COMKMAC 
*CALL     COMSPRD 
 LOADCB   TITLE  READ MULTIPLE COMMUNICATION BLOCK INPUT. 
***       LOADCB - READ MULTIPLE COMMUNICATION BLOCK INPUT. 
* 
*         CALL FORMAT - 
* 
*         FORTRAN EXTENDED
*                CALL LOADCB(ADDR,LEN,STAT,REL) 
*         COBOL 
*                ENTER LOADCB USING ADDR STAT REL.
* 
*         WHERE  ADDR = FWA TO LOAD THE COMMUNICATION BLOCK(S). 
*                LEN  = MAXIMUM AMOUNT OF DATA TO TRANSFER TO THE TASK. 
*                STAT = AMOUNT OF DATA TRANSFERED TO THE TASK.
*                REL  = NONZERO TO RELEASE THE COMMUNICATION BLOCK(S).
  
  
 LOADCB   SUBR               ENTRY/EXIT 
          SB1    1
          SX6    X1          CHECK COBOL CALL 
          BX7    X1-X6
          SA3    A1+1        READ LENGTH OR STATUS ADDRESS
          NZ     X7,LOA3     IF COBOL CALL
          SA2    X3          READ LENGTH
          SA3    A3+1        ADDRESS OF STATUS WORD 
 LOA1     SA4    A3+B1       READ REL PARAMETER 
          MX7    1           REL BIT
          SA5    X4 
          LX2    30 
          BX6    X6+X2
          ZR     X5,LOA2     IF REL NOT REQUESTED 
          BX6    X7+X6
 LOA2     SA6    LOAA        REQUEST CONTROL WORD 
          LOADCB LOAA        LOAD COMMUNICATION BLOCKS
          SA6    X3          WRITE STATUS 
          JP     LOADCBX
  
*         COBOL BUFFER LENGTH IN CHARACTERS TO WORDS, DISCARD REMAINDERE
  
 LOA3     LX7    -36         BUFFER LENGTH IN CHARACTERS
          SX4    X7 
          SX7    10D         DIVIDE BY 10 AND TRUNCATE
          IX2    X4/X7
          JP     LOA1 
  
 LOAA     BSS    1
 RELSCB   TITLE  RELEASE MULTIPLE COMMUNICATION BLOCK(S). 
***       RELSCB - RELEASE THE MULTIPLE COMMUNICATION BLOCK(S) USED TO
*         CONTAIN LARGE TRANSACTION INPUTS. 
* 
*         CALL FORMAT - 
* 
*         FORTRAN EXTENDED
*                CALL RELSCB
*         COBOL 
*                ENTER RELSCB.
  
  
 RELSCB   SUBR               ENTRY/EXIT 
          RELSCB             RELEASE ANY EXTRA COMMUNICTION BLOCKS
          EQ     RELSCBX     RETURN 
  
  
          END 
