-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain_prog.lst
1995 lines (1994 loc) · 70.6 KB
/
main_prog.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 "main_prog.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 lcd_clear
18 lcd_clear:
19 .LFB6:
20 .LM1:
21 /* prologue: function */
22 /* frame size = 0 */
23 .LM2:
24 0000 DD98 cbi 59-32,5
25 .LM3:
26 0002 81E0 ldi r24,lo8(1)
27 0004 85BB out 53-32,r24
28 .LM4:
29 0006 DF9A sbi 59-32,7
30 .LBB134:
31 .LBB135:
32 .LBB136:
33 .LBB137:
34 .LM5:
35 /* #APP */
36 ; 83 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
37 0008 8A95 1: dec r24
38 000a 01F4 brne 1b
39 ; 0 "" 2
40 .LVL0:
41 /* #NOAPP */
42 .LBE137:
43 .LBE136:
44 .LBE135:
45 .LBE134:
46 .LM6:
47 000c DF98 cbi 59-32,7
48 .LBB138:
49 .LBB139:
50 .LBB140:
51 .LBB141:
52 .LM7:
53 000e 84EF ldi r24,lo8(500)
54 0010 91E0 ldi r25,hi8(500)
55 .LVL1:
56 /* #APP */
57 ; 105 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
58 0012 0197 1: sbiw r24,1
59 0014 01F4 brne 1b
60 ; 0 "" 2
61 /* epilogue start */
62 /* #NOAPP */
63 .LBE141:
64 .LBE140:
65 .LBE139:
66 .LBE138:
67 .LM8:
68 0016 0895 ret
69 .LFE6:
71 .global lcd_home
73 lcd_home:
74 .LFB7:
75 .LM9:
76 /* prologue: function */
77 /* frame size = 0 */
78 .LM10:
79 0018 DD98 cbi 59-32,5
80 .LM11:
81 001a 82E0 ldi r24,lo8(2)
82 001c 85BB out 53-32,r24
83 .LM12:
84 001e DF9A sbi 59-32,7
85 .LBB142:
86 .LBB143:
87 .LBB144:
88 .LBB145:
89 .LM13:
90 0020 81E0 ldi r24,lo8(1)
91 .LVL2:
92 /* #APP */
93 ; 83 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
94 0022 8A95 1: dec r24
95 0024 01F4 brne 1b
96 ; 0 "" 2
97 /* #NOAPP */
98 .LBE145:
99 .LBE144:
100 .LBE143:
101 .LBE142:
102 .LM14:
103 0026 DF98 cbi 59-32,7
104 .LBB146:
105 .LBB147:
106 .LBB148:
107 .LBB149:
108 .LM15:
109 0028 84EF ldi r24,lo8(500)
110 002a 91E0 ldi r25,hi8(500)
111 .LVL3:
112 /* #APP */
113 ; 105 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
114 002c 0197 1: sbiw r24,1
115 002e 01F4 brne 1b
116 ; 0 "" 2
117 /* epilogue start */
118 /* #NOAPP */
119 .LBE149:
120 .LBE148:
121 .LBE147:
122 .LBE146:
123 .LM16:
124 0030 0895 ret
125 .LFE7:
127 .global lcd_command
129 lcd_command:
130 .LFB8:
131 .LM17:
132 .LVL4:
133 /* prologue: function */
134 /* frame size = 0 */
135 .LM18:
136 0032 DD98 cbi 59-32,5
137 .LM19:
138 0034 85BB out 53-32,r24
139 .LM20:
140 0036 DF9A sbi 59-32,7
141 .LBB150:
142 .LBB151:
143 .LBB152:
144 .LBB153:
145 .LM21:
146 0038 81E0 ldi r24,lo8(1)
147 .LVL5:
148 /* #APP */
149 ; 83 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
150 003a 8A95 1: dec r24
151 003c 01F4 brne 1b
152 ; 0 "" 2
153 /* #NOAPP */
154 .LBE153:
155 .LBE152:
156 .LBE151:
157 .LBE150:
158 .LM22:
159 003e DF98 cbi 59-32,7
160 .LBB154:
161 .LBB155:
162 .LBB156:
163 .LBB157:
164 .LM23:
165 0040 8DE0 ldi r24,lo8(13)
166 .LVL6:
167 /* #APP */
168 ; 83 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
169 0042 8A95 1: dec r24
170 0044 01F4 brne 1b
171 ; 0 "" 2
172 /* epilogue start */
173 /* #NOAPP */
174 .LBE157:
175 .LBE156:
176 .LBE155:
177 .LBE154:
178 .LM24:
179 0046 0895 ret
180 .LFE8:
182 .global lcd_init
184 lcd_init:
185 .LFB9:
186 .LM25:
187 0048 DF93 push r29
188 004a CF93 push r28
189 004c 00D0 rcall .
190 004e 0F92 push __tmp_reg__
191 0050 CDB7 in r28,__SP_L__
192 0052 DEB7 in r29,__SP_H__
193 /* prologue: function */
194 /* frame size = 3 */
195 .LM26:
196 0054 8FEF ldi r24,lo8(-1)
197 0056 84BB out 52-32,r24
198 .LM27:
199 0058 8AB3 in r24,58-32
200 005a 806A ori r24,lo8(-96)
201 005c 8ABB out 58-32,r24
202 .LM28:
203 005e 8BB3 in r24,59-32
204 0060 8F75 andi r24,lo8(95)
205 0062 8BBB out 59-32,r24
206 .LM29:
207 0064 D69A sbi 58-32,6
208 .LM30:
209 0066 8BB3 in r24,59-32
210 0068 8F6B ori r24,lo8(-65)
211 006a 8BBB out 59-32,r24
212 .LBB158:
213 .LBB159:
214 .LBB160:
215 .LBB161:
216 .LM31:
217 006c 86EA ldi r24,lo8(3750)
218 006e 9EE0 ldi r25,hi8(3750)
219 0070 FC01 movw r30,r24
220 .LVL7:
221 /* #APP */
222 ; 105 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
223 0072 3197 1: sbiw r30,1
224 0074 01F4 brne 1b
225 ; 0 "" 2
226 /* #NOAPP */
227 .LBE161:
228 .LBE160:
229 .LBE159:
230 .LBE158:
231 .LBB162:
232 .LBB163:
233 .LBB164:
234 .LBB165:
235 /* #APP */
236 ; 105 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
237 0076 0197 1: sbiw r24,1
238 0078 01F4 brne 1b
239 ; 0 "" 2
240 .LVL8:
241 /* #NOAPP */
242 .LBE165:
243 .LBE164:
244 .LBE163:
245 .LBE162:
246 .LM32:
247 007a 88E3 ldi r24,lo8(56)
248 .LVL9:
249 007c 8983 std Y+1,r24
250 .LM33:
251 007e 8CE0 ldi r24,lo8(12)
252 0080 8A83 std Y+2,r24
253 .LM34:
254 0082 86E0 ldi r24,lo8(6)
255 0084 8B83 std Y+3,r24
256 .LM35:
257 0086 88E3 ldi r24,lo8(56)
258 0088 0E94 0000 call lcd_command
259 .LVL10:
260 008c 8A81 ldd r24,Y+2
261 008e 0E94 0000 call lcd_command
262 0092 86E0 ldi r24,lo8(6)
263 0094 0E94 0000 call lcd_command
264 .LM36:
265 0098 0E94 0000 call lcd_clear
266 /* epilogue start */
267 .LM37:
268 009c 0F90 pop __tmp_reg__
269 009e 0F90 pop __tmp_reg__
270 00a0 0F90 pop __tmp_reg__
271 00a2 CF91 pop r28
272 00a4 DF91 pop r29
273 00a6 0895 ret
274 .LFE9:
276 .global display_char
278 display_char:
279 .LFB10:
280 .LM38:
281 .LVL11:
282 /* prologue: function */
283 /* frame size = 0 */
284 .LM39:
285 00a8 DD9A sbi 59-32,5
286 .LM40:
287 00aa 85BB out 53-32,r24
288 .LM41:
289 00ac DF9A sbi 59-32,7
290 .LBB166:
291 .LBB167:
292 .LBB168:
293 .LBB169:
294 .LM42:
295 00ae 81E0 ldi r24,lo8(1)
296 .LVL12:
297 /* #APP */
298 ; 83 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
299 00b0 8A95 1: dec r24
300 00b2 01F4 brne 1b
301 ; 0 "" 2
302 /* #NOAPP */
303 .LBE169:
304 .LBE168:
305 .LBE167:
306 .LBE166:
307 .LM43:
308 00b4 DF98 cbi 59-32,7
309 .LBB170:
310 .LBB171:
311 .LBB172:
312 .LBB173:
313 .LM44:
314 00b6 8DE0 ldi r24,lo8(13)
315 .LVL13:
316 /* #APP */
317 ; 83 "e:/program files/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
318 00b8 8A95 1: dec r24
319 00ba 01F4 brne 1b
320 ; 0 "" 2
321 /* epilogue start */
322 /* #NOAPP */
323 .LBE173:
324 .LBE172:
325 .LBE171:
326 .LBE170:
327 .LM45:
328 00bc 0895 ret
329 .LFE10:
331 .global display_byte
333 display_byte:
334 .LFB11:
335 .LM46:
336 .LVL14:
337 00be 1F93 push r17
338 /* prologue: function */
339 /* frame size = 0 */
340 00c0 282F mov r18,r24
341 .LM47:
342 00c2 64E6 ldi r22,lo8(100)
343 00c4 0E94 0000 call __udivmodqi4
344 .LVL15:
345 00c8 192F mov r17,r25
346 .LM48:
347 00ca 822F mov r24,r18
348 00cc 0E94 0000 call __udivmodqi4
349 00d0 805D subi r24,lo8(-(48))
350 00d2 0E94 0000 call display_char
351 .LVL16:
352 .LM49:
353 00d6 812F mov r24,r17
354 00d8 6AE0 ldi r22,lo8(10)
355 00da 0E94 0000 call __udivmodqi4
356 00de 805D subi r24,lo8(-(48))
357 00e0 0E94 0000 call display_char
358 .LM50:
359 00e4 812F mov r24,r17
360 00e6 6AE0 ldi r22,lo8(10)
361 00e8 0E94 0000 call __udivmodqi4
362 00ec 892F mov r24,r25
363 00ee 805D subi r24,lo8(-(48))
364 00f0 0E94 0000 call display_char
365 /* epilogue start */
366 .LM51:
367 00f4 1F91 pop r17
368 00f6 0895 ret
369 .LFE11:
371 .global display_int
373 display_int:
374 .LFB12:
375 .LM52:
376 .LVL17:
377 00f8 EF92 push r14
378 00fa FF92 push r15
379 00fc 0F93 push r16
380 00fe 1F93 push r17
381 /* prologue: function */
382 /* frame size = 0 */
383 0100 9C01 movw r18,r24
384 .LM53:
385 0102 60E1 ldi r22,lo8(10000)
386 0104 77E2 ldi r23,hi8(10000)
387 0106 0E94 0000 call __udivmodhi4
388 .LVL18:
389 010a 182F mov r17,r24
390 010c 092F mov r16,r25
391 .LM54:
392 010e C901 movw r24,r18
393 0110 60E1 ldi r22,lo8(10000)
394 0112 77E2 ldi r23,hi8(10000)
395 0114 0E94 0000 call __udivmodhi4
396 0118 862F mov r24,r22
397 011a 805D subi r24,lo8(-(48))
398 011c 0E94 0000 call display_char
399 .LVL19:
400 0120 812F mov r24,r17
401 0122 902F mov r25,r16
402 0124 68EE ldi r22,lo8(1000)
403 0126 73E0 ldi r23,hi8(1000)
404 0128 0E94 0000 call __udivmodhi4
405 012c F82E mov r15,r24
406 012e E92E mov r14,r25
407 .LM55:
408 0130 812F mov r24,r17
409 0132 902F mov r25,r16
410 0134 68EE ldi r22,lo8(1000)
411 0136 73E0 ldi r23,hi8(1000)
412 0138 0E94 0000 call __udivmodhi4
413 013c 862F mov r24,r22
414 013e 805D subi r24,lo8(-(48))
415 0140 0E94 0000 call display_char
416 0144 8F2D mov r24,r15
417 0146 9E2D mov r25,r14
418 0148 64E6 ldi r22,lo8(100)
419 014a 70E0 ldi r23,hi8(100)
420 014c 0E94 0000 call __udivmodhi4
421 0150 182F mov r17,r24
422 0152 092F mov r16,r25
423 .LM56:
424 0154 8F2D mov r24,r15
425 0156 9E2D mov r25,r14
426 0158 64E6 ldi r22,lo8(100)
427 015a 70E0 ldi r23,hi8(100)
428 015c 0E94 0000 call __udivmodhi4
429 0160 862F mov r24,r22
430 0162 805D subi r24,lo8(-(48))
431 0164 0E94 0000 call display_char
432 .LM57:
433 0168 812F mov r24,r17
434 016a 902F mov r25,r16
435 016c 6AE0 ldi r22,lo8(10)
436 016e 70E0 ldi r23,hi8(10)
437 0170 0E94 0000 call __udivmodhi4
438 0174 862F mov r24,r22
439 0176 805D subi r24,lo8(-(48))
440 0178 0E94 0000 call display_char
441 .LM58:
442 017c 812F mov r24,r17
443 017e 902F mov r25,r16
444 0180 6AE0 ldi r22,lo8(10)
445 0182 70E0 ldi r23,hi8(10)
446 0184 0E94 0000 call __udivmodhi4
447 0188 805D subi r24,lo8(-(48))
448 018a 0E94 0000 call display_char
449 /* epilogue start */
450 .LM59:
451 018e 1F91 pop r17
452 0190 0F91 pop r16
453 0192 FF90 pop r15
454 0194 EF90 pop r14
455 0196 0895 ret
456 .LFE12:
458 .global move_to
460 move_to:
461 .LFB13:
462 .LM60:
463 .LVL20:
464 /* prologue: function */
465 /* frame size = 0 */
466 .LM61:
467 0198 8058 subi r24,lo8(-(-128))
468 .LVL21:
469 019a 6295 swap r22
470 .LVL22:
471 019c 660F lsl r22
472 019e 660F lsl r22
473 01a0 607C andi r22,lo8(-64)
474 01a2 860F add r24,r22
475 01a4 0E94 0000 call lcd_command
476 .LVL23:
477 /* epilogue start */
478 .LM62:
479 01a8 0895 ret
480 .LFE13:
482 .global adc_init
484 adc_init:
485 .LFB14:
486 .LM63:
487 /* prologue: function */
488 /* frame size = 0 */
489 .LM64:
490 01aa D198 cbi 58-32,1
491 .LM65:
492 01ac D998 cbi 59-32,1
493 .LM66:
494 01ae 80E6 ldi r24,lo8(96)
495 01b0 87B9 out 39-32,r24
496 .LM67:
497 01b2 86E8 ldi r24,lo8(-122)
498 01b4 86B9 out 38-32,r24
499 .LM68:
500 01b6 87B1 in r24,39-32
501 01b8 807E andi r24,lo8(-32)
502 01ba 8F5F subi r24,lo8(-(1))
503 01bc 87B9 out 39-32,r24
504 .LM69:
505 01be 369A sbi 38-32,6
506 .L18:
507 .LM70:
508 01c0 3699 sbic 38-32,6
509 01c2 00C0 rjmp .L18
510 /* epilogue start */
511 .LM71:
512 01c4 0895 ret
513 .LFE14:
515 .global adc_read_dc
517 adc_read_dc:
518 .LFB15:
519 .LM72:
520 /* prologue: function */
521 /* frame size = 0 */
522 .LM73:
523 01c6 D098 cbi 58-32,0
524 .LM74:
525 01c8 D898 cbi 59-32,0
526 .LM75:
527 01ca 87B1 in r24,39-32
528 01cc 807E andi r24,lo8(-32)
529 01ce 87B9 out 39-32,r24
530 .LM76:
531 01d0 369A sbi 38-32,6
532 .L22:
533 .LM77:
534 01d2 3699 sbic 38-32,6
535 01d4 00C0 rjmp .L22
536 .LM78:
537 01d6 85B1 in r24,37-32
538 /* epilogue start */
539 .LM79:
540 01d8 0895 ret
541 .LFE15:
543 .global adc_read_ac
545 adc_read_ac:
546 .LFB16:
547 .LM80:
548 /* prologue: function */
549 /* frame size = 0 */
550 .LM81:
551 01da D198 cbi 58-32,1
552 .LM82:
553 01dc D998 cbi 59-32,1
554 .LM83:
555 01de 87B1 in r24,39-32
556 01e0 807E andi r24,lo8(-32)
557 01e2 8F5F subi r24,lo8(-(1))
558 01e4 87B9 out 39-32,r24
559 .LM84:
560 01e6 369A sbi 38-32,6
561 .L26:
562 .LM85:
563 01e8 3699 sbic 38-32,6
564 01ea 00C0 rjmp .L26
565 .LM86:
566 01ec 85B1 in r24,37-32
567 /* epilogue start */
568 .LM87:
569 01ee 0895 ret
570 .LFE16:
572 .global Initializing_Port_Timer
574 Initializing_Port_Timer:
575 .LFB17:
576 .LM88:
577 /* prologue: function */
578 /* frame size = 0 */
579 .LM89:
580 01f0 87B3 in r24,55-32
581 01f2 8C60 ori r24,lo8(12)
582 01f4 87BB out 55-32,r24
583 .LM90:
584 01f6 88E4 ldi r24,lo8(72)
585 01f8 83BF out 83-32,r24
586 .LM91:
587 01fa 12BE out 82-32,__zero_reg__
588 .LM92:
589 01fc 1CBE out 92-32,__zero_reg__
590 /* epilogue start */
591 .LM93:
592 01fe 0895 ret
593 .LFE17:
595 .global inflate_cuff
597 inflate_cuff:
598 .LFB18:
599 .LM94:
600 /* prologue: function */
601 /* frame size = 0 */
602 .LBB174:
603 .LBB175:
604 .LM95:
605 0200 87B3 in r24,55-32
606 0202 8C60 ori r24,lo8(12)
607 0204 87BB out 55-32,r24
608 .LM96:
609 0206 88E4 ldi r24,lo8(72)
610 0208 83BF out 83-32,r24
611 .LM97:
612 020a 12BE out 82-32,__zero_reg__
613 .LM98:
614 020c 1CBE out 92-32,__zero_reg__
615 .LBE175:
616 .LBE174:
617 .LM99:
618 020e 88B3 in r24,56-32
619 0210 8C60 ori r24,lo8(12)
620 0212 88BB out 56-32,r24
621 /* epilogue start */
622 .LM100:
623 0214 0895 ret
624 .LFE18:
626 .global deflate_fast
628 deflate_fast:
629 .LFB19:
630 .LM101:
631 /* prologue: function */
632 /* frame size = 0 */
633 .LBB176:
634 .LBB177:
635 .LM102:
636 0216 87B3 in r24,55-32
637 0218 8C60 ori r24,lo8(12)
638 021a 87BB out 55-32,r24
639 .LM103:
640 021c 88E4 ldi r24,lo8(72)
641 021e 83BF out 83-32,r24
642 .LM104:
643 0220 12BE out 82-32,__zero_reg__
644 .LM105:
645 0222 1CBE out 92-32,__zero_reg__
646 .LBE177:
647 .LBE176:
648 .LM106:
649 0224 88B3 in r24,56-32
650 0226 837F andi r24,lo8(-13)
651 0228 88BB out 56-32,r24
652 /* epilogue start */
653 .LM107:
654 022a 0895 ret
655 .LFE19:
657 .global deflate_slow
659 deflate_slow:
660 .LFB20:
661 .LM108:
662 /* prologue: function */
663 /* frame size = 0 */
664 .LBB178:
665 .LBB179:
666 .LM109:
667 022c 87B3 in r24,55-32
668 022e 8C60 ori r24,lo8(12)
669 0230 87BB out 55-32,r24
670 .LM110:
671 0232 88E4 ldi r24,lo8(72)
672 0234 83BF out 83-32,r24
673 .LM111:
674 0236 12BE out 82-32,__zero_reg__
675 .LM112:
676 0238 1CBE out 92-32,__zero_reg__
677 .LBE179:
678 .LBE178:
679 .LM113:
680 023a C298 cbi 56-32,2
681 .LM114:
682 023c 8AEA ldi r24,lo8(-86)
683 023e 8CBF out 92-32,r24
684 .LM115:
685 0240 83B7 in r24,83-32
686 0242 8162 ori r24,lo8(33)
687 0244 83BF out 83-32,r24
688 /* epilogue start */
689 .LM116:
690 0246 0895 ret
691 .LFE20:
693 .global buttons_init
695 buttons_init:
696 .LFB21:
697 .LM117:
698 /* prologue: function */
699 /* frame size = 0 */
700 .LM118:
701 0248 8AB3 in r24,58-32
702 024a 8C61 ori r24,lo8(28)
703 024c 8ABB out 58-32,r24
704 /* epilogue start */
705 .LM119:
706 024e 0895 ret
707 .LFE21:
709 .global main
711 main:
712 .LFB22:
713 .LM120:
714 0250 2F92 push r2
715 0252 3F92 push r3
716 0254 4F92 push r4
717 0256 5F92 push r5
718 0258 6F92 push r6
719 025a 7F92 push r7
720 025c 8F92 push r8
721 025e 9F92 push r9
722 0260 AF92 push r10
723 0262 BF92 push r11
724 0264 CF92 push r12
725 0266 DF92 push r13
726 0268 EF92 push r14
727 026a FF92 push r15
728 026c 0F93 push r16
729 026e 1F93 push r17
730 0270 CF93 push r28
731 0272 DF93 push r29
732 /* prologue: function */
733 /* frame size = 0 */
734 .LBB180:
735 .LBB181:
736 .LM121:
737 0274 8AB3 in r24,58-32
738 0276 8C61 ori r24,lo8(28)
739 0278 8ABB out 58-32,r24
740 .LBE181:
741 .LBE180:
742 .LM122:
743 027a 0E94 0000 call lcd_init
744 .LM123:
745 027e 0E94 0000 call adc_init
746 0282 C0E0 ldi r28,lo8(StartMsg)
747 0284 D0E0 ldi r29,hi8(StartMsg)
748 .L40:
749 .LBB182:
750 .LM124:
751 0286 8991 ld r24,Y+
752 0288 0E94 0000 call display_char
753 028c 80E0 ldi r24,hi8(StartMsg+11)
754 028e C030 cpi r28,lo8(StartMsg+11)
755 0290 D807 cpc r29,r24
756 0292 01F4 brne .L40
757 .LBE182:
758 .LM125:
759 0294 04E0 ldi r16,lo8(4)
760 0296 D02E mov r13,r16
761 .LM126:
762 0298 01E0 ldi r16,lo8(1)
763 .LM127:
764 029a 12E0 ldi r17,lo8(2)
765 029c F12E mov r15,r17
766 .LM128:
767 029e B3E0 ldi r27,lo8(3)
768 02a0 EB2E mov r14,r27
769 .LM129:
770 02a2 A5E0 ldi r26,lo8(5)
771 02a4 9A2E mov r9,r26
772 .LM130:
773 02a6 F6E0 ldi r31,lo8(6)
774 02a8 BF2E mov r11,r31
775 .LM131:
776 02aa E7E0 ldi r30,lo8(7)
777 02ac 6E2E mov r6,r30
778 .LM132:
779 02ae 70E8 ldi r23,lo8(-128)
780 02b0 C72E mov r12,r23
781 .LM133:
782 02b2 6EE0 ldi r22,lo8(14)
783 02b4 562E mov r5,r22
784 .LM134:
785 02b6 5DE0 ldi r21,lo8(13)
786 02b8 A52E mov r10,r21
787 .LM135:
788 02ba 4CE0 ldi r20,lo8(12)
789 02bc 442E mov r4,r20
790 .LM136:
791 02be 3BE0 ldi r19,lo8(11)
792 02c0 832E mov r8,r19
793 .LM137:
794 02c2 29E0 ldi r18,lo8(9)
795 02c4 322E mov r3,r18
796 .LM138:
797 02c6 98E0 ldi r25,lo8(8)
798 02c8 292E mov r2,r25
799 .LM139:
800 02ca 80E1 ldi r24,lo8(16)
801 02cc 782E mov r7,r24
802 .L184:
803 .LM140:
804 02ce 8091 0000 lds r24,State
805 02d2 8330 cpi r24,lo8(3)
806 02d4 01F0 breq .L46
807 02d6 8430 cpi r24,lo8(4)
808 02d8 00F4 brsh .L50
809 02da 8130 cpi r24,lo8(1)
810 02dc 01F0 breq .L46
811 02de 8230 cpi r24,lo8(2)
812 02e0 00F4 brsh .L49
813 02e2 00C0 rjmp .L193
814 .L50:
815 02e4 8530 cpi r24,lo8(5)
816 02e6 01F0 breq .L48
817 02e8 8530 cpi r24,lo8(5)
818 02ea 00F0 brlo .L47
819 02ec 8630 cpi r24,lo8(6)
820 02ee 01F4 brne .L42
821 02f0 00C0 rjmp .L49
822 .L193:
823 .LM141:
824 02f2 1092 0000 sts Test,__zero_reg__
825 02f6 00C0 rjmp .L42
826 .L46:
827 .LM142:
828 02f8 8093 0000 sts Test,r24
829 02fc 00C0 rjmp .L42
830 .L47:
831 .LM143:
832 02fe 0093 0000 sts Test,r16
833 0302 00C0 rjmp .L42
834 .L48:
835 .LM144:
836 0304 D092 0000 sts Test,r13
837 0308 00C0 rjmp .L42
838 .L49:
839 .LM145:
840 030a F092 0000 sts Test,r15
841 .L42:
842 .LM146:
843 030e 9091 0000 lds r25,Test
844 0312 9230 cpi r25,lo8(2)
845 0314 01F0 breq .L54
846 0316 9330 cpi r25,lo8(3)
847 0318 00F4 brsh .L57
848 031a 9923 tst r25
849 031c 01F0 breq .L52
850 031e 9130 cpi r25,lo8(1)
851 0320 01F0 breq .+2
852 0322 00C0 rjmp .L51
853 0324 00C0 rjmp .L194
854 .L57:
855 0326 9330 cpi r25,lo8(3)
856 0328 01F0 breq .L55
857 032a 9430 cpi r25,lo8(4)
858 032c 01F0 breq .+2
859 032e 00C0 rjmp .L51
860 0330 00C0 rjmp .L195
861 .L52:
862 .LM147:
863 0332 CA99 sbic 57-32,2
864 0334 00C0 rjmp .L58
865 .LM148:
866 0336 0093 0000 sts State,r16
867 .LM149:
868 033a 0093 0000 sts Action,r16
869 033e 00C0 rjmp .L51
870 .L58:
871 .LM150:
872 0340 1092 0000 sts State,__zero_reg__
873 0344 00C0 rjmp .L62
874 .L194:
875 .LM151:
876 0346 CB99 sbic 57-32,3
877 0348 00C0 rjmp .L59
878 .LM152:
879 034a F092 0000 sts State,r15
880 .LM153:
881 034e F092 0000 sts Action,r15
882 0352 00C0 rjmp .L51
883 .L59:
884 .LM154:
885 0354 8091 0000 lds r24,State
886 0358 8130 cpi r24,lo8(1)
887 035a 01F4 brne .L60
888 035c E092 0000 sts State,r14
889 0360 00C0 rjmp .L62
890 .L60:
891 .LM155:
892 0362 9092 0000 sts State,r9
893 0366 00C0 rjmp .L62
894 .L54:
895 .LM156:
896 0368 CC99 sbic 57-32,4
897 036a 00C0 rjmp .L62
898 .LM157:
899 036c 1092 0000 sts State,__zero_reg__
900 .LM158:
901 0370 E092 0000 sts Action,r14
902 0374 00C0 rjmp .L51
903 .L62:
904 .LM159:
905 0376 1092 0000 sts Action,__zero_reg__
906 037a 00C0 rjmp .L51
907 .L55:
908 .LM160:
909 037c 0E94 0000 call adc_read_dc
910 0380 8093 0000 sts DCsig,r24
911 .LM161:
912 0384 8B34 cpi r24,lo8(75)
913 0386 00F0 brlo .L65
914 .LM162:
915 0388 D092 0000 sts State,r13
916 .LM163:
917 038c 9092 0000 sts Action,r9
918 0390 00C0 rjmp .L51
919 .L65:
920 .LM164:
921 0392 0093 0000 sts State,r16
922 .LM165:
923 0396 D092 0000 sts Action,r13
924 039a 00C0 rjmp .L51
925 .L195:
926 .LM166:
927 039c 8091 0000 lds r24,SubState
928 03a0 8531 cpi r24,lo8(21)
929 03a2 01F4 brne .L66
930 .LM167:
931 03a4 B092 0000 sts State,r11
932 .LM168:
933 03a8 6092 0000 sts Action,r6
934 03ac 00C0 rjmp .L51
935 .L66:
936 .LM169:
937 03ae 9093 0000 sts State,r25
938 .LM170:
939 03b2 B092 0000 sts Action,r11
940 .L51:
941 .LM171:
942 03b6 8091 0000 lds r24,Action
943 03ba 8430 cpi r24,lo8(4)
944 03bc 01F4 brne .+2
945 03be 00C0 rjmp .L71
946 03c0 8530 cpi r24,lo8(5)
947 03c2 00F4 brsh .L75
948 03c4 8230 cpi r24,lo8(2)
949 03c6 01F0 breq .L69
950 03c8 8330 cpi r24,lo8(3)
951 03ca 00F4 brsh .L70
952 03cc 8130 cpi r24,lo8(1)
953 03ce 01F0 breq .+2
954 03d0 00C0 rjmp .L67
955 03d2 00C0 rjmp .L196
956 .L75:
957 03d4 8630 cpi r24,lo8(6)
958 03d6 01F4 brne .+2
959 03d8 00C0 rjmp .L73
960 03da 8630 cpi r24,lo8(6)
961 03dc 00F4 brsh .+2
962 03de 00C0 rjmp .L72
963 03e0 8730 cpi r24,lo8(7)
964 03e2 01F0 breq .+2
965 03e4 00C0 rjmp .L67
966 03e6 00C0 rjmp .L197
967 .L196:
968 .LM172:
969 03e8 0E94 0000 call lcd_clear
970 .LM173:
971 03ec 0E94 0000 call lcd_home
972 03f0 C0E0 ldi r28,lo8(InflatingMsg)
973 03f2 D0E0 ldi r29,hi8(InflatingMsg)
974 .L76:
975 .LBB183:
976 .LM174:
977 03f4 8991 ld r24,Y+
978 03f6 0E94 0000 call display_char
979 03fa 90E0 ldi r25,hi8(InflatingMsg+10)
980 03fc C030 cpi r28,lo8(InflatingMsg+10)
981 03fe D907 cpc r29,r25
982 0400 01F4 brne .L76
983 .LBE183:
984 .LM175:
985 0402 0E94 0000 call inflate_cuff
986 0406 00C0 rjmp .L67
987 .L69:
988 .LM176:
989 0408 0E94 0000 call lcd_clear
990 .LM177:
991 040c 0E94 0000 call lcd_home
992 0410 C0E0 ldi r28,lo8(DeflateFastMsg)
993 0412 D0E0 ldi r29,hi8(DeflateFastMsg)
994 .L77:
995 .LBB184:
996 .LM178:
997 0414 8991 ld r24,Y+
998 0416 0E94 0000 call display_char
999 041a 80E0 ldi r24,hi8(DeflateFastMsg+10)
1000 041c C030 cpi r28,lo8(DeflateFastMsg+10)
1001 041e D807 cpc r29,r24
1002 0420 01F4 brne .L77
1003 .LBE184:
1004 .LM179:
1005 0422 0E94 0000 call deflate_fast
1006 0426 00C0 rjmp .L67
1007 .L70:
1008 .LM180:
1009 0428 0E94 0000 call lcd_clear
1010 .LM181:
1011 042c 0E94 0000 call lcd_home
1012 0430 C0E0 ldi r28,lo8(StartMsg)
1013 0432 D0E0 ldi r29,hi8(StartMsg)
1014 .L78:
1015 .LBB185:
1016 .LM182:
1017 0434 8991 ld r24,Y+
1018 0436 0E94 0000 call display_char
1019 043a 90E0 ldi r25,hi8(StartMsg+11)
1020 043c C030 cpi r28,lo8(StartMsg+11)
1021 043e D907 cpc r29,r25
1022 0440 01F4 brne .L78
1023 .LBE185:
1024 .LM183:
1025 0442 1092 0000 sts State,__zero_reg__
1026 .LM184:
1027 0446 1092 0000 sts Test,__zero_reg__
1028 .LM185:
1029 044a 1092 0000 sts Action,__zero_reg__
1030 .LM186:
1031 044e 1092 0000 sts SubState,__zero_reg__
1032 .LM187:
1033 0452 1092 0000 sts SubTest,__zero_reg__
1034 .LM188:
1035 0456 1092 0000 sts SubAction,__zero_reg__
1036 .LM189:
1037 045a 1092 0000 sts DCsig,__zero_reg__
1038 .LM190:
1039 045e 1092 0000 sts ACsig,__zero_reg__
1040 .LM191: