*DECK FACBTD
USETEXT COMCBEG 
    PROC FACBTD (INSTR,TEXT,TEXTL); 
      BEGIN 
# 
**    FACBTD - CONVERT FACILITIES ATTRIBUTE BIT STRING TO DISPLAY CODE. 
* 
*     PROC       FACBTD (INSTR,TEXT,TEXTL)
* 
*     ENTRY      INSTR  = BIT STRING (BITS 1..36 INDICATE *A*..*9*) 
*                TEXTL  = MAXIMUM NUMBER OF CHARACTERS. 
* 
*     EXIT       TEXT   = FACILITY TEXT 
*                TEXTL  = ACTUAL NUMBER OF CHARACTERS.
*                INSTR  = BITS NOT CONVERTED. 
*                       = 0 IF ALL BITS CONVERTED.
# 
  
      ITEM INSTR      U;
      ITEM TEXT       U;
      ITEM TEXTL      I;
  
      BASED ARRAY TEXTA [0:0] S(1); 
        BEGIN 
        ITEM TEXTC      C(00,00,240); 
        END 
  
      ITEM BITSTR     U;
      ITEM I          I;
      ITEM TC         I;
  
      P<TEXTA> = LOC(TEXT); 
      TC = 0; 
      TEXT = 0; 
      BITSTR = INSTR LAN O"37777777777740000000"; 
      FOR I = 1 STEP 1 WHILE (I LQ 37)
                         AND (BITSTR NQ 0)
                         AND (TC LS TEXTL)
      DO
        BEGIN 
        IF B<I,1>BITSTR NQ 0
        THEN
          BEGIN 
          B<I,1>BITSTR = 0; 
          C<TC,1>TEXTC = I; 
          TC = TC+1;
          END 
        END 
  
      TEXTL = TC; 
      INSTR = BITSTR; 
  
      END  # FACBTD # 
    TERM; 
