Commit | Line | Data |
---|---|---|
84b5715c PH |
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 |