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