source: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc.tf@ 164

Last change on this file since 164 was 164, checked in by coas-nagasima, 8 years ago

TOPPERS/ECNLサンプルアプリ「USB充電器電力計」を追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/plain
File size: 9.6 KB
Line 
1$
2$ TOPPERS/ASP Kernel
3$ Toyohashi Open Platform for Embedded Real-Time Systems/
4$ Advanced Standard Profile Kernel
5$
6$ Copyright (C) 2008-2010 by Witz Corporation, JAPAN
7$ Copyright (C) 2013 by Mitsuhiro Matsuura
8$
9$ ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
10$ ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
11$ •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
12$ (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
13$ Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
14$ ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
15$ (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
16$ —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ…
17ƒƒ“ƒgi—˜—p
18$ ŽÒƒ}ƒjƒ…
19ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
20$ ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
21$ (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
22$ —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
23$ ‚ƁD
24$ (a) Ä”z•z‚É”º‚¤ƒhƒLƒ…
25ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
26ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
27$ ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
28$ (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
29$ •ñ‚·‚邱‚ƁD
30$ (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
31$ ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
32$ ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
33$ —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
34$ –Ɛӂ·‚邱‚ƁD
35$
36$ –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
37$ ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
38$ ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
39$ ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
40$ ‚̐ӔC‚𕉂í‚È‚¢D
41$
42$ @(#) $Id: prc.tf 164 2016-03-07 11:33:50Z coas-nagasima $
43$
44
45$
46$ ƒA[ƒLƒeƒNƒ`ƒƒˆË‘¶ƒeƒ“ƒvƒŒ[ƒgiRX630—pj
47$
48
49
50
51$
52$ ATT_ISR‚ÅŽg—p‚Å‚«‚銄ž‚ݔԍ†‚Æ‚»‚ê‚ɑΉž‚·‚銄ž‚݃nƒ“ƒhƒ‰”ԍ†
53$
54
55$INTNO_ATTISR_VALID = INTNO_VALID$
56$INHNO_ATTISR_VALID = INHNO_VALID$
57
58
59$
60$ DEF_INT^DEF_EXC‚ÅŽg—p‚Å‚«‚銄ž‚݃nƒ“ƒhƒ‰”ԍ†^CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†
61$
62
63$INHNO_DEFINH_VALID = INHNO_VALID$
64$EXCNO_DEFEXC_VALID = EXCNO_VALID$
65
66
67$
68$ CFG_INT‚ÅŽg—p‚Å‚«‚銄ž‚ݔԍ†‚ÆŠ„ž‚Ý—Dæ“x
69$
70
71$INTNO_CFGINT_VALID = INHNO_VALID$
72$INTPRI_CFGINT_VALID = { -7, -6,...,-1 }$
73
74
75$
76$ ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚ÉŠÜ‚Ü‚ê‚é•W€‚ÌŠ„ž‚ÝŠÇ—‹@”\/—áŠOŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ðŽg—p‚·‚é
77$
78
79$OMIT_INITIALIZE_INTERRUPT = 0$
80$OMIT_INITIALIZE_EXCEPTION = 0$
81
82
83$
84$ ƒXƒ^ƒbƒNƒTƒCƒY‚̃`ƒFƒbƒN•û–@Žw’è
85$
86
87$CHECK_STKSZ_ALIGN = 4$
88
89
90$
91$ ƒ^ƒXƒNƒXƒ^ƒbƒNƒTƒCƒY‚̍ŏ¬’l
92$
93$ ƒ^ƒXƒN‹N“®Žž‚É4byte,
94$ Š„ž‚Ý“üŒûˆ—‚É‚Ä48byte, CPU—áŠO“üŒûˆ—‚É‚Ä84byte,
95$ ‚Å‚ ‚邽‚ß, Å¬’l‚Í88byte‚Æ‚·‚é.
96$
97
98$TARGET_MIN_STKSZ = 88$
99
100
101$
102$ ’萔’è‹`
103$
104
105$TA_POSEDGE = TA_EDGE$
106
107
108$
109$ ƒ^[ƒQƒbƒgˆË‘¶‚ÌŠ„ž‚Ý‘®«‚Ì’è‹`
110$
111
112$TARGET_INTATR = TA_POSEDGE | TA_NEGEDGE | TA_BOTHEDGE | TA_LOWLEVEL$
113
114
115$
116$ ƒ^[ƒQƒbƒgˆË‘¶‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‘®«‚Ì’è‹`
117$
118
119$TARGET_INHATR = TA_NONKERNEL$
120
121
122$
123$ ƒJ[ƒlƒ‹ŠÇ—ŠOŠ„ž‚݃nƒ“ƒhƒ‰‚͌Œ肳‚¹‚È‚¢‚½‚ß,
124$ INTNO_FIX_KERNEL
125$ INHNO_FIX_KERNEL
126$ INHNO_FIX_NONKERNEL
127$ INHNO_FIX_NONKERNEL
128$ ‚ð’è‹`‚µ‚È‚¢.
129$
130
131
132$
133$ •W€ƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃Cƒ“ƒNƒ‹[ƒh
134$
135$INCLUDE "kernel.tf"$
136
137
138
139$
140$ CFG_INT‚̃^[ƒQƒbƒgˆË‘¶‚̃Gƒ‰[ƒ`ƒFƒbƒN
141$
142
143$FOREACH intno INT.ORDER_LIST$
144$ IRQŠ„ž‚ݔԍ†‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN
145 $IF ( LENGTH( FIND( INTNO_INT, INT.INTNO[intno] ) ) != 0 )$
146
147$ TA_POSEDGE‚ÆTA_NEGEDGE‚ª“¯Žž‚ɐݒ肳‚ê‚Ä‚¢‚éê‡
148 $IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_NEGEDGE )) == ( TA_POSEDGE | TA_NEGEDGE ))$
149 $ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
150 $END$
151
152$ TA_POSEDGE‚ÆTA_BOTHEDGE‚ª“¯Žž‚ɐݒ肳‚ê‚Ä‚¢‚éê‡
153 $IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_BOTHEDGE )) == ( TA_POSEDGE | TA_BOTHEDGE ))$
154 $ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
155 $END$
156
157$ TA_NEGEDGE‚ÆTA_BOTHEDGE‚ª“¯Žž‚ɐݒ肳‚ê‚Ä‚¢‚éê‡
158 $IF ((INT.INTATR[intno] & ( TA_NEGEDGE | TA_BOTHEDGE )) == ( TA_NEGEDGE | TA_BOTHEDGE ))$
159 $ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
160 $END$
161
162$ TA_POSEDGE‚ÆTA_NEGEDGE‚ÆTA_BOTHEDGE‚ª“¯Žž‚ɐݒ肳‚ê‚Ä‚¢‚éê‡
163 $IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_NEGEDGE | TA_BOTHEDGE )) == ( TA_POSEDGE | TA_NEGEDGE | TA_BOTHEDGE ))$
164 $ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
165 $END$
166
167 $ELSE$
168
169$ IRQŠ„ž‚݈ȊO‚ÌŠ„ž‚݂ɑ΂µ‚ÄŠ„ž‚Ý‘®«‚ªŽw’肳‚ê‚Ä‚¢‚éê‡
170 $IF (INT.INTATR[intno] & (~( TA_ENAINT | TA_EDGE ))) != 0$
171 $ERROR$ INT.TEXT_LINE[intno]: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
172 $END$
173
174 $END$
175
176$END$
177
178
179
180$
181$ Š„ž‚ݔԍ†‚©‚犄ž‚Ý—Dæ“x‹y‚Ñ‘®«‚ðŽæ‚èo‚·ƒe[ƒuƒ‹
182$
183
184/*$NL$
185$SPC$*$SPC$$SPC$Interrupt Level and Attribute Table$NL$
186$SPC$*/$NL$
187const CFG_INT_INFO _kernel_cfg_int_table[$LENGTH(INTNO_RANGE)$] = {$NL$
188$FOREACH intno INTNO_RANGE$
189$ Š„ž‚Ý—Dæ“x‚ðŽæ“¾
190 $IF LENGTH(INT.INTNO[intno])$
191 $intpri = -INT.INTPRI[intno]$
192 $intatr = INT.INTATR[intno]$
193 $ELSE$
194 $intpri = "0"$
195 $intatr = "0xFFFFFFFF"$
196 $END$
197
198$ ƒe[ƒuƒ‹‚Ì’†g‚ðo—Í
199 $TAB$$FORMAT("{ %2d, %08x }, /* %02u */", intpri, intatr, +intno)$$NL$
200$END$
201};$NL$$NL$
202
203
204$
205$ ƒAƒZƒ“ƒuƒ‰o—̓tƒ@ƒCƒ‹
206$
207
208$FILE "kernel_cfg_asm.src"$
209
210;$NL$
211; RX630ƒA[ƒLƒeƒNƒ`ƒƒˆË‘¶o—̓tƒ@ƒCƒ‹$NL$
212;$NL$
213; Š„ž‚݃xƒNƒ^‹y‚ÑŠ„ž‚݃nƒ“ƒhƒ‰’è‹`$NL$
214;$NL$
215$NL$$NL$
216
217
218$
219$ Š„ž‚Ý“üŒûˆ—
220$
221
222$
223$ ‹¤’ʊ֐”‚̐錾
224$
225
226$TAB$.section P, CODE$NL$
227$TAB$.glb$TAB$_kernel_interrupt$NL$
228$TAB$.glb$TAB$__kernel_default_int_handler$NL$
229$TAB$.glb$TAB$__kernel_default_exc_handler$NL$$NL$$NL$
230
231
232$
233$ Š„ž‚݃nƒ“ƒhƒ‰‚̏o—Í
234$
235
236$FOREACH inhno INHNO_RANGE$
237 $IF LENGTH(INH.INHNO[inhno])$
238 $IF ((INH.INHATR[inhno] & TA_NONKERNEL) == 0)$
239 $TAB$.glb _$INH.INTHDR[inhno]$$NL$
240 $TAB$.glb __kernel_$INH.INTHDR[inhno]$_$+INH.INHNO[inhno]$_entry$NL$
241 __kernel_$INH.INTHDR[inhno]$_$+INH.INHNO[inhno]$_entry:$NL$
242 $TAB$pushm r1-r5 ; ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ðƒ^ƒXƒNƒXƒ^ƒbƒN‚Ö‘Þ”ð $NL$
243 $TAB$mov.l #$+INH.INHNO[inhno]$, r1 ; Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ðr1‚Ö $NL$
244 $TAB$mov.l #_$INH.INTHDR[inhno]$, r2 ; ƒnƒ“ƒhƒ‰‚̃AƒhƒŒƒX‚ðr2‚Ö $NL$
245 $TAB$bra.a _kernel_interrupt ; ‹¤’ʃ‹[ƒ`ƒ“‚Ö $NL$$NL$$NL$
246 $END$
247 $END$
248$END$
249
250
251$ –¢“o˜^Š„ž‚݃nƒ“ƒhƒ‰“üŒûˆ—
252$TAB$.glb$TAB$__kernel_default_int_handler_entry$NL$
253__kernel_default_int_handler_entry:$NL$
254$TAB$pushm r1-r5 ; ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ðƒ^ƒXƒNƒXƒ^ƒbƒN‚Ö‘Þ”ð $NL$
255$TAB$mov.l #0FFFFFFFFH, r1 ; Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ðr1‚Ö $NL$
256$TAB$mov.l #__kernel_default_int_handler, r2 ; ƒnƒ“ƒhƒ‰‚̃AƒhƒŒƒX‚ðr2‚Ö $NL$
257$TAB$bra.a _kernel_interrupt ; ‹¤’ʃ‹[ƒ`ƒ“‚Ö $NL$$NL$$NL$
258
259
260$
261$ CPU—áŠOƒnƒ“ƒhƒ‰“üŒûˆ—
262$
263
264$TAB$.glb _kernel_exception$NL$$NL$
265
266$FOREACH excno EXCNO_RANGE$
267 $IF LENGTH(EXC.EXCNO[excno])$
268 $TAB$.glb _$EXC.EXCHDR[excno]$$NL$
269 $TAB$.glb __kernel_$EXC.EXCHDR[excno]$_$+EXC.EXCNO[excno]$_entry$NL$
270 __kernel_$EXC.EXCHDR[excno]$_$+EXC.EXCNO[excno]$_entry:$NL$
271 $TAB$pushm r1-r5 ; ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ðƒ^ƒXƒNƒXƒ^ƒbƒN‚Ö‘Þ”ð $NL$
272 $TAB$mov.l #$+EXC.EXCNO[excno]$, r1 ; CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚ðr1‚Ö $NL$
273 $TAB$mov.l #_$EXC.EXCHDR[excno]$, r2 ; ƒnƒ“ƒhƒ‰‚̃AƒhƒŒƒX‚ðr2‚Ö $NL$
274 $TAB$bra.a _kernel_exception ; ‹¤’ʃ‹[ƒ`ƒ“‚Ö $NL$$NL$$NL$
275 $END$
276$END$
277
278
279$ –¢“o˜^CPU—áŠOƒnƒ“ƒhƒ‰“üŒûˆ—
280$TAB$.glb$TAB$__kernel_default_exc_handler_entry$NL$
281__kernel_default_exc_handler_entry:$NL$
282$TAB$pushm r1-r5 ; ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ðƒ^ƒXƒNƒXƒ^ƒbƒN‚Ö‘Þ”ð $NL$
283$TAB$mov.l #0FFFFFFFFH, r1 ; CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚ðr1‚Ö $NL$
284$TAB$mov.l #__kernel_default_exc_handler, r2 ; ƒnƒ“ƒhƒ‰‚̃AƒhƒŒƒX‚ðr2‚Ö $NL$
285$TAB$bra.a _kernel_exception ; ‹¤’ʃ‹[ƒ`ƒ“‚Ö $NL$$NL$$NL$
286
287
288$
289$ ‰Â•ÏƒxƒNƒ^ƒe[ƒuƒ‹
290$
291
292;$NL$
293; ‰Â•ÏƒxƒNƒ^ƒe[ƒuƒ‹$NL$
294;$NL$
295$NL$
296
297$TAB$.glb $TAB$ _start$NL$$NL$
298
299$FOREACH inhno INH.ORDER_LIST$
300 $IF ((INH.INHATR[inhno] & TA_NONKERNEL) != 0)$
301 $TAB$.glb $TAB$ _$INH.INTHDR[inhno]$ $NL$
302 $END$
303$END$
304$NL$
305
306$TAB$.section C$$VECT, ROMDATA$NL$$NL$
307vvector_table:$NL$
308$FOREACH inhno INHNO_RANGE$
309 $IF LENGTH(INH.INHNO[inhno])$
310 $IF ((INH.INHATR[inhno] & TA_NONKERNEL) == 0)$
311 $inhhdr = CONCAT(CONCAT("_kernel_" , CONCAT(INH.INTHDR[inhno] , "_")) , CONCAT(+INH.INHNO[inhno] , "_entry"))$
312 $ELSE$
313 $inhhdr = INH.INTHDR[inhno]$
314 $END$
315 $ELSE$
316 $inhhdr = "_kernel_default_int_handler_entry"$
317 $END$
318
319 $TAB$.lword$TAB$_$inhhdr$ $TAB$ $TAB$ $FORMAT("; %02d" , inhno)$ $NL$
320$END$
321
322
323$
324$ ŒÅ’èƒxƒNƒ^ƒe[ƒuƒ‹
325$
326$FOREACH excno EXCNO_RANGE$
327 $IF LENGTH(EXC.EXCNO[excno])$
328 $EXCHDR[excno] = CONCAT(CONCAT("_kernel_" , CONCAT(EXC.EXCHDR[excno] , "_")) , CONCAT(+EXC.EXCNO[excno] , "_entry"))$
329 $ELSE$
330 $EXCHDR[excno] = "_kernel_default_exc_handler_entry"$
331 $END$
332$END$
333
334$NL$
335;$NL$
336; ŒÅ’èƒxƒNƒ^ƒe[ƒuƒ‹$NL$
337;$NL$
338$NL$
339
340$TAB$ .section FVECT, ROMDATA$NL$
341$NL$
342fvector_table:$NL$$NL$
343
344$TAB$ .offset$TAB$ 020H$NL$
345$TAB$ .lword$TAB$ 00000000 $TAB$ ; §ŒäƒR[ƒh, IDƒR[ƒh1 - 3$NL$
346$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDƒR[ƒh4 - 7$NL$
347$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDƒR[ƒh8 - 11$NL$
348$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDƒR[ƒh12 - 15$NL$$NL$
349
350$TAB$ .offset$TAB$ 050H$NL$
351$TAB$ .lword$TAB$ _$EXCHDR[20]$ $TAB$ $TAB$ ;$SPC$ 20:“ÁŒ –½—ß—áŠO $SPC$$NL$
352$TAB$ .offset$TAB$ 05CH$NL$
353$TAB$ .lword$TAB$ _$EXCHDR[23]$ $TAB$ $TAB$ ;$SPC$ 23:–¢’è‹`–½—ß—áŠO $SPC$$NL$
354$TAB$ .offset$TAB$ 064H$NL$
355$TAB$ .lword$TAB$ _$EXCHDR[25]$ $TAB$ $TAB$ ;$SPC$ 25:•‚“®¬”“_—áŠO $SPC$$NL$
356$TAB$ .offset$TAB$ 078H$NL$
357$TAB$ .lword$TAB$ _$EXCHDR[30]$ $TAB$ $TAB$ ;$SPC$ 30:ƒmƒ“ƒ}ƒXƒJƒuƒ‹—áŠO $SPC$$NL$
358$TAB$ .lword$TAB$ _start $TAB$ $TAB$ $TAB$ $TAB$ ;$SPC$ 31:ƒŠƒZƒbƒg $SPC$$NL$
359
360$NL$ $NL$
361
362 $TAB$.end
363$NL$
Note: See TracBrowser for help on using the repository browser.