SPL,L,O 
! 
! 
! 
      NAME ASCII(7) "92425-16020 REV.1841 780927" 
! 
!-------------------------------------------------------------
! 
! 
!     F. WARREN         23SEP76    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
! 
!     ASCII                            INTEGER-TO-ASCII CONVERSION
! 
ASCII: SUBROUTINE (TEMP1,VAL) GLOBAL
      LET TEMP1(1) BE INTEGER 
      TEMP1(1) _ 0                     ! ZERO COUNT 
      IF VAL<0 THEN VT_ -VAL\          !
         ,ELSE VT_VAL                  ! VT ABS(VAL)
      NN _ 5                           ! MAX SIZE 99999 
      IF VT < 10000 THEN NN_4          ! 9999 
      IF VT < 1000  THEN NN_3          ! 999
      IF VT < 100 THEN NN _ 2          ! 99 
      IF VT < 10 THEN NN _ 1           ! 9
      JJ _ NN                          ! POSITION CNTR FOR +
      IF VAL>= 0 THEN GO TO AS1        ! POSITIVE 
      JJ _ NN+1                        !   POSITION CNTR FOR -
      TEMP1(2) _ 26400K                !   STUFF "-" IN 1ST BYTE
AS1:  FOR II _ 1 TO NN DO THRU BB      ! FOR ALL DIGITS 
         T3 _ VT / 10                  ! DIGIT DIVIDE 
         ACHR _ 60K + (VT - 10 * T3)   ! GET ASCII DIGIT
         TEMP1(1) _ JJ - II            ! SETUP STRING POS 
         VT _ T3                       ! USE MODULO 10 NEXT 
         .B. _ @TEMP1                  ! SETUP STRING ADDRESS 
         .A. _ ACHR                    ! PUT CHAR IN A
      BB: PUT                          ! PUT THE CHARACTER
      TEMP1(1) _ JJ                    ! CHAR CNT IN 1ST WORD 
      RETURN                           !
      END                              !
      END 
END$
                        