297 lines
No EOL
4.7 KiB
Text
297 lines
No EOL
4.7 KiB
Text
.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
|
||
|