*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*
*						*
*	largeimage.a ...			*
*	a large local JAX4TH image		*
*	*C* COPYRIGHT 1990 jack j. woehr	*
*	jax@well.UUCP JAX on GEnie		*
*	SYSOP, RCFB (303) 278-0364		*
*						*
*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*

*	DEBUG

	INCLUDE	"jax4th.i"

	SECTION	NextSeg,CODE

next	move.l	(ip)+,d0	; get execution token ( == addr>>1)
	lsl.l	#1,d0		; msb set indicates a kernel token
	bcc.s	1$		; branch if carry indicates local token
	jmp	0(cp,d0.l)	; interpret kernel token as address
1$	jmp	0(np,d0.l)	; interpret local token as address

NSstart	move.l	dempty,dp	; first allocateable code offset
	movea.l	#database,bp	; base of data seg
	move.l	dthere,ap	; first allocatable data offset
	rts

	cnop,4

defdict	set	*-next		; provides offset for variable EMPTY

*--- Let's give user 64k of local dictionary by default.

userdict	ds.b	($10000-*)

	SECTION	AllocSeg,DATA	; our default local data image

database

;-----------------------------------------------------------------------;
; We have to declare these explicitly so that the default image		;
; startup has something to work with. Saveable images will alter these	;
; locations before writing out to disk.					;
;-----------------------------------------------------------------------;

dempty	dc.l	defdict	; first allocateable local code offset
dthere	dc.l	dataptr	; first allocateable local data offset

;-----------------------------------------------------------------------;
; The rest we can just allocate mathematically for the default ... if	;
; COLD finds that the Forth thread array is empty, it will initialize	;
;-----------------------------------------------------------------------;

*--- let's give user 64k total of data space by default.

	cnop,4

udatasize	ds.b	($10000-*)

*--- End of File

	end

