A large commit.
[pdp8.git] / sw / adventure / 0906 / JUGGLE.RA
diff --git a/sw/adventure/0906/JUGGLE.RA b/sw/adventure/0906/JUGGLE.RA
new file mode 100644 (file)
index 0000000..55b6be9
--- /dev/null
@@ -0,0 +1,49 @@
+       SECT    JUGGLE\r
+/       SUBROUTINE JUGGLE(OBJECT)\r
+/       C\r
+/       C JUGGLE AN OBJECT BY PICKING IT UP AND PUTTING IT DOWN AGAIN, THE PURPOSE\r
+/       C BEING TO GET THE OBJECT TO THE FRONT OF THE CHAIN OF THINGS AT ITS LOC.\r
+/       C\r
+/       IMPLICIT INTEGER (A-Z)\r
+/       COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG\r
+/       DIMENSION ATLOC(150),LINK(200),PLACE(100),FIXED(100)\r
+/       \r
+       EXTERN  MOVE\r
+       #LBL=.\r
+       COMMON  PLACOM\r
+ATLOC, ORG     .+0702\r
+LINK,  ORG     .+1130\r
+PLACE, ORG     .+454\r
+FIXED, ORG     .+454\r
+HOLDNG,        ORG     .+3\r
+       ORG     #LBL\r
+\r
+/JUGGLE,\r
+       0;0                     /JSA entry point\r
+       FSTA    OBJECT\r
+       ATX     6\r
+/       I=PLACE(OBJECT)\r
+       FLDA    PLACE-3,6\r
+       FSTA    I\r
+/       J=FIXED(OBJECT)\r
+       FLDA    FIXED-3,6\r
+       FSTA    J\r
+/       CALL MOVE(OBJECT,I)\r
+       JSR     MOVE\r
+       JA      .+6\r
+       JA      OBJECT\r
+       JA      I\r
+/       CALL MOVE(OBJECT+100,J)\r
+/       RETURN\r
+/       END\r
+       FLDA    HUND\r
+       FADDM   OBJECT\r
+       JSR     MOVE\r
+       JA      JUGGLE\r
+       JA      OBJECT\r
+       JA      J\r
+OBJECT, ORG     .+3\r
+I,      ORG     .+3\r
+J,      ORG     .+3\r
+HUND,   F 100.0\r
+       END\r