*COMDECK PILCBS 
_$J+  PAGE EJECT? 
_*****************************
*                            *
*           PILCBS           *
*     CREATE PORT AND CIB    *
*     TABLES                 *
*                            *
*****************************?
_$R-,G-,I-     NON-RECURSIVE
               INTERRUPTABLE ?
_***********************************************************************
*                                                                      *
** OVERVIEW -  THIS ROUTINE CREATES PORT AND CIB TABLES                *
*                                                                      *
** INPUT    -  BEGINNING ADDRESS OF BUFFER.                            *
*                                                                      *
** OUTPUT   -  STARTING ADDRESS OF EACH TABLE.                         *
*                                                                      *
** EXTERNAL SUBROUTINES USED -                                         *
*              NONE.                                                   *
*                                                                      *
***********************************************************************?
PROCEDURE PILCBS; 
_?
CONST 
      C4LCIBS  =  1;                        _LENGTH OF EACH CIB        ?
      C4LPORT  =  8;                        _LENGTH OF EACH PORT       ?
VAR 
      ROUND    : B0OVERLAY;                 _ROUND OFF WORD            ? CC4
VALUE                                                                    CC4
      ROUND    = 15;                        _ROUNDOFF VALUE            ? CC4
_?
BEGIN 
  B3SBUF.BAINT := B3SBUF.BAINT +                                         CC4
                  ROUND.BAINT;              _INCREMENT TO NEXT 16 WORDS? CC4
  B3SBUF.BASET := B3SBUF.BASET -                                         CC4
                  ROUND.BASET;              _ ROUND TO 16 WORD BOUNDRY ? CC4
                                                                         CC4
  BQCIBPTR        := B3SBUF.BAINTPTR;       _SET STARTING ADDR OF CIB  ?
  NAPORT          := BQCIBPTR +             _STARTING ADDR OF CIB TBL  ?
                          C4LCIBS *         _LENGTH OF CIB             ?
                                 B1CIBSZE;  _SIZE OF CIB TABLE         ?
  B3SBUF.BAINTPTR := NAPORT +               _STARTING ADDR OF PORT TBL ?
                          C4LPORT *         _LENGTH OF PORT            ?
                              (C4LCBS + 1); _SIZE OF PORT TABLE        ?
END;  _PILCBS?
