   SUBROUTINE CARRY(OBJECT,WHERE)
      USE ALLCOM

!     START TOTING AN OBJECT, REMOVING IT FROM THE LIST OF THINGS AT ITS FORMER LOCATION.  
!     IF OBJECT>MAXOBJ (MOVING "FIXED" SECOND LOC),DON'T CHANGE PLACE.

      INTEGER OBJECT,WHERE,TEMP

      IF (OBJECT.LE.MAXOBJ) THEN
         IF (PLACE(OBJECT).EQ.-1) RETURN
         PLACE(OBJECT)=-1
      ENDIF
      IF (ATLOC(WHERE).EQ.OBJECT) THEN
         ATLOC(WHERE)=LINK(OBJECT)
      ELSE
         TEMP=ATLOC(WHERE)

   7     IF (LINK(TEMP).NE.OBJECT) THEN
            TEMP=LINK(TEMP)
            IF (TEMP.NE.0) GO TO 7
            CALL BUG('TRYING TO CARRY A NON-EXISTENT OBJECT')
         ENDIF

         LINK(TEMP)=LINK(OBJECT)
      ENDIF
      END