📄 startup_i0.lst
字号:
253 00000 start: ; start address of start up program
254 00000 EB40FF06 ldc #06FFH,ISP ; initialize interrupt stack pointer(ISP)
255 ; ----- initialize processor mode register -----
256 00004 7E9F5100 bset prc1 ; enable to write
257 ; processor mode register 0,1
258 00008 B70400 Z mov.b #00000000B,pm0 ; single chip mode
259 0000B B70500 Z mov.b #00000000B,pm1 ; no expand, no wait
260 0000E 7E8F5100 bclr prc1 ; disable to write
261 ; processor mode register 0,1
262 ; ----- initialize system clock control register -----
263 00012 7E9F5000 bset prc0 ; enable to write
264 ; system clock control register 0, 1
265 00016 C7080600 S mov.b #00001000B,cm0 ; oscillate main clock
266 0001A C7080700 S mov.b #00001000B,cm1 ; no main clock division
267 0001E B70C00 Z mov.b #00H,ocd ; oscillation stop detection register:select main cl
268 00021 7E8F5000 bclr prc0 ; disable to write
269 ; system clock control register 0, 1
270 ;==============================================================================
271
272 00025 EB300000 ldc #0H,FLG ; initialize FLG register
273 00029 EB700000 ldc #0H,FB ; initialize FB register
274 0002D EB600004 ldc #data_NE_top,SB ; initialize SB register
275 ; (for compiler)
276 00031 EB200000 ldintb #0FEDCH ; initialize INTB register
EB10DCFE
277 ;
278 00039 F50D00 W jsr RAMCLR ; clear data section with 0
279 0003C F51F00 W jsr DATINI ; transfer initial value to data section
280 ;
281 0003F EB64 fset I ; interrupt permission(for OAKS8-LCDBoard pe
282 ;
283 00041 FD000000r A jsr _main ; call main() function
284 ;
285 00045 _exit: ; end of program
286 ; (infinite loop status)
287 00045 $exit:
288 00045 FEFF B jmp _exit ; call exit() function
289
290
291 ;""SUBR COMMENT""**************************************************************
292 ; ID : ---
293 ; subroutine name : RAMCLR
294 ; function : clear data section with 0
295 ; : (clear section for static varialbe without initial value with 0)
296 ; input : none
297 ; output : none
298 ; subroutine used : none
299 ; stack : 0 byte
300 ; notice : use macro N_BZERO
301 ; History : ---
302 ;""SUBR COMMENT END""**********************************************************
303 00047 RAMCLR:
304 N_BZERO bss_NE_top,bss_NE
305 00047 B4 M Z mov.b #00H, R0L
306 00048 AA0005 M S mov.w #(bss_NE_top & 0FFFFH), A1
307 0004B 75C30000r M mov.w #sizeof bss_NE , R3
308 0004F 7CEA M sstr.b
309 M .endm
* R8C/Tiny SERIES ASSEMBLER * SOURCE LIST Fri Oct 15 10:07:15 2004 PAGE 006
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4
310 N_BZERO bss_NO_top,bss_NO
311 00051 B4 M Z mov.b #00H, R0L
312 00052 AA0000r M S mov.w #(bss_NO_top & 0FFFFH), A1
313 00055 75C30000r M mov.w #sizeof bss_NO , R3
314 00059 7CEA M sstr.b
315 M .endm
316 0005B RAMCLR_END:
317 0005B F3 rts
318
319
320 ;""SUBR COMMENT""**************************************************************
321 ; ID : ---
322 ; subroutine name : DATINI
323 ; function : transfer initial value to data section
324 ; : (transfer initial value to section for static variable with initial value)
325 ; input : none
326 ; output : none
327 ; subroutine used : none
328 ; stack : 0 byte
329 ; notice : use macro N_BCOPY
330 ; History : ---
331 ;""SUBR COMMENT END""**********************************************************
332 0005C DATINI:
333 N_BCOPY data_NEI_top,data_NE_top,data_NE
334 0005C A200FC M S mov.w #(data_NEI_top & 0FFFFH),A0
335 0005F 74C300 M mov.b #(data_NEI_top >>16),R1H
336 00062 AA0004 M S mov.w #data_NE_top ,A1
337 00065 75C30000r M mov.w #sizeof data_NE , R3
338 00069 7CE8 M smovf.b
339 M .endm
340 N_BCOPY data_NOI_top,data_NO_top,data_NO
341 0006B A20000r M S mov.w #(data_NOI_top & 0FFFFH),A0
342 0006E 74C300r M mov.b #(data_NOI_top >>16),R1H
343 00071 AA0000r M S mov.w #data_NO_top ,A1
344 00074 75C30000r M mov.w #sizeof data_NO , R3
345 00078 7CE8 M smovf.b
346 M .endm
347 0007A DATINI_END:
348 0007A F3 rts
349
350
351 ;==============================================================================
352 ; dummy interrupt program
353 ;------------------------------------------------------------------------------
354 0007B DUMMY_INT:
355 0007B FB reit ;command for returning from
356
357
358 .end
Information List
TOTAL ERROR(S) 00000
TOTAL WARNING(S) 00000
TOTAL LINE(S) 00358 LINES
Section List
Attr Size Name
DATA 0000000(00000H) data_NE
DATA 0000000(00000H) data_NO
DATA 0000000(00000H) bss_NE
DATA 0000000(00000H) bss_NO
DATA 0000255(000FFH) stack
CODE 0000000(00000H) startup
CODE 0000000(00000H) program
ROMDATA 0000000(00000H) rom_NE
ROMDATA 0000000(00000H) rom_NO
ROMDATA 0000000(00000H) data_NEI
ROMDATA 0000000(00000H) data_NOI
CODE 0000028(0001CH) interrupt_vector
CODE 0000036(00024H) fix_interrupt_vector
CODE 0000124(0007CH) startup
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -