* 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
 | |
| 
 |