SUBROUTINE ESP (WORD, BUF, LEFT, RIGHT)   
      INTEGER  WORD, BUF(1), LEFT, RIGHT
      INTEGER  CHAR, MFLAG, WORK, XMINUS, XZERO, COL
      DATA     XMINUS / 45 /
      DATA     XZERO  / 48 /
      IF (.NOT. (WORD .LT. 0))GO TO 13000   
    
      WORK = - WORD 
      MFLAG = 1 
      GO TO 13001   
13000 CONTINUE  
    
      WORK = WORD   
      MFLAG = 0 
13001 CONTINUE  
    
      COL = RIGHT   
      CONTINUE  
13002 CONTINUE  
    
      IF (.NOT.(COL .GE. LEFT))GO TO 13003  
    
      CHAR = MOD (WORK, 10) + XZERO 
      WORK = WORK / 10  
      CALL PCHAR (BUF, COL, CHAR)   
      COL = COL - 1 
      IF (.NOT. (WORK .LE. 0))GO TO 13004   
    
      GO TO 13003   
    
13004 CONTINUE  
    
      GO TO 13002   
13003 CONTINUE  
    
      IF (MFLAG .NE. 0 .AND. COL .GE. LEFT) CALL PCHAR (BUF, COL, XMINUS
     1) 
      RETURN
      END