SUBROUTINE A5TOA1(A,B,C,CHARS,LENG) C C IN ORDER TO WORK ON A PDP-11, THIS HAS BEEN CHANGED TO BE C AN A4 TO A1 CONVERSION ROUTINE. C A AND B CONTAIN A 1- TO 8-CHARACTER WORD IN A4 FORMAT, C CONTAINS ANOTHER C WORD AND/OR PUNCTUATION. THEY ARE UNPACKED TO ONE CHARACTER PER WORD IN THE C ARRAY "CHARS", WITH EXACTLY ONE BLANK BETWEEN B AND C (OR NONE, IF C'S 100 C BIT IS OFF). C THE INDEX OF THE LAST NON-BLANK CHAR IN CHARS IS RETURNED IN LENG. IMPLICIT INTEGER*4 (A-Z) C INTEGER*2 ASCVAR CHARACTER*1 CHARS, BLANK DIMENSION CHARS(20),WORDS(3) DATA BLANK/' '/ NOPUN=0 C C NOPUN = 0 MEANS THAT WE DO NOT HAVE A PUNCTUATION CHARACTER. C NOPUN = -1 MEANS THAT WE DO HAVE A PUNCTUATION CHARACTER. C MASK=8#100 IF((C.AND.MASK).NE.MASK) NOPUN=-1 WORDS(1)=A WORDS(2)=B WORDS(3)=C POSN=1 DO 3 I=1,20 3 CHARS(I)=BLANK DO 1 WORD=1,3 MASK=8#377 IF(WORD.EQ.2.AND.POSN.NE.5) GOTO 1 IF(WORD.EQ.3.AND.NOPUN.EQ.0) POSN=POSN+1 DO 2 CH=1,4 CHARS(POSN)=(WORDS(WORD).AND.MASK) IF(CHARS(POSN).EQ.BLANK) GOTO 1 LENG=POSN WORDS(WORD)=ISHFT(WORDS(WORD),-8) 2 POSN=POSN+1 1 CONTINUE RETURN END