subroutine ussrd (im,g,iext,jext,ipix,ier)

c     read short-integer IRAF image file

      INTEGER   BFOPEN,BFFSIZ,BFREAD
      character pixfil*80
      integer   pixfd,pixoff,szline,ier
      integer*2 ipix(iext,jext)
      dimension g(iext,jext)

      call  IMPIXF(im,pixfd,pixfil,pixoff,szline,ier)
      call  IMCLOS(im,ier)
      ifd=  BFOPEN(pixfil,1,2)
      ifs=  BFFSIZ(ifd)
      ndata=BFREAD(ifd,ipix,ifs,pixoff)
      call  BFCLOS(ifd,istat)
      do j=1, jext
         do i=1, iext
            dum=ipix(i,j)
            if ( dum.lt.0.0 ) dum=dum+65536.0
            g(i,j)=dum
         end do
      end do

      return
      end