C***   MOVE



       SUBROUTINE MOVE(OBJECT,WHERE)

C  PLACE ANY OBJECT ANYWHERE BY PICKING IT UP AND DROPPING IT.  MAY ALREADY BE
C  TOTING, IN WHICH CASE THE CARRY IS A NO-OP.  MUSTN'T PICK UP OBJECTS WHICH
C  ARE NOT AT ANY LOC, SINCE CARRY WANTS TO REMOVE OBJECTS FROM ATLOC CHAINS.

       IMPLICIT INTEGER(A-Z)
       COMMON /PLACOM/ ATLOC(250),LINK(300),PLACE(150),
     1          FIXED(150),MAXOBJ
      LOGICAL ENCLSD

       IF(ENCLSD(OBJECT))CALL REMOVE(OBJECT)
       FROM=PLACE(OBJECT)
       IF(OBJECT.GT.MAXOBJ)FROM=FIXED(OBJECT-MAXOBJ)
       IF(FROM.GT.0.AND.FROM.LE.MAXOBJ*2)CALL CARRY(OBJECT,FROM)
       CALL DROP(OBJECT,WHERE)
       RETURN
       END
