beautypg.com

1 c language startup program (crt0mr.a30) – Renesas Emulator System M3T-MR100 User Manual

Page 235

background image

- 219 -

7.3.1

C Language Startup Program (crt0mr.a30)

Figure 7.11 shows the C language startup program(crt0mr.a30).

1

; ****************************************************************

2

;

3

;

MR100 start up program for C language

4

;

COPYRIGHT(C) 2003,2006,2007 RENESAS TECHNOLOGY CORPORATION

5

;

AND RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED

6

; MR100

7

;

8

; ****************************************************************

9

;

"$Id: crt0mr.a30 512 2007-07-09 10:11:36Z inui $"

10

;*A1* 2005-02-28 for ES

11

;*G0* 2006-06-15 for MR100/4

12

;

13

.LIST

OFF

14

.INCLUDE

c_sec.inc

15

.INCLUDE

mr100.inc

16

.INCLUDE

sys_rom.inc

17

.INCLUDE

sys_ram.inc

18

.LIST

ON

19

20

.GLB __SYS_INITIAL

21

.GLB __END_INIT

22

.GLB __init_sys,__init_tsk

23

24

regoffset .EQU 0

25

26

;-----------------------------------------------------------------

27

; SBDATA area definition

28

;-----------------------------------------------------------------

29

.GLB __SB__

30

.SB __SB__

31

32

;=================================================================

33

; Initialize Macro declaration

34

;-----------------------------------------------------------------

35

BZERO .macro

TOP_,SECT_

36

XOR.B

R0L,R0L

37

mov.l

#TOP_,A1

38

mov.l

#sizeof

SECT_,R7R5

39

sstr.b

40

.endm

41

BCOPY .macro

FROM_,TO_,SECT_

42

mov.l

#FROM_,A0

43

mov.l

#TO_,A1

44

mov.l

#sizeof

SECT_,R7R5

45

smovf.b

46

.endm

47

;=================================================================

48

; Interrupt section start

49

;-----------------------------------------------------------------

50

.SECTION

MR_KERNEL,CODE,ALIGN

51

52

;-----------------------------------------------------------------

53

; after reset,this program will start

54

;-----------------------------------------------------------------

55

__SYS_INITIAL:

56

LDC

#__Sys_Sp,ISP

; set initial ISP

57

58

; MOV.B #2,0AH

59

;

MOV.B

#00,PMOD

; Set Processor Mode Register

60

;

MOV.B

#0,0AH

;

61

LDC #00000010H,FLG

62

LDC #__SB__,SB

63

LDC #00000000H,FLG

64

LDC #__Sys_Sp,FB

65

LDC #__SB__,SB

66

67

;=================================================================

68

; MR_RAM zero clear

69

;--------------------------------------------------------

70

BZERO

MR_RAM_top,MR_RAM

71

72

;=================================================================

73

; NEAR area initialize.

74

; FAR area initialize.