SUBROUTINE PCHAR(BUF,IDX,CHAR) INTEGER BUF(1),IDX,CHAR,SHIFT(4),MASK(4) INTEGER IPOS DATA MASK/Z00FFFFFF,ZFF00FFFF,ZFFFF00FF,ZFFFFFF00/ DATA SHIFT/ 24, 16, 8, 0/ I=ISHFT(IDX+3,-2) IPOS=IAND(IDX-1,3)+1 BUF(I)=IAND(BUF(I),MASK(IPOS))+ISHFT(IAND(CHAR,255),SHIFT(IPOS)) RETURN END