C+
C NAME:
C	ArrI1Copy
C PURPOSE:
C	Copy integer*1 (signed byte) array
C CALLING SEQUENCE:
	subroutine ArrI1Copy(N,A,C)
C CALLS:
C	BadI1
C SEE ALSO:
C	Array_Info
C-
	    integer	N
	    integer*1	A(*)
	    integer*1	C(*)

	integer*1	BadI1
	integer*1	ibad

	iA = loc(A)
	iC = loc(C)
	if (iA .eq. iC) return			! Source = Destination

	ibad = BadI1()
	call ArrayLoc2(iA,iC,abs(N),4,I1,I2,I3)	! Set direction of DO-loop

	do I=I1,I2,I3
	    if (N .gt. 0 .or. A(I) .ne. ibad) C(I) = A(I)
	end do

	return
	end
