📄 main.lst
字号:
1 .file "main.c"
2 .arch atmega128
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
133 .global hardwareInit
135 hardwareInit:
1:main.c **** //----------------------------------------------------//
2:main.c **** //-------Institute Of Computing Technology-----------//
3:main.c **** //------------Chinese Academic Science---------------//
4:main.c **** //-----中国科学院计算技术研究所先进测试技术实验室-----//
5:main.c **** //----------------------------------------------------//
6:main.c ****
7:main.c **** /**
8:main.c **** * www.wsn.net.cn
9:main.c **** * @copyright:nbicc_lpp
10:main.c **** * @data:2005.11.22
11:main.c **** * @version:0.0.1
12:main.c **** * @updata:$
13:main.c **** *
14:main.c **** */
15:main.c **** #include "top.h"
16:main.c **** #include "generic.h"
17:main.c ****
18:main.c **** //--------------------------------------------------------
19:main.c ****
20:main.c ****
21:main.c **** //--------------------------------------------------------
22:main.c **** //---------------------------------------------------------------
23:main.c **** inline uint8_t hardwareInit(void)
24:main.c ****
25:main.c **** {
137 .LM1:
138 /* prologue: frame size=0 */
139 /* prologue end (size=0) */
26:main.c ****
141 .LM2:
142 0000 0E94 0000 call OS_SET_PIN_DIRECTIONS
27:main.c ****
28:main.c **** OS_SET_PIN_DIRECTIONS();
144 .LM3:
145 0004 81E0 ldi r24,lo8(1)
146 0006 90E0 ldi r25,hi8(1)
147 /* epilogue: frame size=0 */
148 0008 0895 ret
149 /* epilogue end (size=1) */
150 /* function hardwareInit size 5 (4) */
152 .data
153 .LC0:
154 0000 0A66 6C61 .string "\nflash is not empty!test[0]is %02x\n"
154 7368 2069
154 7320 6E6F
154 7420 656D
154 7074 7921
155 .text
157 .global main
159 main:
29:main.c ****
30:main.c **** return SUCCESS;
31:main.c **** }
32:main.c ****
33:main.c ****
161 .LM4:
162 /* prologue: frame size=0 */
163 000a C0E0 ldi r28,lo8(__stack - 0)
164 000c D0E0 ldi r29,hi8(__stack - 0)
165 000e DEBF out __SP_H__,r29
166 0010 CDBF out __SP_L__,r28
167 /* prologue end (size=4) */
168 .LBB2:
169 .LBB3:
171 .LM5:
172 0012 0E94 0000 call OS_SET_PIN_DIRECTIONS
173 .LBE3:
174 .LBE2:
34:main.c **** //---------------------------------------------------------
35:main.c **** int main(void)
36:main.c **** {
176 .LM6:
177 0016 0E94 0000 call Leds_greenOn
37:main.c ****
179 .LM7:
180 001a 0E94 0000 call Leds_redOn
38:main.c **** hardwareInit();
182 .LM8:
183 001e 0E94 0000 call Leds_yellowOn
39:main.c **** Leds_greenOn();
185 .LM9:
186 0022 0E94 0000 call IoInit
40:main.c **** Leds_redOn();
41:main.c **** Leds_yellowOn();
188 .LM10:
189 0026 0E94 0000 call OS_sched_init
42:main.c **** IoInit();
191 .LM11:
192 002a 0E94 0000 call cc2420_init
43:main.c ****
194 .LM12:
195 002e 0E94 0000 call os_atomic_enable_interrupt
44:main.c **** OS_sched_init();
45:main.c **** cc2420_init();
46:main.c **** os_atomic_enable_interrupt();
47:main.c ****
48:main.c **** //-------------------------------------------------
197 .LM13:
198 0032 1092 0000 sts isready,__zero_reg__
49:main.c **** //init rssi and payload var
200 .LM14:
201 0036 1092 0000 sts (tend)+1,__zero_reg__
202 003a 1092 0000 sts tend,__zero_reg__
50:main.c **** //-------------------------------------------------
204 .LM15:
205 003e 1092 0000 sts (payload)+1,__zero_reg__
206 0042 1092 0000 sts payload,__zero_reg__
51:main.c **** isready=0;
208 .LM16:
209 0046 1092 0000 sts (pagenum)+1,__zero_reg__
210 004a 1092 0000 sts pagenum,__zero_reg__
52:main.c **** tend=0;
212 .LM17:
213 004e 1092 0000 sts testnum,__zero_reg__
214 0052 80E0 ldi r24,lo8(rssi)
215 0054 90E0 ldi r25,hi8(rssi)
216 0056 FC01 movw r30,r24
217 .L7:
218 .LBB4:
53:main.c **** payload=0;
54:main.c **** pagenum=0;
55:main.c **** testnum=0;
56:main.c **** for (int i=0;i<1003;i++)
220 .LM18:
221 0058 1192 st Z+,__zero_reg__
223 .LM19:
224 005a 20E0 ldi r18,hi8(rssi+1002)
225 005c E030 cpi r30,lo8(rssi+1002)
226 005e F207 cpc r31,r18
227 0060 D9F3 breq .L7
228 0062 D4F3 brlt .L7
229 .LBE4:
57:main.c **** {
58:main.c ****
59:main.c **** rssi[i]=0;
231 .LM20:
232 0064 9093 0000 sts (prssi)+1,r25
233 0068 8093 0000 sts prssi,r24
60:main.c **** }
61:main.c ****
62:main.c **** prssi=rssi;
63:main.c ****
64:main.c **** //-------------------------------------------------
235 .LM21:
236 006c 0E94 0000 call extflash_ini
237 0070 E0E0 ldi r30,lo8(test)
238 0072 F0E0 ldi r31,hi8(test)
239 .L11:
240 .LBB5:
65:main.c **** //some test for extflash
66:main.c **** //-------------------------------------------------
67:main.c **** extflash_ini();
68:main.c ****
242 .LM22:
243 0074 1192 st Z+,__zero_reg__
245 .LM23:
246 0076 80E0 ldi r24,hi8(test+263)
247 0078 E030 cpi r30,lo8(test+263)
248 007a F807 cpc r31,r24
249 007c D9F3 breq .L11
250 007e D4F3 brlt .L11
251 .LBE5:
69:main.c **** for (int i=0;i<264;i++)
70:main.c **** {
253 .LM24:
254 0080 28E0 ldi r18,lo8(264)
255 0082 31E0 ldi r19,hi8(264)
256 0084 40E0 ldi r20,lo8(test)
257 0086 50E0 ldi r21,hi8(test)
258 0088 60E0 ldi r22,lo8(0)
259 008a 70E0 ldi r23,hi8(0)
260 008c CB01 movw r24,r22
261 008e 0E94 0000 call Main_Memory_PageRead
262 .L12:
71:main.c **** test[i]=0;
72:main.c **** }
264 .LM25:
265 0092 0E94 0000 call Status_Register_Get
266 0096 8823 tst r24
267 0098 E4F7 brge .L12
73:main.c **** Main_Memory_PageRead(0, 0x0000, test, 264);//read the content of a page
74:main.c ****
269 .LM26:
270 009a 8091 0000 lds r24,test
271 009e 8F3F cpi r24,lo8(-1)
272 00a0 71F0 breq .L15
75:main.c **** while(!(Status_Register_Get()&0x80));
76:main.c **** //-----------------
274 .LM27:
275 00a2 9927 clr r25
276 00a4 9F93 push r25
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -