*DECK     MBZ 
          IDENT  MBZ
 MBZ      TITLE  MBZ - CALCULATE MAXIMUM BLOCK SIZE.
          SST 
          SYSCOM B1 
          ENTRY  MBZ
          SPACE  4
**        MBZ - CALCULATE MAXIMUM BLOCK SIZE. 
* 
*         MBZ CALCULATES THE MAXIMUM BLOCK SIZE FOR FILE TRANSFER 
*         BASED ON THE FOLLOWING TABLE -
* 
*         +--------------------------------------------+--------+ 
*         :                  NAM                       :  RHF   : 
*         +------+-------------------------------------+--------+ 
*         :      :           DBZ                       :        : 
*         : DD   +-------------------------------------+        : 
*         :      : 1 - 959 : 960 - 1439 : 1440 PLUS    :        : 
*         +------+---------+------------+--------------+--------+ 
*         : UH(0):   480   :    960     :    1440      : 2880   : 
*         +------+---------+------------+--------------+--------+ 
*         : US(1):   480   :    960     :    1440      : 2880   : 
*         +------+---------+------------+--------------+--------+ 
*         : UU(2):   480   :    960     :    1440      : 2880   : 
*         +------+---------+------------+--------------+--------+ 
*         : C6(3):                                     :        : 
*         : C8(4):         [DBZ/128]*128 - 6           : 3840   : 
*         :      :      RANGE IS 122 - 1914 (INCLUSIVE):        : 
*         +------+-------------------------------------+--------+ 
* 
*         WHERE [DBZ/128] IS THE INTEGER DIVISION OF DBZ BY 128.
* 
*         CALL FORMAT - 
*         I = MBZ(DD,DBZ,NAM) 
* 
*         WHERE  DD - DATA DECLARATION (0-4). 
*                DBZ - DOWN LINE BLOCK SIZE.
*                NAM - 1 IF ACCESS THROUGH NAM SUBSYSTEM. 
*                      0 IF ACCESS THROUGH RHF SUBSYSTEM. 
* 
*         ENTRY  (A1)/(X1) = FWA OF PARAMETER LIST. 
* 
*         EXIT   (X6) = INTEGER VALUE OF MAXIMUM BLOCK SIZE.
  
 MINBSZ   EQU    122         MINIMUM BLOCK SIZE 
 MAXBSZ   EQU    1914        MAXIMUM BLOCK SIZE 
  
  
 MBZ      SUBR               ENTRY/EXIT 
          SA2    X1          GET DD 
          SB1    1
          SA3    A1+B1       GET ADDRESS OF DBZ 
          SB7    X2-1 
          SA4    A3+B1       GET ADDRESS OF NAM 
          SA4    X4 
          NZ     X4,MBZ1     IF COMMUNICATING WITH NAM
  
*         ACCESS THROUGH *RHF* SUBSYSTEM. 
  
          SX6    2880        ASSUME US, UU OR UH
          LE     B7,B1,MBZX  IF US, UU OR UH
          SX6    3840 
          EQ     MBZX        RETURN 
  
*         ACCESS THROUGH *NAM* SUBSYSTEM. 
  
 MBZ1     SX6    480         PROCESS UH, US, AND UU 
          SA3    X3          GET DBZ
          GT     B7,B1,MBZ2  IF C6 OR C8
          SX4    X3-960 
          NG     X4,MBZX     IF LESS THAN 960 
          SX6    960
          SX4    X3-1440
          NG     X4,MBZX     IF LESS THAN 1440 BUT GREATER THAN 959 
          SX6    1440 
          EQ     MBZX        RETURN 
  
*         PROCESS C6 AND C8.
  
 MBZ2     SX1    128         CALCULATE MAXIMUM BLOCK SIZE 
          BX6    X1 
          IX6    X3/X6
          IX6    X6*X1
          SX6    X6-6 
          NG     X6,MBZ3     IF BLOCK SIZE NEGATIVE 
          SX1    X6-MAXBSZ   CHECK IS EXCEED MAXIMUM VALUE
          NG     X1,MBZX     IF WITHIN RANGE
          SX6    MAXBSZ      RESET TO MAXIMUM VALUE 
          EQ     MBZX        RETURN 
  
 MBZ3     SX6    MINBSZ      RESET MINIMUM VALUE TO MINBSZ(122) 
          EQ     MBZX        RETURN 
  
          END 
