|
|	$Id: ncrt0.S,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
|	:ts=4
|
|	Portable ISO 'C' (1994) runtime library for the Amiga computer
|	Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|	All rights reserved.
|
|	Redistribution and use in source and binary forms, with or without
|	modification, are permitted provided that the following conditions
|	are met:
|
|	  - Redistributions of source code must retain the above copyright
|	    notice, this list of conditions and the following disclaimer.
|
|	  - Neither the name of Olaf Barthel nor the names of contributors
|	    may be used to endorse or promote products derived from this
|	    software without specific prior written permission.
|
|	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|	AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|	ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|	LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|	CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|	POSSIBILITY OF SUCH DAMAGE.
|

|-----------------------------------------------------------------------------

	.text

	.globl	__main

|-----------------------------------------------------------------------------

#if defined(SMALL_DATA)

	jbsr	_geta4

	movel	#___bss_size,d1
	beqs	no_bss
	lea		a4@(__edata:W),a1

clear_bss:

	clrl	a1@+
	subql	#4,d1
	bnes	clear_bss

no_bss:

#endif /* SMALL_DATA */

|-----------------------------------------------------------------------------

#if defined(SMALL_DATA32)

	jbsr	_geta4

	movel	#___bss_size,d1
	beqs	no_bss
	lea		a4@(__edata:L),a1

clear_bss:

	clrl	a1@+
	subql	#4,d1
	bnes	clear_bss

no_bss:

#endif /* SMALL_DATA32 */

|-----------------------------------------------------------------------------

	jmp	__main

|-----------------------------------------------------------------------------

	.globl	_geta4

_geta4:

#if defined(SMALL_DATA)
	lea	___a4_init,a4
#endif /* SMALL_DATA */

#if defined(SMALL_DATA32)
	lea	___a4_init,a4
#endif /* SMALL_DATA32 */

	rts

|-----------------------------------------------------------------------------

	.globl	___get_a4

___get_a4:

	movel	a4,d0
	rts

|-----------------------------------------------------------------------------

	.globl	___set_a4

___set_a4:

	movel	sp@(4),a4
	rts
