📄 ncrt0.lst
字号:
* R8C/Tiny,M16C/60 SERIES ASSEMBLER * SOURCE LIST Sat Feb 28 15:25:22 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-2004). Renesas Technology Corp.
4 ; and Renesas Solutions Corp., All rights reserved.
5 ;
6 ;
7 ; ncrt0.a30 : NC30 startup program
8 ;
9 ; This program is applicable when using the basic I/O library
10 ;
11 ; $Id: ncrt0.a30,v 1.27.4.4 2004/10/29 14:06:38 simomura Exp $
12 ;
13 ;***************************************************************************
14
15 ;--------------------------------------------------------------------
16 ; set size of monitor area for FoUSB
17 ;--------------------------------------------------------------------
18 .if _KD_
19 X .if _Firmware_space == 0
20 X .else
21 X .endif
22 .endif
23 ;---------------------------------------------------------------------
24 ; HEEP SIZE definition
25 ;---------------------------------------------------------------------
26 .if __HEAP__ == 1
27 .else
28
29 .if __HEAPSIZE__ == 0
30 .else
31 00000300h HEAPSIZE .equ __HEAPSIZE__
32 .endif
33
34 .endif
35
36 ;---------------------------------------------------------------------
37 ; STACK SIZE definition
38 ;---------------------------------------------------------------------
39 .if __USTACKSIZE__ == 0
40 X .if __R8C__ != 1
41 X .else
42 X .endif
43 .else
44 00000300h STACKSIZE .equ __USTACKSIZE__
45 .endif
46
47 ;---------------------------------------------------------------------
48 ; INTERRUPT STACK SIZE definition
49 ;---------------------------------------------------------------------
50 .if __ISTACKSIZE__ == 0
51 X .if __R8C__ != 1
52 X .else
53 X .endif
54 .else
55 00000300h ISTACKSIZE .equ __ISTACKSIZE__
56 .endif
57
58 ;---------------------------------------------------------------------
59 ; INTERRUPT VECTOR ADDRESS definition
60 ;---------------------------------------------------------------------
61 .if __R8C__ != 1
62 .if _KD_ == 1
* R8C/Tiny,M16C/60 SERIES ASSEMBLER * SOURCE LIST Sat Feb 28 15:25:22 2009 PAGE 002
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
63 .else
64 000FFD00h VECTOR_ADR .equ 0ffd00h
65 000FFE00h SVECTOR_ADR .equ 0ffe00h
66 .endif // _KD_
67 .else
68 .endif
69
70 ;---------------------------------------------------------------------
71 ; Section allocation
72 ;---------------------------------------------------------------------
73 .list OFF
74 .list ON
75
76 ;---------------------------------------------------------------------
77 ; SBDATA area definition
78 ;---------------------------------------------------------------------
79 .glb __SB__
80 00000400h __SB__ .equ data_SE_top
81
82 ;====================================================================
83 ; Initialize Macro declaration
84 ;---------------------------------------------------------------------
85 D N_BZERO .macro TOP_ ,SECT_
86 D mov.b #00H, R0L
87 D mov.w #(TOP_ & 0FFFFH), A1
88 D mov.w #sizeof SECT_ , R3
89 D sstr.b
90 .endm
91
92 D N_BCOPY .macro FROM_,TO_,SECT_
93 D mov.w #(FROM_ & 0FFFFH),A0
94 D mov.b #(FROM_ >>16),R1H
95 D mov.w #TO_ ,A1
96 D mov.w #sizeof SECT_ , R3
97 D smovf.b
98 .endm
99
100 D BZERO .macro TOP_,SECT_
101 D push.w #sizeof SECT_ >> 16
102 D push.w #sizeof SECT_ & 0ffffh
103 D pusha TOP_ >>16
104 D pusha TOP_ & 0ffffh
105 D .stk 8
106 D .glb _bzero
107 D .call _bzero,G
108 D jsr.a _bzero
109 .endm
110
111 D BCOPY .macro FROM_ ,TO_ ,SECT_
112 D push.w #sizeof SECT_ >> 16
113 D push.w #sizeof SECT_ & 0ffffh
114 D pusha TO_ >>16
115 D pusha TO_ & 0ffffh
116 D pusha FROM_ >>16
117 D pusha FROM_ & 0ffffh
118 D .stk 12
119 D .glb _bcopy
120 D .call _bcopy,G
121 D jsr.a _bcopy
122 .endm
123
124 .if __R8C__ != 1
* R8C/Tiny,M16C/60 SERIES ASSEMBLER * SOURCE LIST Sat Feb 28 15:25:22 2009 PAGE 003
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
125 ;
126 ; for M16C/60,30,20,10 series
127 ;
128 ; .glb __BankSelect
129 ;__BankSelect .equ 0BH
130
131 ;---------------------------------------------------------------
132 ; special page definition
133 ;---------------------------------------------------------------
134 ; macro define for special page
135 ;
136 ;Format:
137 ; SPECIAL number
138 ;
139
140 D SPECIAL .macro NUM
141 D .org 0FFFFEH-(NUM*2)
142 D .glb __SPECIAL_@NUM
143 D .word __SPECIAL_@NUM & 0FFFFH
144 .endm
145 ;====================================================================
146 ; Interrupt section start
147 ;---------------------------------------------------------------------
148 .insf start,S,0
149 .glb start
150 .section interrupt
151 00000 start:
152 ;---------------------------------------------------------------------
153 ; after reset,this program will start
154 ;---------------------------------------------------------------------
155 00000 EB400000r ldc #istack_top, isp ;set istack pointer
156 00004 C7020A00 S mov.b #02h,0ah
157 00008 B70400 Z mov.b #00h,04h ;set processer mode
158 0000B B70A00 Z mov.b #00h,0ah
159 0000E EB308000 ldc #0080h, flg
160 00012 EB500000r ldc #stack_top, sp ;set stack pointer
161 00016 EB600004 ldc #data_SE_top, sb ;set sb register
162 0001A EB200F00 ldintb #VECTOR_ADR
EB1000FD
163
164 ;====================================================================
165 ; NEAR area initialize.
166 ;--------------------------------------------------------------------
167 ; bss zero clear
168 ;--------------------------------------------------------------------
169 N_BZERO bss_SE_top,bss_SE
170 00022 B4 M Z mov.b #00H, R0L
171 00023 AA0000r M S mov.w #(bss_SE_top & 0FFFFH), A1
172 00026 75C30000r M mov.w #sizeof bss_SE , R3
173 0002A 7CEA M sstr.b
174 M .endm
175 N_BZERO bss_SO_top,bss_SO
176 0002C B4 M Z mov.b #00H, R0L
177 0002D AA0000r M S mov.w #(bss_SO_top & 0FFFFH), A1
178 00030 75C30000r M mov.w #sizeof bss_SO , R3
179 00034 7CEA M sstr.b
180 M .endm
181 N_BZERO bss_NE_top,bss_NE
182 00036 B4 M Z mov.b #00H, R0L
183 00037 AA0000r M S mov.w #(bss_NE_top & 0FFFFH), A1
184 0003A 75C30000r M mov.w #sizeof bss_NE , R3
185 0003E 7CEA M sstr.b
* R8C/Tiny,M16C/60 SERIES ASSEMBLER * SOURCE LIST Sat Feb 28 15:25:22 2009 PAGE 004
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4....*....5....*....6....*....7....*....8....*....9....*....0
186 M .endm
187 N_BZERO bss_NO_top,bss_NO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -