213 lines
14 KiB
Plaintext
213 lines
14 KiB
Plaintext
* M16C Series and R8C Family Assmbler * SOURCE LIST Sat Dec 18 13:03:52 2021 PAGE 001
|
||
|
||
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
|
||
|
||
1 ;----------------------------------------------------------------------
|
||
2 ; |
|
||
3 ; |
|
||
4 ; |
|
||
5 ; DESCRIPTION : Startup Program. (for Assembler language) |
|
||
6 ; |
|
||
7 ; |
|
||
8 ; This file is generated by Renesas Project Generator. |
|
||
9 ; |
|
||
10 ;----------------------------------------------------------------------
|
||
11 ;/*********************************************************************
|
||
12 ;*
|
||
13 ;* Device : R8C Family
|
||
14 ;*
|
||
15 ;* File Name : ncrt0.a30
|
||
16 ;*
|
||
17 ;* Abstract : Startup Program
|
||
18 ;*
|
||
19 ;* History : 1.01 (2006-11-22)
|
||
20 ;*
|
||
21 ;* NOTE : THIS IS A TYPICAL EXAMPLE.
|
||
22 ;*
|
||
23 ;* Copyright (C) 2006 Renesas Electronics Corporation.
|
||
24 ;* and Renesas Solutions Corp.
|
||
25 ;*
|
||
26 ;*********************************************************************/
|
||
27 ;---------------------------------------------------------------------
|
||
28 ; include files
|
||
29 ;---------------------------------------------------------------------
|
||
30 .list OFF
|
||
31 .list ON
|
||
32
|
||
33 ;=====================================================================
|
||
34 ; Interrupt section start
|
||
35 ;---------------------------------------------------------------------
|
||
36 .glb start
|
||
37 .section interrupt,CODE,ALIGN
|
||
38 .insf start,G,0
|
||
39 00000 start:
|
||
40 ;---------------------------------------------------------------------
|
||
41 ; after reset,this program will start
|
||
42 ;---------------------------------------------------------------------
|
||
43 00000 EB400000r ldc #((topof istack)+(sizeof istack)),isp ;set istack pointer
|
||
44 00004 C7020A00 S mov.b #02h,0ah
|
||
45 00008 B70400 Z mov.b #00h,04h ;set processer mode
|
||
46 0000B B70A00 Z mov.b #00h,0ah
|
||
47 .if __STACKSIZE__ != 0
|
||
48 0000E EB308000 ldc #0080h,flg
|
||
49 00012 EB500000r ldc #((topof stack)+(sizeof stack)),sp ;set stack pointer
|
||
50 .else
|
||
51 .endif
|
||
52 00016 EB600004 ldc #__SB__,sb ;set sb register
|
||
53
|
||
54 ; If the destination is INTBL or INTBH,
|
||
55 ; make sure that bytes are transferred in succession.
|
||
56 0001A EB200000r ldc #((topof vector)>>16)&0FFFFh,INTBH
|
||
57 0001E EB100000r ldc #(topof vector)&0FFFFh,INTBL
|
||
58
|
||
59 ;=====================================================================
|
||
60 ; NEAR area initialize.
|
||
61 ;---------------------------------------------------------------------
|
||
62 ; bss zero clear
|
||
* M16C Series and R8C Family Assmbler * SOURCE LIST Sat Dec 18 13:03:52 2021 PAGE 002
|
||
|
||
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
|
||
|
||
63 ;---------------------------------------------------------------------
|
||
64 N_BZERO (topof bss_SE),bss_SE
|
||
65 00022 B4 1 M Z mov.b #00H, R0L
|
||
66 00023 AA0000r 1 M S mov.w #((topof bss_SE) & 0FFFFH), A1
|
||
67 00026 75C30000r 1 M mov.w #sizeof bss_SE , R3
|
||
68 0002A 7CEA 1 M sstr.b
|
||
69 1 M .endm
|
||
70 N_BZERO (topof bss_SO),bss_SO
|
||
71 0002C B4 1 M Z mov.b #00H, R0L
|
||
72 0002D AA0000r 1 M S mov.w #((topof bss_SO) & 0FFFFH), A1
|
||
73 00030 75C30000r 1 M mov.w #sizeof bss_SO , R3
|
||
74 00034 7CEA 1 M sstr.b
|
||
75 1 M .endm
|
||
76 N_BZERO (topof bss_NE),bss_NE
|
||
77 00036 B4 1 M Z mov.b #00H, R0L
|
||
78 00037 AA0000r 1 M S mov.w #((topof bss_NE) & 0FFFFH), A1
|
||
79 0003A 75C30000r 1 M mov.w #sizeof bss_NE , R3
|
||
80 0003E 7CEA 1 M sstr.b
|
||
81 1 M .endm
|
||
82 N_BZERO (topof bss_NO),bss_NO
|
||
83 00040 B4 1 M Z mov.b #00H, R0L
|
||
84 00041 AA0000r 1 M S mov.w #((topof bss_NO) & 0FFFFH), A1
|
||
85 00044 75C30000r 1 M mov.w #sizeof bss_NO , R3
|
||
86 00048 7CEA 1 M sstr.b
|
||
87 1 M .endm
|
||
88
|
||
89 ;---------------------------------------------------------------------
|
||
90 ; initialize data section
|
||
91 ;---------------------------------------------------------------------
|
||
92 N_BCOPY (topof data_SEI),(topof data_SE),data_SE
|
||
93 0004A A20000r 1 M S mov.w #((topof data_SEI) & 0FFFFH),A0
|
||
94 0004D 74C300r 1 M mov.b #((topof data_SEI) >>16),R1H
|
||
95 00050 AA0000r 1 M S mov.w #(topof data_SE) ,A1
|
||
96 00053 75C30000r 1 M mov.w #sizeof data_SE , R3
|
||
97 00057 7CE8 1 M smovf.b
|
||
98 1 M .endm
|
||
99 N_BCOPY (topof data_SOI),(topof data_SO),data_SO
|
||
100 00059 A20000r 1 M S mov.w #((topof data_SOI) & 0FFFFH),A0
|
||
101 0005C 74C300r 1 M mov.b #((topof data_SOI) >>16),R1H
|
||
102 0005F AA0000r 1 M S mov.w #(topof data_SO) ,A1
|
||
103 00062 75C30000r 1 M mov.w #sizeof data_SO , R3
|
||
104 00066 7CE8 1 M smovf.b
|
||
105 1 M .endm
|
||
106 N_BCOPY (topof data_NEI),(topof data_NE),data_NE
|
||
107 00068 A20000r 1 M S mov.w #((topof data_NEI) & 0FFFFH),A0
|
||
108 0006B 74C300r 1 M mov.b #((topof data_NEI) >>16),R1H
|
||
109 0006E AA0000r 1 M S mov.w #(topof data_NE) ,A1
|
||
110 00071 75C30000r 1 M mov.w #sizeof data_NE , R3
|
||
111 00075 7CE8 1 M smovf.b
|
||
112 1 M .endm
|
||
113 N_BCOPY (topof data_NOI),(topof data_NO),data_NO
|
||
114 00077 A20000r 1 M S mov.w #((topof data_NOI) & 0FFFFH),A0
|
||
115 0007A 74C300r 1 M mov.b #((topof data_NOI) >>16),R1H
|
||
116 0007D AA0000r 1 M S mov.w #(topof data_NO) ,A1
|
||
117 00080 75C30000r 1 M mov.w #sizeof data_NO , R3
|
||
118 00084 7CE8 1 M smovf.b
|
||
119 1 M .endm
|
||
120
|
||
121 ;=====================================================================
|
||
122 ; heap area initialize
|
||
123 ;---------------------------------------------------------------------
|
||
124 .if __HEAPSIZE__ != 0
|
||
* M16C Series and R8C Family Assmbler * SOURCE LIST Sat Dec 18 13:03:52 2021 PAGE 003
|
||
|
||
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
|
||
|
||
125 .endif
|
||
126
|
||
127 ;=====================================================================
|
||
128 ; Initialize standard I/O
|
||
129 ;---------------------------------------------------------------------
|
||
130 .if __STANDARD_IO__ == 1
|
||
131 .endif
|
||
132
|
||
133 ;=====================================================================
|
||
134 ; Call main() function
|
||
135 ;---------------------------------------------------------------------
|
||
136 00086 EB700000 ldc #0h,fb ; for debuger
|
||
137
|
||
138 ; Remove the comment when you use global class object
|
||
139 ; Sections C$INIT will be generated
|
||
140 ; .glb __CALL_INIT
|
||
141 ; .call __CALL_INIT,G
|
||
142 ; jsr.a __CALL_INIT
|
||
143
|
||
144 .glb _main
|
||
145 .call _main,G
|
||
146 0008A FD000000r A jsr.a _main
|
||
147
|
||
148 ;=====================================================================
|
||
149 ; exit() function
|
||
150 ;---------------------------------------------------------------------
|
||
151 .glb _exit
|
||
152 .glb $exit
|
||
153 .glb __exit_loop
|
||
154 0008E _exit:
|
||
155 0008E $exit:
|
||
156
|
||
157 ; Remove the comment when you use global class object
|
||
158 ; Sections C$INIT will be generated
|
||
159 ; .glb __CALL_END
|
||
160 ; .call __CALL_END,G
|
||
161 ; jsr.a __CALL_END
|
||
162
|
||
163 0008E __exit_loop: ; End program
|
||
164 0008E FEFF B jmp __exit_loop
|
||
165 .einsf
|
||
166 ;=====================================================================
|
||
167 ; dummy interrupt function
|
||
168 ;---------------------------------------------------------------------
|
||
169 .glb dummy_int
|
||
170 00090 dummy_int:
|
||
171 00090 FB reit
|
||
172
|
||
173 .end
|
||
|
||
Information List
|
||
|
||
TOTAL ERROR(S) 00000
|
||
TOTAL WARNING(S) 00000
|
||
TOTAL LINE(S) 00173 LINES
|
||
|
||
Section List
|
||
|
||
Attr Size Name
|
||
DATA 0000000(00000H) data_SE
|
||
DATA 0000000(00000H) bss_SE
|
||
DATA 0000000(00000H) data_SO
|
||
DATA 0000000(00000H) bss_SO
|
||
DATA 0000000(00000H) data_NE
|
||
DATA 0000000(00000H) bss_NE
|
||
DATA 0000000(00000H) data_NO
|
||
DATA 0000000(00000H) bss_NO
|
||
DATA 0000128(00080H) stack
|
||
DATA 0000128(00080H) istack
|
||
ROMDATA 0000000(00000H) data_SEI
|
||
ROMDATA 0000000(00000H) data_SOI
|
||
ROMDATA 0000000(00000H) data_NEI
|
||
ROMDATA 0000000(00000H) data_NOI
|
||
ROMDATA 0000000(00000H) vector
|
||
ROMDATA 0000040(00028H) fvector
|
||
CODE 0000145(00091H) interrupt
|