source: trunk/libs/newlib/src/libgloss/mn10300/crt0-eval.S @ 684

Last change on this file since 684 was 444, checked in by satin@…, 7 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.8 KB
RevLine 
[444]1##==============================================================================
2##
3##      crt0-eval.S
4##
5##      MN10300 Series Evaluation Board C startup code
6##
7##==============================================================================
8######COPYRIGHTBEGIN####
9##
10## Copyright (c) 1995, 1996, 1997, 1998 Cygnus Solutions
11##
12## The authors hereby grant permission to use, copy, modify, distribute,
13## and license this software and its documentation for any purpose, provided
14## that existing copyright notices are retained in all copies and that this
15## notice is included verbatim in any distributions. No written agreement,
16## license, or royalty fee is required for any of the authorized uses.
17## Modifications to this software may be copyrighted by their authors
18## and need not follow the licensing terms described here, provided that
19## the new terms are clearly indicated on the first page of each file where
20## they apply.
21##
22######COPYRIGHTEND####
23       
24##------------------------------------------------------------------------------
25       
26        .file   "crt0-eval.S"
27
28##------------------------------------------------------------------------------
29## Startup code
30                       
31        .equ    DRAM_TOP,0x48100000
32
33        .text
34
35        .globl  __start
36__start:
37        # Set up stack.  Leave 4K at top for use by Cygmon.
38
39        mov     DRAM_TOP - 0x1000,a0
40        sub     8,a0
41        mov     a0,sp
42
43        # Clear BSS
44
45        mov     __bss_start,a0
46        mov     _end,a1
47
48        cmp     a0,a1
49        beq     8f
50        clr     d0
511:     
52        movbu   d0,(a0)
53        inc     a0
54        cmp     a0,a1
55        bne     1b     
568:     
57        # Call constructors
58
59        .extern ___main
60        call    ___main,[],0
61
62        # Call main
63        clr     d0
64        clr     d1
65        mov     d0,(4,sp)
66
679:     
68        or      0x0800,psw      # Enable interrupts
69       
70        .extern _main
71        call    _main,[],0
72
73        .extern __exit
74        call    __exit,[],0
75
76#       bra     9b              # Loop if we return
77
78       
79                       
80##------------------------------------------------------------------------------               
81## end of crt0-eval.S
82
Note: See TracBrowser for help on using the repository browser.