crt0.s
来自「Newlib 嵌入式 C库 标准实现代码」· S 代码 · 共 106 行
S
106 行
; h8/300 and h8/300h start up file.#include "setarch.h"#ifdef __H8300__ .section .text .global _start_start: mov.w #_stack,sp mov.w #_edata,r0 mov.w #_end,r1 sub.w r2,r2.Loop: mov.w r2,@r0 adds #2,r0 cmp r1,r0 blo .Loop#ifdef __ELF__ mov.l #__fini,r0 jsr @_atexit#ifdef __SIMULATOR__ jsr @0xcc#endif jsr @__init#else#ifdef __SIMULATOR__ jsr @0xcc#endif jsr @___main#endif 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 mov.l #_end,er1 sub.w r2,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#ifdef __ELF__ mov.l #__fini,er0 jsr @_atexit#ifdef __SIMULATOR__ jsr @0xcc#endif jsr @__init#else#ifdef __SIMULATOR__ jsr @0xcc#endif jsr @___main#endif jsr @_main jsr @_exit .section .stack_stack: .long 1#endif#if defined (__H8300S__) || defined (__H8300SX__) .section .text .global _start_start: mov.l #_stack,sp mov.l #_edata,er0 mov.l #_end,er1 sub.w r2,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#ifdef __ELF__ mov.l #__fini,er0 jsr @_atexit#ifdef __SIMULATOR__ jsr @0xcc#endif jsr @__init#else#ifdef __SIMULATOR__ jsr @0xcc#endif jsr @___main#endif jsr @_main jsr @_exit .section .stack_stack: .long 1#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?