Subversion Repositories FlightCtrl

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
653 Nick666 1
   1               		.file	"timer0.c"
2
   2               		.arch atmega644
3
   3               	__SREG__ = 0x3f
4
   4               	__SP_H__ = 0x3e
5
   5               	__SP_L__ = 0x3d
6
   6               	__tmp_reg__ = 0
7
   7               	__zero_reg__ = 1
8
   8               		.global __do_copy_data
9
   9               		.global __do_clear_bss
10
  10               		.text
11
  11               	.global	Timer_Init
12
  13               	Timer_Init:
13
  14               	/* prologue: frame size=0 */
14
  15               	/* prologue end (size=0) */
15
  16 0000 82E0      		ldi r24,lo8(2)
16
  17 0002 85BD      		out 69-0x20,r24
17
  18 0004 83EA      		ldi r24,lo8(-93)
18
  19 0006 84BD      		out 68-0x20,r24
19
  20 0008 17BC      		out 71-0x20,__zero_reg__
20
  21 000a 88E7      		ldi r24,lo8(120)
21
  22 000c 88BD      		out 72-0x20,r24
22
  23 000e 83EC      		ldi r24,lo8(-61)
23
  24 0010 8093 B000 		sts 176,r24
24
  25 0014 86E0      		ldi r24,lo8(6)
25
  26 0016 8093 B100 		sts 177,r24
26
  27 001a E0E7      		ldi r30,lo8(112)
27
  28 001c F0E0      		ldi r31,hi8(112)
28
  29 001e 8081      		ld r24,Z
29
  30 0020 8260      		ori r24,lo8(2)
30
  31 0022 8083      		st Z,r24
31
  32 0024 EEE6      		ldi r30,lo8(110)
32
  33 0026 F0E0      		ldi r31,hi8(110)
33
  34 0028 8081      		ld r24,Z
34
  35 002a 8160      		ori r24,lo8(1)
35
  36 002c 8083      		st Z,r24
36
  37 002e 8AE0      		ldi r24,lo8(10)
37
  38 0030 8093 B300 		sts 179,r24
38
  39 0034 1092 B200 		sts 178,__zero_reg__
39
  40               	/* epilogue: frame size=0 */
40
  41 0038 0895      		ret
41
  42               	/* epilogue end (size=1) */
42
  43               	/* function Timer_Init size 29 (28) */
43
  45               	.global	SetDelay
44
  47               	SetDelay:
45
  48               	/* prologue: frame size=0 */
46
  49               	/* prologue end (size=0) */
47
  50 003a 2091 0000 		lds r18,CountMilliseconds
48
  51 003e 3091 0000 		lds r19,(CountMilliseconds)+1
49
  52 0042 2F5F      		subi r18,lo8(-(1))
50
  53 0044 3F4F      		sbci r19,hi8(-(1))
51
  54 0046 820F      		add r24,r18
52
  55 0048 931F      		adc r25,r19
53
  56               	/* epilogue: frame size=0 */
54
  57 004a 0895      		ret
55
  58               	/* epilogue end (size=1) */
56
  59               	/* function SetDelay size 9 (8) */
57
  61               	.global	CheckDelay
58
  63               	CheckDelay:
59
  64               	/* prologue: frame size=0 */
60
  65               	/* prologue end (size=0) */
61
  66 004c 2091 0000 		lds r18,CountMilliseconds
62
  67 0050 3091 0000 		lds r19,(CountMilliseconds)+1
63
  68 0054 821B      		sub r24,r18
64
  69 0056 930B      		sbc r25,r19
65
  70 0058 892F      		mov r24,r25
66
  71 005a 9927      		clr r25
67
  72 005c 8695      		lsr r24
68
  73 005e 8074      		andi r24,lo8(64)
69
  74 0060 9927      		clr r25
70
  75               	/* epilogue: frame size=0 */
71
  76 0062 0895      		ret
72
  77               	/* epilogue end (size=1) */
73
  78               	/* function CheckDelay size 12 (11) */
74
  80               	.global	__vector_9
75
  82               	__vector_9:
76
  83               	/* prologue: frame size=0 */
77
  84 0064 1F92      		push __zero_reg__
78
  85 0066 0F92      		push __tmp_reg__
79
  86 0068 0FB6      		in __tmp_reg__,__SREG__
80
  87 006a 0F92      		push __tmp_reg__
81
  88 006c 1124      		clr __zero_reg__
82
  89 006e EF92      		push r14
83
  90 0070 FF92      		push r15
84
  91 0072 0F93      		push r16
85
  92 0074 1F93      		push r17
86
  93 0076 2F93      		push r18
87
  94 0078 3F93      		push r19
88
  95 007a 4F93      		push r20
89
  96 007c 5F93      		push r21
90
  97 007e 6F93      		push r22
91
  98 0080 7F93      		push r23
92
  99 0082 8F93      		push r24
93
 100 0084 9F93      		push r25
94
 101 0086 AF93      		push r26
95
 102 0088 BF93      		push r27
96
 103 008a CF93      		push r28
97
 104 008c DF93      		push r29
98
 105 008e EF93      		push r30
99
 106 0090 FF93      		push r31
100
 107               	/* prologue end (size=23) */
101
 108 0092 8091 0000 		lds r24,timer.2116
102
 109 0096 8150      		subi r24,lo8(-(-1))
103
 110 0098 8093 0000 		sts timer.2116,r24
104
 111 009c 8F3F      		cpi r24,lo8(-1)
105
 112 009e 01F0      		breq .+2
106
 113 00a0 00C0      		rjmp .L8
107
 114 00a2 83E8      		ldi r24,lo8(-125)
108
 115 00a4 8093 B000 		sts 176,r24
109
 116 00a8 8091 0000 		lds r24,Parameter_ServoNickControl
110
 117 00ac C82F      		mov r28,r24
111
 118 00ae DD27      		clr r29
112
 119 00b0 D093 0000 		sts (ServoValue)+1,r29
113
 120 00b4 C093 0000 		sts ServoValue,r28
114
 121 00b8 8091 0000 		lds r24,EE_Parameter+53
115
 122 00bc E090 0000 		lds r14,EE_Parameter+34
116
 123 00c0 2091 0000 		lds r18,IntegralNick
117
 124 00c4 3091 0000 		lds r19,(IntegralNick)+1
118
 125 00c8 4091 0000 		lds r20,(IntegralNick)+2
119
 126 00cc 5091 0000 		lds r21,(IntegralNick)+3
120
 127 00d0 80FF      		sbrs r24,0
121
 128 00d2 00C0      		rjmp .L10
122
 129 00d4 FF24      		clr r15
123
 130 00d6 0027      		clr r16
124
 131 00d8 1127      		clr r17
125
 132 00da CA01      		movw r24,r20
126
 133 00dc B901      		movw r22,r18
127
 134 00de 20E8      		ldi r18,lo8(128)
128
 135 00e0 30E0      		ldi r19,hi8(128)
129
 136 00e2 40E0      		ldi r20,hlo8(128)
130
 137 00e4 50E0      		ldi r21,hhi8(128)
131
 138 00e6 0E94 0000 		call __divmodsi4
132
 139 00ea C801      		movw r24,r16
133
 140 00ec B701      		movw r22,r14
134
 141 00ee 0E94 0000 		call __mulsi3
135
 142 00f2 20E0      		ldi r18,lo8(512)
136
 143 00f4 32E0      		ldi r19,hi8(512)
137
 144 00f6 40E0      		ldi r20,hlo8(512)
138
 145 00f8 50E0      		ldi r21,hhi8(512)
139
 146 00fa 0E94 0000 		call __divmodsi4
140
 147 00fe C20F      		add r28,r18
141
 148 0100 D31F      		adc r29,r19
142
 149 0102 00C0      		rjmp .L19
143
 150               	.L10:
144
 151 0104 FF24      		clr r15
145
 152 0106 0027      		clr r16
146
 153 0108 1127      		clr r17
147
 154 010a CA01      		movw r24,r20
148
 155 010c B901      		movw r22,r18
149
 156 010e 20E8      		ldi r18,lo8(128)
150
 157 0110 30E0      		ldi r19,hi8(128)
151
 158 0112 40E0      		ldi r20,hlo8(128)
152
 159 0114 50E0      		ldi r21,hhi8(128)
153
 160 0116 0E94 0000 		call __divmodsi4
154
 161 011a C801      		movw r24,r16
155
 162 011c B701      		movw r22,r14
156
 163 011e 0E94 0000 		call __mulsi3
157
 164 0122 20E0      		ldi r18,lo8(512)
158
 165 0124 32E0      		ldi r19,hi8(512)
159
 166 0126 40E0      		ldi r20,hlo8(512)
160
 167 0128 50E0      		ldi r21,hhi8(512)
161
 168 012a 0E94 0000 		call __divmodsi4
162
 169 012e C21B      		sub r28,r18
163
 170 0130 D30B      		sbc r29,r19
164
 171               	.L19:
165
 172 0132 D093 0000 		sts (ServoValue)+1,r29
166
 173 0136 C093 0000 		sts ServoValue,r28
167
 174 013a 2091 0000 		lds r18,ServoValue
168
 175 013e 3091 0000 		lds r19,(ServoValue)+1
169
 176 0142 8091 0000 		lds r24,EE_Parameter+35
170
 177 0146 9927      		clr r25
171
 178 0148 2817      		cp r18,r24
172
 179 014a 3907      		cpc r19,r25
173
 180 014c 04F0      		brlt .L20
174
 181 014e 8091 0000 		lds r24,EE_Parameter+36
175
 182 0152 9927      		clr r25
176
 183 0154 8217      		cp r24,r18
177
 184 0156 9307      		cpc r25,r19
178
 185 0158 04F4      		brge .L15
179
 186               	.L20:
180
 187 015a 9093 0000 		sts (ServoValue)+1,r25
181
 188 015e 8093 0000 		sts ServoValue,r24
182
 189               	.L15:
183
 190 0162 8091 0000 		lds r24,ServoValue
184
 191 0166 8093 B300 		sts 179,r24
185
 192 016a 8091 0000 		lds r24,EE_Parameter+37
186
 193 016e 8093 0000 		sts timer.2116,r24
187
 194 0172 00C0      		rjmp .L18
188
 195               	.L8:
189
 196 0174 83E0      		ldi r24,lo8(3)
190
 197 0176 8093 B000 		sts 176,r24
191
 198 017a 5F98      		cbi 43-0x20,7
192
 199               	.L18:
193
 200               	/* epilogue: frame size=0 */
194
 201 017c FF91      		pop r31
195
 202 017e EF91      		pop r30
196
 203 0180 DF91      		pop r29
197
 204 0182 CF91      		pop r28
198
 205 0184 BF91      		pop r27
199
 206 0186 AF91      		pop r26
200
 207 0188 9F91      		pop r25
201
 208 018a 8F91      		pop r24
202
 209 018c 7F91      		pop r23
203
 210 018e 6F91      		pop r22
204
 211 0190 5F91      		pop r21
205
 212 0192 4F91      		pop r20
206
 213 0194 3F91      		pop r19
207
 214 0196 2F91      		pop r18
208
 215 0198 1F91      		pop r17
209
 216 019a 0F91      		pop r16
210
 217 019c FF90      		pop r15
211
 218 019e EF90      		pop r14
212
 219 01a0 0F90      		pop __tmp_reg__
213
 220 01a2 0FBE      		out __SREG__,__tmp_reg__
214
 221 01a4 0F90      		pop __tmp_reg__
215
 222 01a6 1F90      		pop __zero_reg__
216
 223 01a8 1895      		reti
217
 224               	/* epilogue end (size=23) */
218
 225               	/* function __vector_9 size 163 (117) */
219
 227               	.global	__vector_18
220
 229               	__vector_18:
221
 230               	/* prologue: frame size=0 */
222
 231 01aa 1F92      		push __zero_reg__
223
 232 01ac 0F92      		push __tmp_reg__
224
 233 01ae 0FB6      		in __tmp_reg__,__SREG__
225
 234 01b0 0F92      		push __tmp_reg__
226
 235 01b2 1124      		clr __zero_reg__
227
 236 01b4 2F93      		push r18
228
 237 01b6 3F93      		push r19
229
 238 01b8 4F93      		push r20
230
 239 01ba 5F93      		push r21
231
 240 01bc 6F93      		push r22
232
 241 01be 7F93      		push r23
233
 242 01c0 8F93      		push r24
234
 243 01c2 9F93      		push r25
235
 244 01c4 AF93      		push r26
236
 245 01c6 BF93      		push r27
237
 246 01c8 EF93      		push r30
238
 247 01ca FF93      		push r31
239
 248               	/* prologue end (size=17) */
240
 249 01cc 8091 0000 		lds r24,cnt.2031
241
 250 01d0 8150      		subi r24,lo8(-(-1))
242
 251 01d2 8093 0000 		sts cnt.2031,r24
243
 252 01d6 8F3F      		cpi r24,lo8(-1)
244
 253 01d8 01F4      		brne .L22
245
 254 01da 8AE0      		ldi r24,lo8(10)
246
 255 01dc 8093 0000 		sts cnt.2031,r24
247
 256 01e0 8091 0000 		lds r24,cnt_1ms.2030
248
 257 01e4 8F5F      		subi r24,lo8(-(1))
249
 258 01e6 8170      		andi r24,lo8(1)
250
 259 01e8 8093 0000 		sts cnt_1ms.2030,r24
251
 260 01ec 8823      		tst r24
252
 261 01ee 01F4      		brne .L24
253
 262 01f0 81E0      		ldi r24,lo8(1)
254
 263 01f2 8093 0000 		sts UpdateMotor,r24
255
 264               	.L24:
256
 265 01f6 8091 0000 		lds r24,CountMilliseconds
257
 266 01fa 9091 0000 		lds r25,(CountMilliseconds)+1
258
 267 01fe 0196      		adiw r24,1
259
 268 0200 9093 0000 		sts (CountMilliseconds)+1,r25
260
 269 0204 8093 0000 		sts CountMilliseconds,r24
261
 270               	.L22:
262
 271 0208 8091 0000 		lds r24,beeptime
263
 272 020c 9091 0000 		lds r25,(beeptime)+1
264
 273 0210 0297      		sbiw r24,2
265
 274 0212 00F0      		brlo .L26
266
 275 0214 8091 0000 		lds r24,beeptime
267
 276 0218 9091 0000 		lds r25,(beeptime)+1
268
 277 021c 0197      		sbiw r24,1
269
 278 021e 9093 0000 		sts (beeptime)+1,r25
270
 279 0222 8093 0000 		sts beeptime,r24
271
 280 0226 8091 0000 		lds r24,beeptime
272
 281 022a 9091 0000 		lds r25,(beeptime)+1
273
 282 022e 2091 0000 		lds r18,BeepMuster
274
 283 0232 3091 0000 		lds r19,(BeepMuster)+1
275
 284 0236 8223      		and r24,r18
276
 285 0238 9323      		and r25,r19
277
 286 023a 892B      		or r24,r25
278
 287 023c 01F4      		brne .L28
279
 288 023e 00C0      		rjmp .L29
280
 289               	.L26:
281
 290 0240 8FEF      		ldi r24,lo8(-1)
282
 291 0242 9FEF      		ldi r25,hi8(-1)
283
 292 0244 9093 0000 		sts (BeepMuster)+1,r25
284
 293 0248 8093 0000 		sts BeepMuster,r24
285
 294               	.L29:
286
 295 024c 8091 0000 		lds r24,PlatinenVersion
287
 296 0250 8A30      		cpi r24,lo8(10)
288
 297 0252 01F4      		brne .L38
289
 298 0254 00C0      		rjmp .L30
290
 299               	.L32:
291
 300 0256 5A9A      		sbi 43-0x20,2
292
 301 0258 00C0      		rjmp .L33
293
 302               	.L39:
294
 303 025a 479A      		sbi 40-0x20,7
295
 304 025c 00C0      		rjmp .L33
296
 305               	.L30:
297
 306 025e 5A98      		cbi 43-0x20,2
298
 307 0260 00C0      		rjmp .L33
299
 308               	.L38:
300
 309 0262 4798      		cbi 40-0x20,7
301
 310               	.L33:
302
 311 0264 8091 0000 		lds r24,EE_Parameter+8
303
 312 0268 83FF      		sbrs r24,3
304
 313 026a 00C0      		rjmp .L37
305
 314 026c 0E94 0000 		call timer0_MM3
306
 315 0270 00C0      		rjmp .L37
307
 316               	.L28:
308
 317 0272 8091 0000 		lds r24,PlatinenVersion
309
 318 0276 8A30      		cpi r24,lo8(10)
310
 319 0278 01F4      		brne .L39
311
 320 027a 00C0      		rjmp .L32
312
 321               	.L37:
313
 322               	/* epilogue: frame size=0 */
314
 323 027c FF91      		pop r31
315
 324 027e EF91      		pop r30
316
 325 0280 BF91      		pop r27
317
 326 0282 AF91      		pop r26
318
 327 0284 9F91      		pop r25
319
 328 0286 8F91      		pop r24
320
 329 0288 7F91      		pop r23
321
 330 028a 6F91      		pop r22
322
 331 028c 5F91      		pop r21
323
 332 028e 4F91      		pop r20
324
 333 0290 3F91      		pop r19
325
 334 0292 2F91      		pop r18
326
 335 0294 0F90      		pop __tmp_reg__
327
 336 0296 0FBE      		out __SREG__,__tmp_reg__
328
 337 0298 0F90      		pop __tmp_reg__
329
 338 029a 1F90      		pop __zero_reg__
330
 339 029c 1895      		reti
331
 340               	/* epilogue end (size=17) */
332
 341               	/* function __vector_18 size 123 (89) */
333
 343               	.global	Delay_ms_Mess
334
 345               	Delay_ms_Mess:
335
 346               	/* prologue: frame size=0 */
336
 347               	/* prologue end (size=0) */
337
 348 029e 2091 0000 		lds r18,CountMilliseconds
338
 349 02a2 3091 0000 		lds r19,(CountMilliseconds)+1
339
 350 02a6 2F5F      		subi r18,lo8(-(1))
340
 351 02a8 3F4F      		sbci r19,hi8(-(1))
341
 352 02aa 280F      		add r18,r24
342
 353 02ac 391F      		adc r19,r25
343
 354 02ae 4FEE      		ldi r20,lo8(-17)
344
 355 02b0 00C0      		rjmp .L41
345
 356               	.L42:
346
 357 02b2 4093 7A00 		sts 122,r20
347
 358               	.L41:
348
 359 02b6 8091 0000 		lds r24,CountMilliseconds
349
 360 02ba 9091 0000 		lds r25,(CountMilliseconds)+1
350
 361 02be B901      		movw r22,r18
351
 362 02c0 681B      		sub r22,r24
352
 363 02c2 790B      		sbc r23,r25
353
 364 02c4 77FF      		sbrs r23,7
354
 365 02c6 00C0      		rjmp .L42
355
 366               	/* epilogue: frame size=0 */
356
 367 02c8 0895      		ret
357
 368               	/* epilogue end (size=1) */
358
 369               	/* function Delay_ms_Mess size 22 (21) */
359
 371               	.global	Delay_ms
360
 373               	Delay_ms:
361
 374               	/* prologue: frame size=0 */
362
 375               	/* prologue end (size=0) */
363
 376 02ca 2091 0000 		lds r18,CountMilliseconds
364
 377 02ce 3091 0000 		lds r19,(CountMilliseconds)+1
365
 378 02d2 2F5F      		subi r18,lo8(-(1))
366
 379 02d4 3F4F      		sbci r19,hi8(-(1))
367
 380 02d6 280F      		add r18,r24
368
 381 02d8 391F      		adc r19,r25
369
 382               	.L46:
370
 383 02da 8091 0000 		lds r24,CountMilliseconds
371
 384 02de 9091 0000 		lds r25,(CountMilliseconds)+1
372
 385 02e2 A901      		movw r20,r18
373
 386 02e4 481B      		sub r20,r24
374
 387 02e6 590B      		sbc r21,r25
375
 388 02e8 57FF      		sbrs r21,7
376
 389 02ea 00C0      		rjmp .L46
377
 390               	/* epilogue: frame size=0 */
378
 391 02ec 0895      		ret
379
 392               	/* epilogue end (size=1) */
380
 393               	/* function Delay_ms size 18 (17) */
381
 395               	.global	CountMilliseconds
382
 396               	.global	CountMilliseconds
383
 397               		.section .bss
384
 400               	CountMilliseconds:
385
 401 0000 0000      		.skip 2,0
386
 402               	.global	UpdateMotor
387
 403               	.global	UpdateMotor
388
 406               	UpdateMotor:
389
 407 0002 00        		.skip 1,0
390
 408               	.global	beeptime
391
 409               	.global	beeptime
392
 412               	beeptime:
393
 413 0003 0000      		.skip 2,0
394
 414               	.global	BeepMuster
395
 415               		.data
396
 418               	BeepMuster:
397
 419 0000 FFFF      		.word	-1
398
 420               	.global	ServoValue
399
 421               	.global	ServoValue
400
 422               		.section .bss
401
 425               	ServoValue:
402
 426 0005 0000      		.skip 2,0
403
 427               		.data
404
 430               	timer.2116:
405
 431 0002 0A        		.byte	10
406
 432               		.lcomm cnt.2031,1
407
 435               	cnt_1ms.2030:
408
 436 0003 01        		.byte	1
409
 437               	/* File "timer0.c": code  376 = 0x0178 ( 291), prologues  40, epilogues  45 */
410
DEFINED SYMBOLS
411
                            *ABS*:00000000 timer0.c
412
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:3      *ABS*:0000003f __SREG__
413
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:4      *ABS*:0000003e __SP_H__
414
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:5      *ABS*:0000003d __SP_L__
415
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:6      *ABS*:00000000 __tmp_reg__
416
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:7      *ABS*:00000001 __zero_reg__
417
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:13     .text:00000000 Timer_Init
418
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:47     .text:0000003a SetDelay
419
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:400    .bss:00000000 CountMilliseconds
420
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:63     .text:0000004c CheckDelay
421
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:82     .text:00000064 __vector_9
422
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:430    .data:00000002 timer.2116
423
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:425    .bss:00000005 ServoValue
424
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:229    .text:000001aa __vector_18
425
                             .bss:00000007 cnt.2031
426
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:435    .data:00000003 cnt_1ms.2030
427
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:406    .bss:00000002 UpdateMotor
428
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:412    .bss:00000003 beeptime
429
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:418    .data:00000000 BeepMuster
430
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:345    .text:0000029e Delay_ms_Mess
431
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:373    .text:000002ca Delay_ms
432
 
433
UNDEFINED SYMBOLS
434
__do_copy_data
435
__do_clear_bss
436
Parameter_ServoNickControl
437
EE_Parameter
438
IntegralNick
439
__divmodsi4
440
__mulsi3
441
PlatinenVersion
442
timer0_MM3