* README: Mention 68HC11/68HC12 support.
        * configure.in: Recognize m6811-elf and m6812-elf.
        * configure: Regenerated.
        * m68hc11/Makefile.in: New file.
        * m68hc11/configure.in: New file.
        * m68hc11/configure: New file.
        * m68hc11/crt0.S: New file.
        * m68hc11/sci-inout.S: New file for 68hc11/68hc12 sio.
        * m68hc11/sim-valid-m68hc11.ld: New file.
        * m68hc11/sim-valid-m68hc12.ld: New file.
        * m68hc11/syscalls.c: New file.
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/* Startup code for M68HC11/M68HC12.
 | 
						|
 * Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr)	
 | 
						|
 *
 | 
						|
 * The authors hereby grant permission to use, copy, modify, distribute,
 | 
						|
 * and license this software and its documentation for any purpose, provided
 | 
						|
 * that existing copyright notices are retained in all copies and that this
 | 
						|
 * notice is included verbatim in any distributions. No written agreement,
 | 
						|
 * license, or royalty fee is required for any of the authorized uses.
 | 
						|
 * Modifications to this software may be copyrighted by their authors
 | 
						|
 * and need not follow the licensing terms described here, provided that
 | 
						|
 * the new terms are clearly indicated on the first page of each file where
 | 
						|
 * they apply.
 | 
						|
 */
 | 
						|
 | 
						|
;-----------------------------------------
 | 
						|
; startup code
 | 
						|
;-----------------------------------------
 | 
						|
	.file	"crt0.s"
 | 
						|
 | 
						|
;; 
 | 
						|
;; 
 | 
						|
;; The linker concatenate the .install* sections in the following order:
 | 
						|
;; 
 | 
						|
;; .install0	Setup the stack pointer
 | 
						|
;; .install1	Place holder for applications
 | 
						|
;; .install2	Optional installation of data section in memory
 | 
						|
;; .install3	Place holder for applications
 | 
						|
;; .install4	Invokes the main
 | 
						|
;; 
 | 
						|
	.sect   .install0,"ax",@progbits
 | 
						|
	.globl _start
 | 
						|
 | 
						|
_start:
 | 
						|
;;
 | 
						|
;; At this step, the stack is not initialized and interrupts are masked.
 | 
						|
;; Applications only have 64 cycles to initialize some registers.
 | 
						|
;;
 | 
						|
;; To have a generic/configurable startup, initialize the stack to
 | 
						|
;; the end of some memory region.  The _stack symbol is defined by
 | 
						|
;; the linker.
 | 
						|
;;
 | 
						|
	lds	#_stack
 | 
						|
	
 | 
						|
	.sect	.install2,"ax",@progbits
 | 
						|
;;
 | 
						|
;; Call a specific initialization operation.  The default is empty.
 | 
						|
;; It can be overriden by applications.  It is intended to initialize
 | 
						|
;; the 68hc11 registers.  Function prototype is:
 | 
						|
;; 
 | 
						|
;;	int __premain(void);
 | 
						|
;; 
 | 
						|
	jsr	__premain
 | 
						|
	
 | 
						|
;;
 | 
						|
;; 
 | 
						|
;;
 | 
						|
	.sect	.install4,"ax",@progbits
 | 
						|
	jsr     main
 | 
						|
fatal:
 | 
						|
	jsr	exit
 | 
						|
	bra fatal
 | 
						|
 | 
						|
;-----------------------------------------
 | 
						|
; end startup code
 | 
						|
;-----------------------------------------
 | 
						|
;; Force loading of data section mapping and bss clear
 | 
						|
	.globl	__map_data_section
 | 
						|
	.globl	__init_bss_section
 | 
						|
 |