; ; anchor.sh ; ; Layout of anchor blocks ; ; © 1995 Straylight ; [ :LNOT::DEF:anchor__dfn GBLL anchor__dfn ; --- Anchor block contents --- ^ 0,R12 tsc_R13 # 4 ;Saved R13 (stack pointer) tsc_anchor # 4 ;Pointer to block anchor tsc_scSize # 4 ;Size of script file tsc_tokAnchor # 4 ;Ptr to tokenised file anchor tsc_currAnchor # 4 ;Current anchor for input tsc_oldAnchor # 4 ;Previous anchor for input tsc_flags # 4 ;A nice flags word tsc_timeOff # 4 ;OS_ReadMonotonicTime-TIME tsc_line # 4 ;Current line number tsc_timeSoFar # 4 ;Time execution started tsc_rndSeed # 8 ;Random number seed tsc_rmaList # 4 ;List of blocks from RMA tsc_spool # 4 ;File handle for SPOOL tsc_files # 32 ;Files-open flags tsc_errorS # 4 ;Offset of ERROR$ ; --- Newline characters --- tsc_rnewline # 4 ;Offset of rnewline string tsc_lnewline # 4 ;Offset of lnewline string ; --- DATA information --- tsc_dataPtr # 4 ;Current DATA pointer tsc_dataLine # 4 ;Current data line ; --- WATCHFOR data --- tsc_wForState # 4 ;Current state of watchfor tsc_wForNumber # 4 ;Number we are looking for tsc_wForStrings # 32*8 ;A word+byte for each lvalue ; --- Resizing blocks --- tsc_rszBlocks # 0 tsc_varTree # 4 ;The variable stack anchor tsc_varPtr # 4 ;Where to create the next var tsc_varSize # 4 ;Current size if the stack tsc_execStack # 4 ;Anchor of execution stack tsc_execStkPtr # 4 ;Pointer into stack tsc_execStkSize # 4 ;Size of the stack tsc_opStack # 4 ;Anchor of execution stack tsc_opStkPtr # 4 ;Pointer into stack tsc_opStkSize # 4 ;Size of the stack tsc_calcStack # 4 ;Anchor of execution stack tsc_calcStkPtr # 4 ;Pointer into stack tsc_calcStkSize # 4 ;Size of the stack tsc_stracc # 4 ;Anchor of execution stack tsc_straccPtr # 4 ;Pointer into stack tsc_straccSize # 4 ;Size of the stack tsc_bucket # 4 ;String bucket anchor tsc_bktPtr # 4 ;Free pointer for bucket tsc_bktSize # 4 ;Current size of bucket block tsc_erszBlocks # 0 tsc_misc # 256 ;A big buffer for things tsc_blkSize EQU 2048 ;Enough space for a stack [ {VAR}-tsc_R13+1024>tsc_blkSize ! 1,"tsc_blkSize is too small" ] tscFlag_nl EQU (1<<0) ;We have just read a newline tscFlag_echoRL EQU (1<<1) ;Echo remote input locally tscFlag_echoRR EQU (1<<2) ;Echo remote input remotely tscFlag_echoLL EQU (1<<3) ;Echo local input locally tscFlag_echoLR EQU (1<<4) ;Echo local input remotely tscFlag_watch EQU (1<<5) ;We are doing a watchfor tscFlag_error EQU (1<<6) ;We are generating errors ] ;----- That's all, folks ---------------------------------------------------- END