##============================================================================== ## ## 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