-
Notifications
You must be signed in to change notification settings - Fork 1
/
level1.od
7433 lines (7299 loc) · 289 KB
/
level1.od
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
level_1.elf: file format elf32-avr
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 f2 00 jmp 0x1e4 ; 0x1e4 <__ctors_end>
4: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
8: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
c: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
10: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
14: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
18: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
1c: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
20: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
24: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
28: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
2c: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
30: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
34: 0c 94 af 04 jmp 0x95e ; 0x95e <__vector_13>
38: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
3c: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
40: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
44: 0c 94 0c 02 jmp 0x418 ; 0x418 <__vector_17>
48: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
4c: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
50: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
54: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
58: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
5c: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
60: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
64: 0c 94 0f 01 jmp 0x21e ; 0x21e <__bad_interrupt>
68: 47 0c add r4, r7
6a: 1c 0c add r1, r12
6c: 0d 0e add r0, r29
6e: 30 0f add r19, r16
70: 33 0f add r19, r19
72: 63 0c add r6, r3
74: b8 0c add r11, r8
76: bf 0c add r11, r15
78: c6 0c add r12, r6
7a: 0f 0d add r16, r15
7c: 3d 0d add r19, r13
7e: ba 0d add r27, r10
80: c1 0d add r28, r1
82: c8 0d add r28, r8
84: e9 0d add r30, r9
86: 29 0e add r2, r25
88: 5b 0e add r5, r27
8a: 5b 0e add r5, r27
8c: 5b 0e add r5, r27
8e: 5b 0e add r5, r27
90: 5b 0e add r5, r27
92: 5b 0e add r5, r27
94: 5b 0e add r5, r27
96: 5b 0e add r5, r27
98: 5b 0e add r5, r27
9a: 5b 0e add r5, r27
9c: 5b 0e add r5, r27
9e: 5b 0e add r5, r27
a0: 5b 0e add r5, r27
a2: 5b 0e add r5, r27
a4: 5b 0e add r5, r27
a6: 5b 0e add r5, r27
a8: 42 0e add r4, r18
aa: 5b 0e add r5, r27
ac: 5b 0e add r5, r27
ae: 5b 0e add r5, r27
b0: 5b 0e add r5, r27
b2: 5b 0e add r5, r27
b4: 5b 0e add r5, r27
b6: 5b 0e add r5, r27
b8: 12 0c add r1, r2
ba: 5b 0e add r5, r27
bc: 5b 0e add r5, r27
be: 5b 0e add r5, r27
c0: 5b 0e add r5, r27
c2: 5b 0e add r5, r27
c4: 5b 0e add r5, r27
c6: 5b 0e add r5, r27
c8: 5b 0e add r5, r27
ca: 5b 0e add r5, r27
cc: 29 0e add r2, r25
ce: 5b 0e add r5, r27
d0: 5b 0e add r5, r27
d2: 59 0c add r5, r9
d4: 2d 0d add r18, r13
d6: b7 0e add r11, r23
d8: bc 0e add r11, r28
da: c1 0e add r12, r17
dc: c6 0e add r12, r22
de: cd 0e add r12, r29
e0: d4 0e add r13, r20
e2: db 0e add r13, r27
e4: e2 0e add r14, r18
e6: e9 0e add r14, r25
e8: f5 0e add r15, r21
ea: 01 0f add r16, r17
ec: 0d 0f add r16, r29
ee: 12 0f add r17, r18
f0: 1b 0f add r17, r27
f2: 22 0f add r18, r18
f4: 29 0f add r18, r25
000000f6 <__trampolines_end>:
f6: 46 49 sbci r20, 0x96 ; 150
f8: 45 4c sbci r20, 0xC5 ; 197
fa: 44 20 and r4, r4
fc: 53 55 subi r21, 0x53 ; 83
fe: 50 50 subi r21, 0x00 ; 0
100: 4f 52 subi r20, 0x2F ; 47
102: 54 20 and r5, r4
104: 4f 4e sbci r20, 0xEF ; 239
106: 4c 59 subi r20, 0x9C ; 156
108: 20 55 subi r18, 0x50 ; 80
10a: 4e 41 sbci r20, 0x1E ; 30
10c: 55 54 subi r21, 0x45 ; 69
10e: 48 4f sbci r20, 0xF8 ; 248
110: 52 49 sbci r21, 0x92 ; 146
112: 5a 45 sbci r21, 0x5A ; 90
114: 44 20 and r4, r4
116: 55 53 subi r21, 0x35 ; 53
118: 45 20 and r4, r5
11a: 50 52 subi r21, 0x20 ; 32
11c: 4f 48 sbci r20, 0x8F ; 143
11e: 49 42 sbci r20, 0x29 ; 41
120: 49 54 subi r20, 0x49 ; 73
122: 45 44 sbci r20, 0x45 ; 69
124: 0a 28 or r0, r10
126: 63 29 or r22, r3
128: 20 31 cpi r18, 0x10 ; 16
12a: 39 39 cpi r19, 0x99 ; 153
12c: 33 2d mov r19, r3
12e: 32 30 cpi r19, 0x02 ; 2
130: 31 35 cpi r19, 0x51 ; 81
132: 20 33 cpi r18, 0x30 ; 48
134: 35 3d cpi r19, 0xD5 ; 213
136: 47 20 and r4, r7
138: 54 65 ori r21, 0x54 ; 84
13a: 63 68 ori r22, 0x83 ; 131
13c: 6e 6f ori r22, 0xFE ; 254
13e: 6c 6f ori r22, 0xFC ; 252
140: 67 69 ori r22, 0x97 ; 151
142: 65 73 andi r22, 0x35 ; 53
144: 0a 2d mov r16, r10
146: 2d 2d mov r18, r13
148: 2d 0a sbc r2, r29
...
0000014b <EntryDebug>:
14b: 5b 65 6e 74 72 79 70 6f 69 6e 74 3a 20 25 6c 64 [entrypoint: %ld
15b: 2c 20 74 78 74 3a 20 25 70 2c 20 6d 65 6d 3a 20 , txt: %p, mem:
16b: 25 70 5d 0a 00 %p]..
00000170 <opcodes>:
170: 4c 49 42 41 4c 45 53 57 50 4f 49 4d 4a 4d 4a 53 LIBALESWPOIMJMJS
180: 42 5a 42 4e 45 4e 41 44 4c 45 4c 49 4c 43 53 49 BZBNENADLELILCSI
190: 53 43 50 53 4f 52 58 4f 41 4e 45 51 4e 45 4c 54 SCPSORXOANEQNELT
1a0: 47 54 4c 45 47 45 53 48 53 48 41 44 53 55 4d 55 GTLEGESHSHADSUMU
1b0: 44 49 4d 4f 49 4e 4f 50 52 45 43 4c 50 52 4d 41 DIMOINOPRECLPRMA
1c0: 4d 53 4d 43 45 58 4d 4f 4d 4f 4d 4f 4d 4f 4d 4f MSMCEXMOMOMOMOMO
1d0: 4d 4f 4c 4f 53 54 53 54 50 55 4c 45 4c 45 4a 53 MOLOSTSTPULELEJS
1e0: 52 45 00 00 RE..
000001e4 <__ctors_end>:
1e4: 11 24 eor r1, r1
1e6: 1f be out 0x3f, r1 ; 63
1e8: cf ef ldi r28, 0xFF ; 255
1ea: d8 e0 ldi r29, 0x08 ; 8
1ec: de bf out 0x3e, r29 ; 62
1ee: cd bf out 0x3d, r28 ; 61
000001f0 <__do_copy_data>:
1f0: 14 e0 ldi r17, 0x04 ; 4
1f2: a0 e0 ldi r26, 0x00 ; 0
1f4: b1 e0 ldi r27, 0x01 ; 1
1f6: ea ea ldi r30, 0xAA ; 170
1f8: fc e3 ldi r31, 0x3C ; 60
1fa: 02 c0 rjmp .+4 ; 0x200 <__do_copy_data+0x10>
1fc: 05 90 lpm r0, Z+
1fe: 0d 92 st X+, r0
200: ae 32 cpi r26, 0x2E ; 46
202: b1 07 cpc r27, r17
204: d9 f7 brne .-10 ; 0x1fc <__do_copy_data+0xc>
00000206 <__do_clear_bss>:
206: 19 e0 ldi r17, 0x09 ; 9
208: ae e2 ldi r26, 0x2E ; 46
20a: b4 e0 ldi r27, 0x04 ; 4
20c: 01 c0 rjmp .+2 ; 0x210 <.do_clear_bss_start>
0000020e <.do_clear_bss_loop>:
20e: 1d 92 st X+, r1
00000210 <.do_clear_bss_start>:
210: a2 39 cpi r26, 0x92 ; 146
212: b1 07 cpc r27, r17
214: e1 f7 brne .-8 ; 0x20e <.do_clear_bss_loop>
216: 0e 94 72 18 call 0x30e4 ; 0x30e4 <main>
21a: 0c 94 53 1e jmp 0x3ca6 ; 0x3ca6 <_exit>
0000021e <__bad_interrupt>:
21e: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
00000222 <send>:
222: 80 93 53 05 sts 0x0553, r24
226: 83 e0 ldi r24, 0x03 ; 3
228: 84 0f add r24, r20
22a: 80 93 54 05 sts 0x0554, r24
22e: a5 e5 ldi r26, 0x55 ; 85
230: b5 e0 ldi r27, 0x05 ; 5
232: fb 01 movw r30, r22
234: cf 01 movw r24, r30
236: 86 1b sub r24, r22
238: 97 0b sbc r25, r23
23a: 84 17 cp r24, r20
23c: 95 07 cpc r25, r21
23e: 1c f4 brge .+6 ; 0x246 <send+0x24>
240: 81 91 ld r24, Z+
242: 8d 93 st X+, r24
244: f7 cf rjmp .-18 ; 0x234 <send+0x12>
246: ca 01 movw r24, r20
248: 57 ff sbrs r21, 7
24a: 02 c0 rjmp .+4 ; 0x250 <send+0x2e>
24c: 80 e0 ldi r24, 0x00 ; 0
24e: 90 e0 ldi r25, 0x00 ; 0
250: fc 01 movw r30, r24
252: ed 5a subi r30, 0xAD ; 173
254: fa 4f sbci r31, 0xFA ; 250
256: 12 82 std Z+2, r1 ; 0x02
258: ba 01 movw r22, r20
25a: 6d 5f subi r22, 0xFD ; 253
25c: 7f 4f sbci r23, 0xFF ; 255
25e: 83 e5 ldi r24, 0x53 ; 83
260: 95 e0 ldi r25, 0x05 ; 5
262: 0c 94 6e 11 jmp 0x22dc ; 0x22dc <spi_write>
00000266 <timer_do>:
266: 0f 93 push r16
268: 1f 93 push r17
26a: cf 93 push r28
26c: df 93 push r29
26e: cd b7 in r28, 0x3d ; 61
270: de b7 in r29, 0x3e ; 62
272: a8 97 sbiw r28, 0x28 ; 40
274: 0f b6 in r0, 0x3f ; 63
276: f8 94 cli
278: de bf out 0x3e, r29 ; 62
27a: 0f be out 0x3f, r0 ; 63
27c: cd bf out 0x3d, r28 ; 61
27e: 80 91 45 04 lds r24, 0x0445
282: 8f 93 push r24
284: 80 91 44 04 lds r24, 0x0444
288: 8f 93 push r24
28a: 8c e8 ldi r24, 0x8C ; 140
28c: 91 e0 ldi r25, 0x01 ; 1
28e: 9f 93 push r25
290: 8f 93 push r24
292: 8e 01 movw r16, r28
294: 0f 5f subi r16, 0xFF ; 255
296: 1f 4f sbci r17, 0xFF ; 255
298: 1f 93 push r17
29a: 0f 93 push r16
29c: 0e 94 82 1b call 0x3704 ; 0x3704 <sprintf>
2a0: f8 01 movw r30, r16
2a2: 01 90 ld r0, Z+
2a4: 00 20 and r0, r0
2a6: e9 f7 brne .-6 ; 0x2a2 <timer_do+0x3c>
2a8: af 01 movw r20, r30
2aa: 41 50 subi r20, 0x01 ; 1
2ac: 51 09 sbc r21, r1
2ae: 40 1b sub r20, r16
2b0: 51 0b sbc r21, r17
2b2: b8 01 movw r22, r16
2b4: 81 e6 ldi r24, 0x61 ; 97
2b6: 0e 94 11 01 call 0x222 ; 0x222 <send>
2ba: 0f 90 pop r0
2bc: 0f 90 pop r0
2be: 0f 90 pop r0
2c0: 0f 90 pop r0
2c2: 0f 90 pop r0
2c4: 0f 90 pop r0
2c6: a8 96 adiw r28, 0x28 ; 40
2c8: 0f b6 in r0, 0x3f ; 63
2ca: f8 94 cli
2cc: de bf out 0x3e, r29 ; 62
2ce: 0f be out 0x3f, r0 ; 63
2d0: cd bf out 0x3d, r28 ; 61
2d2: df 91 pop r29
2d4: cf 91 pop r28
2d6: 1f 91 pop r17
2d8: 0f 91 pop r16
2da: 08 95 ret
000002dc <spi_write_fix>:
2dc: ff 92 push r15
2de: 0f 93 push r16
2e0: 1f 93 push r17
2e2: cf 93 push r28
2e4: df 93 push r29
2e6: cd b7 in r28, 0x3d ; 61
2e8: de b7 in r29, 0x3e ; 62
2ea: c2 50 subi r28, 0x02 ; 2
2ec: d1 40 sbci r29, 0x01 ; 1
2ee: 0f b6 in r0, 0x3f ; 63
2f0: f8 94 cli
2f2: de bf out 0x3e, r29 ; 62
2f4: 0f be out 0x3f, r0 ; 63
2f6: cd bf out 0x3d, r28 ; 61
2f8: cf 5f subi r28, 0xFF ; 255
2fa: de 4f sbci r29, 0xFE ; 254
2fc: 19 82 std Y+1, r1 ; 0x01
2fe: 18 82 st Y, r1
300: c1 50 subi r28, 0x01 ; 1
302: d1 40 sbci r29, 0x01 ; 1
304: ce 01 movw r24, r28
306: 8f 5f subi r24, 0xFF ; 255
308: 9e 4f sbci r25, 0xFE ; 254
30a: 0e 94 2c 13 call 0x2658 ; 0x2658 <fix_final>
30e: 8c 01 movw r16, r24
310: cf 5f subi r28, 0xFF ; 255
312: de 4f sbci r29, 0xFE ; 254
314: f8 80 ld r15, Y
316: c1 50 subi r28, 0x01 ; 1
318: d1 40 sbci r29, 0x01 ; 1
31a: ce 5f subi r28, 0xFE ; 254
31c: de 4f sbci r29, 0xFE ; 254
31e: 58 81 ld r21, Y
320: c2 50 subi r28, 0x02 ; 2
322: d1 40 sbci r29, 0x01 ; 1
324: 4f 2d mov r20, r15
326: bc 01 movw r22, r24
328: ce 01 movw r24, r28
32a: 03 96 adiw r24, 0x03 ; 3
32c: 0e 94 07 1b call 0x360e ; 0x360e <memcpy>
330: 8e e6 ldi r24, 0x6E ; 110
332: 89 83 std Y+1, r24 ; 0x01
334: f3 94 inc r15
336: f3 94 inc r15
338: fa 82 std Y+2, r15 ; 0x02
33a: 8d e9 ldi r24, 0x9D ; 157
33c: 91 e0 ldi r25, 0x01 ; 1
33e: 0e 94 55 1b call 0x36aa ; 0x36aa <puts>
342: c8 01 movw r24, r16
344: 0e 94 55 1b call 0x36aa ; 0x36aa <puts>
348: 6a 81 ldd r22, Y+2 ; 0x02
34a: 70 e0 ldi r23, 0x00 ; 0
34c: ce 01 movw r24, r28
34e: 01 96 adiw r24, 0x01 ; 1
350: 0e 94 6e 11 call 0x22dc ; 0x22dc <spi_write>
354: ce 5f subi r28, 0xFE ; 254
356: de 4f sbci r29, 0xFE ; 254
358: 0f b6 in r0, 0x3f ; 63
35a: f8 94 cli
35c: de bf out 0x3e, r29 ; 62
35e: 0f be out 0x3f, r0 ; 63
360: cd bf out 0x3d, r28 ; 61
362: df 91 pop r29
364: cf 91 pop r28
366: 1f 91 pop r17
368: 0f 91 pop r16
36a: ff 90 pop r15
36c: 08 95 ret
0000036e <test_request>:
36e: 0e 94 04 14 call 0x2808 ; 0x2808 <fix_reset>
372: 81 e3 ldi r24, 0x31 ; 49
374: 0e 94 3a 13 call 0x2674 ; 0x2674 <fix_add_type>
378: 60 91 e5 06 lds r22, 0x06E5
37c: 70 91 e6 06 lds r23, 0x06E6
380: 80 e7 ldi r24, 0x70 ; 112
382: 90 e0 ldi r25, 0x00 ; 0
384: 0e 94 9e 13 call 0x273c ; 0x273c <fix_add_num>
388: 80 91 e5 06 lds r24, 0x06E5
38c: 90 91 e6 06 lds r25, 0x06E6
390: 01 96 adiw r24, 0x01 ; 1
392: 90 93 e6 06 sts 0x06E6, r25
396: 80 93 e5 06 sts 0x06E5, r24
39a: 0e 94 54 13 call 0x26a8 ; 0x26a8 <fix_set_length>
39e: 0e 94 0d 14 call 0x281a ; 0x281a <fix_add_sum>
3a2: 0e 94 6e 01 call 0x2dc ; 0x2dc <spi_write_fix>
3a6: 80 e0 ldi r24, 0x00 ; 0
3a8: 90 e0 ldi r25, 0x00 ; 0
3aa: 08 95 ret
000003ac <quote_request>:
3ac: cf 93 push r28
3ae: df 93 push r29
3b0: 20 ea ldi r18, 0xA0 ; 160
3b2: 31 e0 ldi r19, 0x01 ; 1
3b4: 0e 94 49 15 call 0x2a92 ; 0x2a92 <json_kv>
3b8: ec 01 movw r28, r24
3ba: 00 97 sbiw r24, 0x00 ; 0
3bc: 41 f1 breq .+80 ; 0x40e <quote_request+0x62>
3be: 0e 94 04 14 call 0x2808 ; 0x2808 <fix_reset>
3c2: 82 e5 ldi r24, 0x52 ; 82
3c4: 0e 94 3a 13 call 0x2674 ; 0x2674 <fix_add_type>
3c8: 60 91 e5 06 lds r22, 0x06E5
3cc: 70 91 e6 06 lds r23, 0x06E6
3d0: 83 e8 ldi r24, 0x83 ; 131
3d2: 90 e0 ldi r25, 0x00 ; 0
3d4: 0e 94 9e 13 call 0x273c ; 0x273c <fix_add_num>
3d8: 20 91 e5 06 lds r18, 0x06E5
3dc: 30 91 e6 06 lds r19, 0x06E6
3e0: 2f 5f subi r18, 0xFF ; 255
3e2: 3f 4f sbci r19, 0xFF ; 255
3e4: 30 93 e6 06 sts 0x06E6, r19
3e8: 20 93 e5 06 sts 0x06E5, r18
3ec: be 01 movw r22, r28
3ee: 87 e3 ldi r24, 0x37 ; 55
3f0: 90 e0 ldi r25, 0x00 ; 0
3f2: 0e 94 d1 13 call 0x27a2 ; 0x27a2 <fix_add_string>
3f6: 61 e0 ldi r22, 0x01 ; 1
3f8: 70 e0 ldi r23, 0x00 ; 0
3fa: 82 e9 ldi r24, 0x92 ; 146
3fc: 90 e0 ldi r25, 0x00 ; 0
3fe: 0e 94 9e 13 call 0x273c ; 0x273c <fix_add_num>
402: 0e 94 54 13 call 0x26a8 ; 0x26a8 <fix_set_length>
406: 0e 94 0d 14 call 0x281a ; 0x281a <fix_add_sum>
40a: 0e 94 6e 01 call 0x2dc ; 0x2dc <spi_write_fix>
40e: 80 e0 ldi r24, 0x00 ; 0
410: 90 e0 ldi r25, 0x00 ; 0
412: df 91 pop r29
414: cf 91 pop r28
416: 08 95 ret
00000418 <__vector_17>:
418: 1f 92 push r1
41a: 0f 92 push r0
41c: 0f b6 in r0, 0x3f ; 63
41e: 0f 92 push r0
420: 11 24 eor r1, r1
422: 2f 93 push r18
424: 3f 93 push r19
426: 4f 93 push r20
428: 5f 93 push r21
42a: 6f 93 push r22
42c: 7f 93 push r23
42e: 8f 93 push r24
430: 9f 93 push r25
432: af 93 push r26
434: bf 93 push r27
436: ef 93 push r30
438: ff 93 push r31
43a: 64 e6 ldi r22, 0x64 ; 100
43c: 70 e0 ldi r23, 0x00 ; 0
43e: 8d e1 ldi r24, 0x1D ; 29
440: 96 e0 ldi r25, 0x06 ; 6
442: 0e 94 9d 11 call 0x233a ; 0x233a <spi_read>
446: 80 91 1d 06 lds r24, 0x061D
44a: 84 32 cpi r24, 0x24 ; 36
44c: a1 f0 breq .+40 ; 0x476 <__vector_17+0x5e>
44e: 85 35 cpi r24, 0x55 ; 85
450: 19 f5 brne .+70 ; 0x498 <__vector_17+0x80>
452: 40 91 1e 06 lds r20, 0x061E
456: 55 27 eor r21, r21
458: 47 fd sbrc r20, 7
45a: 50 95 com r21
45c: 6d e1 ldi r22, 0x1D ; 29
45e: 76 e0 ldi r23, 0x06 ; 6
460: 81 e3 ldi r24, 0x31 ; 49
462: 95 e0 ldi r25, 0x05 ; 5
464: 0e 94 07 1b call 0x360e ; 0x360e <memcpy>
468: 81 e0 ldi r24, 0x01 ; 1
46a: 90 e0 ldi r25, 0x00 ; 0
46c: 90 93 35 04 sts 0x0435, r25
470: 80 93 34 04 sts 0x0434, r24
474: 11 c0 rjmp .+34 ; 0x498 <__vector_17+0x80>
476: 40 91 1e 06 lds r20, 0x061E
47a: 55 27 eor r21, r21
47c: 47 fd sbrc r20, 7
47e: 50 95 com r21
480: 6d e1 ldi r22, 0x1D ; 29
482: 76 e0 ldi r23, 0x06 ; 6
484: 87 ee ldi r24, 0xE7 ; 231
486: 96 e0 ldi r25, 0x06 ; 6
488: 0e 94 07 1b call 0x360e ; 0x360e <memcpy>
48c: 81 e0 ldi r24, 0x01 ; 1
48e: 90 e0 ldi r25, 0x00 ; 0
490: 90 93 33 04 sts 0x0433, r25
494: 80 93 32 04 sts 0x0432, r24
498: 81 e0 ldi r24, 0x01 ; 1
49a: 90 e0 ldi r25, 0x00 ; 0
49c: 90 93 43 04 sts 0x0443, r25
4a0: 80 93 42 04 sts 0x0442, r24
4a4: ff 91 pop r31
4a6: ef 91 pop r30
4a8: bf 91 pop r27
4aa: af 91 pop r26
4ac: 9f 91 pop r25
4ae: 8f 91 pop r24
4b0: 7f 91 pop r23
4b2: 6f 91 pop r22
4b4: 5f 91 pop r21
4b6: 4f 91 pop r20
4b8: 3f 91 pop r19
4ba: 2f 91 pop r18
4bc: 0f 90 pop r0
4be: 0f be out 0x3f, r0 ; 63
4c0: 0f 90 pop r0
4c2: 1f 90 pop r1
4c4: 18 95 reti
000004c6 <_call_compiler>:
4c6: 0f 93 push r16
4c8: 1f 93 push r17
4ca: 89 ea ldi r24, 0xA9 ; 169
4cc: 91 e0 ldi r25, 0x01 ; 1
4ce: 0e 94 55 1b call 0x36aa ; 0x36aa <puts>
4d2: 80 91 4a 04 lds r24, 0x044A
4d6: 88 23 and r24, r24
4d8: f9 f0 breq .+62 ; 0x518 <_call_compiler+0x52>
4da: 40 91 4b 04 lds r20, 0x044B
4de: 50 91 4c 04 lds r21, 0x044C
4e2: 60 e0 ldi r22, 0x00 ; 0
4e4: 70 e0 ldi r23, 0x00 ; 0
4e6: 0d ed ldi r16, 0xDD ; 221
4e8: 19 e9 ldi r17, 0x99 ; 153
4ea: 25 eb ldi r18, 0xB5 ; 181
4ec: 31 e0 ldi r19, 0x01 ; 1
4ee: 80 91 48 04 lds r24, 0x0448
4f2: 90 91 49 04 lds r25, 0x0449
4f6: 0e 94 29 09 call 0x1252 ; 0x1252 <stack_eval>
4fa: 9f 93 push r25
4fc: 8f 93 push r24
4fe: 8a eb ldi r24, 0xBA ; 186
500: 91 e0 ldi r25, 0x01 ; 1
502: 9f 93 push r25
504: 8f 93 push r24
506: 0e 94 41 1b call 0x3682 ; 0x3682 <printf>
50a: 0f 90 pop r0
50c: 0f 90 pop r0
50e: 0f 90 pop r0
510: 0f 90 pop r0
512: 1f 91 pop r17
514: 0f 91 pop r16
516: 08 95 ret
518: 88 ec ldi r24, 0xC8 ; 200
51a: 91 e0 ldi r25, 0x01 ; 1
51c: 1f 91 pop r17
51e: 0f 91 pop r16
520: 0c 94 55 1b jmp 0x36aa ; 0x36aa <puts>
00000524 <_reload_compiler>:
524: 0f 93 push r16
526: 1f 93 push r17
528: cf 93 push r28
52a: df 93 push r29
52c: 00 d0 rcall .+0 ; 0x52e <_reload_compiler+0xa>
52e: 00 d0 rcall .+0 ; 0x530 <_reload_compiler+0xc>
530: 00 d0 rcall .+0 ; 0x532 <_reload_compiler+0xe>
532: cd b7 in r28, 0x3d ; 61
534: de b7 in r29, 0x3e ; 62
536: 85 ed ldi r24, 0xD5 ; 213
538: 91 e0 ldi r25, 0x01 ; 1
53a: 0e 94 55 1b call 0x36aa ; 0x36aa <puts>
53e: ae 01 movw r20, r28
540: 4f 5f subi r20, 0xFF ; 255
542: 5f 4f sbci r21, 0xFF ; 255
544: 6a e0 ldi r22, 0x0A ; 10
546: 70 e0 ldi r23, 0x00 ; 0
548: 86 ec ldi r24, 0xC6 ; 198
54a: 97 e0 ldi r25, 0x07 ; 7
54c: 0e 94 8d 14 call 0x291a ; 0x291a <spiflash_read>
550: 97 ff sbrs r25, 7
552: 05 c0 rjmp .+10 ; 0x55e <_reload_compiler+0x3a>
554: 10 92 4a 04 sts 0x044A, r1
558: 81 ee ldi r24, 0xE1 ; 225
55a: 91 e0 ldi r25, 0x01 ; 1
55c: 8a c0 rjmp .+276 ; 0x672 <_reload_compiler+0x14e>
55e: 89 81 ldd r24, Y+1 ; 0x01
560: 9a 81 ldd r25, Y+2 ; 0x02
562: 81 3d cpi r24, 0xD1 ; 209
564: 97 40 sbci r25, 0x07 ; 7
566: 88 f4 brcc .+34 ; 0x58a <_reload_compiler+0x66>
568: 8b 81 ldd r24, Y+3 ; 0x03
56a: 9c 81 ldd r25, Y+4 ; 0x04
56c: 81 3d cpi r24, 0xD1 ; 209
56e: 97 40 sbci r25, 0x07 ; 7
570: 60 f4 brcc .+24 ; 0x58a <_reload_compiler+0x66>
572: 8d 81 ldd r24, Y+5 ; 0x05
574: 9e 81 ldd r25, Y+6 ; 0x06
576: 81 3d cpi r24, 0xD1 ; 209
578: 27 e0 ldi r18, 0x07 ; 7
57a: 92 07 cpc r25, r18
57c: 30 f4 brcc .+12 ; 0x58a <_reload_compiler+0x66>
57e: 2f 81 ldd r18, Y+7 ; 0x07
580: 38 85 ldd r19, Y+8 ; 0x08
582: 21 3d cpi r18, 0xD1 ; 209
584: 47 e0 ldi r20, 0x07 ; 7
586: 34 07 cpc r19, r20
588: 28 f0 brcs .+10 ; 0x594 <_reload_compiler+0x70>
58a: 10 92 4a 04 sts 0x044A, r1
58e: 8b ef ldi r24, 0xFB ; 251
590: 91 e0 ldi r25, 0x01 ; 1
592: 6f c0 rjmp .+222 ; 0x672 <_reload_compiler+0x14e>
594: 00 97 sbiw r24, 0x00 ; 0
596: 09 f4 brne .+2 ; 0x59a <_reload_compiler+0x76>
598: 6e c0 rjmp .+220 ; 0x676 <_reload_compiler+0x152>
59a: 23 2b or r18, r19
59c: 09 f4 brne .+2 ; 0x5a0 <_reload_compiler+0x7c>
59e: 6b c0 rjmp .+214 ; 0x676 <_reload_compiler+0x152>
5a0: 0e 94 0f 19 call 0x321e ; 0x321e <malloc>
5a4: 8c 01 movw r16, r24
5a6: 8b e4 ldi r24, 0x4B ; 75
5a8: 94 e0 ldi r25, 0x04 ; 4
5aa: 9f 93 push r25
5ac: 8f 93 push r24
5ae: 8e e1 ldi r24, 0x1E ; 30
5b0: 92 e0 ldi r25, 0x02 ; 2
5b2: 9f 93 push r25
5b4: 8f 93 push r24
5b6: 0e 94 41 1b call 0x3682 ; 0x3682 <printf>
5ba: 89 85 ldd r24, Y+9 ; 0x09
5bc: 9a 85 ldd r25, Y+10 ; 0x0a
5be: 90 93 4c 04 sts 0x044C, r25
5c2: 80 93 4b 04 sts 0x044B, r24
5c6: 89 81 ldd r24, Y+1 ; 0x01
5c8: 9a 81 ldd r25, Y+2 ; 0x02
5ca: 90 93 41 04 sts 0x0441, r25
5ce: 80 93 40 04 sts 0x0440, r24
5d2: 8b 81 ldd r24, Y+3 ; 0x03
5d4: 9c 81 ldd r25, Y+4 ; 0x04
5d6: 90 93 3f 04 sts 0x043F, r25
5da: 80 93 3e 04 sts 0x043E, r24
5de: 0f 90 pop r0
5e0: 0f 90 pop r0
5e2: 0f 90 pop r0
5e4: 0f 90 pop r0
5e6: 80 91 48 04 lds r24, 0x0448
5ea: 90 91 49 04 lds r25, 0x0449
5ee: 89 2b or r24, r25
5f0: a1 f4 brne .+40 ; 0x61a <_reload_compiler+0xf6>
5f2: 80 e0 ldi r24, 0x00 ; 0
5f4: 94 e0 ldi r25, 0x04 ; 4
5f6: 0e 94 0f 19 call 0x321e ; 0x321e <malloc>
5fa: 80 93 48 04 sts 0x0448, r24
5fe: 90 93 49 04 sts 0x0449, r25
602: 9f 93 push r25
604: 8f 93 push r24
606: 80 e3 ldi r24, 0x30 ; 48
608: 92 e0 ldi r25, 0x02 ; 2
60a: 9f 93 push r25
60c: 8f 93 push r24
60e: 0e 94 41 1b call 0x3682 ; 0x3682 <printf>
612: 0f 90 pop r0
614: 0f 90 pop r0
616: 0f 90 pop r0
618: 0f 90 pop r0
61a: 6d 81 ldd r22, Y+5 ; 0x05
61c: 7e 81 ldd r23, Y+6 ; 0x06
61e: a8 01 movw r20, r16
620: 80 ed ldi r24, 0xD0 ; 208
622: 97 e0 ldi r25, 0x07 ; 7
624: 0e 94 8d 14 call 0x291a ; 0x291a <spiflash_read>
628: 97 ff sbrs r25, 7
62a: 05 c0 rjmp .+10 ; 0x636 <_reload_compiler+0x112>
62c: 10 92 4a 04 sts 0x044A, r1
630: 8b e4 ldi r24, 0x4B ; 75
632: 92 e0 ldi r25, 0x02 ; 2
634: 1e c0 rjmp .+60 ; 0x672 <_reload_compiler+0x14e>
636: 40 91 48 04 lds r20, 0x0448
63a: 50 91 49 04 lds r21, 0x0449
63e: 6f 81 ldd r22, Y+7 ; 0x07
640: 78 85 ldd r23, Y+8 ; 0x08
642: 80 ea ldi r24, 0xA0 ; 160
644: 9f e0 ldi r25, 0x0F ; 15
646: 0e 94 8d 14 call 0x291a ; 0x291a <spiflash_read>
64a: 97 ff sbrs r25, 7
64c: 05 c0 rjmp .+10 ; 0x658 <_reload_compiler+0x134>
64e: 10 92 4a 04 sts 0x044A, r1
652: 8a e6 ldi r24, 0x6A ; 106
654: 92 e0 ldi r25, 0x02 ; 2
656: 0d c0 rjmp .+26 ; 0x672 <_reload_compiler+0x14e>
658: 6d 81 ldd r22, Y+5 ; 0x05
65a: 7e 81 ldd r23, Y+6 ; 0x06
65c: c8 01 movw r24, r16
65e: 0e 94 59 06 call 0xcb2 ; 0xcb2 <stack_load_globals>
662: c8 01 movw r24, r16
664: 0e 94 a7 19 call 0x334e ; 0x334e <free>
668: 81 e0 ldi r24, 0x01 ; 1
66a: 80 93 4a 04 sts 0x044A, r24
66e: 8e e8 ldi r24, 0x8E ; 142
670: 92 e0 ldi r25, 0x02 ; 2
672: 0e 94 55 1b call 0x36aa ; 0x36aa <puts>
676: 26 96 adiw r28, 0x06 ; 6
678: 0f b6 in r0, 0x3f ; 63
67a: f8 94 cli
67c: de bf out 0x3e, r29 ; 62
67e: 0f be out 0x3f, r0 ; 63
680: cd bf out 0x3d, r28 ; 61
682: df 91 pop r29
684: cf 91 pop r28
686: 1f 91 pop r17
688: 0f 91 pop r16
68a: 08 95 ret
0000068c <msg_write>:
68c: cf 93 push r28
68e: 80 93 53 05 sts 0x0553, r24
692: fb 01 movw r30, r22
694: 01 90 ld r0, Z+
696: 00 20 and r0, r0
698: e9 f7 brne .-6 ; 0x694 <msg_write+0x8>
69a: ce 2f mov r28, r30
69c: c6 1b sub r28, r22
69e: cf 5f subi r28, 0xFF ; 255
6a0: c0 93 54 05 sts 0x0554, r28
6a4: 85 e5 ldi r24, 0x55 ; 85
6a6: 95 e0 ldi r25, 0x05 ; 5
6a8: 0e 94 20 1b call 0x3640 ; 0x3640 <strcpy>
6ac: 80 91 44 04 lds r24, 0x0444
6b0: 90 91 45 04 lds r25, 0x0445
6b4: 01 96 adiw r24, 0x01 ; 1
6b6: 90 93 45 04 sts 0x0445, r25
6ba: 80 93 44 04 sts 0x0444, r24
6be: 6c 2f mov r22, r28
6c0: 77 27 eor r23, r23
6c2: 67 fd sbrc r22, 7
6c4: 70 95 com r23
6c6: 83 e5 ldi r24, 0x53 ; 83
6c8: 95 e0 ldi r25, 0x05 ; 5
6ca: cf 91 pop r28
6cc: 0c 94 6e 11 jmp 0x22dc ; 0x22dc <spi_write>
000006d0 <_write>:
6d0: bc 01 movw r22, r24
6d2: 83 e7 ldi r24, 0x73 ; 115
6d4: 0c 94 46 03 jmp 0x68c ; 0x68c <msg_write>
000006d8 <subscribe>:
6d8: ef 92 push r14
6da: ff 92 push r15
6dc: 0f 93 push r16
6de: 1f 93 push r17
6e0: cf 93 push r28
6e2: df 93 push r29
6e4: cd b7 in r28, 0x3d ; 61
6e6: de b7 in r29, 0x3e ; 62
6e8: c0 55 subi r28, 0x50 ; 80
6ea: d1 09 sbc r29, r1
6ec: 0f b6 in r0, 0x3f ; 63
6ee: f8 94 cli
6f0: de bf out 0x3e, r29 ; 62
6f2: 0f be out 0x3f, r0 ; 63
6f4: cd bf out 0x3d, r28 ; 61
6f6: 8c 01 movw r16, r24
6f8: f6 2e mov r15, r22
6fa: e7 2e mov r14, r23
6fc: 22 96 adiw r28, 0x02 ; 2
6fe: 1f ae std Y+63, r1 ; 0x3f
700: 22 97 sbiw r28, 0x02 ; 2
702: 23 96 adiw r28, 0x03 ; 3
704: 1f ae std Y+63, r1 ; 0x3f
706: 23 97 sbiw r28, 0x03 ; 3
708: 24 96 adiw r28, 0x04 ; 4
70a: 1f ae std Y+63, r1 ; 0x3f
70c: 24 97 sbiw r28, 0x04 ; 4
70e: 25 96 adiw r28, 0x05 ; 5
710: 1f ae std Y+63, r1 ; 0x3f
712: 25 97 sbiw r28, 0x05 ; 5
714: 81 e4 ldi r24, 0x41 ; 65
716: 90 e0 ldi r25, 0x00 ; 0
718: 8c 0f add r24, r28
71a: 9d 1f adc r25, r29
71c: 04 96 adiw r24, 0x04 ; 4
71e: 0e 94 20 1b call 0x3640 ; 0x3640 <strcpy>
722: c8 01 movw r24, r16
724: 04 96 adiw r24, 0x04 ; 4
726: 40 e1 ldi r20, 0x10 ; 16
728: be 01 movw r22, r28
72a: 6f 5b subi r22, 0xBF ; 191
72c: 7f 4f sbci r23, 0xFF ; 255
72e: 24 e0 ldi r18, 0x04 ; 4
730: 88 0f add r24, r24
732: 99 1f adc r25, r25
734: 2a 95 dec r18
736: e1 f7 brne .-8 ; 0x730 <subscribe+0x58>
738: 0e 94 14 15 call 0x2a28 ; 0x2a28 <spiflash_write>
73c: ef 92 push r14
73e: ff 92 push r15
740: 80 91 45 04 lds r24, 0x0445
744: 8f 93 push r24
746: 80 91 44 04 lds r24, 0x0444
74a: 8f 93 push r24
74c: 89 e9 ldi r24, 0x99 ; 153
74e: 92 e0 ldi r25, 0x02 ; 2
750: 9f 93 push r25
752: 8f 93 push r24
754: 8e 01 movw r16, r28
756: 0f 5f subi r16, 0xFF ; 255
758: 1f 4f sbci r17, 0xFF ; 255
75a: 1f 93 push r17
75c: 0f 93 push r16
75e: 0e 94 82 1b call 0x3704 ; 0x3704 <sprintf>
762: c8 01 movw r24, r16
764: 0e 94 68 03 call 0x6d0 ; 0x6d0 <_write>
768: 0f b6 in r0, 0x3f ; 63
76a: f8 94 cli
76c: de bf out 0x3e, r29 ; 62
76e: 0f be out 0x3f, r0 ; 63
770: cd bf out 0x3d, r28 ; 61
772: c0 5b subi r28, 0xB0 ; 176
774: df 4f sbci r29, 0xFF ; 255
776: 0f b6 in r0, 0x3f ; 63
778: f8 94 cli
77a: de bf out 0x3e, r29 ; 62
77c: 0f be out 0x3f, r0 ; 63
77e: cd bf out 0x3d, r28 ; 61
780: df 91 pop r29
782: cf 91 pop r28
784: 1f 91 pop r17
786: 0f 91 pop r16
788: ff 90 pop r15
78a: ef 90 pop r14
78c: 08 95 ret
0000078e <buysell>:
78e: ff 92 push r15
790: 0f 93 push r16
792: 1f 93 push r17
794: cf 93 push r28
796: df 93 push r29
798: cd b7 in r28, 0x3d ; 61
79a: de b7 in r29, 0x3e ; 62
79c: c0 55 subi r28, 0x50 ; 80
79e: d1 09 sbc r29, r1
7a0: 0f b6 in r0, 0x3f ; 63
7a2: f8 94 cli
7a4: de bf out 0x3e, r29 ; 62
7a6: 0f be out 0x3f, r0 ; 63
7a8: cd bf out 0x3d, r28 ; 61
7aa: f8 2e mov r15, r24
7ac: cb 01 movw r24, r22
7ae: 14 2f mov r17, r20
7b0: 05 2f mov r16, r21
7b2: 04 96 adiw r24, 0x04 ; 4
7b4: ae 01 movw r20, r28
7b6: 4f 5b subi r20, 0xBF ; 191
7b8: 5f 4f sbci r21, 0xFF ; 255
7ba: 60 e1 ldi r22, 0x10 ; 16
7bc: 70 e0 ldi r23, 0x00 ; 0
7be: 24 e0 ldi r18, 0x04 ; 4
7c0: 88 0f add r24, r24
7c2: 99 1f adc r25, r25
7c4: 2a 95 dec r18
7c6: e1 f7 brne .-8 ; 0x7c0 <buysell+0x32>
7c8: 0e 94 8d 14 call 0x291a ; 0x291a <spiflash_read>
7cc: 83 e5 ldi r24, 0x53 ; 83
7ce: f8 16 cp r15, r24
7d0: 19 f0 breq .+6 ; 0x7d8 <buysell+0x4a>
7d2: 86 ec ldi r24, 0xC6 ; 198
7d4: 92 e0 ldi r25, 0x02 ; 2
7d6: 02 c0 rjmp .+4 ; 0x7dc <buysell+0x4e>
7d8: 8a ec ldi r24, 0xCA ; 202
7da: 92 e0 ldi r25, 0x02 ; 2
7dc: 0f 93 push r16
7de: 1f 93 push r17
7e0: 21 e4 ldi r18, 0x41 ; 65
7e2: 30 e0 ldi r19, 0x00 ; 0
7e4: 2c 0f add r18, r28
7e6: 3d 1f adc r19, r29
7e8: 2c 5f subi r18, 0xFC ; 252
7ea: 3f 4f sbci r19, 0xFF ; 255
7ec: 3f 93 push r19
7ee: 2f 93 push r18
7f0: 9f 93 push r25
7f2: 8f 93 push r24
7f4: 80 91 45 04 lds r24, 0x0445
7f8: 8f 93 push r24
7fa: 80 91 44 04 lds r24, 0x0444
7fe: 8f 93 push r24
800: 8f ec ldi r24, 0xCF ; 207
802: 92 e0 ldi r25, 0x02 ; 2
804: 9f 93 push r25
806: 8f 93 push r24
808: 8e 01 movw r16, r28
80a: 0f 5f subi r16, 0xFF ; 255
80c: 1f 4f sbci r17, 0xFF ; 255
80e: 1f 93 push r17
810: 0f 93 push r16
812: 0e 94 82 1b call 0x3704 ; 0x3704 <sprintf>
816: c8 01 movw r24, r16
818: 0e 94 55 1b call 0x36aa ; 0x36aa <puts>
81c: c8 01 movw r24, r16
81e: 0e 94 68 03 call 0x6d0 ; 0x6d0 <_write>
822: 0f b6 in r0, 0x3f ; 63
824: f8 94 cli
826: de bf out 0x3e, r29 ; 62
828: 0f be out 0x3f, r0 ; 63
82a: cd bf out 0x3d, r28 ; 61
82c: c0 5b subi r28, 0xB0 ; 176
82e: df 4f sbci r29, 0xFF ; 255
830: 0f b6 in r0, 0x3f ; 63
832: f8 94 cli
834: de bf out 0x3e, r29 ; 62
836: 0f be out 0x3f, r0 ; 63
838: cd bf out 0x3d, r28 ; 61
83a: df 91 pop r29
83c: cf 91 pop r28
83e: 1f 91 pop r17
840: 0f 91 pop r16
842: ff 90 pop r15
844: 08 95 ret
00000846 <ui_handler>:
846: fc 01 movw r30, r24
848: 16 16 cp r1, r22
84a: 17 06 cpc r1, r23
84c: 0c f0 brlt .+2 ; 0x850 <ui_handler+0xa>
84e: 52 c0 rjmp .+164 ; 0x8f4 <ui_handler+0xae>
850: 80 91 46 04 lds r24, 0x0446
854: 90 91 47 04 lds r25, 0x0447
858: 01 96 adiw r24, 0x01 ; 1
85a: 90 93 47 04 sts 0x0447, r25
85e: 80 93 46 04 sts 0x0446, r24
862: 80 81 ld r24, Z
864: 80 35 cpi r24, 0x50 ; 80
866: 71 f0 breq .+28 ; 0x884 <ui_handler+0x3e>
868: 28 f4 brcc .+10 ; 0x874 <ui_handler+0x2e>
86a: 82 34 cpi r24, 0x42 ; 66
86c: b1 f1 breq .+108 ; 0x8da <ui_handler+0x94>
86e: 8c 34 cpi r24, 0x4C ; 76
870: 09 f1 breq .+66 ; 0x8b4 <ui_handler+0x6e>
872: 08 95 ret
874: 83 35 cpi r24, 0x53 ; 83
876: 89 f1 breq .+98 ; 0x8da <ui_handler+0x94>
878: 84 35 cpi r24, 0x54 ; 84
87a: f1 f0 breq .+60 ; 0x8b8 <ui_handler+0x72>
87c: 82 35 cpi r24, 0x52 ; 82
87e: d1 f5 brne .+116 ; 0x8f4 <ui_handler+0xae>
880: 0c 94 63 02 jmp 0x4c6 ; 0x4c6 <_call_compiler>
884: 42 e0 ldi r20, 0x02 ; 2
886: 66 e4 ldi r22, 0x46 ; 70
888: 74 e0 ldi r23, 0x04 ; 4
88a: 8a e0 ldi r24, 0x0A ; 10
88c: 90 e0 ldi r25, 0x00 ; 0
88e: 0e 94 14 15 call 0x2a28 ; 0x2a28 <spiflash_write>
892: 80 91 47 04 lds r24, 0x0447
896: 8f 93 push r24
898: 80 91 46 04 lds r24, 0x0446
89c: 8f 93 push r24
89e: 8e ef ldi r24, 0xFE ; 254
8a0: 92 e0 ldi r25, 0x02 ; 2
8a2: 9f 93 push r25
8a4: 8f 93 push r24
8a6: 0e 94 41 1b call 0x3682 ; 0x3682 <printf>
8aa: 0f 90 pop r0
8ac: 0f 90 pop r0
8ae: 0f 90 pop r0
8b0: 0f 90 pop r0
8b2: 08 95 ret
8b4: 0c 94 92 02 jmp 0x524 ; 0x524 <_reload_compiler>
8b8: 64 30 cpi r22, 0x04 ; 4
8ba: 71 05 cpc r23, r1
8bc: dc f0 brlt .+54 ; 0x8f4 <ui_handler+0xae>
8be: df 01 movw r26, r30
8c0: a6 0f add r26, r22
8c2: b7 1f adc r27, r23
8c4: 11 97 sbiw r26, 0x01 ; 1
8c6: 8c 91 ld r24, X
8c8: 81 11 cpse r24, r1
8ca: 14 c0 rjmp .+40 ; 0x8f4 <ui_handler+0xae>
8cc: bf 01 movw r22, r30
8ce: 6e 5f subi r22, 0xFE ; 254
8d0: 7f 4f sbci r23, 0xFF ; 255
8d2: 81 81 ldd r24, Z+1 ; 0x01
8d4: 90 e0 ldi r25, 0x00 ; 0
8d6: 0c 94 6c 03 jmp 0x6d8 ; 0x6d8 <subscribe>
8da: 64 30 cpi r22, 0x04 ; 4
8dc: 71 05 cpc r23, r1
8de: 54 f0 brlt .+20 ; 0x8f4 <ui_handler+0xae>
8e0: 43 81 ldd r20, Z+3 ; 0x03
8e2: 50 e0 ldi r21, 0x00 ; 0
8e4: 54 2f mov r21, r20
8e6: 44 27 eor r20, r20
8e8: 92 81 ldd r25, Z+2 ; 0x02
8ea: 49 2b or r20, r25
8ec: 61 81 ldd r22, Z+1 ; 0x01
8ee: 70 e0 ldi r23, 0x00 ; 0
8f0: 0c 94 c7 03 jmp 0x78e ; 0x78e <buysell>
8f4: 08 95 ret
000008f6 <heartbeat>:
8f6: cf 93 push r28
8f8: df 93 push r29
8fa: 83 e7 ldi r24, 0x73 ; 115
8fc: 80 93 53 05 sts 0x0553, r24
900: 80 91 45 04 lds r24, 0x0445
904: 8f 93 push r24
906: 80 91 44 04 lds r24, 0x0444
90a: 8f 93 push r24
90c: 89 e0 ldi r24, 0x09 ; 9
90e: 93 e0 ldi r25, 0x03 ; 3
910: 9f 93 push r25
912: 8f 93 push r24
914: c5 e5 ldi r28, 0x55 ; 85
916: d5 e0 ldi r29, 0x05 ; 5
918: df 93 push r29