📄 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 .LC1:
156 0024 0A66 6C61 .string "\nflash is empty!"
156 7368 2069
156 7320 2065
156 6D70 7479
156 2100
157 .text
159 .global main
161 main:
29:main.c ****
30:main.c **** return SUCCESS;
31:main.c **** }
32:main.c ****
33:main.c ****
163 .LM4:
164 /* prologue: frame size=0 */
165 000a C0E0 ldi r28,lo8(__stack - 0)
166 000c D0E0 ldi r29,hi8(__stack - 0)
167 000e DEBF out __SP_H__,r29
168 0010 CDBF out __SP_L__,r28
169 /* prologue end (size=4) */
170 .LBB2:
171 .LBB3:
173 .LM5:
174 0012 0E94 0000 call OS_SET_PIN_DIRECTIONS
175 .LBE3:
176 .LBE2:
34:main.c **** //---------------------------------------------------------
35:main.c **** int main(void)
36:main.c **** {
178 .LM6:
179 0016 0E94 0000 call Leds_greenOn
37:main.c ****
181 .LM7:
182 001a 0E94 0000 call Leds_redOn
38:main.c **** hardwareInit();
184 .LM8:
185 001e 0E94 0000 call Leds_yellowOn
39:main.c **** Leds_greenOn();
187 .LM9:
188 0022 0E94 0000 call IoInit
40:main.c **** Leds_redOn();
41:main.c **** Leds_yellowOn();
190 .LM10:
191 0026 0E94 0000 call OS_sched_init
42:main.c **** IoInit();
193 .LM11:
194 002a 0E94 0000 call cc2420_init
43:main.c ****
196 .LM12:
197 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 **** //-------------------------------------------------
199 .LM13:
200 0032 1092 0000 sts isready,__zero_reg__
49:main.c **** //init rssi and payload var
202 .LM14:
203 0036 1092 0000 sts (tend)+1,__zero_reg__
204 003a 1092 0000 sts tend,__zero_reg__
50:main.c **** //-------------------------------------------------
206 .LM15:
207 003e 1092 0000 sts (payload)+1,__zero_reg__
208 0042 1092 0000 sts payload,__zero_reg__
51:main.c **** isready=0;
210 .LM16:
211 0046 1092 0000 sts (pagenum)+1,__zero_reg__
212 004a 1092 0000 sts pagenum,__zero_reg__
52:main.c **** tend=0;
214 .LM17:
215 004e 1092 0000 sts testnum,__zero_reg__
216 0052 80E0 ldi r24,lo8(rssi)
217 0054 90E0 ldi r25,hi8(rssi)
218 0056 FC01 movw r30,r24
219 .L7:
220 .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++)
222 .LM18:
223 0058 1192 st Z+,__zero_reg__
225 .LM19:
226 005a 20E0 ldi r18,hi8(rssi+1002)
227 005c E030 cpi r30,lo8(rssi+1002)
228 005e F207 cpc r31,r18
229 0060 D9F3 breq .L7
230 0062 D4F3 brlt .L7
231 .LBE4:
57:main.c **** {
58:main.c ****
59:main.c **** rssi[i]=0;
233 .LM20:
234 0064 9093 0000 sts (prssi)+1,r25
235 0068 8093 0000 sts prssi,r24
60:main.c **** }
61:main.c ****
62:main.c **** prssi=rssi;
63:main.c ****
64:main.c **** //-------------------------------------------------
237 .LM21:
238 006c 0E94 0000 call extflash_ini
239 0070 E0E0 ldi r30,lo8(test)
240 0072 F0E0 ldi r31,hi8(test)
241 .L11:
242 .LBB5:
65:main.c **** //some test for extflash
66:main.c **** //-------------------------------------------------
67:main.c **** extflash_ini();
68:main.c ****
244 .LM22:
245 0074 1192 st Z+,__zero_reg__
247 .LM23:
248 0076 80E0 ldi r24,hi8(test+263)
249 0078 E030 cpi r30,lo8(test+263)
250 007a F807 cpc r31,r24
251 007c D9F3 breq .L11
252 007e D4F3 brlt .L11
253 .LBE5:
69:main.c **** for (int i=0;i<264;i++)
70:main.c **** {
255 .LM24:
256 0080 28E0 ldi r18,lo8(264)
257 0082 31E0 ldi r19,hi8(264)
258 0084 40E0 ldi r20,lo8(test)
259 0086 50E0 ldi r21,hi8(test)
260 0088 60E0 ldi r22,lo8(0)
261 008a 70E0 ldi r23,hi8(0)
262 008c CB01 movw r24,r22
263 008e 0E94 0000 call Main_Memory_PageRead
264 .L12:
71:main.c **** test[i]=0;
72:main.c **** }
266 .LM25:
267 0092 0E94 0000 call Status_Register_Get
268 0096 8823 tst r24
269 0098 E4F7 brge .L12
73:main.c **** Main_Memory_PageRead(0, 0x0000, test, 264);//read the content of a page
74:main.c ****
271 .LM26:
272 009a 8091 0000 lds r24,test
273 009e 8F3F cpi r24,lo8(-1)
274 00a0 71F0 breq .L15
75:main.c **** while(!(Status_Register_Get()&0x80));
76:main.c **** //-----------------
276 .LM27:
277 00a2 9927 clr r25
278 00a4 9F93 push r25
279 00a6 8F93 push r24
280 00a8 80E0 ldi r24,lo8(.LC0)
281 00aa 90E0 ldi r25,hi8(.LC0)
282 00ac 9F93 push r25
283 00ae 8F93 push r24
284 00b0 0E94 0000 call printf
285 00b4 0F90 pop __tmp_reg__
286 00b6 0F90 pop __tmp_reg__
287 00b8 0F90 pop __tmp_reg__
288 00ba 0F90 pop __tmp_reg__
289 00bc 16C0 rjmp .L16
290 .L15:
291 .LBB6:
77:main.c **** if ((test[0]!=0xff)&&1)
78:main.c **** {
79:main.c **** printf("\nflash is not empty!test[0]is %02x\n",test[0]);
80:main.c **** }
81:main.c **** else
293 .LM28:
294 00be C0E0 ldi r28,lo8(0)
295 00c0 D0E0 ldi r29,hi8(0)
296 .L23:
82:main.c **** {
83:main.c ****
298 .LM29:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -