4 ; Layout of anchor blocks
9 [ :LNOT::DEF:anchor__dfn
12 ; --- Anchor block contents ---
16 sail_R13 # 4 ;Saved R13 (stack pointer)
17 sail_tokAnchor # 4 ;Ptr to tokenised file anchor
18 sail_currAnchor # 4 ;Current anchor for input
19 sail_oldAnchor # 4 ;Previous anchor for input
20 sail_flags # 4 ;A nice flags word
21 sail_timeOff # 4 ;OS_ReadMonotonicTime-TIME
22 sail_line # 4 ;Current line number
23 sail_timeSoFar # 4 ;Time execution started
24 sail_rndSeed # 8 ;Random number seed
25 sail_rmaList # 4 ;List of blocks from RMA
26 sail_env # 4 ;Handle of environment
27 sail_global # 4 ;Ptr to global vars anchor
28 sail_preempt # 4 ;Time allowed before return
29 sail_files # 32 ;Files-open flags
31 ; --- DATA information ---
33 sail_dataPtr # 4 ;Current DATA pointer
34 sail_dataLine # 4 ;Current data line
36 ; --- Resizing blocks ---
40 sail_varTree # 4 ;The variable stack anchor
41 sail_varPtr # 4 ;Where to create the next var
42 sail_varSize # 4 ;Current size if the stack
44 sail_execStack # 4 ;Anchor of execution stack
45 sail_execStkPtr # 4 ;Pointer into stack
46 sail_execStkSize # 4 ;Size of the stack
48 sail_opStack # 4 ;Anchor of execution stack
49 sail_opStkPtr # 4 ;Pointer into stack
50 sail_opStkSize # 4 ;Size of the stack
52 sail_calcStack # 4 ;Anchor of execution stack
53 sail_calcStkPtr # 4 ;Pointer into stack
54 sail_calcStkSize # 4 ;Size of the stack
56 sail_stracc # 4 ;Anchor of execution stack
57 sail_straccPtr # 4 ;Pointer into stack
58 sail_straccSize # 4 ;Size of the stack
60 sail_bucket # 4 ;String bucket anchor
61 sail_bktPtr # 4 ;Free pointer for bucket
62 sail_bktSize # 4 ;Current size of bucket block
66 sail_misc # 256 ;A big buffer for things
68 sail_blkSize EQU 2048 ;Enough space for a stack
70 [ {VAR}-sail_R13+1024>tsc_blkSize
71 ! 1,"sail_blkSize is too small"
74 tscFlag_nl EQU (1<<0) ;We have just read a newline
78 ;----- That's all, folks ----------------------------------------------------