chiark / gitweb /
Initial revision
[ssr] / StraySrc / Libraries / BAS / src / sh / workspace
1 ;
2 ; workspace.sh
3 ;
4 ; Global workspace for BAS
5 ;
6 ; © 1994-1998 Straylight
7 ;
8
9 ;----- Licensing note -------------------------------------------------------
10 ;
11 ; This file is part of Straylight's BASIC Assembler Supplement.
12 ;
13 ; BAS is free software; you can redistribute it and/or modify
14 ; it under the terms of the GNU General Public License as published by
15 ; the Free Software Foundation; either version 2, or (at your option)
16 ; any later version.
17 ;
18 ; BAS is distributed in the hope that it will be useful,
19 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 ; GNU General Public License for more details.
22 ;
23 ; You should have received a copy of the GNU General Public License
24 ; along with BAS.  If not, write to the Free Software Foundation,
25 ; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
27                 ^       0,R12
28
29 bas_wStart      #       0
30
31                 ; --- BASIC environment ---
32
33 be__interface   #       4                       ;BASIC interface block (R14)
34 be__argp        #       4                       ;BASIC's workspace pointer
35 be__percents    #       4                       ;Address of A%-Z% variables
36 be__line        #       4                       ;Value of LINE passed in
37
38                 ; --- String handling ---
39
40 str__buffNum    #       4                       ;Which string buffer's next
41
42                 ; --- AOF generation ---
43
44 aof__relocCount #       4                       ;Relocation disable counter
45 aof__base       #       4                       ;Base address of code area
46 aof__limit      #       4                       ;Address of first free byte
47 aof__nextImport #       4                       ;Next index for import
48 aof__area       #       4                       ;Index of current area
49 aof__pass       #       4                       ;Number of the current pass
50 aof__objHead    #       12                      ;Header anchor/size
51 aof__objReloc   #       12                      ;Relocations anchor/size
52 aof__objSymT    #       12                      ;Symbol table anchor/size
53 aof__objStrT    #       12                      ;String table anchor/size
54 aof__imports    #       12                      ;Imports table anchor/size
55 aof__noReloc    #       12                      ;Non-relocation table
56
57                 ; --- Literal pool management ---
58
59 lit__table      #       12                      ;Literal pool address table
60 lit__contents   #       12                      ;Current pool contents
61 lit__next       #       4                       ;Index of next literal pool
62
63                 ; --- flex memory manager ---
64
65                 GBLL    FLEXWS_STACK
66                 GET     libs:sh.flexws
67
68                 ; --- Various large buffers ---
69
70 str__buffer     #       256*3                   ;A buffer for string handling
71
72 bas_wSize       EQU     {VAR}-bas_wStart
73
74 ;----- That's all, folks ----------------------------------------------------
75
76                 END