OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [sys/] [h8500hms/] [crt0.c] - Rev 148

Go to most recent revision | Compare with Previous | Blame | View Log

 
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();
}
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.