File: JUGGLE.LS of Disk: V50/Source/Source-Listing-FORTRAN-2
(Source file text)
RALF V50A 24-JUL-20 PAGE 1 SECT JUGGLE / SUBROUTINE JUGGLE(OBJECT) / C / C JUGGLE AN OBJECT BY PICKING IT UP AND PUTTING IT DOWN AGAIN, THE PURPOSE / C BEING TO GET THE OBJECT TO THE FRONT OF THE CHAIN OF THINGS AT ITS LOC. / C / IMPLICIT INTEGER (A-Z) / COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG / DIMENSION ATLOC(150),LINK(200),PLACE(100),FIXED(100) / EXTERN MOVE 00000 1030 JA #ST 00001 0063 #XR, ORG .+10 00012 1225 TEXT +JUGGLE+ 00013 0707 00014 1405 00015 1100 #RET, SETX #XR 00016 0002 00017 1110 SETB #BASE 00020 0023 00021 1030 JA .+3 00022 0024 #BASE, ORG .+6 OBJECT, ORG .+3 I, ORG .+3 J, ORG .+3 #TMP, ORG .+3 00045 0007 HUND, F 100.0 00046 3100 00047 0000 ORG #BASE+30 00053 0040 FNOP 00054 1030 JA #RET 00055 0015 00056 0040 FNOP 00057 0000 #GOBAK, 0;0 00060 0000 #LBL=. COMMON PLACOM ATLOC, ORG .+0702 LINK, ORG .+1130 PLACE, ORG .+454 FIXED, ORG .+454 HOLDNG, ORG .+3 ORG #LBL #RTN, BASE #BASE 00061 1030 JA #GOBAK 00062 0057 00063 0006 #ST, STARTD 00064 0210 0210 00065 6400 FSTA #GOBAK,0 00066 0057 00067 0200 0200 00070 1100 SETX #XR 00071 0002 RALF V50A 24-JUL-20 PAGE 1-1 00072 1110 SETB #BASE 00073 0023 00074 0101 LDX 0,1 00075 0000 00076 6200 FSTA #BASE 00077 0710 FLDA% #BASE,1+ 00100 6202 FSTA OBJECT 00101 0005 STARTF 00102 0602 FLDA% OBJECT 00103 0027 ATX 7 / I=PLACE(OBJECT) 00104 0470 FLDA PLACE-3,7 00105 2027 00106 6203 FSTA I / J=FIXED(OBJECT) 00107 0470 FLDA FIXED-3,7 00110 2503 00111 6204 FSTA J 00112 0006 STARTD / CALL MOVE(OBJECT,I) 00113 0202 FLDA OBJECT 00114 6400 FSTA #G1 00115 0123 00116 0005 STARTF 00117 1130 JSR MOVE 00120 0000 00121 1030 JA .+6 00122 0127 00123 1030 #G1, JA . 00124 0123 00125 1030 JA I 00126 0034 / CALL MOVE(OBJECT+100,J) / RETURN / END 00127 0602 FLDA% OBJECT 00130 1206 FADD HUND 00131 6205 FSTA #TMP 00132 1130 JSR MOVE 00133 0000 00134 1030 JA #RTN 00135 0061 00136 1030 JA #TMP 00137 0042 00140 1030 JA J 00141 0037 RALF V50A 24-JUL-20 PAGE 1-2 NO ERRORS 21 SYMBOLS, NO ABS REFS # C 00000 #BASE 00023 #GOBAK 00057 #G1 00123 #LBL 00061 #MAIN S 00000 #RET 00015 #RTN 00061 #ST 00063 #TMP 00042 #XR 00002 ATLOC 00000 FIXED 02506 HOLDNG 03162 HUND 00045 I 00034 J 00037 JUGGLE S 00142 LINK 00702 MOVE X 00000 OBJECT 00031 PLACE 02032 PLACOM C 03165