2000-02-18 03:39:52 +08:00
|
|
|
; h8/300 and h8/300h start up file.
|
|
|
|
|
2003-06-10 15:44:30 +08:00
|
|
|
#include "setarch.h"
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
#ifdef __H8300__
|
|
|
|
|
|
|
|
.section .text
|
|
|
|
.global _start
|
|
|
|
_start:
|
|
|
|
mov.w #_stack,sp
|
|
|
|
mov.w #_edata,r0
|
2024-01-01 00:08:21 +08:00
|
|
|
mov.w #_end,r2
|
|
|
|
sub.w r1,r1
|
|
|
|
sub.w r0,r2
|
|
|
|
jsr @_memset
|
2001-09-05 03:05:44 +08:00
|
|
|
#ifdef __ELF__
|
2001-09-08 02:21:33 +08:00
|
|
|
mov.l #__fini,r0
|
2001-09-05 03:05:44 +08:00
|
|
|
jsr @_atexit
|
2003-03-19 04:38:04 +08:00
|
|
|
#ifdef __SIMULATOR__
|
|
|
|
jsr @0xcc
|
|
|
|
#endif
|
2001-09-05 03:05:44 +08:00
|
|
|
jsr @__init
|
|
|
|
#else
|
2003-03-19 04:38:04 +08:00
|
|
|
#ifdef __SIMULATOR__
|
|
|
|
jsr @0xcc
|
|
|
|
#endif
|
2000-02-18 03:39:52 +08:00
|
|
|
jsr @___main
|
2001-09-05 03:05:44 +08:00
|
|
|
#endif
|
2000-02-18 03:39:52 +08:00
|
|
|
jsr @_main
|
|
|
|
jsr @_exit
|
|
|
|
|
|
|
|
.section .stack
|
|
|
|
_stack: .word 1
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __H8300H__
|
|
|
|
|
|
|
|
.section .text
|
|
|
|
.global _start
|
|
|
|
_start:
|
|
|
|
mov.l #_stack,sp
|
|
|
|
mov.l #_edata,er0
|
2024-01-01 00:08:21 +08:00
|
|
|
mov.l #_end,er2
|
|
|
|
sub.w r1,r1
|
|
|
|
sub.l er0,er2
|
|
|
|
jsr @_memset
|
2001-09-05 03:05:44 +08:00
|
|
|
#ifdef __ELF__
|
2003-06-25 02:13:35 +08:00
|
|
|
mov.l #__fini,er0
|
2001-09-05 03:05:44 +08:00
|
|
|
jsr @_atexit
|
2003-03-19 04:38:04 +08:00
|
|
|
#ifdef __SIMULATOR__
|
|
|
|
jsr @0xcc
|
|
|
|
#endif
|
2001-09-05 03:05:44 +08:00
|
|
|
jsr @__init
|
|
|
|
#else
|
2003-03-19 04:38:04 +08:00
|
|
|
#ifdef __SIMULATOR__
|
|
|
|
jsr @0xcc
|
|
|
|
#endif
|
2000-02-18 03:39:52 +08:00
|
|
|
jsr @___main
|
2001-09-05 03:05:44 +08:00
|
|
|
#endif
|
2000-02-18 03:39:52 +08:00
|
|
|
jsr @_main
|
|
|
|
jsr @_exit
|
|
|
|
|
|
|
|
.section .stack
|
|
|
|
_stack: .long 1
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2004-06-23 05:54:52 +08:00
|
|
|
#if defined (__H8300S__) || defined (__H8300SX__)
|
2003-06-10 15:44:30 +08:00
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
.section .text
|
|
|
|
.global _start
|
|
|
|
_start:
|
|
|
|
mov.l #_stack,sp
|
|
|
|
mov.l #_edata,er0
|
2024-01-01 00:08:21 +08:00
|
|
|
mov.l #_end,er2
|
|
|
|
sub.w r1,r1
|
|
|
|
sub.l er0,er2
|
|
|
|
jsr @_memset
|
2001-09-05 03:05:44 +08:00
|
|
|
#ifdef __ELF__
|
2003-06-25 02:13:35 +08:00
|
|
|
mov.l #__fini,er0
|
2001-09-05 03:05:44 +08:00
|
|
|
jsr @_atexit
|
2003-03-19 04:38:04 +08:00
|
|
|
#ifdef __SIMULATOR__
|
|
|
|
jsr @0xcc
|
|
|
|
#endif
|
2001-09-05 03:05:44 +08:00
|
|
|
jsr @__init
|
|
|
|
#else
|
2003-03-19 04:38:04 +08:00
|
|
|
#ifdef __SIMULATOR__
|
|
|
|
jsr @0xcc
|
|
|
|
#endif
|
2000-02-18 03:39:52 +08:00
|
|
|
jsr @___main
|
2001-09-05 03:05:44 +08:00
|
|
|
#endif
|
2000-02-18 03:39:52 +08:00
|
|
|
jsr @_main
|
|
|
|
jsr @_exit
|
|
|
|
|
|
|
|
.section .stack
|
|
|
|
_stack: .long 1
|
|
|
|
|
|
|
|
#endif
|