.define .lino,.filn
.define EXIT
.define	begtext,begdata,begbss
.define	EARRAY,ERANGE,ESET,EIDIVZ,EHEAP,EILLINS,ECASE,EBADGTO
.define	hol0,.reghp,.limhp,.trpim,.trppc
.define fsoft_used,start_float
.sect .text
.sect .rom
.sect .data
.sect .bss



! runtime startoff for sun3 machine


LINO_AD	= 0
FILN_AD	= 4

EARRAY	= 0
ERANGE	= 1
ESET	= 2
EIDIVZ	= 6
EHEAP	= 17
EILLINS	= 18
ECASE	= 20
EBADGTO = 27

	.sect .text
begtext:
	move.l	(sp),d2
	lea	(4,sp),a0
	move.l	d2,d1
	add.l	#1,d1
	asl.l	#2,d1
	move.l	a0,a1
	add.l	d1,a1
	pea	(a1)
	pea	(a0)
	move.l	d2,-(sp)
	move.l	#0,a6
	jsr	(fsoft_used)
	jsr	(__m_a_i_n)
	move.l	d0,(sp)		! no stack cleanup needed
EXIT:
	jsr	(__exit)

fsoft_used:
start_float:
	jmp	(_finitfp_)

	.sect .data
begdata:
	.data4 0		! may be at virtual address 0 with no problem
hol0:
.lino:
	.data4	0	! lino
.filn:
	.data4	0	! filn
.reghp:
	.data4	_end
.limhp:
	.data4	_end
.trppc:
	.data4	0
.trpim:
	.data4	0	! USED TO BE 2 BYTES; IS THIS RIGHT?


	.sect .bss
begbss: !initialization is not needed because ALL entries are in zero space!