;
; workspace.sh
;
; Global workspace for BAS
;
;  1994-1998 Straylight
;

;----- Licensing note -------------------------------------------------------
;
; This file is part of Straylight's BASIC Assembler Supplement.
;
; BAS is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2, or (at your option)
; any later version.
;
; BAS is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with BAS.  If not, write to the Free Software Foundation,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

		^	0,R12

bas_wStart	#	0

		; --- BASIC environment ---

be__interface	#	4			;BASIC interface block (R14)
be__argp	#	4			;BASIC's workspace pointer
be__percents	#	4			;Address of A%-Z% variables
be__line	#	4			;Value of LINE passed in

		; --- String handling ---

str__buffNum	#	4			;Which string buffer's next

		; --- AOF generation ---

aof__relocCount	#	4			;Relocation disable counter
aof__base	#	4			;Base address of code area
aof__limit	#	4			;Address of first free byte
aof__nextImport	#	4			;Next index for import
aof__area	#	4			;Index of current area
aof__pass	#	4			;Number of the current pass
aof__objHead	#	12			;Header anchor/size
aof__objReloc	#	12			;Relocations anchor/size
aof__objSymT	#	12			;Symbol table anchor/size
aof__objStrT	#	12			;String table anchor/size
aof__imports	#	12			;Imports table anchor/size
aof__noReloc	#	12			;Non-relocation table

		; --- Literal pool management ---

lit__table	#	12			;Literal pool address table
lit__contents	#	12			;Current pool contents
lit__next	#	4			;Index of next literal pool

		; --- flex memory manager ---

		GBLL	FLEXWS_STACK
		GET	libs:sh.flexws

		; --- Various large buffers ---

str__buffer	#	256*3			;A buffer for string handling

bas_wSize	EQU	{VAR}-bas_wStart

;----- That's all, folks ----------------------------------------------------

		END
