SPL,L,O,"<TABS>"
! 
      NAME TABS(7) "92425-16030 REV.1841 780927"
! 
!-------------------------------------------------------------
! 
! 
!     F. WARREN         17MAY76    REV. A 
! 
!     "C" COPYRIGHT HEWLETT-PACKARD COMPANY 1976. 
!     ALL RIGHTS RESERVED.  NO PART OF THIS PROGRAM 
!     MAY BE PHOTOCOPIED, REPRODUCED OR TRANSLATED
!     TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR 
!     WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY. 
! 
!-------------------------------------------------------------
! 
! 
! 
! 
      LET PUT BE SUBROUTINE,EXTERNAL,DIRECT   ! PUT A CHAR
! 
! 
!     TABS                             GENERAL STRING TAB ROUTINE 
! 
TABS: SUBROUTINE (TBSTR, N,MAX) GLOBAL
      LET TBSTR(1) BE INTEGER          ! STRING TO BE TABBED
      B_.B.                            ! LAST PARM @
      OP_B-(@TABS-1)                   ! # OPTIONAL PARMS (1 OR 0)
      IF N<=0 THEN RETURN              ! ILLEGAL TAB
      IF OP=0 THEN GOTO TQ             ! NO MAX CHECKING
      IF N>MAX THEN N_MAX+1            ! TAB TO MAX LIMIT 
TQ:   Q _ N - 1                        ! GET CCNT 
TAB1: IF TBSTR(1) >= Q THEN RETURN     ! ARE WE DONE? 
      .B. _ @TBSTR                     ! POINT TO STRING
      .A. _ " "                        ! PASS A BLANK 
      PUT                              ! PUT IT ON THE STRING 
      GO TO TAB1                       ! LOOP UNTIL DONE
      END                              !
      END 
END$
                                                