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

crt0.c « h8500hms « sys « libc « newlib - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: fa7d1b93c9b38b4f1d07e708118b4b055a2146f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

extern char _start_bss;
extern char end;
extern char stack;

static zeroandrun();
#pragma noprolog

start()
{
  asm("mov.w #%off(_stack),sp");
/*  asm("ldc.w  #0x700,sr");*/
  asm("ldc.b  #%page(_stack),tp");
  asm("ldc.b  #%page(_stack),dp");
  asm("ldc.b  #%page(_stack),ep");
  /* Can't have anything else in here, since the fp won't be set up
     so local variables won't work */
  zeroandrun();
}

static
zeroandrun()
{
  char *p;
  p = &_start_bss;
  while (p < &end) 
    {
      *p++ = 0;
    }
  main();
  _exit();
}