-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathblinker.dump
3964 lines (3896 loc) · 169 KB
/
blinker.dump
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
src/sw/blinker.elf: file format elf32-littleriscv
Disassembly of section .text:
00000000 <_start>:
0: 01800093 li ra,24
4: 30509073 csrw mtvec,ra
8: 00009137 lui sp,0x9
c: 1b5020ef jal ra,29c0 <main>
10: 0000006f j 10 <_start+0x10>
00000014 <dummy>:
14: 00008067 ret
00000018 <_expr>:
18: 36d000ef jal ra,b84 <__expr>
1c: 0000006f j 1c <_expr+0x4>
00000020 <put32>:
20: 00b52023 sw a1,0(a0)
24: 00008067 ret
00000028 <get32>:
28: 00052503 lw a0,0(a0)
2c: 00008067 ret
00000030 <get_timel>:
30: c0102573 rdtime a0
34: 00008067 ret
00000038 <get_timeh>:
38: c8102573 rdtimeh a0
3c: 00008067 ret
00000040 <xvfprintf>:
40: f8010113 addi sp,sp,-128 # 8f80 <io_timeout+0x474e>
44: 06112e23 sw ra,124(sp)
48: 06812c23 sw s0,120(sp)
4c: 06912a23 sw s1,116(sp)
50: 07212823 sw s2,112(sp)
54: 07312623 sw s3,108(sp)
58: 07412423 sw s4,104(sp)
5c: 07512223 sw s5,100(sp)
60: 07612023 sw s6,96(sp)
64: 05712e23 sw s7,92(sp)
68: 05812c23 sw s8,88(sp)
6c: 05912a23 sw s9,84(sp)
70: 05a12823 sw s10,80(sp)
74: 05b12623 sw s11,76(sp)
78: 0005c483 lbu s1,0(a1)
7c: 00c12a23 sw a2,20(sp)
80: 0c048c63 beqz s1,158 <xvfprintf+0x118>
84: 000047b7 lui a5,0x4
88: bd478793 addi a5,a5,-1068 # 3bd4 <strlen+0x8c>
8c: 00058913 mv s2,a1
90: 00050413 mv s0,a0
94: 00158b93 addi s7,a1,1
98: 00005a37 lui s4,0x5
9c: 00f12e23 sw a5,28(sp)
a0: 02010993 addi s3,sp,32
a4: 02500793 li a5,37
a8: 3ef49e63 bne s1,a5,4a4 <xvfprintf+0x464>
ac: 00194b83 lbu s7,1(s2)
b0: 03000793 li a5,48
b4: 48fb8063 beq s7,a5,534 <xvfprintf+0x4f4>
b8: 02d00793 li a5,45
bc: 4efb8463 beq s7,a5,5a4 <xvfprintf+0x564>
c0: 00290913 addi s2,s2,2
c4: 02000c93 li s9,32
c8: 00012623 sw zero,12(sp)
cc: 02a00793 li a5,42
d0: 3efb9863 bne s7,a5,4c0 <xvfprintf+0x480>
d4: 01412783 lw a5,20(sp)
d8: 0007a483 lw s1,0(a5)
dc: 00478b13 addi s6,a5,4
e0: 0004d863 bgez s1,f0 <xvfprintf+0xb0>
e4: 00200793 li a5,2
e8: 409004b3 neg s1,s1
ec: 00f12623 sw a5,12(sp)
f0: 00094b83 lbu s7,0(s2)
f4: 01612a23 sw s6,20(sp)
f8: 00190913 addi s2,s2,1
fc: 02e00793 li a5,46
100: fff00d93 li s11,-1
104: 40fb8463 beq s7,a5,50c <xvfprintf+0x4cc>
108: 06c00793 li a5,108
10c: 08fb8463 beq s7,a5,194 <xvfprintf+0x154>
110: 040b8463 beqz s7,158 <xvfprintf+0x118>
114: fa8b8713 addi a4,s7,-88
118: 0ff77713 andi a4,a4,255
11c: 02000793 li a5,32
120: 00e7ec63 bltu a5,a4,138 <xvfprintf+0xf8>
124: 01c12783 lw a5,28(sp)
128: 00271713 slli a4,a4,0x2
12c: 00f70733 add a4,a4,a5
130: 00072783 lw a5,0(a4)
134: 00078067 jr a5
138: 00a00793 li a5,10
13c: 62fb8e63 beq s7,a5,778 <xvfprintf+0x738>
140: 60040463 beqz s0,748 <xvfprintf+0x708>
144: 000b8513 mv a0,s7
148: 000400e7 jalr s0
14c: 00094483 lbu s1,0(s2)
150: 00190b93 addi s7,s2,1
154: f40498e3 bnez s1,a4 <xvfprintf+0x64>
158: 07c12083 lw ra,124(sp)
15c: 07812403 lw s0,120(sp)
160: 07412483 lw s1,116(sp)
164: 07012903 lw s2,112(sp)
168: 06c12983 lw s3,108(sp)
16c: 06812a03 lw s4,104(sp)
170: 06412a83 lw s5,100(sp)
174: 06012b03 lw s6,96(sp)
178: 05c12b83 lw s7,92(sp)
17c: 05812c03 lw s8,88(sp)
180: 05412c83 lw s9,84(sp)
184: 05012d03 lw s10,80(sp)
188: 04c12d83 lw s11,76(sp)
18c: 08010113 addi sp,sp,128
190: 00008067 ret
194: 00094b83 lbu s7,0(s2)
198: 4afb8863 beq s7,a5,648 <xvfprintf+0x608>
19c: 00c12783 lw a5,12(sp)
1a0: 00190913 addi s2,s2,1
1a4: 0047e793 ori a5,a5,4
1a8: 00f12623 sw a5,12(sp)
1ac: f65ff06f j 110 <xvfprintf+0xd0>
1b0: 00a00d13 li s10,10
1b4: 00012423 sw zero,8(sp)
1b8: 00c12783 lw a5,12(sp)
1bc: 0087f793 andi a5,a5,8
1c0: 3a078a63 beqz a5,574 <xvfprintf+0x534>
1c4: 01412783 lw a5,20(sp)
1c8: 00778b13 addi s6,a5,7
1cc: ff8b7b13 andi s6,s6,-8
1d0: 008b0713 addi a4,s6,8
1d4: 06400793 li a5,100
1d8: 00e12a23 sw a4,20(sp)
1dc: 000b2883 lw a7,0(s6)
1e0: 004b2803 lw a6,4(s6)
1e4: 42fb8c63 beq s7,a5,61c <xvfprintf+0x5dc>
1e8: 00c12783 lw a5,12(sp)
1ec: 0017f793 andi a5,a5,1
1f0: 00f12c23 sw a5,24(sp)
1f4: 07800793 li a5,120
1f8: 00088c13 mv s8,a7
1fc: 00080a93 mv s5,a6
200: 00700d93 li s11,7
204: 00fb9463 bne s7,a5,20c <xvfprintf+0x1cc>
208: 02700d93 li s11,39
20c: 0ffdf793 andi a5,s11,255
210: 00f12823 sw a5,16(sp)
214: 00000b13 li s6,0
218: 0100006f j 228 <xvfprintf+0x1e8>
21c: 02000793 li a5,32
220: 38fd8e63 beq s11,a5,5bc <xvfprintf+0x57c>
224: 000d8b13 mv s6,s11
228: 000d0613 mv a2,s10
22c: 00000693 li a3,0
230: 000c0513 mv a0,s8
234: 000a8593 mv a1,s5
238: 661020ef jal ra,3098 <__umoddi3>
23c: 00050b93 mv s7,a0
240: 000a8593 mv a1,s5
244: 000c0513 mv a0,s8
248: 00000693 li a3,0
24c: 000d0613 mv a2,s10
250: 071020ef jal ra,2ac0 <__udivdi3>
254: 0ffbfb93 andi s7,s7,255
258: 00900793 li a5,9
25c: 000c0e13 mv t3,s8
260: 000a8693 mv a3,s5
264: 00050c13 mv s8,a0
268: 00058a93 mv s5,a1
26c: 0177f863 bgeu a5,s7,27c <xvfprintf+0x23c>
270: 01012783 lw a5,16(sp)
274: 017787b3 add a5,a5,s7
278: 0ff7fb93 andi s7,a5,255
27c: 001b0d93 addi s11,s6,1
280: 030b8793 addi a5,s7,48
284: 01b985b3 add a1,s3,s11
288: fef58fa3 sb a5,-1(a1)
28c: 00812783 lw a5,8(sp)
290: f8d796e3 bne a5,a3,21c <xvfprintf+0x1dc>
294: f9ae74e3 bgeu t3,s10,21c <xvfprintf+0x1dc>
298: 01812783 lw a5,24(sp)
29c: 00078c63 beqz a5,2b4 <xvfprintf+0x274>
2a0: 04010793 addi a5,sp,64
2a4: 01b78733 add a4,a5,s11
2a8: 02d00793 li a5,45
2ac: fef70023 sb a5,-32(a4)
2b0: 002b0d93 addi s11,s6,2
2b4: 00c12783 lw a5,12(sp)
2b8: 0027fd13 andi s10,a5,2
2bc: 4a0d1263 bnez s10,760 <xvfprintf+0x720>
2c0: 000d8d13 mv s10,s11
2c4: 009dfc63 bgeu s11,s1,2dc <xvfprintf+0x29c>
2c8: 1a040a63 beqz s0,47c <xvfprintf+0x43c>
2cc: 000c8513 mv a0,s9
2d0: 000400e7 jalr s0
2d4: 001d0d13 addi s10,s10,1
2d8: ffa498e3 bne s1,s10,2c8 <xvfprintf+0x288>
2dc: 01b98bb3 add s7,s3,s11
2e0: 00a00c13 li s8,10
2e4: 00d00c93 li s9,13
2e8: 0140006f j 2fc <xvfprintf+0x2bc>
2ec: 000d8513 mv a0,s11
2f0: 000400e7 jalr s0
2f4: fffb8b93 addi s7,s7,-1
2f8: 03798663 beq s3,s7,324 <xvfprintf+0x2e4>
2fc: fffbcd83 lbu s11,-1(s7)
300: 198d8a63 beq s11,s8,494 <xvfprintf+0x454>
304: fe0414e3 bnez s0,2ec <xvfprintf+0x2ac>
308: 81ca2783 lw a5,-2020(s4) # 481c <strptr>
30c: fe0784e3 beqz a5,2f4 <xvfprintf+0x2b4>
310: 00178713 addi a4,a5,1
314: 80ea2e23 sw a4,-2020(s4)
318: 01b78023 sb s11,0(a5)
31c: fffb8b93 addi s7,s7,-1
320: fd799ee3 bne s3,s7,2fc <xvfprintf+0x2bc>
324: 001d0b93 addi s7,s10,1
328: e29d72e3 bgeu s10,s1,14c <xvfprintf+0x10c>
32c: 00040e63 beqz s0,348 <xvfprintf+0x308>
330: 02000513 li a0,32
334: 000400e7 jalr s0
338: 001b8793 addi a5,s7,1
33c: e17488e3 beq s1,s7,14c <xvfprintf+0x10c>
340: 00078b93 mv s7,a5
344: fe0416e3 bnez s0,330 <xvfprintf+0x2f0>
348: 81ca2783 lw a5,-2020(s4)
34c: fe0786e3 beqz a5,338 <xvfprintf+0x2f8>
350: 00178713 addi a4,a5,1
354: 80ea2e23 sw a4,-2020(s4)
358: 02000713 li a4,32
35c: 00e78023 sb a4,0(a5)
360: fd9ff06f j 338 <xvfprintf+0x2f8>
364: 01412683 lw a3,20(sp)
368: 00a00713 li a4,10
36c: 0006a783 lw a5,0(a3)
370: 00468b93 addi s7,a3,4
374: 0ff7f493 andi s1,a5,255
378: 3ee48863 beq s1,a4,768 <xvfprintf+0x728>
37c: 3a040663 beqz s0,728 <xvfprintf+0x6e8>
380: 00048513 mv a0,s1
384: 000400e7 jalr s0
388: 01712a23 sw s7,20(sp)
38c: dc1ff06f j 14c <xvfprintf+0x10c>
390: 01412783 lw a5,20(sp)
394: 0007ab83 lw s7,0(a5)
398: 00478793 addi a5,a5,4
39c: 00f12423 sw a5,8(sp)
3a0: 000b8513 mv a0,s7
3a4: 7a4030ef jal ra,3b48 <strlen>
3a8: 00c12783 lw a5,12(sp)
3ac: 00050b13 mv s6,a0
3b0: 0027fd13 andi s10,a5,2
3b4: 340d1a63 bnez s10,708 <xvfprintf+0x6c8>
3b8: 00957c63 bgeu a0,s1,3d0 <xvfprintf+0x390>
3bc: 18040663 beqz s0,548 <xvfprintf+0x508>
3c0: 000c8513 mv a0,s9
3c4: 000400e7 jalr s0
3c8: 001b0b13 addi s6,s6,1
3cc: ff6498e3 bne s1,s6,3bc <xvfprintf+0x37c>
3d0: 000bcd03 lbu s10,0(s7)
3d4: 080d0e63 beqz s10,470 <xvfprintf+0x430>
3d8: 040d8a63 beqz s11,42c <xvfprintf+0x3ec>
3dc: 000b8a93 mv s5,s7
3e0: 00a00c13 li s8,10
3e4: 00d00c93 li s9,13
3e8: 01c0006f j 404 <xvfprintf+0x3c4>
3ec: 000d0513 mv a0,s10
3f0: 000400e7 jalr s0
3f4: 000acd03 lbu s10,0(s5)
3f8: 020d0a63 beqz s10,42c <xvfprintf+0x3ec>
3fc: 41ba86b3 sub a3,s5,s11
400: 03768663 beq a3,s7,42c <xvfprintf+0x3ec>
404: 001a8a93 addi s5,s5,1
408: 2f8d0863 beq s10,s8,6f8 <xvfprintf+0x6b8>
40c: fe0410e3 bnez s0,3ec <xvfprintf+0x3ac>
410: 81ca2683 lw a3,-2020(s4)
414: fe0680e3 beqz a3,3f4 <xvfprintf+0x3b4>
418: 01a68023 sb s10,0(a3)
41c: 000acd03 lbu s10,0(s5)
420: 00168613 addi a2,a3,1
424: 80ca2e23 sw a2,-2020(s4)
428: fc0d1ae3 bnez s10,3fc <xvfprintf+0x3bc>
42c: 001b0b93 addi s7,s6,1
430: 049b7063 bgeu s6,s1,470 <xvfprintf+0x430>
434: 00040e63 beqz s0,450 <xvfprintf+0x410>
438: 02000513 li a0,32
43c: 000400e7 jalr s0
440: 001b8793 addi a5,s7,1
444: 03748663 beq s1,s7,470 <xvfprintf+0x430>
448: 00078b93 mv s7,a5
44c: fe0416e3 bnez s0,438 <xvfprintf+0x3f8>
450: 81ca2783 lw a5,-2020(s4)
454: fe0786e3 beqz a5,440 <xvfprintf+0x400>
458: 00178713 addi a4,a5,1
45c: 80ea2e23 sw a4,-2020(s4)
460: 02000713 li a4,32
464: 00e78023 sb a4,0(a5)
468: 001b8793 addi a5,s7,1
46c: fd749ee3 bne s1,s7,448 <xvfprintf+0x408>
470: 00812783 lw a5,8(sp)
474: 00f12a23 sw a5,20(sp)
478: cd5ff06f j 14c <xvfprintf+0x10c>
47c: 81ca2783 lw a5,-2020(s4)
480: e4078ae3 beqz a5,2d4 <xvfprintf+0x294>
484: 00178693 addi a3,a5,1
488: 80da2e23 sw a3,-2020(s4)
48c: 01978023 sb s9,0(a5)
490: e45ff06f j 2d4 <xvfprintf+0x294>
494: 0c040663 beqz s0,560 <xvfprintf+0x520>
498: 00d00513 li a0,13
49c: 000400e7 jalr s0
4a0: e4dff06f j 2ec <xvfprintf+0x2ac>
4a4: 00a00793 li a5,10
4a8: 1cf48c63 beq s1,a5,680 <xvfprintf+0x640>
4ac: 1a040a63 beqz s0,660 <xvfprintf+0x620>
4b0: 00048513 mv a0,s1
4b4: 000400e7 jalr s0
4b8: 000b8913 mv s2,s7
4bc: c91ff06f j 14c <xvfprintf+0x10c>
4c0: fd0b8793 addi a5,s7,-48
4c4: 0ff7f793 andi a5,a5,255
4c8: 00900693 li a3,9
4cc: 00000493 li s1,0
4d0: 00900713 li a4,9
4d4: c2f6e4e3 bltu a3,a5,fc <xvfprintf+0xbc>
4d8: 00249793 slli a5,s1,0x2
4dc: 009784b3 add s1,a5,s1
4e0: 00149493 slli s1,s1,0x1
4e4: 00190913 addi s2,s2,1
4e8: 017484b3 add s1,s1,s7
4ec: fff94b83 lbu s7,-1(s2)
4f0: fd048493 addi s1,s1,-48
4f4: fd0b8793 addi a5,s7,-48
4f8: 0ff7f793 andi a5,a5,255
4fc: fcf77ee3 bgeu a4,a5,4d8 <xvfprintf+0x498>
500: 02e00793 li a5,46
504: fff00d93 li s11,-1
508: c0fb90e3 bne s7,a5,108 <xvfprintf+0xc8>
50c: 00094b83 lbu s7,0(s2)
510: 02a00793 li a5,42
514: 0afb9863 bne s7,a5,5c4 <xvfprintf+0x584>
518: 01412783 lw a5,20(sp)
51c: 00194b83 lbu s7,1(s2)
520: 00290913 addi s2,s2,2
524: 0007ad83 lw s11,0(a5)
528: 00478793 addi a5,a5,4
52c: 00f12a23 sw a5,20(sp)
530: bd9ff06f j 108 <xvfprintf+0xc8>
534: 00294b83 lbu s7,2(s2)
538: 03000c93 li s9,48
53c: 00390913 addi s2,s2,3
540: 00012623 sw zero,12(sp)
544: b89ff06f j cc <xvfprintf+0x8c>
548: 81ca2783 lw a5,-2020(s4)
54c: e6078ee3 beqz a5,3c8 <xvfprintf+0x388>
550: 00178693 addi a3,a5,1
554: 80da2e23 sw a3,-2020(s4)
558: 01978023 sb s9,0(a5)
55c: e6dff06f j 3c8 <xvfprintf+0x388>
560: 81ca2703 lw a4,-2020(s4)
564: d80708e3 beqz a4,2f4 <xvfprintf+0x2b4>
568: 00170793 addi a5,a4,1
56c: 01970023 sb s9,0(a4)
570: da1ff06f j 310 <xvfprintf+0x2d0>
574: 01412703 lw a4,20(sp)
578: 06400793 li a5,100
57c: 00470713 addi a4,a4,4
580: 08fb8663 beq s7,a5,60c <xvfprintf+0x5cc>
584: 01412783 lw a5,20(sp)
588: 00000813 li a6,0
58c: 0007a883 lw a7,0(a5)
590: 00c12783 lw a5,12(sp)
594: 00e12a23 sw a4,20(sp)
598: 0017f793 andi a5,a5,1
59c: 00f12c23 sw a5,24(sp)
5a0: c55ff06f j 1f4 <xvfprintf+0x1b4>
5a4: 00200793 li a5,2
5a8: 00294b83 lbu s7,2(s2)
5ac: 02000c93 li s9,32
5b0: 00390913 addi s2,s2,3
5b4: 00f12623 sw a5,12(sp)
5b8: b15ff06f j cc <xvfprintf+0x8c>
5bc: 01f00b13 li s6,31
5c0: cd9ff06f j 298 <xvfprintf+0x258>
5c4: fd0b8793 addi a5,s7,-48
5c8: 0ff7f793 andi a5,a5,255
5cc: 00900693 li a3,9
5d0: 00190913 addi s2,s2,1
5d4: 00000d93 li s11,0
5d8: 00900713 li a4,9
5dc: b2f6e6e3 bltu a3,a5,108 <xvfprintf+0xc8>
5e0: 002d9793 slli a5,s11,0x2
5e4: 01b787b3 add a5,a5,s11
5e8: 00179793 slli a5,a5,0x1
5ec: 00190913 addi s2,s2,1
5f0: 017787b3 add a5,a5,s7
5f4: fff94b83 lbu s7,-1(s2)
5f8: fd078d93 addi s11,a5,-48
5fc: fd0b8793 addi a5,s7,-48
600: 0ff7f793 andi a5,a5,255
604: fcf77ee3 bgeu a4,a5,5e0 <xvfprintf+0x5a0>
608: b01ff06f j 108 <xvfprintf+0xc8>
60c: 01412783 lw a5,20(sp)
610: 0007a883 lw a7,0(a5)
614: 00e12a23 sw a4,20(sp)
618: 41f8d813 srai a6,a7,0x1f
61c: bc0856e3 bgez a6,1e8 <xvfprintf+0x1a8>
620: 011037b3 snez a5,a7
624: 41000833 neg a6,a6
628: 40f80833 sub a6,a6,a5
62c: 00c12783 lw a5,12(sp)
630: 411008b3 neg a7,a7
634: 0017e793 ori a5,a5,1
638: 00f12623 sw a5,12(sp)
63c: 00100793 li a5,1
640: 00f12c23 sw a5,24(sp)
644: bb1ff06f j 1f4 <xvfprintf+0x1b4>
648: 00c12783 lw a5,12(sp)
64c: 00194b83 lbu s7,1(s2)
650: 00290913 addi s2,s2,2
654: 00c7e793 ori a5,a5,12
658: 00f12623 sw a5,12(sp)
65c: ab5ff06f j 110 <xvfprintf+0xd0>
660: 81ca2783 lw a5,-2020(s4)
664: 000b8913 mv s2,s7
668: ae0782e3 beqz a5,14c <xvfprintf+0x10c>
66c: 00178713 addi a4,a5,1
670: 80ea2e23 sw a4,-2020(s4)
674: 00978023 sb s1,0(a5)
678: 000b8913 mv s2,s7
67c: ad1ff06f j 14c <xvfprintf+0x10c>
680: 04040e63 beqz s0,6dc <xvfprintf+0x69c>
684: 00d00513 li a0,13
688: 000400e7 jalr s0
68c: e25ff06f j 4b0 <xvfprintf+0x470>
690: 01000d13 li s10,16
694: 00012423 sw zero,8(sp)
698: b21ff06f j 1b8 <xvfprintf+0x178>
69c: 00800d13 li s10,8
6a0: 00012423 sw zero,8(sp)
6a4: 00c12783 lw a5,12(sp)
6a8: 0087f793 andi a5,a5,8
6ac: ec0784e3 beqz a5,574 <xvfprintf+0x534>
6b0: 01412783 lw a5,20(sp)
6b4: 00778b13 addi s6,a5,7
6b8: ff8b7b13 andi s6,s6,-8
6bc: 008b0793 addi a5,s6,8
6c0: 000b2883 lw a7,0(s6)
6c4: 004b2803 lw a6,4(s6)
6c8: 00f12a23 sw a5,20(sp)
6cc: b1dff06f j 1e8 <xvfprintf+0x1a8>
6d0: 00200d13 li s10,2
6d4: 00012423 sw zero,8(sp)
6d8: fcdff06f j 6a4 <xvfprintf+0x664>
6dc: 81ca2703 lw a4,-2020(s4)
6e0: 000b8913 mv s2,s7
6e4: a60704e3 beqz a4,14c <xvfprintf+0x10c>
6e8: 00d00693 li a3,13
6ec: 00170793 addi a5,a4,1
6f0: 00d70023 sb a3,0(a4)
6f4: f79ff06f j 66c <xvfprintf+0x62c>
6f8: 00040e63 beqz s0,714 <xvfprintf+0x6d4>
6fc: 00d00513 li a0,13
700: 000400e7 jalr s0
704: ce9ff06f j 3ec <xvfprintf+0x3ac>
708: 000bcd03 lbu s10,0(s7)
70c: cc0d16e3 bnez s10,3d8 <xvfprintf+0x398>
710: d1dff06f j 42c <xvfprintf+0x3ec>
714: 81ca2603 lw a2,-2020(s4)
718: cc060ee3 beqz a2,3f4 <xvfprintf+0x3b4>
71c: 00160693 addi a3,a2,1
720: 01960023 sb s9,0(a2)
724: cf5ff06f j 418 <xvfprintf+0x3d8>
728: 81ca2703 lw a4,-2020(s4)
72c: 01712a23 sw s7,20(sp)
730: a0070ee3 beqz a4,14c <xvfprintf+0x10c>
734: 00170693 addi a3,a4,1
738: 80da2e23 sw a3,-2020(s4)
73c: 00f70023 sb a5,0(a4)
740: 01712a23 sw s7,20(sp)
744: a09ff06f j 14c <xvfprintf+0x10c>
748: 81ca2783 lw a5,-2020(s4)
74c: a00780e3 beqz a5,14c <xvfprintf+0x10c>
750: 00178713 addi a4,a5,1
754: 80ea2e23 sw a4,-2020(s4)
758: 01778023 sb s7,0(a5)
75c: 9f1ff06f j 14c <xvfprintf+0x10c>
760: 000d8d13 mv s10,s11
764: b79ff06f j 2dc <xvfprintf+0x29c>
768: 02040063 beqz s0,788 <xvfprintf+0x748>
76c: 00d00513 li a0,13
770: 000400e7 jalr s0
774: c0dff06f j 380 <xvfprintf+0x340>
778: 02040663 beqz s0,7a4 <xvfprintf+0x764>
77c: 00d00513 li a0,13
780: 000400e7 jalr s0
784: 9c1ff06f j 144 <xvfprintf+0x104>
788: 81ca2683 lw a3,-2020(s4)
78c: 01712a23 sw s7,20(sp)
790: 9a068ee3 beqz a3,14c <xvfprintf+0x10c>
794: 00d00613 li a2,13
798: 00168713 addi a4,a3,1
79c: 00c68023 sb a2,0(a3)
7a0: f95ff06f j 734 <xvfprintf+0x6f4>
7a4: 81ca2703 lw a4,-2020(s4)
7a8: 9a0702e3 beqz a4,14c <xvfprintf+0x10c>
7ac: 00d00693 li a3,13
7b0: 00170793 addi a5,a4,1
7b4: 00d70023 sb a3,0(a4)
7b8: f99ff06f j 750 <xvfprintf+0x710>
000007bc <xputc>:
7bc: ff010113 addi sp,sp,-16
7c0: 00812423 sw s0,8(sp)
7c4: 00912223 sw s1,4(sp)
7c8: 00005737 lui a4,0x5
7cc: 00112623 sw ra,12(sp)
7d0: 00a00793 li a5,10
7d4: 82072483 lw s1,-2016(a4) # 4820 <xfunc_output>
7d8: 00050413 mv s0,a0
7dc: 04f50863 beq a0,a5,82c <xputc+0x70>
7e0: 02048063 beqz s1,800 <xputc+0x44>
7e4: 00040513 mv a0,s0
7e8: 00812403 lw s0,8(sp)
7ec: 00c12083 lw ra,12(sp)
7f0: 00048793 mv a5,s1
7f4: 00412483 lw s1,4(sp)
7f8: 01010113 addi sp,sp,16
7fc: 00078067 jr a5
800: 00005737 lui a4,0x5
804: 81c72783 lw a5,-2020(a4) # 481c <strptr>
808: 00078863 beqz a5,818 <xputc+0x5c>
80c: 00178693 addi a3,a5,1
810: 80d72e23 sw a3,-2020(a4)
814: 00878023 sb s0,0(a5)
818: 00c12083 lw ra,12(sp)
81c: 00812403 lw s0,8(sp)
820: 00412483 lw s1,4(sp)
824: 01010113 addi sp,sp,16
828: 00008067 ret
82c: 02048463 beqz s1,854 <xputc+0x98>
830: 00d00513 li a0,13
834: 000480e7 jalr s1
838: 00040513 mv a0,s0
83c: 00812403 lw s0,8(sp)
840: 00c12083 lw ra,12(sp)
844: 00048793 mv a5,s1
848: 00412483 lw s1,4(sp)
84c: 01010113 addi sp,sp,16
850: 00078067 jr a5
854: 00005737 lui a4,0x5
858: 81c72683 lw a3,-2020(a4) # 481c <strptr>
85c: fa068ee3 beqz a3,818 <xputc+0x5c>
860: 00d00613 li a2,13
864: 00168793 addi a5,a3,1
868: 00c68023 sb a2,0(a3)
86c: fa1ff06f j 80c <xputc+0x50>
00000870 <xfputc>:
870: fe010113 addi sp,sp,-32
874: 00912c23 sw s1,24(sp)
878: 00112e23 sw ra,28(sp)
87c: 00a00793 li a5,10
880: 00050493 mv s1,a0
884: 04f58463 beq a1,a5,8cc <xfputc+0x5c>
888: 00050e63 beqz a0,8a4 <xfputc+0x34>
88c: 01c12083 lw ra,28(sp)
890: 00048793 mv a5,s1
894: 01812483 lw s1,24(sp)
898: 00058513 mv a0,a1
89c: 02010113 addi sp,sp,32
8a0: 00078067 jr a5
8a4: 00005737 lui a4,0x5
8a8: 81c72783 lw a5,-2020(a4) # 481c <strptr>
8ac: 00078863 beqz a5,8bc <xfputc+0x4c>
8b0: 00178693 addi a3,a5,1
8b4: 80d72e23 sw a3,-2020(a4)
8b8: 00b78023 sb a1,0(a5)
8bc: 01c12083 lw ra,28(sp)
8c0: 01812483 lw s1,24(sp)
8c4: 02010113 addi sp,sp,32
8c8: 00008067 ret
8cc: 02050663 beqz a0,8f8 <xfputc+0x88>
8d0: 00d00513 li a0,13
8d4: 00b12623 sw a1,12(sp)
8d8: 000480e7 jalr s1
8dc: 00c12583 lw a1,12(sp)
8e0: 01c12083 lw ra,28(sp)
8e4: 00048793 mv a5,s1
8e8: 01812483 lw s1,24(sp)
8ec: 00058513 mv a0,a1
8f0: 02010113 addi sp,sp,32
8f4: 00078067 jr a5
8f8: 00005737 lui a4,0x5
8fc: 81c72683 lw a3,-2020(a4) # 481c <strptr>
900: fa068ee3 beqz a3,8bc <xfputc+0x4c>
904: 00d00613 li a2,13
908: 00168793 addi a5,a3,1
90c: 00c68023 sb a2,0(a3)
910: fa1ff06f j 8b0 <xfputc+0x40>
00000914 <xputs>:
914: fe010113 addi sp,sp,-32
918: 01212823 sw s2,16(sp)
91c: 00112e23 sw ra,28(sp)
920: 00812c23 sw s0,24(sp)
924: 00912a23 sw s1,20(sp)
928: 01312623 sw s3,12(sp)
92c: 01412423 sw s4,8(sp)
930: 01512223 sw s5,4(sp)
934: 00054403 lbu s0,0(a0)
938: 000057b7 lui a5,0x5
93c: 8207a903 lw s2,-2016(a5) # 4820 <xfunc_output>
940: 04040863 beqz s0,990 <xputs+0x7c>
944: 00050493 mv s1,a0
948: 00a00993 li s3,10
94c: 00005a37 lui s4,0x5
950: 00d00a93 li s5,13
954: 0140006f j 968 <xputs+0x54>
958: 00040513 mv a0,s0
95c: 000900e7 jalr s2
960: 0004c403 lbu s0,0(s1)
964: 02040663 beqz s0,990 <xputs+0x7c>
968: 00148493 addi s1,s1,1
96c: 05340463 beq s0,s3,9b4 <xputs+0xa0>
970: fe0914e3 bnez s2,958 <xputs+0x44>
974: 81ca2783 lw a5,-2020(s4) # 481c <strptr>
978: fe0784e3 beqz a5,960 <xputs+0x4c>
97c: 00878023 sb s0,0(a5)
980: 0004c403 lbu s0,0(s1)
984: 00178713 addi a4,a5,1
988: 80ea2e23 sw a4,-2020(s4)
98c: fc041ee3 bnez s0,968 <xputs+0x54>
990: 01c12083 lw ra,28(sp)
994: 01812403 lw s0,24(sp)
998: 01412483 lw s1,20(sp)
99c: 01012903 lw s2,16(sp)
9a0: 00c12983 lw s3,12(sp)
9a4: 00812a03 lw s4,8(sp)
9a8: 00412a83 lw s5,4(sp)
9ac: 02010113 addi sp,sp,32
9b0: 00008067 ret
9b4: 00d00513 li a0,13
9b8: 00090663 beqz s2,9c4 <xputs+0xb0>
9bc: 000900e7 jalr s2
9c0: f99ff06f j 958 <xputs+0x44>
9c4: 81ca2703 lw a4,-2020(s4)
9c8: f8070ce3 beqz a4,960 <xputs+0x4c>
9cc: 00170793 addi a5,a4,1
9d0: 01570023 sb s5,0(a4)
9d4: fa9ff06f j 97c <xputs+0x68>
000009d8 <xfputs>:
9d8: fe010113 addi sp,sp,-32
9dc: 00812c23 sw s0,24(sp)
9e0: 0005c403 lbu s0,0(a1)
9e4: 00112e23 sw ra,28(sp)
9e8: 00912a23 sw s1,20(sp)
9ec: 01212823 sw s2,16(sp)
9f0: 01312623 sw s3,12(sp)
9f4: 01412423 sw s4,8(sp)
9f8: 01512223 sw s5,4(sp)
9fc: 04040a63 beqz s0,a50 <xfputs+0x78>
a00: 00058493 mv s1,a1
a04: 00050913 mv s2,a0
a08: 00a00993 li s3,10
a0c: 00005a37 lui s4,0x5
a10: 00d00a93 li s5,13
a14: 0140006f j a28 <xfputs+0x50>
a18: 00040513 mv a0,s0
a1c: 000900e7 jalr s2
a20: 0004c403 lbu s0,0(s1)
a24: 02040663 beqz s0,a50 <xfputs+0x78>
a28: 00148493 addi s1,s1,1
a2c: 05340463 beq s0,s3,a74 <xfputs+0x9c>
a30: fe0914e3 bnez s2,a18 <xfputs+0x40>
a34: 81ca2783 lw a5,-2020(s4) # 481c <strptr>
a38: fe0784e3 beqz a5,a20 <xfputs+0x48>
a3c: 00878023 sb s0,0(a5)
a40: 0004c403 lbu s0,0(s1)
a44: 00178713 addi a4,a5,1
a48: 80ea2e23 sw a4,-2020(s4)
a4c: fc041ee3 bnez s0,a28 <xfputs+0x50>
a50: 01c12083 lw ra,28(sp)
a54: 01812403 lw s0,24(sp)
a58: 01412483 lw s1,20(sp)
a5c: 01012903 lw s2,16(sp)
a60: 00c12983 lw s3,12(sp)
a64: 00812a03 lw s4,8(sp)
a68: 00412a83 lw s5,4(sp)
a6c: 02010113 addi sp,sp,32
a70: 00008067 ret
a74: 00d00513 li a0,13
a78: 00090663 beqz s2,a84 <xfputs+0xac>
a7c: 000900e7 jalr s2
a80: f99ff06f j a18 <xfputs+0x40>
a84: 81ca2703 lw a4,-2020(s4)
a88: f8070ce3 beqz a4,a20 <xfputs+0x48>
a8c: 00170793 addi a5,a4,1
a90: 01570023 sb s5,0(a4)
a94: fa9ff06f j a3c <xfputs+0x64>
00000a98 <xprintf>:
a98: 00050e13 mv t3,a0
a9c: 00005537 lui a0,0x5
aa0: fc010113 addi sp,sp,-64
aa4: 82052503 lw a0,-2016(a0) # 4820 <xfunc_output>
aa8: 02410313 addi t1,sp,36
aac: 02b12223 sw a1,36(sp)
ab0: 02c12423 sw a2,40(sp)
ab4: 000e0593 mv a1,t3
ab8: 00030613 mv a2,t1
abc: 00112e23 sw ra,28(sp)
ac0: 02d12623 sw a3,44(sp)
ac4: 02e12823 sw a4,48(sp)
ac8: 02f12a23 sw a5,52(sp)
acc: 03012c23 sw a6,56(sp)
ad0: 03112e23 sw a7,60(sp)
ad4: 00612623 sw t1,12(sp)
ad8: d68ff0ef jal ra,40 <xvfprintf>
adc: 01c12083 lw ra,28(sp)
ae0: 04010113 addi sp,sp,64
ae4: 00008067 ret
00000ae8 <xfprintf>:
ae8: fc010113 addi sp,sp,-64
aec: 02810313 addi t1,sp,40
af0: 02c12423 sw a2,40(sp)
af4: 00030613 mv a2,t1
af8: 00112e23 sw ra,28(sp)
afc: 02d12623 sw a3,44(sp)
b00: 02e12823 sw a4,48(sp)
b04: 02f12a23 sw a5,52(sp)
b08: 03012c23 sw a6,56(sp)
b0c: 03112e23 sw a7,60(sp)
b10: 00612623 sw t1,12(sp)
b14: d2cff0ef jal ra,40 <xvfprintf>
b18: 01c12083 lw ra,28(sp)
b1c: 04010113 addi sp,sp,64
b20: 00008067 ret
00000b24 <xsprintf>:
b24: fc010113 addi sp,sp,-64
b28: 02810313 addi t1,sp,40
b2c: 00812c23 sw s0,24(sp)
b30: 00050e13 mv t3,a0
b34: 00005437 lui s0,0x5
b38: 02c12423 sw a2,40(sp)
b3c: 00000513 li a0,0
b40: 00030613 mv a2,t1
b44: 00112e23 sw ra,28(sp)
b48: 02f12a23 sw a5,52(sp)
b4c: 02d12623 sw a3,44(sp)
b50: 02e12823 sw a4,48(sp)
b54: 03012c23 sw a6,56(sp)
b58: 03112e23 sw a7,60(sp)
b5c: 81c42e23 sw t3,-2020(s0) # 481c <strptr>
b60: 00612623 sw t1,12(sp)
b64: cdcff0ef jal ra,40 <xvfprintf>
b68: 81c42783 lw a5,-2020(s0)
b6c: 80042e23 sw zero,-2020(s0)
b70: 00078023 sb zero,0(a5)
b74: 01c12083 lw ra,28(sp)
b78: 01812403 lw s0,24(sp)
b7c: 04010113 addi sp,sp,64
b80: 00008067 ret
00000b84 <__expr>:
b84: 00004537 lui a0,0x4
b88: ff010113 addi sp,sp,-16
b8c: c5850513 addi a0,a0,-936 # 3c58 <strlen+0x110>
b90: 00112623 sw ra,12(sp)
b94: f05ff0ef jal ra,a98 <xprintf>
b98: 00004537 lui a0,0x4
b9c: c7050513 addi a0,a0,-912 # 3c70 <strlen+0x128>
ba0: ef9ff0ef jal ra,a98 <xprintf>
ba4: 0000006f j ba4 <__expr+0x20>
00000ba8 <wait_ms>:
ba8: 00011637 lui a2,0x11
bac: fd010113 addi sp,sp,-48
bb0: 17060613 addi a2,a2,368 # 11170 <io_timeout+0xc93e>
bb4: 00000693 li a3,0
bb8: 02112623 sw ra,44(sp)
bbc: 02812423 sw s0,40(sp)
bc0: 5f9020ef jal ra,39b8 <__muldi3>
bc4: 00a12c23 sw a0,24(sp)
bc8: 00b12e23 sw a1,28(sp)
bcc: c6cff0ef jal ra,38 <get_timeh>
bd0: 00050413 mv s0,a0
bd4: c5cff0ef jal ra,30 <get_timel>
bd8: 00a12423 sw a0,8(sp)
bdc: 00812623 sw s0,12(sp)
be0: c58ff0ef jal ra,38 <get_timeh>
be4: 00050413 mv s0,a0
be8: c48ff0ef jal ra,30 <get_timel>
bec: 00a12823 sw a0,16(sp)
bf0: 00812a23 sw s0,20(sp)
bf4: 01012783 lw a5,16(sp)
bf8: 01412803 lw a6,20(sp)
bfc: 00812303 lw t1,8(sp)
c00: 00c12383 lw t2,12(sp)
c04: 01812503 lw a0,24(sp)
c08: 40678633 sub a2,a5,t1
c0c: 01c12583 lw a1,28(sp)
c10: 00c7b733 sltu a4,a5,a2
c14: 407807b3 sub a5,a6,t2
c18: 40e787b3 sub a5,a5,a4
c1c: 00f5e663 bltu a1,a5,c28 <wait_ms+0x80>
c20: fcb790e3 bne a5,a1,be0 <wait_ms+0x38>
c24: fac57ee3 bgeu a0,a2,be0 <wait_ms+0x38>
c28: 02c12083 lw ra,44(sp)
c2c: 02812403 lw s0,40(sp)
c30: 03010113 addi sp,sp,48
c34: 00008067 ret
00000c38 <get_time_ms>:
c38: ff010113 addi sp,sp,-16
c3c: 00112623 sw ra,12(sp)
c40: 00812423 sw s0,8(sp)
c44: bf4ff0ef jal ra,38 <get_timeh>
c48: 00050413 mv s0,a0
c4c: be4ff0ef jal ra,30 <get_timel>
c50: 00011637 lui a2,0x11
c54: 00040593 mv a1,s0
c58: 17060613 addi a2,a2,368 # 11170 <io_timeout+0xc93e>
c5c: 00000693 li a3,0
c60: 661010ef jal ra,2ac0 <__udivdi3>
c64: 00c12083 lw ra,12(sp)
c68: 00812403 lw s0,8(sp)
c6c: 01010113 addi sp,sp,16
c70: 00008067 ret
00000c74 <uart_putc>:
c74: fe010113 addi sp,sp,-32
c78: 01212823 sw s2,16(sp)
c7c: 00010937 lui s2,0x10
c80: 00812c23 sw s0,24(sp)
c84: 00912a23 sw s1,20(sp)
c88: 00112e23 sw ra,28(sp)
c8c: 00050493 mv s1,a0
c90: 04890413 addi s0,s2,72 # 10048 <io_timeout+0xb816>
c94: 00040513 mv a0,s0
c98: b90ff0ef jal ra,28 <get32>
c9c: 02057513 andi a0,a0,32
ca0: 00a12623 sw a0,12(sp)
ca4: 00c12783 lw a5,12(sp)
ca8: fe0786e3 beqz a5,c94 <uart_putc+0x20>
cac: 01812403 lw s0,24(sp)
cb0: 01c12083 lw ra,28(sp)
cb4: 00048593 mv a1,s1
cb8: 04490513 addi a0,s2,68
cbc: 01412483 lw s1,20(sp)
cc0: 01012903 lw s2,16(sp)
cc4: 02010113 addi sp,sp,32
cc8: b58ff06f j 20 <put32>
00000ccc <i2c_init>:
ccc: ff010113 addi sp,sp,-16
cd0: 00912223 sw s1,4(sp)
cd4: 00850493 addi s1,a0,8
cd8: 00812423 sw s0,8(sp)
cdc: 00050413 mv s0,a0
ce0: 00048513 mv a0,s1
ce4: 00112623 sw ra,12(sp)
ce8: b40ff0ef jal ra,28 <get32>
cec: ffe57593 andi a1,a0,-2
cf0: 00048513 mv a0,s1
cf4: b2cff0ef jal ra,20 <put32>
cf8: 02040513 addi a0,s0,32
cfc: 05600593 li a1,86
d00: b20ff0ef jal ra,20 <put32>
d04: 02440513 addi a0,s0,36
d08: 05600593 li a1,86
d0c: b14ff0ef jal ra,20 <put32>
d10: 00f00593 li a1,15
d14: 02840513 addi a0,s0,40
d18: b08ff0ef jal ra,20 <put32>
d1c: 00048513 mv a0,s1
d20: b08ff0ef jal ra,28 <get32>
d24: 00812403 lw s0,8(sp)
d28: 00c12083 lw ra,12(sp)
d2c: 00356593 ori a1,a0,3
d30: 00048513 mv a0,s1
d34: 00412483 lw s1,4(sp)
d38: 01010113 addi sp,sp,16
d3c: ae4ff06f j 20 <put32>
00000d40 <i2c_disable_isr>:
d40: 00000593 li a1,0
d44: 00c50513 addi a0,a0,12
d48: ad8ff06f j 20 <put32>
00000d4c <i2c_start_transmit>:
d4c: fe010113 addi sp,sp,-32
d50: 00812c23 sw s0,24(sp)
d54: 00912a23 sw s1,20(sp)
d58: 01212823 sw s2,16(sp)
d5c: 01312623 sw s3,12(sp)
d60: 00112e23 sw ra,28(sp)
d64: 00050913 mv s2,a0
d68: 00058493 mv s1,a1
d6c: 00060993 mv s3,a2
d70: 01050413 addi s0,a0,16
d74: 00040513 mv a0,s0
d78: ab0ff0ef jal ra,28 <get32>
d7c: 00157513 andi a0,a0,1
d80: fe050ae3 beqz a0,d74 <i2c_start_transmit+0x28>
d84: 00149493 slli s1,s1,0x1
d88: 00100793 li a5,1
d8c: 20148593 addi a1,s1,513
d90: 00f98463 beq s3,a5,d98 <i2c_start_transmit+0x4c>
d94: 20048593 addi a1,s1,512
d98: 01812403 lw s0,24(sp)
d9c: 01c12083 lw ra,28(sp)
da0: 01412483 lw s1,20(sp)
da4: 00c12983 lw s3,12(sp)
da8: 00090513 mv a0,s2
dac: 01012903 lw s2,16(sp)
db0: 02010113 addi sp,sp,32
db4: a6cff06f j 20 <put32>
00000db8 <i2c_start_receive>:
db8: 00000513 li a0,0
dbc: 00008067 ret
00000dc0 <i2c_write>:
dc0: fe010113 addi sp,sp,-32
dc4: 00812c23 sw s0,24(sp)
dc8: 00912a23 sw s1,20(sp)
dcc: 01212823 sw s2,16(sp)
dd0: 01312623 sw s3,12(sp)
dd4: 00112e23 sw ra,28(sp)
dd8: 00050413 mv s0,a0
ddc: 00058913 mv s2,a1
de0: 00060993 mv s3,a2
de4: 01050493 addi s1,a0,16
de8: 00048513 mv a0,s1
dec: a3cff0ef jal ra,28 <get32>
df0: 00157513 andi a0,a0,1
df4: fe050ae3 beqz a0,de8 <i2c_write+0x28>
df8: 04098063 beqz s3,e38 <i2c_write+0x78>
dfc: 00040513 mv a0,s0
e00: 10090593 addi a1,s2,256
e04: 01440413 addi s0,s0,20
e08: a18ff0ef jal ra,20 <put32>
e0c: 00040513 mv a0,s0
e10: a18ff0ef jal ra,28 <get32>
e14: fe050ce3 beqz a0,e0c <i2c_write+0x4c>
e18: 01c12083 lw ra,28(sp)
e1c: 01812403 lw s0,24(sp)
e20: 01412483 lw s1,20(sp)
e24: 01012903 lw s2,16(sp)
e28: 00c12983 lw s3,12(sp)
e2c: 00000513 li a0,0
e30: 02010113 addi sp,sp,32
e34: 00008067 ret
e38: 00040513 mv a0,s0
e3c: 00090593 mv a1,s2
e40: 9e0ff0ef jal ra,20 <put32>
e44: 01c12083 lw ra,28(sp)
e48: 01812403 lw s0,24(sp)
e4c: 01412483 lw s1,20(sp)
e50: 01012903 lw s2,16(sp)
e54: 00c12983 lw s3,12(sp)
e58: 00000513 li a0,0
e5c: 02010113 addi sp,sp,32
e60: 00008067 ret
00000e64 <i2c_read>:
e64: fe010113 addi sp,sp,-32
e68: 00812c23 sw s0,24(sp)
e6c: 00912a23 sw s1,20(sp)
e70: 01212823 sw s2,16(sp)
e74: 01312623 sw s3,12(sp)
e78: 00112e23 sw ra,28(sp)
e7c: 00050493 mv s1,a0
e80: 00058913 mv s2,a1
e84: 00450993 addi s3,a0,4
e88: 01050413 addi s0,a0,16
e8c: 00040513 mv a0,s0
e90: 998ff0ef jal ra,28 <get32>
e94: 00157513 andi a0,a0,1
e98: fe050ae3 beqz a0,e8c <i2c_read+0x28>
e9c: 04090e63 beqz s2,ef8 <i2c_read+0x94>
ea0: 10000593 li a1,256
ea4: 00048513 mv a0,s1
ea8: 978ff0ef jal ra,20 <put32>
eac: 00040513 mv a0,s0
eb0: 978ff0ef jal ra,28 <get32>
eb4: 00257513 andi a0,a0,2
eb8: fe050ae3 beqz a0,eac <i2c_read+0x48>
ebc: 00098513 mv a0,s3
ec0: 968ff0ef jal ra,28 <get32>