| 1 | SECT MOVE\r |
| 2 | / SUBROUTINE MOVE(OBJECT,WHERE)\r |
| 3 | / C\r |
| 4 | / C PLACE ANY OBJECT ANYWHERE BY PICKING IT UP AND DROPPING IT. MAY ALREADY BE\r |
| 5 | / C TOTING, IN WHICH CASE THE CARRY IS A NO-OP. MUSTN'T PICK UP OBJECTS WHICH\r |
| 6 | / C ARE NOT AT ANY LOC, SINCE CARRY WANTS TO REMOVE OBJECTS FROM ATLOC CHAINS.\r |
| 7 | / C\r |
| 8 | / IMPLICIT INTEGER (A-Z)\r |
| 9 | / COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG\r |
| 10 | / DIMENSION ATLOC(150),LINK(200),PLACE(100),FIXED(100)\r |
| 11 | / C\r |
| 12 | EXTERN CARRY\r |
| 13 | EXTERN DROP\r |
| 14 | JA #ST\r |
| 15 | #XR, ORG .+10\r |
| 16 | TEXT +MOVE +\r |
| 17 | #RET, SETX #XR\r |
| 18 | SETB #BASE\r |
| 19 | JA .+3\r |
| 20 | #BASE, ORG .+6\r |
| 21 | OBJECT, ORG .+3\r |
| 22 | WHERE, ORG .+3\r |
| 23 | HUND, F 100.0\r |
| 24 | THREHN, F 300.0\r |
| 25 | FROM, ORG .+3\r |
| 26 | ORG #BASE+30\r |
| 27 | FNOP\r |
| 28 | JA #RET\r |
| 29 | FNOP\r |
| 30 | #GOBAK, 0;0\r |
| 31 | #LBL=.\r |
| 32 | COMMON PLACOM\r |
| 33 | ATLOC, ORG .+0702\r |
| 34 | LINK, ORG .+1130\r |
| 35 | PLACE, ORG .+0454\r |
| 36 | FIXED, ORG .+0454\r |
| 37 | HOLDNG, ORG .+3\r |
| 38 | ORG #LBL\r |
| 39 | #RTN, BASE #BASE\r |
| 40 | JA #GOBAK\r |
| 41 | #ST, STARTD\r |
| 42 | 0210\r |
| 43 | FSTA #GOBAK,0\r |
| 44 | 0200\r |
| 45 | SETX #XR\r |
| 46 | SETB #BASE\r |
| 47 | LDX 0,1\r |
| 48 | FSTA #BASE\r |
| 49 | FLDA% #BASE,1+\r |
| 50 | FSTA OBJECT\r |
| 51 | FSTA #G3\r |
| 52 | FSTA #G2\r |
| 53 | FLDA% #BASE,1+\r |
| 54 | FSTA WHERE\r |
| 55 | FSTA #G4\r |
| 56 | STARTF\r |
| 57 | FLDA% OBJECT\r |
| 58 | ATX 7\r |
| 59 | / IF(OBJECT.GT.100)GOTO 1\r |
| 60 | FSUB HUND\r |
| 61 | ATX 5\r |
| 62 | JGT #1\r |
| 63 | / FROM=PLACE(OBJECT)\r |
| 64 | FLDA PLACE-3,7\r |
| 65 | FSTA FROM\r |
| 66 | / GOTO 2\r |
| 67 | JA #2\r |
| 68 | \r |
| 69 | / 1 FROM=FIXED(OBJECT-100)\r |
| 70 | #1, FLDA FIXED-3,5\r |
| 71 | FSTA FROM\r |
| 72 | \r |
| 73 | / 2 IF(FROM.GT.0.AND.FROM.LE.300)CALL CARRY(OBJECT,FROM)\r |
| 74 | #2, JLE #G1\r |
| 75 | FSUB THREHN\r |
| 76 | JGT #G1\r |
| 77 | JSR CARRY\r |
| 78 | JA .+6\r |
| 79 | #G2, JA .\r |
| 80 | JA FROM\r |
| 81 | / CALL DROP(OBJECT,WHERE)\r |
| 82 | #G1, JSR DROP\r |
| 83 | / RETURN\r |
| 84 | / END\r |
| 85 | JA #RTN\r |
| 86 | #G3, JA .\r |
| 87 | #G4, JA .\r |
| 88 | END\r |