.STITL DISC BLOCKS, NODE SPACE AND TEST LINES VERN==VERN+%FNAM2 .MACR NODE A,B .XLIST $.==$$+1 A B $$==$$+1 .LIST .ENDM VERNF==VERN SALTL: LTL LTL: L1 L2 L3 L4 L5 L6 0 ;L7 0 ;L8 0 ;L9 0 ;L10 0 ;L11 0 ;L12 0 ;L13 0 ;L14 0 .EVEN SLOT1: MSLTLN==LUVBLK+PPDLL+SPDLL+DBUFL+DDIRL+<4*4096.> ;ALL YOU COULD POSSIBLY WANT UVSAV: .=.+LUVBLK .=.+PPDLL IP=. PDLINK: .=.+4 ;LINK TO PREVIOUS DISK BLOCK .=.+SPDLL IS=. SDLINK: .=.+4 HCC==67. ;HASH CODE CONSTANT - A PRIME UHCT: .=UHCT+<2*16.> $OB3 $OB4 $OB5 .=UHCT+<2*23.> $OB2 .=UHCT+<2*60.> $OB1 .=UHCT+<2*HCC> DBUF: .=.+DBUFL DDIR: .=.+DDIRL 0 0 .IF2 PAD ^\ START OF NODESP\,\. .ENDC NODESP: 0 ;NODE 0 0 .=NODESP+80. TRUE=140000+20. SSTR+21. ;20 "TR SSTR+0 ;21 "UE FALSE=140000+22. SSTR+23. ;22 "FA SSTR+24. ;23 "LS SSTR+0 ;24 'E .=NODESP+404. L1=101. ;PRINT "ABCD" SFUN+102. ;NODE 101 $PRINT LSTR+0 ;102 LSTR+103. SSTR+104. ;103 "AB SSTR ;104 "CD L2=105. ;"123" LSTR+0 ;105 LSTR+106. SSTR+107. ;106 "12 SSTR ;107 '3 SFUN ;108 0 SFUN ;109 0 L3=110. ;(PRINT "AXBYJ" "1Q" "FOOBAR") SFUN+111. ;110 $LPAR SFUN+112. ;111 $PRINT LSTR+117. ;112 LSTR+114. SSTR+0 ;113 "1Q SSTR+115. ;114 "AX SSTR+116. ;115 "BY SSTR+0 ;116 'J LSTR+118. ;117 LSTR+113. ATOM+119. ;118 ATOM+122. SFUN+0 ;119 $RPAR SFUN+0 ;120 0 $OB1=121. 0 ;121 = START OF UOB BUCKET 60. $FOO $FOO=122. ATOM+125. ;122 - HEADER OF FIRST UOE LSTR+123. SSTR+124. ;123 "FO SSTR+0 ;124 'O VBIND+$FOOF ;125 - VARIABLE BINDING OF 1ST UOE LSTR+126. SSTR+127. ;126 "FO SSTR+128. ;127 "OB SSTR+0 ;128 "AR 0 ;129 0 L4=130. ;IF "TRUE" THEN PRINT "TRUE" ELSE PRINT "FALSE" SFUN+131. ;130 $IF LSTR+134. ;131 LSTR+132. SSTR+133. ;132 "TR SSTR+0 ;133 "UE SFUN+135. ;134 $THEN SFUN+136. ;135 $PRINT LSTR+137. ;136 LSTR+132. SFUN+138. ;137 $ELSE SFUN+139. ;138 $PRINT LSTR+0 ;139 LSTR+140. SSTR+141. ;140 "FA SSTR+142. ;141 "LS SSTR+0 ;142 'E SFUN+0 ;143 0 $$=144. L5=$$ ;MAKE "BAR" "AB1C" NODE SFUN+$.,$MAKE NODE ATOM+$.,ATOM+$BAR NODE LSTR,LSTR+$. NODE SSTR+$.,"AB NODE SSTR,"1C L6=$$ ;PRINT :BAR NODE SFUN+$.,$PRINT NODE UVAR,UVAR+$BAR $OB2=$$ NODE 0,$BAR ;START OF UOB BUCKET 23. $BAR=$$ NODE ATOM,LSTR+$. NODE SSTR+$.,"BA NODE SSTR,'R L7==$$ ;FOO :BAR "GRINCH" NODE UFUN+$.,$FOO NODE UVAR+$.,UVAR+$BAR NODE LSTR,LSTR+$. NODE SSTR+$.,"GR NODE SSTR+$.,"IN NODE SSTR,"CH $FOOF=$$ NODE FBIND+$.,LIST+$FLLP NODE SFBIND,LIST+$FSFB $FLLP=$$ NODE LIST+$.,LIST+$FL0 NODE LIST+$.,LIST+$FL1 NODE LIST,LIST+$FL2 $FL0=$$ NODE SNUM+$.,2 NODE SNUM+$.,$A NODE SNUM,$B $FL1=$$ NODE SNUM+$.,10. NODE SFUN+$.,$PRINT NODE UVAR,UVAR+$A $FL2=$$ NODE SNUM+$.,20. NODE SFUN+$.,$PRINT NODE UVAR,UVAR+$B $FSFB=$$ NODE SNUM+$.,2 ;NO. ARGS NODE SNUM+$.,0 ;PROCD SWAP NO. NODE SNUM+$.,0 ;NO. NODES NODE SNUM+$.,0 ;NO. FLUSHABLE NODES NODE SNUM+$.,0 ;DISC ADDR 1 NODE SNUM+$.,0 ; " " 2 NODE SNUM+$.,0 ;# WORDS ON DISC $OB3=$$ NODE 0,$A ;START OF UOB BUCKET 16. $OB4=$$ NODE 0,$B ;START OF UOB BUCKET 17. $OB5=$$ NODE 0,$C ;START OF UOB BUCKET 18. $A=$$ NODE ATOM,LSTR+$. NODE SSTR,'A $B=$$ NODE ATOM+$BVB,LSTR+$. NODE SSTR,'B $BVB=$$ NODE VBIND,LSTR+$. NODE SSTR+$.,"B. NODE SSTR+$.,"HA NODE SSTR+$.,"S. NODE SSTR+$.,"LO NODE SSTR,"TS $C==$$ NODE ATOM+$CVB,LSTR+$. NODE SSTR,'C $CVB==$$ NODE VBIND,LNUM+$. NODE SNUM,100. L8=$$ ;MAKE "BLIP" 13 NODE SFUN+$.,$MAKE NODE LSTR+$.,LSTR+$BLIP NODE LNUM,LNUM+$. NODE SNUM,13 L9=$$ ;PRINT : "BLIP" NODE SFUN+$.,$PRINT NODE SFUN+$.,$DOTS NODE LSTR,LSTR+$BLIP L10=$$ ;MAKE "BLIP" "XX" NODE SFUN+$.,$MAKE NODE LSTR+$.,LSTR+$BLIP NODE LSTR,LSTR+$. NODE SSTR,"XX L11=$$ ;PRINT :"BLIP" NODE SFUN+$.,$PRINT NODE SFUN+$.,$DOTS NODE LSTR,LSTR+$BLIP L12=$$ ;MAKE "BLAP" "YY" NODE SFUN+$.,$MAKE NODE LSTR+$.,LSTR+$BLAP NODE LSTR,LSTR+$. NODE SSTR,"YY L13==$$ ;PRINT :"BLAP" NODE SFUN+$.,$PRINT NODE SFUN+$.,$DOTS NODE LSTR,LSTR+$BLAP L14==$$ ;STARTDISPLAY NODE SFUN,$START L15==$$ ;FORWARD :C NODE SFUN+$.,$FORWA NODE UVAR,UVAR+$C $BLAP==$$ ;"BLAP" NODE SSTR+$.,"BL NODE SSTR,"AP $BLIP==$$ ;"BLIP" NODE SSTR+$.,"BL NODE SSTR,"IP NNN=$$ ;NEXT NODE NO. SOFN=NNN ;START OF FREE NODES ASOFN=. LOGEND=. ;IN THE EVENT THAT THE SYSTEM OBLIST ;HAS BEEN INCORRECTLY SET UP, AND THE MACRO TRIED TO WRITE OVER ;PARTS OF IT, THIS LITTLE .IFLE WILL PRINT OUT A MESSAGE .IFLE OBX0 ******** YOU ARE OVERWRITING THE SYSTEM OBLIST ******** .XLIST .ENDC .END