📄 ncrt0.lst
字号:
* R8C/Tiny,M16C/60 SERIES ASSEMBLER * SOURCE LIST Tue Mar 03 12:57:02 2009 PAGE 001
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
1 ;***************************************************************************
2 ; C Compiler for R8C/Tiny, M16C/60,30,20,10
3 ; Copyright(C) 1999(2000-2006). Renesas Technology Corp.
4 ; and Renesas Solutions Corp., All rights reserved.
5 ;
6 ; ncrt0.a30 : Startup Program for M16C family
7 ;
8 ; $Date: 2006/11/22 04:13:23 $
9 ; $Revision: 1.1.4.1 $
10 ;***************************************************************************
11
12 ;---------------------------------------------------------------------
13 ; include files
14 ;---------------------------------------------------------------------
15 .list OFF
16 .list ON
17
18 ;---------------------------------------------------------------------
19 ; BankSelect definition for 4M mode
20 ;---------------------------------------------------------------------
21 ; .glb __BankSelect
22 ;__BankSelect .equ 0BH
23
24 ;=====================================================================
25 ; Interrupt section start
26 ;---------------------------------------------------------------------
27 .insf start,S,0
28 .glb start
29 .section interrupt
30 00000 start:
31 ;---------------------------------------------------------------------
32 ; after reset,this program will start
33 ;---------------------------------------------------------------------
34 00000 EB400000r ldc #istack_top,isp ;set istack pointer
35 00004 C7020A00 S mov.b #02h,0ah
36 00008 B70400 Z mov.b #00h,04h ;set processer mode
37 0000B B70A00 Z mov.b #00h,0ah
38 .if __STACKSIZE__ != 0
39 0000E EB308000 ldc #0080h,flg
40 00012 EB500000r ldc #stack_top,sp ;set stack pointer
41 .else
42 .endif
43 00016 EB600004 ldc #data_SE_top,sb ;set sb register
44 0001A EB200F00 ldintb #__VECTOR_ADR__
EB1000FD
45
46 ;=====================================================================
47 ; NEAR area initialize.
48 ;---------------------------------------------------------------------
49 ; bss zero clear
50 ;---------------------------------------------------------------------
51 N_BZERO bss_SE_top,bss_SE
52 00022 B4 1 M Z mov.b #00H,R0L
53 00023 AA0000r 1 M S mov.w #(bss_SE_top & 0FFFFH),A1
54 00026 75C30000r 1 M mov.w #sizeof bss_SE,R3
55 0002A 7CEA 1 M sstr.b
56 1 M .endm
57 N_BZERO bss_SO_top,bss_SO
58 0002C B4 1 M Z mov.b #00H,R0L
59 0002D AA0000r 1 M S mov.w #(bss_SO_top & 0FFFFH),A1
60 00030 75C30000r 1 M mov.w #sizeof bss_SO,R3
61 00034 7CEA 1 M sstr.b
* R8C/Tiny,M16C/60 SERIES ASSEMBLER * SOURCE LIST Tue Mar 03 12:57:02 2009 PAGE 002
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
62 1 M .endm
63 N_BZERO bss_NE_top,bss_NE
64 00036 B4 1 M Z mov.b #00H,R0L
65 00037 AA0000r 1 M S mov.w #(bss_NE_top & 0FFFFH),A1
66 0003A 75C30000r 1 M mov.w #sizeof bss_NE,R3
67 0003E 7CEA 1 M sstr.b
68 1 M .endm
69 N_BZERO bss_NO_top,bss_NO
70 00040 B4 1 M Z mov.b #00H,R0L
71 00041 AA0000r 1 M S mov.w #(bss_NO_top & 0FFFFH),A1
72 00044 75C30000r 1 M mov.w #sizeof bss_NO,R3
73 00048 7CEA 1 M sstr.b
74 1 M .endm
75
76 ;---------------------------------------------------------------------
77 ; initialize data section
78 ;---------------------------------------------------------------------
79 N_BCOPY data_SEI_top,data_SE_top,data_SE
80 0004A A20000r 1 M S mov.w #(data_SEI_top & 0FFFFH),A0
81 0004D 74C300r 1 M mov.b #(data_SEI_top >> 16),R1H
82 00050 AA0004 1 M S mov.w #data_SE_top,A1
83 00053 75C30000r 1 M mov.w #sizeof data_SE,R3
84 00057 7CE8 1 M smovf.b
85 1 M .endm
86 N_BCOPY data_SOI_top,data_SO_top,data_SO
87 00059 A20000r 1 M S mov.w #(data_SOI_top & 0FFFFH),A0
88 0005C 74C300r 1 M mov.b #(data_SOI_top >> 16),R1H
89 0005F AA0000r 1 M S mov.w #data_SO_top,A1
90 00062 75C30000r 1 M mov.w #sizeof data_SO,R3
91 00066 7CE8 1 M smovf.b
92 1 M .endm
93 N_BCOPY data_NEI_top,data_NE_top,data_NE
94 00068 A20000r 1 M S mov.w #(data_NEI_top & 0FFFFH),A0
95 0006B 74C300r 1 M mov.b #(data_NEI_top >> 16),R1H
96 0006E AA0000r 1 M S mov.w #data_NE_top,A1
97 00071 75C30000r 1 M mov.w #sizeof data_NE,R3
98 00075 7CE8 1 M smovf.b
99 1 M .endm
100 N_BCOPY data_NOI_top,data_NO_top,data_NO
101 00077 A20000r 1 M S mov.w #(data_NOI_top & 0FFFFH),A0
102 0007A 74C300r 1 M mov.b #(data_NOI_top >> 16),R1H
103 0007D AA0000r 1 M S mov.w #data_NO_top,A1
104 00080 75C30000r 1 M mov.w #sizeof data_NO,R3
105 00084 7CE8 1 M smovf.b
106 1 M .endm
107
108 ;=====================================================================
109 ; FAR area initialize.
110 ;---------------------------------------------------------------------
111 ; bss zero clear
112 ;---------------------------------------------------------------------
113 .if __FAR_RAM_FLG__ != 0
114 .endif
115
116 ;---------------------------------------------------------------------
117 ; initialize data section
118 ;---------------------------------------------------------------------
119 .if __FAR_RAM_FLG__ != 0
120 .endif
121
122 ;=====================================================================
123 ; heap area initialize
* R8C/Tiny,M16C/60 SERIES ASSEMBLER * SOURCE LIST Tue Mar 03 12:57:02 2009 PAGE 003
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
124 ;---------------------------------------------------------------------
125 .if __HEAPSIZE__ != 0
126 .glb __mnext
127 .glb __msize
128 00086 75CF0000r0000r mov.w #(heap_top&0FFFFH),__mnext
129 0008C 75CF0000r0000r mov.w #(heap_top>>16),__mnext+2
130 00092 75CF0000r0003 mov.w #(__HEAPSIZE__&0FFFFH),__msize
131 00098 D90F0000r Q mov.w #(__HEAPSIZE__>>16),__msize+2
132 .endif
133
134 ;=====================================================================
135 ; Initialize standard I/O
136 ;---------------------------------------------------------------------
137 .if __STANDARD_IO__ == 1
138 .glb __init
139 .call __init,G
140 0009C FD000000r A jsr.a __init
141 .endif
142
143 ;=====================================================================
144 ; Call main() function
145 ;---------------------------------------------------------------------
146 000A0 EB700000 ldc #0h,fb ; for debuger
147
148 .glb _main
149 000A4 FD000000r A jsr.a _main
150
151 ;=====================================================================
152 ; exit() function
153 ;---------------------------------------------------------------------
154 .glb _exit
155 .glb $exit
156 000A8 _exit: ; End program
157 000A8 $exit:
158 000A8 FEFF B jmp _exit
159 .einsf
160 ;=====================================================================
161 ; dummy interrupt function
162 ;---------------------------------------------------------------------
163 .glb dummy_int
164 000AA dummy_int:
165 000AA FB reit
166
167 .end
Information List
TOTAL ERROR(S) 00000
TOTAL WARNING(S) 00000
TOTAL LINE(S) 00167 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 0000768(00300H) istack
DATA 0000768(00300H) stack
DATA 0000768(00300H) heap
ROMDATA 0000000(00000H) rom_FE
ROMDATA 0000000(00000H) rom_FO
ROMDATA 0000000(00000H) data_SEI
ROMDATA 0000000(00000H) data_SOI
ROMDATA 0000000(00000H) data_NEI
ROMDATA 0000000(00000H) data_NOI
CODE 0000000(00000H) program
CODE 0000000(00000H) interrupt
CODE 0000000(00000H) program_S
ROMDATA 0000000(00000H) vector
ROMDATA 0000036(00024H) fvector
CODE 0000171(000ABH) interrupt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -