Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/cr16/crt1.S')
-rw-r--r--libgloss/cr16/crt1.S98
1 files changed, 0 insertions, 98 deletions
diff --git a/libgloss/cr16/crt1.S b/libgloss/cr16/crt1.S
deleted file mode 100644
index eee6fc10b..000000000
--- a/libgloss/cr16/crt1.S
+++ /dev/null
@@ -1,98 +0,0 @@
- ##############################################################################
- # crt0.s -- CR16 default start-up routine #
- # #
- # Copyright (c) 2004 National Semiconductor Corporation #
- # #
- # The authors hereby grant permission to use, copy, modify, distribute, #
- # and license this software and its documentation for any purpose, provided #
- # that existing copyright notices are retained in all copies and that this #
- # notice is included verbatim in any distributions. No written agreement, #
- # license, or royalty fee is required for any of the authorized uses. #
- # Modifications to this software may be copyrighted by their authors #
- # and need not follow the licensing terms described here, provided that #
- # the new terms are clearly indicated on the first page of each file where #
- # they apply. #
- # #
- # This is the start routine of your CR16 program. #
- # It is linked with your application automatically. You can use #
- # this routine as a template and modify it to your needs, yet this #
- # file must be supplied for the compiler. #
- # It is assumed that the following symbols are defined in your linker #
- # script: __STACK_START, __ISTACK_START #
- ##############################################################################
-
- .text
-#ifdef __CR16CP__
- .align 4
-#else
- .align 2
-#endif
- .global _main
- .global _atexit
- .global _exit
- .global _start
- .global __fini
- .global __init
- .global __STACK_START
- .global __ISTACK_START
-
-_start:
-
- #----------------------------------------------------------------------------#
- # Initialize the stack pointers. The constants __STACK_START and #
- # __ISTACK_START should be defined in the linker script. #
-
- movd $__STACK_START, (sp)
-
- movd $__ISTACK_START, (r1,r0)
- lprd (r1,r0), isp
-
- #----------------------------------------------------------------------------#
- # Initialize the default sections according to the linker script. #
-
-# bal (ra), __init_bss_data
-
- #----------------------------------------------------------------------#
- # Set the Extended Dispatch bit in the CFG register. This is the #
- # default configuration for CR16C. #
-
- spr cfg, r0 # Set dispatch table width
- orw $0x100, r0
- lpr r0, cfg
-
- #----------------------------------------------------------------------------#
-
-
- #----------------------------------------------------------------------------#
- # Handle global and static constructurs execution and setup #
- # destructors to be called from exit. #
-
- bal (ra),__init
- movd $__fini@c, (r3,r2)
- bal (ra), _atexit
-
- #----------------------------------------------------------------------------#
- # Jump to the main function in your application. #
-
-#ifdef __INT32__
- movd $0, (r3,r2) # Number of arguments
- movd $0, (r5,r4) # conatins pointer to argument string.
-#else
- movw $0, r2 # Number of arguments
- movd $0, (r4,r3) # conatins pointer to argument string.
-#endif
- bal (ra), _main
-
- #----------------------------------------------------------------------------#
- # Upon returning from the main function (if it isn't an infinite loop), #
- # jump to the exit function. The exit function is located in the #
- # library 'libc.a'. #
-
-#ifdef __INT32__
- movd (r1,r0), (r3,r2) # _main return value gets forwarded.
-#else
- movw r0, r2 # _main return value gets forwarded.
-#endif
- br _exit # returns control to the functional simulator.
-
-