-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmainChestStrap.lst
25593 lines (25592 loc) · 901 KB
/
mainChestStrap.lst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1 .file "mainChestStrap.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
15 .Ltext0:
16 .global CCPWrite
18 CCPWrite:
19 .LFB7:
20 .LM1:
21 .LVL0:
22 0000 0F93 push r16
23 0002 DF93 push r29
24 0004 CF93 push r28
25 0006 0F92 push __tmp_reg__
26 0008 CDB7 in r28,__SP_L__
27 000a DEB7 in r29,__SP_H__
28 /* prologue: function */
29 /* frame size = 1 */
30 .LM2:
31 000c 2FB7 in r18,__SREG__
32 .LVL1:
33 000e 2983 std Y+1,r18
34 .LM3:
35 /* #APP */
36 ; 83 "mainChestStrap.h" 1
37 0010 F894 cli
38 ; 0 "" 2
39 .LM4:
40 /* #NOAPP */
41 0012 1BBE out 59-0,__zero_reg__
42 .LM5:
43 /* #APP */
44 ; 105 "mainChestStrap.h" 1
45 0014 FC01 movw r30, r24
46 0016 08ED ldi r16, 216
47 0018 04BF out 52, r16
48 001a 6083 st Z, r22
49
50 ; 0 "" 2
51 .LM6:
52 /* #NOAPP */
53 001c 8981 ldd r24,Y+1
54 .LVL2:
55 001e 8FBF out __SREG__,r24
56 /* epilogue start */
57 .LM7:
58 0020 0F90 pop __tmp_reg__
59 0022 CF91 pop r28
60 0024 DF91 pop r29
61 0026 0F91 pop r16
62 0028 0895 ret
63 .LFE7:
65 .global Debug_CharReadyToRead
67 Debug_CharReadyToRead:
68 .LFB10:
69 .LM8:
70 /* prologue: function */
71 /* frame size = 0 */
72 .LM9:
73 002a 2091 1D01 lds r18,285
74 002e 922F mov r25,r18
75 0030 80E0 ldi r24,lo8(0)
76 0032 8093 0000 sts Debug_writeLocation,r24
77 0036 9093 0000 sts (Debug_writeLocation)+1,r25
78 .LM10:
79 003a 8091 0000 lds r24,Debug_writeLocation
80 003e 9091 0000 lds r25,(Debug_writeLocation)+1
81 0042 2091 1C01 lds r18,284
82 0046 820F add r24,r18
83 0048 911D adc r25,__zero_reg__
84 004a 8093 0000 sts Debug_writeLocation,r24
85 004e 9093 0000 sts (Debug_writeLocation)+1,r25
86 .LM11:
87 0052 8091 0000 lds r24,Debug_writeLocation
88 0056 9091 0000 lds r25,(Debug_writeLocation)+1
89 005a 8050 subi r24,lo8(DebugBuffer)
90 005c 9040 sbci r25,hi8(DebugBuffer)
91 005e 8093 0000 sts Debug_writeLocation,r24
92 0062 9093 0000 sts (Debug_writeLocation)+1,r25
93 .LM12:
94 0066 2091 0000 lds r18,Debug_writeLocation
95 006a 3091 0000 lds r19,(Debug_writeLocation)+1
96 006e 8091 0000 lds r24,Debug_readLocation
97 0072 9091 0000 lds r25,(Debug_readLocation)+1
98 0076 40E0 ldi r20,lo8(0)
99 0078 2817 cp r18,r24
100 007a 3907 cpc r19,r25
101 007c 01F0 breq .L4
102 007e 41E0 ldi r20,lo8(1)
103 .L4:
104 .LM13:
105 0080 842F mov r24,r20
106 /* epilogue start */
107 0082 0895 ret
108 .LFE10:
110 .global Debug_ClearBuffer
112 Debug_ClearBuffer:
113 .LFB9:
114 .LM14:
115 /* prologue: function */
116 /* frame size = 0 */
117 .LM15:
118 0084 0E94 0000 call Debug_CharReadyToRead
119 0088 8823 tst r24
120 008a 01F0 breq .L8
121 .LM16:
122 008c 2091 1D01 lds r18,285
123 0090 922F mov r25,r18
124 0092 80E0 ldi r24,lo8(0)
125 0094 8093 0000 sts Debug_writeLocation,r24
126 0098 9093 0000 sts (Debug_writeLocation)+1,r25
127 .LM17:
128 009c 8091 0000 lds r24,Debug_writeLocation
129 00a0 9091 0000 lds r25,(Debug_writeLocation)+1
130 00a4 2091 1C01 lds r18,284
131 00a8 820F add r24,r18
132 00aa 911D adc r25,__zero_reg__
133 00ac 8093 0000 sts Debug_writeLocation,r24
134 00b0 9093 0000 sts (Debug_writeLocation)+1,r25
135 .LM18:
136 00b4 8091 0000 lds r24,Debug_writeLocation
137 00b8 9091 0000 lds r25,(Debug_writeLocation)+1
138 00bc 8050 subi r24,lo8(DebugBuffer)
139 00be 9040 sbci r25,hi8(DebugBuffer)
140 00c0 8093 0000 sts Debug_writeLocation,r24
141 00c4 9093 0000 sts (Debug_writeLocation)+1,r25
142 .LM19:
143 00c8 8091 0000 lds r24,Debug_writeLocation
144 00cc 9091 0000 lds r25,(Debug_writeLocation)+1
145 00d0 8093 0000 sts Debug_readLocation,r24
146 00d4 9093 0000 sts (Debug_readLocation)+1,r25
147 .L8:
148 00d8 0895 ret
149 .LFE9:
151 .global Debug_Init
153 Debug_Init:
154 .LFB8:
155 .LM20:
156 .LVL3:
157 /* prologue: function */
158 /* frame size = 0 */
159 00da AB01 movw r20,r22
160 00dc BC01 movw r22,r24
161 .LM21:
162 00de E0E0 ldi r30,lo8(256)
163 00e0 F1E0 ldi r31,hi8(256)
164 00e2 8091 0001 lds r24,256
165 00e6 8068 ori r24,lo8(-128)
166 00e8 8093 0001 sts 256,r24
167 .LM22:
168 00ec 8091 1201 lds r24,274
169 00f0 8560 ori r24,lo8(5)
170 00f2 828B std Z+18,r24
171 .LM23:
172 00f4 8BE4 ldi r24,lo8(75)
173 00f6 838B std Z+19,r24
174 .LM24:
175 00f8 84E6 ldi r24,lo8(100)
176 00fa 90E0 ldi r25,hi8(100)
177 00fc 848B std Z+20,r24
178 00fe 958B std Z+21,r25
179 .LM25:
180 0100 168A std Z+22,__zero_reg__
181 .LM26:
182 0102 80EA ldi r24,lo8(-96)
183 0104 808F std Z+24,r24
184 .LM27:
185 0106 28E0 ldi r18,lo8(8)
186 0108 218F std Z+25,r18
187 .LM28:
188 010a 128E std Z+26,__zero_reg__
189 .LM29:
190 010c 80E0 ldi r24,lo8(DebugBuffer)
191 010e 90E0 ldi r25,hi8(DebugBuffer)
192 0110 848F std Z+28,r24
193 .LM30:
194 0112 958F std Z+29,r25
195 .LM31:
196 0114 168E std Z+30,__zero_reg__
197 .LM32:
198 0116 8091 1001 lds r24,272
199 011a 846A ori r24,lo8(-92)
200 011c 808B std Z+16,r24
201 .LM33:
202 011e E0E4 ldi r30,lo8(1600)
203 0120 F6E0 ldi r31,hi8(1600)
204 0122 2183 std Z+1,r18
205 .LM34:
206 0124 84E0 ldi r24,lo8(4)
207 0126 8283 std Z+2,r24
208 .LM35:
209 0128 91E0 ldi r25,lo8(1)
210 012a 9283 std Z+2,r25
211 .LM36:
212 012c 82E0 ldi r24,lo8(2)
213 012e 8183 std Z+1,r24
214 .LM37:
215 0130 8683 std Z+6,r24
216 .LM38:
217 0132 E0EA ldi r30,lo8(2208)
218 0134 F8E0 ldi r31,hi8(2208)
219 0136 83E0 ldi r24,lo8(3)
220 0138 8583 std Z+5,r24
221 .LM39:
222 013a 4038 cpi r20,lo8(9600)
223 013c 25E2 ldi r18,hi8(9600)
224 013e 5207 cpc r21,r18
225 0140 20E0 ldi r18,hlo8(9600)
226 0142 6207 cpc r22,r18
227 0144 20E0 ldi r18,hhi8(9600)
228 0146 7207 cpc r23,r18
229 0148 01F4 brne .L10
230 .LVL4:
231 .LM40:
232 014a 8FE5 ldi r24,lo8(95)
233 014c 00C0 rjmp .L17
234 .L10:
235 .LM41:
236 014e 4030 cpi r20,lo8(115200)
237 0150 22EC ldi r18,hi8(115200)
238 0152 5207 cpc r21,r18
239 0154 21E0 ldi r18,hlo8(115200)
240 0156 6207 cpc r22,r18
241 0158 20E0 ldi r18,hhi8(115200)
242 015a 7207 cpc r23,r18
243 015c 01F4 brne .L12
244 .LM42:
245 015e 87E0 ldi r24,lo8(7)
246 .L17:
247 0160 8683 std Z+6,r24
248 0162 00C0 rjmp .L16
249 .L12:
250 .LM43:
251 0164 4030 cpi r20,lo8(230400)
252 0166 24E8 ldi r18,hi8(230400)
253 0168 5207 cpc r21,r18
254 016a 23E0 ldi r18,hlo8(230400)
255 016c 6207 cpc r22,r18
256 016e 20E0 ldi r18,hhi8(230400)
257 0170 7207 cpc r23,r18
258 0172 01F0 breq .L17
259 .L13:
260 .LM44:
261 0174 4030 cpi r20,lo8(460800)
262 0176 88E0 ldi r24,hi8(460800)
263 0178 5807 cpc r21,r24
264 017a 87E0 ldi r24,hlo8(460800)
265 017c 6807 cpc r22,r24
266 017e 80E0 ldi r24,hhi8(460800)
267 0180 7807 cpc r23,r24
268 0182 01F4 brne .L14
269 .LM45:
270 0184 9683 std Z+6,r25
271 0186 00C0 rjmp .L16
272 .L14:
273 .LM46:
274 0188 4050 subi r20,lo8(921600)
275 018a 5041 sbci r21,hi8(921600)
276 018c 6E40 sbci r22,hlo8(921600)
277 018e 7040 sbci r23,hhi8(921600)
278 0190 01F4 brne .L11
279 .LM47:
280 0192 1682 std Z+6,__zero_reg__
281 .L16:
282 .LM48:
283 0194 1782 std Z+7,__zero_reg__
284 .L11:
285 .LM49:
286 0196 E0EA ldi r30,lo8(2208)
287 0198 F8E0 ldi r31,hi8(2208)
288 019a 8091 A408 lds r24,2212
289 019e 8061 ori r24,lo8(16)
290 01a0 8483 std Z+4,r24
291 .LM50:
292 01a2 8091 A408 lds r24,2212
293 01a6 8860 ori r24,lo8(8)
294 01a8 8483 std Z+4,r24
295 .LM51:
296 01aa 0E94 0000 call Debug_ClearBuffer
297 .LVL5:
298 /* epilogue start */
299 .LM52:
300 01ae 0895 ret
301 .LFE8:
303 .global Debug_GetByte
305 Debug_GetByte:
306 .LFB11:
307 .LM53:
308 .LVL6:
309 /* prologue: function */
310 /* frame size = 0 */
311 .LM54:
312 01b0 8823 tst r24
313 01b2 01F0 breq .L19
314 .L23:
315 .LM55:
316 01b4 0E94 0000 call Debug_CharReadyToRead
317 .LVL7:
318 01b8 8823 tst r24
319 01ba 01F0 breq .L23
320 .LVL8:
321 .L19:
322 .LM56:
323 01bc E091 0000 lds r30,Debug_readLocation
324 01c0 F091 0000 lds r31,(Debug_readLocation)+1
325 01c4 E050 subi r30,lo8(-(DebugBuffer))
326 01c6 F040 sbci r31,hi8(-(DebugBuffer))
327 01c8 E081 ld r30,Z
328 .LVL9:
329 .LM57:
330 01ca 8091 0000 lds r24,Debug_readLocation
331 01ce 9091 0000 lds r25,(Debug_readLocation)+1
332 .LVL10:
333 01d2 0196 adiw r24,1
334 01d4 8093 0000 sts Debug_readLocation,r24
335 01d8 9093 0000 sts (Debug_readLocation)+1,r25
336 .LM58:
337 01dc 8091 0000 lds r24,Debug_readLocation
338 01e0 9091 0000 lds r25,(Debug_readLocation)+1
339 01e4 8436 cpi r24,100
340 01e6 9105 cpc r25,__zero_reg__
341 01e8 00F0 brlo .L21
342 .LM59:
343 01ea 1092 0000 sts Debug_readLocation,__zero_reg__
344 01ee 1092 0000 sts (Debug_readLocation)+1,__zero_reg__
345 .L21:
346 .LM60:
347 01f2 8E2F mov r24,r30
348 /* epilogue start */
349 01f4 0895 ret
350 .LFE11:
352 .global Debug_SendByte
354 Debug_SendByte:
355 .LFB12:
356 .LM61:
357 .LVL11:
358 /* prologue: function */
359 /* frame size = 0 */
360 01f6 482F mov r20,r24
361 .LVL12:
362 .L26:
363 .LM62:
364 01f8 8091 A108 lds r24,2209
365 01fc 85FF sbrs r24,5
366 01fe 00C0 rjmp .L26
367 0200 00C0 rjmp .L35
368 .L30:
369 .LM63:
370 0202 8091 0000 lds r24,Debug_timeOutCounter
371 0206 9091 0000 lds r25,(Debug_timeOutCounter)+1
372 020a A091 0000 lds r26,(Debug_timeOutCounter)+2
373 020e B091 0000 lds r27,(Debug_timeOutCounter)+3
374 0212 0196 adiw r24,1
375 0214 A11D adc r26,__zero_reg__
376 0216 B11D adc r27,__zero_reg__
377 0218 8093 0000 sts Debug_timeOutCounter,r24
378 021c 9093 0000 sts (Debug_timeOutCounter)+1,r25
379 0220 A093 0000 sts (Debug_timeOutCounter)+2,r26
380 0224 B093 0000 sts (Debug_timeOutCounter)+3,r27
381 .LM64:
382 0228 8091 0000 lds r24,Debug_timeOutCounter
383 022c 9091 0000 lds r25,(Debug_timeOutCounter)+1
384 0230 A091 0000 lds r26,(Debug_timeOutCounter)+2
385 0234 B091 0000 lds r27,(Debug_timeOutCounter)+3
386 0238 8151 subi r24,lo8(10001)
387 023a 9742 sbci r25,hi8(10001)
388 023c A040 sbci r26,hlo8(10001)
389 023e B040 sbci r27,hhi8(10001)
390 0240 00F0 brlo .L28
391 .LM65:
392 0242 1092 0000 sts Debug_timeOutCounter,__zero_reg__
393 0246 1092 0000 sts (Debug_timeOutCounter)+1,__zero_reg__
394 024a 1092 0000 sts (Debug_timeOutCounter)+2,__zero_reg__
395 024e 1092 0000 sts (Debug_timeOutCounter)+3,__zero_reg__
396 0252 80E0 ldi r24,lo8(0)
397 0254 0895 ret
398 .L28:
399 .LBB476:
400 .LBB477:
401 .LBB478:
402 .LBB479:
403 .LM66:
404 0256 C901 movw r24,r18
405 .LVL13:
406 /* #APP */
407 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas
408 0258 0197 1: sbiw r24,1
409 025a 01F4 brne 1b
410 ; 0 "" 2
411 /* #NOAPP */
412 025c 00C0 rjmp .L34
413 .LVL14:
414 .L35:
415 025e 26E6 ldi r18,lo8(3686)
416 0260 3EE0 ldi r19,hi8(3686)
417 .LVL15:
418 .L34:
419 .LBE479:
420 .LBE478:
421 .LBE477:
422 .LBE476:
423 .LM67:
424 0262 8091 4806 lds r24,1608
425 .LVL16:
426 0266 80FD sbrc r24,0
427 0268 00C0 rjmp .L30
428 .LM68:
429 026a 4093 A008 sts 2208,r20
430 026e 81E0 ldi r24,lo8(1)
431 .LM69:
432 0270 0895 ret
433 .LFE12:
435 .global Leds_Init
437 Leds_Init:
438 .LFB14:
439 .LM70:
440 .LVL17:
441 /* prologue: function */
442 /* frame size = 0 */
443 .LM71:
444 0272 E82F mov r30,r24
445 0274 F0E0 ldi r31,lo8(0)
446 0276 81E0 ldi r24,lo8(1)
447 0278 90E0 ldi r25,hi8(1)
448 .LVL18:
449 027a 0E2E mov r0,r30
450 027c 00C0 rjmp 2f
451 027e 880F 1: lsl r24
452 0280 991F rol r25
453 0282 0A94 2: dec r0
454 0284 02F4 brpl 1b
455 0286 A0EA ldi r26,lo8(1696)
456 0288 B6E0 ldi r27,hi8(1696)
457 028a 1196 adiw r26,1
458 028c 8C93 st X,r24
459 .LBB480:
460 .LBB481:
461 .LM72:
462 028e E050 subi r30,lo8(-(ledState))
463 0290 F040 sbci r31,hi8(-(ledState))
464 0292 1082 st Z,__zero_reg__
465 /* epilogue start */
466 .LBE481:
467 .LBE480:
468 .LM73:
469 0294 0895 ret
470 .LFE14:
472 .global Leds_State
474 Leds_State:
475 .LFB15:
476 .LM74:
477 .LVL19:
478 /* prologue: function */
479 /* frame size = 0 */
480 .LM75:
481 0296 E0E0 ldi r30,lo8(ledState)
482 0298 F0E0 ldi r31,hi8(ledState)
483 029a E80F add r30,r24
484 029c F11D adc r31,__zero_reg__
485 029e 6083 st Z,r22
486 /* epilogue start */
487 .LM76:
488 02a0 0895 ret
489 .LFE15:
491 .global Leds_Set
493 Leds_Set:
494 .LFB16:
495 .LM77:
496 .LVL20:
497 /* prologue: function */
498 /* frame size = 0 */
499 .LM78:
500 02a2 21E0 ldi r18,lo8(1)
501 02a4 30E0 ldi r19,hi8(1)
502 02a6 00C0 rjmp 2f
503 02a8 220F 1: lsl r18
504 02aa 331F rol r19
505 02ac 8A95 2: dec r24
506 02ae 02F4 brpl 1b
507 02b0 E0EA ldi r30,lo8(1696)
508 02b2 F6E0 ldi r31,hi8(1696)
509 02b4 2583 std Z+5,r18
510 /* epilogue start */
511 .LM79:
512 02b6 0895 ret
513 .LFE16:
515 .global Leds_Clear
517 Leds_Clear:
518 .LFB17:
519 .LM80:
520 .LVL21:
521 /* prologue: function */
522 /* frame size = 0 */
523 .LM81:
524 02b8 21E0 ldi r18,lo8(1)
525 02ba 30E0 ldi r19,hi8(1)
526 02bc 00C0 rjmp 2f
527 02be 220F 1: lsl r18
528 02c0 331F rol r19
529 02c2 8A95 2: dec r24
530 02c4 02F4 brpl 1b
531 02c6 E0EA ldi r30,lo8(1696)
532 02c8 F6E0 ldi r31,hi8(1696)
533 02ca 2683 std Z+6,r18
534 /* epilogue start */
535 .LM82:
536 02cc 0895 ret
537 .LFE17:
539 .global Leds_Toggle
541 Leds_Toggle:
542 .LFB18:
543 .LM83:
544 .LVL22:
545 /* prologue: function */
546 /* frame size = 0 */
547 .LM84:
548 02ce 21E0 ldi r18,lo8(1)
549 02d0 30E0 ldi r19,hi8(1)
550 02d2 00C0 rjmp 2f
551 02d4 220F 1: lsl r18
552 02d6 331F rol r19
553 02d8 8A95 2: dec r24
554 02da 02F4 brpl 1b
555 02dc E0EA ldi r30,lo8(1696)
556 02de F6E0 ldi r31,hi8(1696)
557 02e0 2783 std Z+7,r18
558 /* epilogue start */
559 .LM85:
560 02e2 0895 ret
561 .LFE18:
563 .global Time_Init
565 Time_Init:
566 .LFB19:
567 .LM86:
568 /* prologue: function */
569 /* frame size = 0 */
570 .LM87:
571 02e4 88E0 ldi r24,lo8(8)
572 02e6 8093 4008 sts 2112,r24
573 .LM88:
574 02ea 80EC ldi r24,lo8(-64)
575 02ec 8093 8001 sts 384,r24
576 .LM89:
577 02f0 E0E0 ldi r30,lo8(2048)
578 02f2 F8E0 ldi r31,hi8(2048)
579 02f4 8FEF ldi r24,lo8(-1)
580 02f6 9FEF ldi r25,hi8(-1)
581 02f8 86A3 std Z+38,r24
582 02fa 97A3 std Z+39,r25
583 .LM90:
584 02fc 8081 ld r24,Z
585 02fe 807F andi r24,lo8(-16)
586 0300 8460 ori r24,lo8(4)
587 0302 8083 st Z,r24
588 /* epilogue start */
589 .LM91:
590 0304 0895 ret
591 .LFE19:
593 .global Time_Set
595 Time_Set:
596 .LFB20:
597 .LM92:
598 .LVL23:
599 0306 0F93 push r16
600 0308 DF93 push r29
601 030a CF93 push r28
602 030c 0F92 push __tmp_reg__
603 030e CDB7 in r28,__SP_L__
604 0310 DEB7 in r29,__SP_H__
605 /* prologue: function */
606 /* frame size = 1 */
607 0312 AB01 movw r20,r22
608 0314 BC01 movw r22,r24
609 .LM93:
610 /* #APP */
611 ; 70 "time.c" 1
612 0316 F894 cli
613 ; 0 "" 2
614 .LM94:
615 /* #NOAPP */
616 0318 82E0 ldi r24,lo8(2)
617 031a 8093 F000 sts 240,r24
618 .LBB482:
619 .LBB483:
620 .LM95:
621 031e 8FB7 in r24,__SREG__
622 0320 8983 std Y+1,r24
623 .LVL24:
624 .LM96:
625 /* #APP */
626 ; 83 "mainChestStrap.h" 1
627 0322 F894 cli
628 ; 0 "" 2
629 .LM97:
630 /* #NOAPP */
631 0324 1BBE out 59-0,__zero_reg__
632 .LM98:
633 0326 21E0 ldi r18,lo8(1)
634 0328 80EF ldi r24,lo8(240)
635 032a 90E0 ldi r25,hi8(240)
636 /* #APP */
637 ; 105 "mainChestStrap.h" 1
638 032c FC01 movw r30, r24
639 032e 08ED ldi r16, 216
640 0330 04BF out 52, r16
641 0332 2083 st Z, r18
642
643 ; 0 "" 2
644 .LM99:
645 /* #NOAPP */
646 0334 8981 ldd r24,Y+1
647 0336 8FBF out __SREG__,r24
648 .LBE483:
649 .LBE482:
650 .LM100:
651 0338 8091 F000 lds r24,240
652 033c 8460 ori r24,lo8(4)
653 033e 8093 F000 sts 240,r24
654 .LM101:
655 0342 8091 F000 lds r24,240
656 0346 8860 ori r24,lo8(8)
657 0348 8093 F000 sts 240,r24
658 .LM102:
659 034c 8091 2004 lds r24,1056
660 0350 8E7F andi r24,lo8(-2)
661 0352 8093 2004 sts 1056,r24
662 .LVL25:
663 .L49:
664 .LM103:
665 0356 E0E2 ldi r30,lo8(1056)
666 0358 F4E0 ldi r31,hi8(1056)
667 035a 8091 2104 lds r24,1057
668 035e 80FD sbrc r24,0
669 0360 00C0 rjmp .L49
670 .LM104:
671 0362 8EEF ldi r24,lo8(-2)
672 0364 9FEF ldi r25,hi8(-2)
673 0366 AFEF ldi r26,hlo8(-2)
674 0368 BFEF ldi r27,hhi8(-2)
675 036a 8087 std Z+8,r24
676 036c 9187 std Z+9,r25
677 036e A287 std Z+10,r26
678 0370 B387 std Z+11,r27
679 .LM105:
680 0372 1486 std Z+12,__zero_reg__
681 0374 1586 std Z+13,__zero_reg__
682 0376 1686 std Z+14,__zero_reg__
683 0378 1786 std Z+15,__zero_reg__
684 .LM106:
685 037a 4483 std Z+4,r20
686 037c 5583 std Z+5,r21
687 037e 6683 std Z+6,r22
688 0380 7783 std Z+7,r23
689 .LBB484:
690 .LBB485:
691 .LBB486:
692 .LBB487:
693 .LM107:
694 0382 80E0 ldi r24,lo8(-28672)
695 0384 90E9 ldi r25,hi8(-28672)
696 .LVL26:
697 /* #APP */
698 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas
699 0386 0197 1: sbiw r24,1
700 0388 01F4 brne 1b
701 ; 0 "" 2
702 /* #NOAPP */
703 .LBE487:
704 .LBE486:
705 .LBE485:
706 .LBE484:
707 .LM108:
708 038a 81E0 ldi r24,lo8(1)
709 .LVL27:
710 038c 8093 2004 sts 1056,r24
711 .L50:
712 .LM109:
713 0390 8091 2104 lds r24,1057
714 0394 80FD sbrc r24,0
715 0396 00C0 rjmp .L50
716 .LM110:
717 0398 8091 2204 lds r24,1058
718 039c 837F andi r24,lo8(-13)
719 039e 8460 ori r24,lo8(4)
720 03a0 E0E2 ldi r30,lo8(1056)
721 03a2 F4E0 ldi r31,hi8(1056)
722 03a4 8283 std Z+2,r24
723 .LM111:
724 /* #APP */
725 ; 91 "time.c" 1
726 03a6 7894 sei
727 ; 0 "" 2
728 /* epilogue start */
729 .LM112:
730 /* #NOAPP */
731 03a8 0F90 pop __tmp_reg__
732 03aa CF91 pop r28
733 03ac DF91 pop r29
734 03ae 0F91 pop r16
735 03b0 0895 ret
736 .LFE20:
738 .global Time_CheckVBatSystem
740 Time_CheckVBatSystem:
741 .LFB21:
742 .LM113:
743 /* prologue: function */
744 /* frame size = 0 */
745 .LM114:
746 03b2 8091 F100 lds r24,241
747 03b6 87FD sbrc r24,7
748 03b8 00C0 rjmp .L55
749 .LM115:
750 03ba 8091 F100 lds r24,241
751 03be 80FD sbrc r24,0
752 03c0 00C0 rjmp .L55
753 .LM116:
754 03c2 8091 F100 lds r24,241
755 03c6 81FD sbrc r24,1
756 03c8 00C0 rjmp .L55
757 .LM117:
758 03ca 82E0 ldi r24,lo8(2)
759 03cc 8093 F000 sts 240,r24
760 .LM118:
761 03d0 8091 F100 lds r24,241
762 03d4 8695 lsr r24
763 03d6 8695 lsr r24
764 03d8 8095 com r24
765 03da 8170 andi r24,lo8(1)
766 03dc 0895 ret
767 .L55:
768 03de 80E0 ldi r24,lo8(0)
769 .LM119:
770 03e0 0895 ret
771 .LFE21:
773 .global Time_Get
775 Time_Get:
776 .LFB22:
777 .LM120:
778 /* prologue: function */
779 /* frame size = 0 */
780 .LM121:
781 03e2 8091 2104 lds r24,1057
782 03e6 8061 ori r24,lo8(16)
783 03e8 E0E2 ldi r30,lo8(1056)
784 03ea F4E0 ldi r31,hi8(1056)
785 03ec 8183 std Z+1,r24
786 .L59:
787 .LM122:
788 03ee 8091 2104 lds r24,1057
789 03f2 84FD sbrc r24,4
790 03f4 00C0 rjmp .L59
791 .LM123:
792 03f6 2091 2404 lds r18,1060
793 03fa 3091 2504 lds r19,(1060)+1
794 03fe 4091 2604 lds r20,(1060)+2
795 0402 5091 2704 lds r21,(1060)+3
796 .LM124:
797 0406 B901 movw r22,r18
798 0408 CA01 movw r24,r20
799 /* epilogue start */
800 040a 0895 ret
801 .LFE22:
803 .global Time_Get32BitTimer
805 Time_Get32BitTimer:
806 .LFB23:
807 .LM125:
808 /* prologue: function */
809 /* frame size = 0 */
810 .LM126:
811 /* #APP */
812 ; 121 "time.c" 1
813 040c F894 cli
814 ; 0 "" 2
815 .LM127:
816 /* #NOAPP */
817 040e 2091 6008 lds r18,2144
818 0412 3091 6108 lds r19,(2144)+1
819 .LVL28:
820 .LM128:
821 0416 6091 2008 lds r22,2080
822 041a 7091 2108 lds r23,(2080)+1
823 .LVL29:
824 .LM129:
825 041e 8091 6008 lds r24,2144
826 0422 9091 6108 lds r25,(2144)+1
827 0426 2817 cp r18,r24
828 0428 3907 cpc r19,r25
829 042a 01F0 breq .L63
830 .LM130:
831 042c 2091 6008 lds r18,2144
832 0430 3091 6108 lds r19,(2144)+1
833 .LM131:
834 0434 6091 2008 lds r22,2080
835 0438 7091 2108 lds r23,(2080)+1
836 .L63:
837 .LM132:
838 /* #APP */
839 ; 131 "time.c" 1
840 043c 7894 sei
841 ; 0 "" 2
842 /* #NOAPP */
843 043e 40E0 ldi r20,lo8(0)
844 0440 50E0 ldi r21,hi8(0)
845 .LVL30:
846 0442 A901 movw r20,r18
847 0444 3327 clr r19
848 0446 2227 clr r18
849 .LVL31:
850 0448 CB01 movw r24,r22
851 044a A0E0 ldi r26,lo8(0)
852 044c B0E0 ldi r27,hi8(0)
853 .LVL32:
854 044e 280F add r18,r24
855 0450 391F adc r19,r25
856 0452 4A1F adc r20,r26
857 0454 5B1F adc r21,r27
858 .LM133:
859 0456 B901 movw r22,r18
860 .LVL33:
861 0458 CA01 movw r24,r20
862 .LVL34:
863 /* epilogue start */
864 045a 0895 ret
865 .LFE23:
867 .global Time_UTCSecsToTime
869 Time_UTCSecsToTime:
870 .LFB24:
871 .LM134:
872 .LVL35:
873 045c 8F92 push r8
874 045e 9F92 push r9
875 0460 AF92 push r10
876 0462 BF92 push r11
877 0464 CF92 push r12
878 0466 DF92 push r13
879 0468 EF92 push r14
880 046a FF92 push r15
881 046c 0F93 push r16
882 046e 1F93 push r17
883 0470 CF93 push r28
884 0472 DF93 push r29
885 /* prologue: function */
886 /* frame size = 0 */
887 0474 7B01 movw r14,r22
888 0476 8C01 movw r16,r24
889 0478 EA01 movw r28,r20
890 .LM135:
891 047a 2CE3 ldi r18,lo8(60)
892 047c 30E0 ldi r19,hi8(60)
893 047e 40E0 ldi r20,hlo8(60)
894 0480 50E0 ldi r21,hhi8(60)
895 0482 0E94 0000 call __udivmodsi4
896 .LVL36:
897 0486 6983 std Y+1,r22
898 .LM136:
899 0488 C801 movw r24,r16
900 048a B701 movw r22,r14
901 048c 2CE3 ldi r18,lo8(60)
902 048e 30E0 ldi r19,hi8(60)
903 0490 40E0 ldi r20,hlo8(60)
904 0492 50E0 ldi r21,hhi8(60)
905 0494 0E94 0000 call __udivmodsi4
906 0498 122F mov r17,r18
907 049a 032F mov r16,r19
908 049c F42E mov r15,r20
909 .LVL37:
910 049e E52E mov r14,r21
911 .LVL38:
912 .LM137:
913 04a0 622F mov r22,r18
914 04a2 732F mov r23,r19
915 04a4 842F mov r24,r20
916 04a6 952F mov r25,r21
917 04a8 2CE3 ldi r18,lo8(60)
918 04aa 30E0 ldi r19,hi8(60)
919 04ac 40E0 ldi r20,hlo8(60)
920 04ae 50E0 ldi r21,hhi8(60)
921 04b0 0E94 0000 call __udivmodsi4
922 04b4 6A83 std Y+2,r22
923 .LM138:
924 04b6 612F mov r22,r17
925 04b8 702F mov r23,r16
926 04ba 8F2D mov r24,r15
927 04bc 9E2D mov r25,r14
928 04be 2CE3 ldi r18,lo8(60)
929 04c0 30E0 ldi r19,hi8(60)
930 04c2 40E0 ldi r20,hlo8(60)
931 04c4 50E0 ldi r21,hhi8(60)
932 04c6 0E94 0000 call __udivmodsi4
933 04ca 122F mov r17,r18
934 04cc 032F mov r16,r19
935 04ce F42E mov r15,r20
936 04d0 E52E mov r14,r21
937 .LM139:
938 04d2 622F mov r22,r18
939 04d4 732F mov r23,r19
940 04d6 842F mov r24,r20
941 04d8 952F mov r25,r21
942 04da 28E1 ldi r18,lo8(24)
943 04dc 30E0 ldi r19,hi8(24)
944 04de 40E0 ldi r20,hlo8(24)
945 04e0 50E0 ldi r21,hhi8(24)
946 04e2 0E94 0000 call __udivmodsi4
947 04e6 6B83 std Y+3,r22
948 .LM140:
949 04e8 612F mov r22,r17
950 04ea 702F mov r23,r16
951 04ec 8F2D mov r24,r15
952 04ee 9E2D mov r25,r14
953 04f0 28E1 ldi r18,lo8(24)
954 04f2 30E0 ldi r19,hi8(24)
955 04f4 40E0 ldi r20,hlo8(24)
956 04f6 50E0 ldi r21,hhi8(24)
957 04f8 0E94 0000 call __udivmodsi4
958 04fc 7901 movw r14,r18
959 04fe 8A01 movw r16,r20
960 .LM141:
961 0500 C801 movw r24,r16
962 0502 B701 movw r22,r14
963 .LVL39:
964 0504 6C5F subi r22,lo8(-(4))
965 0506 7F4F sbci r23,hi8(-(4))
966 0508 8F4F sbci r24,hlo8(-(4))
967 050a 9F4F sbci r25,hhi8(-(4))
968 050c 27E0 ldi r18,lo8(7)
969 050e 30E0 ldi r19,hi8(7)
970 0510 40E0 ldi r20,hlo8(7)
971 0512 50E0 ldi r21,hhi8(7)
972 0514 0E94 0000 call __udivmodsi4
973 0518 6F5F subi r22,lo8(-(1))
974 051a 6C83 std Y+4,r22
975 051c 20E0 ldi r18,lo8(0)
976 .LVL40:
977 051e AA24 clr r10
978 0520 BB24 clr r11
979 0522 6501 movw r12,r10
980 .LVL41:
981 0524 00C0 rjmp .L66
982 .LVL42:
983 .L70:
984 .LM142:
985 0526 2F5F subi r18,lo8(-(1))
986 .LVL43:
987 .L66:
988 .LM143:
989 0528 822E mov r8,r18
990 052a 9924 clr r9
991 052c F401 movw r30,r8
992 052e EE54 subi r30,lo8(-(1970))
993 0530 F84F sbci r31,hi8(-(1970))
994 0532 CF01 movw r24,r30
995 0534 8370 andi r24,lo8(3)
996 0536 9070 andi r25,hi8(3)
997 0538 892B or r24,r25
998 053a 01F4 brne .L67
999 053c CF01 movw r24,r30
1000 053e 64E6 ldi r22,lo8(100)
1001 0540 70E0 ldi r23,hi8(100)
1002 0542 0E94 0000 call __divmodhi4
1003 .LVL44:
1004 0546 892B or r24,r25
1005 0548 01F4 brne .L68
1006 054a CF01 movw r24,r30
1007 054c 60E9 ldi r22,lo8(400)
1008 054e 71E0 ldi r23,hi8(400)
1009 0550 0E94 0000 call __divmodhi4
1010 0554 892B or r24,r25
1011 0556 01F4 brne .L67
1012 .L68:
1013 0558 8EE6 ldi r24,lo8(366)
1014 055a 91E0 ldi r25,hi8(366)
1015 055c A0E0 ldi r26,hlo8(366)
1016 055e B0E0 ldi r27,hhi8(366)
1017 0560 00C0 rjmp .L69
1018 .LVL45:
1019 .L67:
1020 0562 8DE6 ldi r24,lo8(365)
1021 0564 91E0 ldi r25,hi8(365)
1022 0566 A0E0 ldi r26,hlo8(365)
1023 0568 B0E0 ldi r27,hhi8(365)
1024 .L69:
1025 056a A80E add r10,r24
1026 056c B91E adc r11,r25
1027 056e CA1E adc r12,r26
1028 0570 DB1E adc r13,r27
1029 0572 C501 movw r24,r10
1030 0574 A0E0 ldi r26,lo8(0)
1031 0576 B0E0 ldi r27,hi8(0)
1032 0578 E816 cp r14,r24
1033 057a F906 cpc r15,r25
1034 057c 0A07 cpc r16,r26
1035 057e 1B07 cpc r17,r27
1036 0580 00F4 brsh .L70
1037 .LVL46:
1038 .LM144:
1039 0582 2F83 std Y+7,r18
1040 .LM145: