📄 timer3.lst
字号:
1 .file "timer3.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:
120 .global Timer3_intDisable
122 Timer3_intDisable:
1:timer3.c **** //----------------------------------------------------//
2:timer3.c **** //-------Institute Of Computing Technology-----------//
3:timer3.c **** //------------Chinese Academic Science---------------//
4:timer3.c **** //-----中国科学院计算技术研究所先进测试技术实验室-----//
5:timer3.c **** //----------------------------------------------------//
6:timer3.c ****
7:timer3.c **** /**
8:timer3.c **** * www.wsn.net.cn
9:timer3.c **** * @copyright:nbicc_lpp
10:timer3.c **** * @data:2005.11.22
11:timer3.c **** * @version:0.0.1
12:timer3.c **** * @updata:$
13:timer3.c **** *
14:timer3.c **** */
15:timer3.c **** #include "timer3.h"
16:timer3.c **** // Timer/Counter3 Clock source: System Clock
17:timer3.c **** // Timer/Counter3 Clock value: Set
18:timer3.c **** // Timer/Counter3 Mode: CTC-OCRa
19:timer3.c **** // Timer/Counter3 Output: A: Disconnected, B: Disconnected, C: Disconnected
20:timer3.c ****
21:timer3.c **** //-------------------------------------------------------------------------------
22:timer3.c **** inline void Timer3_intDisable(void)
23:timer3.c **** {
124 .LM1:
125 /* prologue: frame size=0 */
126 /* prologue end (size=0) */
127 .LBB2:
24:timer3.c **** { os_atomic_t _nesc_atomic = os_atomic_start();
129 .LM2:
130 0000 0E94 0000 call os_atomic_start
25:timer3.c **** {
26:timer3.c **** ETIMSK &= 0xef;
132 .LM3:
133 0004 9091 7D00 lds r25,125
134 0008 9F7E andi r25,lo8(-17)
135 000a 9093 7D00 sts 125,r25
27:timer3.c **** }
28:timer3.c **** os_atomic_end(_nesc_atomic); }
137 .LM4:
138 000e 0E94 0000 call os_atomic_end
139 .LBE2:
140 /* epilogue: frame size=0 */
141 0012 0895 ret
142 /* epilogue end (size=1) */
143 /* function Timer3_intDisable size 10 (9) */
146 .global Timer3_fire
148 Timer3_fire:
29:timer3.c **** }
30:timer3.c ****
31:timer3.c ****
32:timer3.c ****
33:timer3.c **** inline uint8_t Timer3_fire(void){
150 .LM5:
151 /* prologue: frame size=0 */
152 /* prologue end (size=0) */
153 /* epilogue: frame size=0 */
154 0014 0895 ret
155 /* epilogue end (size=1) */
156 /* function Timer3_fire size 1 (0) */
161 .global Timer3_setIntervalAndScale
163 Timer3_setIntervalAndScale:
34:timer3.c ****
35:timer3.c ****
36:timer3.c ****
37:timer3.c ****
38:timer3.c ****
39:timer3.c **** /*
40:timer3.c ****
41:timer3.c **** cc2420_writetxfifo(((demopacket->length)-1), (uint8_t *) demopacket);
42:timer3.c **** (demopacket->dsn)++;
43:timer3.c **** demopacket->address.destination_address=(++demopacket->address.destination_address)&0x02;
44:timer3.c ****
45:timer3.c **** cc2420_setrxmode();
46:timer3.c ****
47:timer3.c **** Leds_greenToggle();
48:timer3.c **** Leds_redToggle();
49:timer3.c **** Leds_yellowOff();
50:timer3.c **** */
51:timer3.c ****
52:timer3.c **** }
53:timer3.c ****
54:timer3.c **** uint8_t Timer3_setIntervalAndScale(uint16_t interval, uint8_t scale)
55:timer3.c **** {
165 .LM6:
166 /* prologue: frame size=0 */
167 0016 0F93 push r16
168 0018 1F93 push r17
169 001a CF93 push r28
170 /* prologue end (size=3) */
171 001c 8C01 movw r16,r24
172 001e C62F mov r28,r22
56:timer3.c ****
57:timer3.c **** if (scale > 7) {
174 .LM7:
175 0020 6830 cpi r22,lo8(8)
176 0022 18F0 brlo .L4
58:timer3.c **** return FAIL;
178 .LM8:
179 0024 80E0 ldi r24,lo8(0)
180 0026 90E0 ldi r25,hi8(0)
181 0028 25C0 rjmp .L3
182 .L4:
183 .LBB3:
59:timer3.c **** }
60:timer3.c ****
61:timer3.c **** { os_atomic_t _nesc_atomic = os_atomic_start();
185 .LM9:
186 002a 0E94 0000 call os_atomic_start
62:timer3.c **** {
63:timer3.c ****
64:timer3.c **** OCR3A = interval;//this is the scale
188 .LM10:
189 002e 1093 8700 sts (134)+1,r17
190 0032 0093 8600 sts 134,r16
65:timer3.c **** OCR3B = 0x0000;
192 .LM11:
193 0036 1092 8500 sts (132)+1,__zero_reg__
194 003a 1092 8400 sts 132,__zero_reg__
66:timer3.c **** OCR3C = 0x0000;
196 .LM12:
197 003e 1092 8300 sts (130)+1,__zero_reg__
198 0042 1092 8200 sts 130,__zero_reg__
67:timer3.c **** TCNT3 = 0x0000; //this is the counter
200 .LM13:
201 0046 1092 8900 sts (136)+1,__zero_reg__
202 004a 1092 8800 sts 136,__zero_reg__
68:timer3.c **** TCCR3A = 0x00;//Output: A: Disconnected, B: Disconnected, C: Disconnected,WGM[1..0]=00
204 .LM14:
205 004e 1092 8B00 sts 139,__zero_reg__
69:timer3.c **** scale |= 0x08;//
207 .LM15:
208 0052 C860 ori r28,lo8(8)
70:timer3.c **** TCCR3B |= scale;//clk/(scale),WGM[3..2]=01
210 .LM16:
211 0054 9091 8A00 lds r25,138
212 0058 9C2B or r25,r28
213 005a 9093 8A00 sts 138,r25
71:timer3.c **** TCCR3C = 0x00;//
215 .LM17:
216 005e 1092 8C00 sts 140,__zero_reg__
72:timer3.c **** ETIMSK |= 0x10;//OCIE3 is enable
218 .LM18:
219 0062 9091 7D00 lds r25,125
220 0066 9061 ori r25,lo8(16)
221 0068 9093 7D00 sts 125,r25
73:timer3.c ****
74:timer3.c **** }
75:timer3.c **** os_atomic_end(_nesc_atomic); }
223 .LM19:
224 006c 0E94 0000 call os_atomic_end
225 .LBE3:
76:timer3.c **** return SUCCESS;
227 .LM20:
228 0070 81E0 ldi r24,lo8(1)
229 0072 90E0 ldi r25,hi8(1)
230 .L3:
231 /* epilogue: frame size=0 */
232 0074 CF91 pop r28
233 0076 1F91 pop r17
234 0078 0F91 pop r16
235 007a 0895 ret
236 /* epilogue end (size=4) */
237 /* function Timer3_setIntervalAndScale size 51 (44) */
241 .global Timer3_sethalfsymbol
243 Timer3_sethalfsymbol:
77:timer3.c **** }
78:timer3.c ****
79:timer3.c **** void Timer3_sethalfsymbol(uint16_t symbols)
80:timer3.c **** {
245 .LM21:
246 /* prologue: frame size=0 */
247 /* prologue end (size=0) */
81:timer3.c ****
82:timer3.c **** uint16_t halfsymbols;
83:timer3.c **** halfsymbols=symbols*2;
84:timer3.c **** Timer3_setIntervalAndScale(halfsymbols, 0x5);
249 .LM22:
250 007c 65E0 ldi r22,lo8(5)
251 007e 880F lsl r24
252 0080 991F rol r25
253 0082 0E94 0000 call Timer3_setIntervalAndScale
254 /* epilogue: frame size=0 */
255 0086 0895 ret
256 /* epilogue end (size=1) */
257 /* function Timer3_sethalfsymbol size 6 (5) */
261 .global Timer3_setInterval
263 Timer3_setInterval:
85:timer3.c ****
86:timer3.c **** }
87:timer3.c ****
88:timer3.c **** uint16_t Timer3_setInterval(uint16_t interval)
89:timer3.c **** {
265 .LM23:
266 /* prologue: frame size=0 */
267 /* prologue end (size=0) */
90:timer3.c **** uint32_t temp;
91:timer3.c **** //uint16_t temp1;
92:timer3.c **** temp=TCNT3+interval;
269 .LM24:
270 0088 2091 8800 lds r18,136
271 008c 3091 8900 lds r19,(136)+1
272 0090 280F add r18,r24
273 0092 391F adc r19,r25
274 0094 4427 clr r20
275 0096 5527 clr r21
93:timer3.c **** //temp1=temp;
94:timer3.c **** if (temp>=65535) temp=temp-65535;
277 .LM25:
278 0098 2F3F cpi r18,lo8(65535)
279 009a 8FEF ldi r24,hi8(65535)
280 009c 3807 cpc r19,r24
281 009e 80E0 ldi r24,hlo8(65535)
282 00a0 4807 cpc r20,r24
283 00a2 80E0 ldi r24,hhi8(65535)
284 00a4 5807 cpc r21,r24
285 00a6 20F0 brlo .L7
287 .LM26:
288 00a8 2F5F subi r18,lo8(-(-65535))
289 00aa 3F4F sbci r19,hi8(-(-65535))
290 00ac 4040 sbci r20,hlo8(-(-65535))
291 00ae 5040 sbci r21,hhi8(-(-65535))
292 .L7:
95:timer3.c **** return (temp);
96:timer3.c **** }...
294 .LM27:
295 00b0 C901 movw r24,r18
296 /* epilogue: frame size=0 */
297 00b2 0895 ret
298 /* epilogue end (size=1) */
299 /* function Timer3_setInterval size 22 (21) */
302 .comm payload,2,1
303 .comm rssi,1003,1
304 .comm isready,1,1
305 .comm testnum,1,1
306 .comm pagenum,2,1
307 .comm prssi,2,1
308 .comm test,264,1
309 .comm tend,2,1
310 .comm OS_queue,16,1
311 .comm OS_sched_full,1,1
312 .comm OS_sched_free,1,1
313 .comm cc2420_bramspi,1,1
314 .comm cc2420_rambuf,2,1
315 .comm cc2420_ramlen,1,1
316 .comm cc2420_ramaddr,2,1
317 .comm cc2420fifo_bspi,1,1
318 .comm cc2420fifo_txbuf,2,1
319 .comm cc2420fifo_txlength,1,1
320 .comm cc2420_rxbuf,4,1
321 .comm cc2420_rxlength,1,1
322 .comm cc2420_rxbuf_now,2,1
323 .comm cc2420_rxlength_now,1,1
324 .comm cc2420_rxbufuse,1,1
325 .comm rfpackernum,1,1
326 .comm cc2420_rxflag,1,1
327 .comm cc2420_currentparameters,28,1
328 .comm demopacket,2,1
329 .comm cc2420_stateRadio,1,1
330 .comm cc2420_LocalAddr,2,1
331 .comm ieee_address,8,1
332 .comm SENSOR_DATA_VALUE,20,1
333 .comm ADC_INTERRUPT_FLAG,1,1
334 .comm flash_busy,1,1
335 .comm Timer3_set_flag,1,1
336 .comm Timer3_mscale,1,1
337 .comm Timer3_nextScale,1,1
338 .comm Timer3_minterval,2,1
376 .text
378 Letext:
379 /* File "timer3.c": code 90 = 0x005a ( 79), prologues 3, epilogues 8 */
DEFINED SYMBOLS
*ABS*:00000000 timer3.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\bt\LOCALS~1\Temp/cca8aaaa.s:122 .text:00000000 Timer3_intDisable
C:\DOCUME~1\bt\LOCALS~1\Temp/cca8aaaa.s:148 .text:00000014 Timer3_fire
C:\DOCUME~1\bt\LOCALS~1\Temp/cca8aaaa.s:163 .text:00000016 Timer3_setIntervalAndScale
C:\DOCUME~1\bt\LOCALS~1\Temp/cca8aaaa.s:243 .text:0000007c Timer3_sethalfsymbol
C:\DOCUME~1\bt\LOCALS~1\Temp/cca8aaaa.s:263 .text:00000088 Timer3_setInterval
*COM*:00000002 payload
*COM*:000003eb rssi
*COM*:00000001 isready
*COM*:00000001 testnum
*COM*:00000002 pagenum
*COM*:00000002 prssi
*COM*:00000108 test
*COM*:00000002 tend
*COM*:00000010 OS_queue
*COM*:00000001 OS_sched_full
*COM*:00000001 OS_sched_free
*COM*:00000001 cc2420_bramspi
*COM*:00000002 cc2420_rambuf
*COM*:00000001 cc2420_ramlen
*COM*:00000002 cc2420_ramaddr
*COM*:00000001 cc2420fifo_bspi
*COM*:00000002 cc2420fifo_txbuf
*COM*:00000001 cc2420fifo_txlength
*COM*:00000004 cc2420_rxbuf
*COM*:00000001 cc2420_rxlength
*COM*:00000002 cc2420_rxbuf_now
*COM*:00000001 cc2420_rxlength_now
*COM*:00000001 cc2420_rxbufuse
*COM*:00000001 rfpackernum
*COM*:00000001 cc2420_rxflag
*COM*:0000001c cc2420_currentparameters
*COM*:00000002 demopacket
*COM*:00000001 cc2420_stateRadio
*COM*:00000002 cc2420_LocalAddr
*COM*:00000008 ieee_address
*COM*:00000014 SENSOR_DATA_VALUE
*COM*:00000001 ADC_INTERRUPT_FLAG
*COM*:00000001 flash_busy
*COM*:00000001 Timer3_set_flag
*COM*:00000001 Timer3_mscale
*COM*:00000001 Timer3_nextScale
*COM*:00000002 Timer3_minterval
C:\DOCUME~1\bt\LOCALS~1\Temp/cca8aaaa.s:378 .text:000000b4 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
os_atomic_start
os_atomic_end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -