A large commit.
[pdp8.git] / sw / adventure / work / PUT.RA
CommitLineData
84b5715c
PH
1 SECT PUT\r
2/ INTEGER FUNCTION PUT(OBJECT,WHERE,PVAL)\r
3/ C\r
4/ C PUT IS THE SAME AS MOVE, EXCEPT IT RETURNS A VALUE USED TO SET UP THE\r
5/ C NEGATED PROP VALUES FOR THE REPOSITORY OBJECTS.\r
6/ C\r
7/ IMPLICIT INTEGER (A-Z)\r
8/ C\r
9\r
10 EXTERN MOVE\r
11 JA #ST\r
12#XR, ORG .+10\r
13 TEXT +PUT +\r
14#RET, SETX #XR\r
15 SETB #BASE\r
16 JA .+3\r
17#BASE, ORG .+6\r
18PVAL, ORG .+3\r
19M1, F -1.0\r
20 ORG #BASE+30\r
21 FNOP\r
22 JA #RET\r
23 FNOP\r
24#GOBAK, 0;0\r
25 #LBL=.\r
26 ORG #LBL\r
27#RTN, BASE #BASE\r
28 JA #GOBAK\r
29#ST, STARTD\r
30 0210\r
31 FSTA #GOBAK,0\r
32 0200\r
33 SETX #XR\r
34 SETB #BASE\r
35 LDX 0,1\r
36 FSTA #BASE\r
37 FLDA% #BASE,1+\r
38 FSTA #G1\r
39 FLDA% #BASE,1+\r
40 FSTA #G2\r
41 FLDA% #BASE,1+\r
42 FSTA PVAL\r
43 STARTF\r
44/ CALL MOVE(OBJECT,WHERE)\r
45 JSR MOVE\r
46 JA .+6\r
47#G1, JA .\r
48#G2, JA .\r
49/ PUT=(-1)-PVAL\r
50 FLDA M1\r
51 FSUB% PVAL\r
52 JA #RTN\r
53 END\r