📄 startup.lst
字号:
311 ; bset prc0 ; system clock control register 0,1
312 ; ; write-inhibited
313 ; mov.b #00001000B,cm0 ; main clock is set to on
314 ; mov.b #00100000B,cm1 ; no division for main clock
315 ; bclr prc0 ; system clock control register 0,1
316 ; ; write-inhibited
317 ;===============================================================================
318
319 00004 EB300000 ldc #0H,FLG ; initialize FLG register
320 00008 EB700000 ldc #0H,FB ; initialize FB register
321 0000C EB600004 ldc #data_FE_top,SB ; initialize SB register
322 ; (for compiler)
323 00010 EB200F00 ldintb #0FA000H ; initialize INTB register
EB1000A0
324 ;
325 00018 F57E00 W jsr PORTINI ; set non-connection port
326 0001B F50D00 W jsr RAMCLR ; clear data area
327 0001E F53900 W jsr DATINI ; transfer initial value to data area
328 ;
329 00021 EB64 fset I ; enable interrupt (for KD30)
330 ;
331 00023 FD000000r A jsr _main ; call main()
332 ;
333 00027 _exit: ; end of program
334 ;
335 00027 $exit:
336 00027 FEFF B jmp _exit ; jump to exit()
337
338 ;""SUBR COMMENT""**************************************************************
339 ; ID : ---
340 ; Subroutine name : RAMCLR
341 ; Function : clear data area
342 ; : (for the static variable area without initial value)
343 ; Input : No
344 ; Output : No
345 ; Called subroutine : No
346 ; Stack : 0 byte
347 ; Causion : use macro BZERO
348 ; History : ---
349 ;""SUBR COMMENT END""**********************************************************
350 00029 RAMCLR:
351 BZERO bss_FE_top,bss_FE
352 00029 7DE20000r M push.w #sizeof bss_FE >> 16
353 0002D 7DE20000r M push.w #sizeof bss_FE & 0ffffh
354 00031 7D9F0000r M pusha bss_FE_top >>16
355 00035 7D9F0000r M pusha bss_FE_top & 0ffffh
356 M .stk 8
357 M .glb _bzero
358 M .call _bzero,G
359 00039 FD000000r M A jsr.a _bzero
360 0003D 7CEB08 M add.b #08,SP
361 M .endm
362 BZERO bss_FO_top,bss_FO
363 00040 7DE20000r M push.w #sizeof bss_FO >> 16
364 00044 7DE20000r M push.w #sizeof bss_FO & 0ffffh
365 00048 7D9F0000r M pusha bss_FO_top >>16
366 0004C 7D9F0000r M pusha bss_FO_top & 0ffffh
367 M .stk 8
368 M .glb _bzero
369 M .call _bzero,G
370 00050 FD000000r M A jsr.a _bzero
371 00054 7CEB08 M add.b #08,SP
* R8C/Tiny,M16C SERIES ASSEMBLER * SOURCE LIST Tue Oct 14 16:11:38 2008 PAGE 007
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4
372 M .endm
373 00057 RAMCLR_END:
374 00057 F3 rts
375 ;""SUBR COMMENT""**************************************************************
376 ; ID : ---
377 ; Subroutine name : DATINI
378 ; Function : transfer initial value to data area
379 ; : (for static variable area with initial value)
380 ; Input : No
381 ; Output : No
382 ; Called subroutine : No
383 ; Stack : 0 byte
384 ; Causion : use macro BCOPY
385 ; History : ---
386 ;""SUBR COMMENT END""**********************************************************
387 00058 DATINI:
388 BCOPY data_FEI_top,data_FE_top,data_FE
389 00058 7DE20000r M push.w #sizeof data_FE >> 16
390 0005C 7DE20000r M push.w #sizeof data_FE & 0ffffh
391 00060 7D9F0000 M pusha data_FE_top >>16
392 00064 7D9F0004 M pusha data_FE_top & 0ffffh
393 00068 7D9F0000r M pusha data_FEI_top >>16
394 0006C 7D9F0000r M pusha data_FEI_top & 0ffffh
395 M .stk 12
396 M .glb _bcopy
397 M .call _bcopy,G
398 00070 FD000000r M A jsr.a _bcopy
399 00074 7CEB0C M add.b #12,SP
400 M .endm
401 BCOPY data_FOI_top,data_FO_top,data_FO
402 00077 7DE20000r M push.w #sizeof data_FO >> 16
403 0007B 7DE20000r M push.w #sizeof data_FO & 0ffffh
404 0007F 7D9F0000r M pusha data_FO_top >>16
405 00083 7D9F0000r M pusha data_FO_top & 0ffffh
406 00087 7D9F0000r M pusha data_FOI_top >>16
407 0008B 7D9F0000r M pusha data_FOI_top & 0ffffh
408 M .stk 12
409 M .glb _bcopy
410 M .call _bcopy,G
411 0008F FD000000r M A jsr.a _bcopy
412 00093 7CEB0C M add.b #12,SP
413 M .endm
414 00096 DATINI_END:
415 00096 F3 rts
416
417 ;""SUBR COMMENT""**************************************************************
418 ; ID : ---
419 ; Subroutine name : PORTINI
420 ; Function : set non-connection port to Output
421 ; :
422 ; Input : No
423 ; Output : No
424 ; Called subroutine : No
425 ; Stack : 0byte
426 ; Causion : ---
427 ; History : ---
428 ;""SUBR COMMENT END""**********************************************************
429 00097 PORTINI:
430 00097 C7FEE203 S mov.b #0FEH,pd0 ; set non-connection port to Output
431 0009B C7FFE303 S mov.b #0FFH,pd1 ;
432 0009F C7FFE603 S mov.b #0FFH,pd2 ;
433 000A3 C780EA03 S mov.b #080H,pd4 ;
* R8C/Tiny,M16C SERIES ASSEMBLER * SOURCE LIST Tue Oct 14 16:11:38 2008 PAGE 008
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4
434 000A7 C7DEEB03 S mov.b #0DEH,pd5 ;
435 000AB C713EE03 S mov.b #013H,pd6 ;
436 000AF C7D3F203 S mov.b #0D3H,pd8 ;
437 000B3 C7FFF303 S mov.b #0FFH,pd9 ;
438 000B7 C7FEF603 S mov.b #0FEH,pd10 ;
439 000BB PORTINI_END:
440 000BB F3 rts
441
442
443 .end
Information List
TOTAL ERROR(S) 00000
TOTAL WARNING(S) 00000
TOTAL LINE(S) 00443 LINES
Section List
Attr Size Name
DATA 0000000(00000H) data_FE
DATA 0000000(00000H) data_FO
DATA 0000000(00000H) bss_FE
DATA 0000000(00000H) bss_FO
DATA 0000256(00100H) stack
CODE 0000000(00000H) startup
CODE 0000000(00000H) program
ROMDATA 0000000(00000H) rom_FE
ROMDATA 0000000(00000H) rom_FO
ROMDATA 0000000(00000H) data_FEI
ROMDATA 0000000(00000H) data_FOI
CODE 0000008(00008H) interrupt_vector
CODE 0000004(00004H) fix_interrupt_vector
CODE 0000188(000BCH) startup
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -