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