1 /*------------------------------------------------------------------------
\r
4 DATE : Wed, Aug 25, 2010 |
\r
5 DESCRIPTION : Reset Program |
\r
8 This file is generated by KPIT GNU Project Generator (Ver.4.5). |
\r
10 ------------------------------------------------------------------------*/
\r
18 .global _start /*global Start routine */
\r
22 .global ___dso_handle
\r
25 .extern _hw_initialise /*external Sub-routine to initialise Hardware*/
\r
41 /* initialise user stack pointer */
\r
44 /* initialise interrupt stack pointer */
\r
48 mvtc #_rvectors_start, intb /* INTERRUPT VECTOR ADDRESS definition */
\r
53 /* load data section from ROM to RAM */
\r
55 mov #_mdata,r2 /* src ROM address of data section in R2 */
\r
56 mov #_data,r1 /* dest start RAM address of data section in R1 */
\r
57 mov #_edata,r3 /* end RAM address of data section in R3 */
\r
58 sub r1,r3 /* size of data section in R3 (R3=R3-R1) */
\r
59 smovf /* block copy R3 bytes from R2 to R1 */
\r
61 /* bss initialisation : zero out bss */
\r
63 mov #00h,r2 /* load R2 reg with zero */
\r
64 mov #_ebss, r3 /* store the end address of bss in R3 */
\r
65 mov #_bss, r1 /* store the start address of bss in R1 */
\r
66 sub r1,r3 /* size of bss section in R3 (R3=R3-R1) */
\r
69 /* call the hardware initialiser */
\r
70 bsr.a _hw_initialise
\r
74 // mvtc #10000h, psw /* Set Ubit & Ibit for PSW */
\r
76 /* change PSW PM to user-mode */
\r
87 /* start user program */
\r