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/mn10300/crt0-eval.S')
-rw-r--r--libgloss/mn10300/crt0-eval.S82
1 files changed, 82 insertions, 0 deletions
diff --git a/libgloss/mn10300/crt0-eval.S b/libgloss/mn10300/crt0-eval.S
new file mode 100644
index 000000000..78a52639c
--- /dev/null
+++ b/libgloss/mn10300/crt0-eval.S
@@ -0,0 +1,82 @@
+##==============================================================================
+##
+## crt0-eval.S
+##
+## MN10300 Series Evaluation Board C startup code
+##
+##==============================================================================
+######COPYRIGHTBEGIN####
+##
+## Copyright (c) 1995, 1996, 1997, 1998 Cygnus Solutions
+##
+## 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.
+##
+######COPYRIGHTEND####
+
+##------------------------------------------------------------------------------
+
+ .file "crt0-eval.S"
+
+##------------------------------------------------------------------------------
+## Startup code
+
+ .equ DRAM_TOP,0x48100000
+
+ .text
+
+ .globl __start
+__start:
+ # Set up stack. Leave 4K at top for use by Cygmon.
+
+ mov DRAM_TOP - 0x1000,a0
+ sub 8,a0
+ mov a0,sp
+
+ # Clear BSS
+
+ mov __bss_start,a0
+ mov _end,a1
+
+ cmp a0,a1
+ beq 8f
+ clr d0
+1:
+ movbu d0,(a0)
+ inc a0
+ cmp a0,a1
+ bne 1b
+8:
+ # Call constructors
+
+ .extern ___main
+ call ___main,[],0
+
+ # Call main
+ clr d0
+ clr d1
+ mov d0,(4,sp)
+
+9:
+ or 0x0800,psw # Enable interrupts
+
+ .extern _main
+ call _main,[],0
+
+ .extern __exit
+ call __exit,[],0
+
+# bra 9b # Loop if we return
+
+
+
+##------------------------------------------------------------------------------
+## end of crt0-eval.S
+