SUBROUTINE SET(VALUE,BUF,COUNT) INTEGER VALUE,COUNT,BUF(COUNT) INTEGER DVALUE,MASK DATA MASK/Z0000FFFF/ IDX=ISHFT(COUNT,-1) IF(IDX.LE.0)GOTO 20 DVALUE=ISHFT(VALUE,16)+VALUE DO 10 I=1,IDX BUF(I)=DVALUE 10 CONTINUE 20 CONTINUE IF(IAND(COUNT,1).EQ.0)GOTO 30 BUF(IDX+1)=IAND(BUF(IDX+1),MASK)+ISHFT(VALUE,-16) 30 CONTINUE RETURN END