diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-07-06 20:07:34 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-07-06 20:07:34 +0000 |
commit | 501d312a91f66a56f4958f399d9fe30465a86437 (patch) | |
tree | 275d5093b512a8a751efff5f79f0184da243fbd7 /c/src/lib/libbsp/h8300/h8sim/start/start.S | |
parent | Added missing #endif's. (diff) | |
download | rtems-501d312a91f66a56f4958f399d9fe30465a86437.tar.bz2 |
Added baseline for h8 simulator BSP to support the simulator in gdb 5.0
Diffstat (limited to 'c/src/lib/libbsp/h8300/h8sim/start/start.S')
-rw-r--r-- | c/src/lib/libbsp/h8300/h8sim/start/start.S | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/h8300/h8sim/start/start.S b/c/src/lib/libbsp/h8300/h8sim/start/start.S new file mode 100644 index 0000000000..32b074f7bf --- /dev/null +++ b/c/src/lib/libbsp/h8300/h8sim/start/start.S @@ -0,0 +1,45 @@ +; h8/300 and h8/300h start up file. + +#ifdef __H8300__ + + .text + .global _start +_start: + mov.w #_stack_init,sp + mov.w #_edata,r0 + mov.w #_clear_end,r1 + mov.w #0,r2 +.loop: mov.w r2,@r0 + adds #2,r0 + cmp r1,r0 + blo .loop + ; call __main + jsr @_boot_card + mov.w #0,r0 ; indicate reason to exit + sleep + jmp @_start ; restart +#else + +#if defined(__H8300H__) + .h8300h +#else /* must be __H300S__ */ + .h8300s +#endif + .text + .global _start +_start: + mov.l #_stack_init,sp + mov.l #_edata,er0 + mov.l #_clear_end,er1 + mov.w #0,r2 ; not sure about alignment requirements +.loop: mov.w r2,@er0 ; playing it safe for now + adds #2,er0 + cmp.l er1,er0 + blo .loop + ; call __main + jsr @_boot_card + mov.w #0,r0 ; indicate reason to exit + sleep + jmp @_start ; restart + +#endif /* end of H8300 */ |