-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathboot_code_fpga.objdump
More file actions
1873 lines (1823 loc) · 82.6 KB
/
Copy pathboot_code_fpga.objdump
File metadata and controls
1873 lines (1823 loc) · 82.6 KB
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
boot_code_fpga: file format elf32-littleriscv
Disassembly of section .text:
1a000000 <__vector_start>:
.section .vectors, "ax"
.option norvc;
.org 0x0
jal x0, default_handler
1a000000: 0880006f j 1a000088 <default_handler>
jal x0, default_handler
1a000004: 0840006f j 1a000088 <default_handler>
jal x0, default_handler
1a000008: 0800006f j 1a000088 <default_handler>
jal x0, default_handler
1a00000c: 07c0006f j 1a000088 <default_handler>
jal x0, default_handler
1a000010: 0780006f j 1a000088 <default_handler>
jal x0, default_handler
1a000014: 0740006f j 1a000088 <default_handler>
jal x0, default_handler
1a000018: 0700006f j 1a000088 <default_handler>
jal x0, default_handler
1a00001c: 06c0006f j 1a000088 <default_handler>
jal x0, default_handler
1a000020: 0680006f j 1a000088 <default_handler>
jal x0, default_handler
1a000024: 0640006f j 1a000088 <default_handler>
jal x0, default_handler
1a000028: 0600006f j 1a000088 <default_handler>
jal x0, default_handler
1a00002c: 05c0006f j 1a000088 <default_handler>
jal x0, default_handler
1a000030: 0580006f j 1a000088 <default_handler>
jal x0, default_handler
1a000034: 0540006f j 1a000088 <default_handler>
jal x0, default_handler
1a000038: 0500006f j 1a000088 <default_handler>
jal x0, default_handler
1a00003c: 04c0006f j 1a000088 <default_handler>
jal x0, default_handler
1a000040: 0480006f j 1a000088 <default_handler>
jal x0, default_handler
1a000044: 0440006f j 1a000088 <default_handler>
jal x0, default_handler
1a000048: 0400006f j 1a000088 <default_handler>
jal x0, default_handler
1a00004c: 03c0006f j 1a000088 <default_handler>
jal x0, default_handler
1a000050: 0380006f j 1a000088 <default_handler>
jal x0, default_handler
1a000054: 0340006f j 1a000088 <default_handler>
jal x0, default_handler
1a000058: 0300006f j 1a000088 <default_handler>
jal x0, default_handler
1a00005c: 02c0006f j 1a000088 <default_handler>
jal x0, default_handler
1a000060: 0280006f j 1a000088 <default_handler>
jal x0, default_handler
1a000064: 0240006f j 1a000088 <default_handler>
jal x0, default_handler
1a000068: 0200006f j 1a000088 <default_handler>
jal x0, default_handler
1a00006c: 01c0006f j 1a000088 <default_handler>
jal x0, default_handler
1a000070: 0180006f j 1a000088 <default_handler>
jal x0, default_handler
1a000074: 0140006f j 1a000088 <default_handler>
jal x0, default_handler
1a000078: 0100006f j 1a000088 <default_handler>
jal x0, default_handler
1a00007c: 00c0006f j 1a000088 <default_handler>
/* reset vector */
.org 0x80
jal x0, _start
1a000080: 7290006f j 1a000fa8 <_start>
1a000084 <loop>:
.org 0x84
loop:
j loop
1a000084: 0000006f j 1a000084 <loop>
1a000088 <default_handler>:
default_handler:
mret
1a000088: 30200073 mret
1a00008c <uart_read_char.constprop.0>:
1a00008c: 1a1027b7 lui a5,0x1a102
1a000090: 0a87a703 lw a4,168(a5) # 1a1020a8 <__lma_data_start+0x100b7c>
1a000094: 8b05 andi a4,a4,1
1a000096: cb19 beqz a4,1a0000ac <uart_read_char.constprop.0+0x20>
1a000098: 0a47a703 lw a4,164(a5)
1a00009c: fdf76713 ori a4,a4,-33
1a0000a0: 0ae7a223 sw a4,164(a5)
1a0000a4: fdf00713 li a4,-33
1a0000a8: 0ae7a223 sw a4,164(a5)
1a0000ac: 1a102737 lui a4,0x1a102
1a0000b0: 0b072783 lw a5,176(a4) # 1a1020b0 <__lma_data_start+0x100b84>
1a0000b4: 8b85 andi a5,a5,1
1a0000b6: dfed beqz a5,1a0000b0 <uart_read_char.constprop.0+0x24>
1a0000b8: 0b472503 lw a0,180(a4)
1a0000bc: 0ff57513 andi a0,a0,255
1a0000c0: 8082 ret
1a0000c2 <uart_open.constprop.0>:
1a0000c2: 1a102737 lui a4,0x1a102
1a0000c6: 431c lw a5,0(a4)
1a0000c8: 4501 li a0,0
1a0000ca: 0017e793 ori a5,a5,1
1a0000ce: c31c sw a5,0(a4)
1a0000d0: 1a1067b7 lui a5,0x1a106
1a0000d4: 43d4 lw a3,4(a5)
1a0000d6: 9af9 andi a3,a3,-2
1a0000d8: c3d4 sw a3,4(a5)
1a0000da: 43d4 lw a3,4(a5)
1a0000dc: 9af5 andi a3,a3,-3
1a0000de: c3d4 sw a3,4(a5)
1a0000e0: 005607b7 lui a5,0x560
1a0000e4: 31678793 addi a5,a5,790 # 560316 <__stack_size+0x55fb16>
1a0000e8: 0af72223 sw a5,164(a4) # 1a1020a4 <__lma_data_start+0x100b78>
1a0000ec: 8082 ret
1a0000ee <strlen>:
1a0000ee: 87aa mv a5,a0
1a0000f0: 0007c703 lbu a4,0(a5)
1a0000f4: e701 bnez a4,1a0000fc <strlen+0xe>
1a0000f6: 40a78533 sub a0,a5,a0
1a0000fa: 8082 ret
1a0000fc: 0785 addi a5,a5,1
1a0000fe: bfcd j 1a0000f0 <strlen+0x2>
1a000100 <flash_read>:
1a000100: 6789 lui a5,0x2
1a000102: 97aa add a5,a5,a0
1a000104: 91c7a783 lw a5,-1764(a5) # 191c <__stack_size+0x111c>
1a000108: e7d1 bnez a5,1a000194 <flash_read+0x94>
1a00010a: 6785 lui a5,0x1
1a00010c: 953e add a0,a0,a5
1a00010e: 00052023 sw zero,0(a0)
1a000112: 20070737 lui a4,0x20070
1a000116: 100007b7 lui a5,0x10000
1a00011a: c15c sw a5,4(a0)
1a00011c: 00370793 addi a5,a4,3 # 20070003 <__stack_top+0x406ca53>
1a000120: c51c sw a5,8(a0)
1a000122: 0085d793 srli a5,a1,0x8
1a000126: 07c2 slli a5,a5,0x10
1a000128: 83c1 srli a5,a5,0x10
1a00012a: 200f0837 lui a6,0x200f0
1a00012e: 0107e7b3 or a5,a5,a6
1a000132: 0ff5f593 andi a1,a1,255
1a000136: c55c sw a5,12(a0)
1a000138: 8dd9 or a1,a1,a4
1a00013a: fff68793 addi a5,a3,-1
1a00013e: 70470737 lui a4,0x70470
1a000142: c90c sw a1,16(a0)
1a000144: 8fd9 or a5,a5,a4
1a000146: c95c sw a5,20(a0)
1a000148: 900007b7 lui a5,0x90000
1a00014c: 0785 addi a5,a5,1
1a00014e: cd1c sw a5,24(a0)
1a000150: 1a1027b7 lui a5,0x1a102
1a000154: 48c7a023 sw a2,1152(a5) # 1a102480 <__lma_data_start+0x100f54>
1a000158: 48d7a223 sw a3,1156(a5)
1a00015c: 4751 li a4,20
1a00015e: 48e7a423 sw a4,1160(a5)
1a000162: 4aa7a023 sw a0,1184(a5)
1a000166: 46f1 li a3,28
1a000168: 4ad7a223 sw a3,1188(a5)
1a00016c: 4ae7a423 sw a4,1192(a5)
1a000170: 1a10a7b7 lui a5,0x1a10a
1a000174: 04000737 lui a4,0x4000
1a000178: 80e7a223 sw a4,-2044(a5) # 1a109804 <__lma_data_start+0x1082d8>
1a00017c: 80c7a683 lw a3,-2036(a5)
1a000180: 00569613 slli a2,a3,0x5
1a000184: 00065963 bgez a2,1a000196 <flash_read+0x96>
1a000188: 8247a683 lw a3,-2012(a5)
1a00018c: 80e7aa23 sw a4,-2028(a5)
1a000190: 80e7a423 sw a4,-2040(a5)
1a000194: 8082 ret
1a000196: 10500073 wfi
1a00019a: b7cd j 1a00017c <flash_read+0x7c>
1a00019c <flash_get_mem_sections>:
1a00019c: 1141 addi sp,sp,-16
1a00019e: c226 sw s1,4(sp)
1a0001a0: 6485 lui s1,0x1
1a0001a2: 40848613 addi a2,s1,1032 # 1408 <__stack_size+0xc08>
1a0001a6: c422 sw s0,8(sp)
1a0001a8: 46c1 li a3,16
1a0001aa: 842a mv s0,a0
1a0001ac: 962a add a2,a2,a0
1a0001ae: 4581 li a1,0
1a0001b0: c606 sw ra,12(sp)
1a0001b2: 94a2 add s1,s1,s0
1a0001b4: 37b1 jal 1a000100 <flash_read>
1a0001b6: 40c4a683 lw a3,1036(s1)
1a0001ba: 47bd li a5,15
1a0001bc: 00d7cf63 blt a5,a3,1a0001da <flash_get_mem_sections+0x3e>
1a0001c0: ce99 beqz a3,1a0001de <flash_get_mem_sections+0x42>
1a0001c2: 6605 lui a2,0x1
1a0001c4: 41860613 addi a2,a2,1048 # 1418 <__stack_size+0xc18>
1a0001c8: 9622 add a2,a2,s0
1a0001ca: 8522 mv a0,s0
1a0001cc: 4422 lw s0,8(sp)
1a0001ce: 40b2 lw ra,12(sp)
1a0001d0: 4492 lw s1,4(sp)
1a0001d2: 0692 slli a3,a3,0x4
1a0001d4: 45c1 li a1,16
1a0001d6: 0141 addi sp,sp,16
1a0001d8: b725 j 1a000100 <flash_read>
1a0001da: 46c1 li a3,16
1a0001dc: b7dd j 1a0001c2 <flash_get_mem_sections+0x26>
1a0001de: 40b2 lw ra,12(sp)
1a0001e0: 4422 lw s0,8(sp)
1a0001e2: 4492 lw s1,4(sp)
1a0001e4: 0141 addi sp,sp,16
1a0001e6: 8082 ret
1a0001e8 <boot_qspi.constprop.0>:
1a0001e8: 1c000537 lui a0,0x1c000
1a0001ec: 00450693 addi a3,a0,4 # 1c000004 <boot_code>
1a0001f0: 1141 addi sp,sp,-16
1a0001f2: 6789 lui a5,0x2
1a0001f4: c422 sw s0,8(sp)
1a0001f6: c606 sw ra,12(sp)
1a0001f8: 97b6 add a5,a5,a3
1a0001fa: 6705 lui a4,0x1
1a0001fc: 92e7a023 sw a4,-1760(a5) # 1920 <__stack_size+0x1120>
1a000200: 4605 li a2,1
1a000202: 9736 add a4,a4,a3
1a000204: 40072223 sw zero,1028(a4) # 1404 <__stack_size+0xc04>
1a000208: 9007ae23 sw zero,-1764(a5)
1a00020c: 1a102737 lui a4,0x1a102
1a000210: 92c7a223 sw a2,-1756(a5)
1a000214: 431c lw a5,0(a4)
1a000216: 4451 li s0,20
1a000218: 6691 lui a3,0x4
1a00021a: 1007e793 ori a5,a5,256
1a00021e: c31c sw a5,0(a4)
1a000220: 1a1067b7 lui a5,0x1a106
1a000224: 577d li a4,-1
1a000226: c3d8 sw a4,4(a5)
1a000228: c798 sw a4,8(a5)
1a00022a: c7d8 sw a4,12(a5)
1a00022c: cb98 sw a4,16(a5)
1a00022e: cbd8 sw a4,20(a5)
1a000230: cf98 sw a4,24(a5)
1a000232: cfd8 sw a4,28(a5)
1a000234: d398 sw a4,32(a5)
1a000236: 4798 lw a4,8(a5)
1a000238: 9b5d andi a4,a4,-9
1a00023a: c798 sw a4,8(a5)
1a00023c: 43d8 lw a4,4(a5)
1a00023e: 9b75 andi a4,a4,-3
1a000240: c3d8 sw a4,4(a5)
1a000242: 1a10a7b7 lui a5,0x1a10a
1a000246: 6711 lui a4,0x4
1a000248: 80e7a223 sw a4,-2044(a5) # 1a109804 <__lma_data_start+0x1082d8>
1a00024c: 81478713 addi a4,a5,-2028
1a000250: 10500073 wfi
1a000254: c314 sw a3,0(a4)
1a000256: 147d addi s0,s0,-1
1a000258: fc65 bnez s0,1a000250 <boot_qspi.constprop.0+0x68>
1a00025a: 6711 lui a4,0x4
1a00025c: 80e7a423 sw a4,-2040(a5)
1a000260: 00450513 addi a0,a0,4
1a000264: 3f25 jal 1a00019c <flash_get_mem_sections>
1a000266: 1c0017b7 lui a5,0x1c001
1a00026a: 00478793 addi a5,a5,4 # 1c001004 <__global_pointer$+0x800>
1a00026e: 40c7a803 lw a6,1036(a5)
1a000272: 1c0027b7 lui a5,0x1c002
1a000276: 00478793 addi a5,a5,4 # 1c002004 <dict+0x274>
1a00027a: 9207a783 lw a5,-1760(a5)
1a00027e: 1c001737 lui a4,0x1c001
1a000282: 6609 lui a2,0x2
1a000284: fff78893 addi a7,a5,-1
1a000288: 40f006b3 neg a3,a5
1a00028c: 42470713 addi a4,a4,1060 # 1c001424 <__global_pointer$+0xc20>
1a000290: 1c000537 lui a0,0x1c000
1a000294: 92860613 addi a2,a2,-1752 # 1928 <__stack_size+0x1128>
1a000298: 03041763 bne s0,a6,1a0002c6 <boot_qspi.constprop.0+0xde>
1a00029c: 6789 lui a5,0x2
1a00029e: 97aa add a5,a5,a0
1a0002a0: 6605 lui a2,0x1
1a0002a2: 92c7a023 sw a2,-1760(a5) # 1920 <__stack_size+0x1120>
1a0002a6: 51960613 addi a2,a2,1305 # 1519 <__stack_size+0xd19>
1a0002aa: 4705 li a4,1
1a0002ac: 962a add a2,a2,a0
1a0002ae: 1a0015b7 lui a1,0x1a001
1a0002b2: 9007ae23 sw zero,-1764(a5)
1a0002b6: 92e7a223 sw a4,-1756(a5)
1a0002ba: 40060613 addi a2,a2,1024
1a0002be: ed058593 addi a1,a1,-304 # 1a000ed0 <flash_load_and_start>
1a0002c2: 543000ef jal ra,1a001004 <change_stack>
1a0002c6: ffc72783 lw a5,-4(a4)
1a0002ca: 00f56963 bltu a0,a5,1a0002dc <boot_qspi.constprop.0+0xf4>
1a0002ce: 430c lw a1,0(a4)
1a0002d0: 95be add a1,a1,a5
1a0002d2: 00b56963 bltu a0,a1,1a0002e4 <boot_qspi.constprop.0+0xfc>
1a0002d6: 0405 addi s0,s0,1
1a0002d8: 0741 addi a4,a4,16
1a0002da: bf7d j 1a000298 <boot_qspi.constprop.0+0xb0>
1a0002dc: 00c505b3 add a1,a0,a2
1a0002e0: feb7fbe3 bgeu a5,a1,1a0002d6 <boot_qspi.constprop.0+0xee>
1a0002e4: 4308 lw a0,0(a4)
1a0002e6: 953e add a0,a0,a5
1a0002e8: 9546 add a0,a0,a7
1a0002ea: 8d75 and a0,a0,a3
1a0002ec: b7ed j 1a0002d6 <boot_qspi.constprop.0+0xee>
1a0002ee <zf_abort>:
1a0002ee: 85aa mv a1,a0
1a0002f0: 1c002537 lui a0,0x1c002
1a0002f4: 1141 addi sp,sp,-16
1a0002f6: 93050513 addi a0,a0,-1744 # 1c001930 <jmpbuf>
1a0002fa: c606 sw ra,12(sp)
1a0002fc: 745000ef jal ra,1a001240 <longjmp>
1a000300 <dict_get_cell_typed>:
1a000300: 1141 addi sp,sp,-16
1a000302: 6805 lui a6,0x1
1a000304: c606 sw ra,12(sp)
1a000306: ffd80793 addi a5,a6,-3 # ffd <__stack_size+0x7fd>
1a00030a: 00a7ed63 bltu a5,a0,1a000324 <dict_get_cell_typed+0x24>
1a00030e: 1c002737 lui a4,0x1c002
1a000312: d9070713 addi a4,a4,-624 # 1c001d90 <dict>
1a000316: 00a706b3 add a3,a4,a0
1a00031a: 0006c783 lbu a5,0(a3) # 4000 <__stack_size+0x3800>
1a00031e: c609 beqz a2,1a000328 <dict_get_cell_typed+0x28>
1a000320: 4525 li a0,9
1a000322: a011 j 1a000326 <dict_get_cell_typed+0x26>
1a000324: 4509 li a0,2
1a000326: 37e1 jal 1a0002ee <zf_abort>
1a000328: 01879613 slli a2,a5,0x18
1a00032c: 8661 srai a2,a2,0x18
1a00032e: 04065663 bgez a2,1a00037a <dict_get_cell_typed+0x7a>
1a000332: 0ff00613 li a2,255
1a000336: 0505 addi a0,a0,1
1a000338: 02c79563 bne a5,a2,1a000362 <dict_get_cell_typed+0x62>
1a00033c: 186d addi a6,a6,-5
1a00033e: fea863e3 bltu a6,a0,1a000324 <dict_get_cell_typed+0x24>
1a000342: 87b6 mv a5,a3
1a000344: 00458713 addi a4,a1,4
1a000348: 0785 addi a5,a5,1
1a00034a: 00b71663 bne a4,a1,1a000356 <dict_get_cell_typed+0x56>
1a00034e: 4515 li a0,5
1a000350: 40b2 lw ra,12(sp)
1a000352: 0141 addi sp,sp,16
1a000354: 8082 ret
1a000356: 0007c683 lbu a3,0(a5)
1a00035a: 0585 addi a1,a1,1
1a00035c: fed58fa3 sb a3,-1(a1)
1a000360: b7e5 j 1a000348 <dict_get_cell_typed+0x48>
1a000362: 953a add a0,a0,a4
1a000364: 00054703 lbu a4,0(a0)
1a000368: 6691 lui a3,0x4
1a00036a: 07a2 slli a5,a5,0x8
1a00036c: f0068693 addi a3,a3,-256 # 3f00 <__stack_size+0x3700>
1a000370: 8ff5 and a5,a5,a3
1a000372: 97ba add a5,a5,a4
1a000374: c19c sw a5,0(a1)
1a000376: 4509 li a0,2
1a000378: bfe1 j 1a000350 <dict_get_cell_typed+0x50>
1a00037a: c19c sw a5,0(a1)
1a00037c: 4505 li a0,1
1a00037e: bfc9 j 1a000350 <dict_get_cell_typed+0x50>
1a000380 <dict_get_cell>:
1a000380: 4601 li a2,0
1a000382: bfbd j 1a000300 <dict_get_cell_typed>
1a000384 <dict_put_bytes>:
1a000384: 6705 lui a4,0x1
1a000386: 8f11 sub a4,a4,a2
1a000388: 87aa mv a5,a0
1a00038a: 00e57a63 bgeu a0,a4,1a00039e <dict_put_bytes+0x1a>
1a00038e: 1c002737 lui a4,0x1c002
1a000392: 4501 li a0,0
1a000394: d9070713 addi a4,a4,-624 # 1c001d90 <dict>
1a000398: 00c51763 bne a0,a2,1a0003a6 <dict_put_bytes+0x22>
1a00039c: 8082 ret
1a00039e: 1141 addi sp,sp,-16
1a0003a0: 4509 li a0,2
1a0003a2: c606 sw ra,12(sp)
1a0003a4: 37a9 jal 1a0002ee <zf_abort>
1a0003a6: 00a586b3 add a3,a1,a0
1a0003aa: 0006c803 lbu a6,0(a3)
1a0003ae: 00f506b3 add a3,a0,a5
1a0003b2: 96ba add a3,a3,a4
1a0003b4: 01068023 sb a6,0(a3)
1a0003b8: 0505 addi a0,a0,1
1a0003ba: bff9 j 1a000398 <dict_put_bytes+0x14>
1a0003bc <dict_put_cell_typed>:
1a0003bc: 7179 addi sp,sp,-48
1a0003be: d606 sw ra,44(sp)
1a0003c0: d422 sw s0,40(sp)
1a0003c2: d226 sw s1,36(sp)
1a0003c4: c62e sw a1,12(sp)
1a0003c6: ea39 bnez a2,1a00041c <dict_put_cell_typed+0x60>
1a0003c8: 07f00793 li a5,127
1a0003cc: 00b7ec63 bltu a5,a1,1a0003e4 <dict_put_cell_typed+0x28>
1a0003d0: 00b10e23 sb a1,28(sp)
1a0003d4: 4605 li a2,1
1a0003d6: 086c addi a1,sp,28
1a0003d8: 3775 jal 1a000384 <dict_put_bytes>
1a0003da: 50b2 lw ra,44(sp)
1a0003dc: 5422 lw s0,40(sp)
1a0003de: 5492 lw s1,36(sp)
1a0003e0: 6145 addi sp,sp,48
1a0003e2: 8082 ret
1a0003e4: 6791 lui a5,0x4
1a0003e6: 00f5fc63 bgeu a1,a5,1a0003fe <dict_put_cell_typed+0x42>
1a0003ea: 0085d793 srli a5,a1,0x8
1a0003ee: f807e793 ori a5,a5,-128
1a0003f2: 00f10e23 sb a5,28(sp)
1a0003f6: 00b10ea3 sb a1,29(sp)
1a0003fa: 4609 li a2,2
1a0003fc: bfe9 j 1a0003d6 <dict_put_cell_typed+0x1a>
1a0003fe: 57fd li a5,-1
1a000400: 4605 li a2,1
1a000402: 086c addi a1,sp,28
1a000404: 84aa mv s1,a0
1a000406: 00f10e23 sb a5,28(sp)
1a00040a: 3fad jal 1a000384 <dict_put_bytes>
1a00040c: 842a mv s0,a0
1a00040e: 4611 li a2,4
1a000410: 006c addi a1,sp,12
1a000412: 00148513 addi a0,s1,1
1a000416: 37bd jal 1a000384 <dict_put_bytes>
1a000418: 9522 add a0,a0,s0
1a00041a: b7c1 j 1a0003da <dict_put_cell_typed+0x1e>
1a00041c: 4525 li a0,9
1a00041e: 3dc1 jal 1a0002ee <zf_abort>
1a000420 <make_immediate>:
1a000420: 1101 addi sp,sp,-32
1a000422: cc22 sw s0,24(sp)
1a000424: 1c002437 lui s0,0x1c002
1a000428: d9040413 addi s0,s0,-624 # 1c001d90 <dict>
1a00042c: 4048 lw a0,4(s0)
1a00042e: 006c addi a1,sp,12
1a000430: ce06 sw ra,28(sp)
1a000432: 37b9 jal 1a000380 <dict_get_cell>
1a000434: 45b2 lw a1,12(sp)
1a000436: 4048 lw a0,4(s0)
1a000438: 4601 li a2,0
1a00043a: 0405e593 ori a1,a1,64
1a00043e: 3fbd jal 1a0003bc <dict_put_cell_typed>
1a000440: 40f2 lw ra,28(sp)
1a000442: 4462 lw s0,24(sp)
1a000444: 6105 addi sp,sp,32
1a000446: 8082 ret
1a000448 <dict_add_cell_typed>:
1a000448: 1141 addi sp,sp,-16
1a00044a: c422 sw s0,8(sp)
1a00044c: 1c002437 lui s0,0x1c002
1a000450: 862e mv a2,a1
1a000452: 85aa mv a1,a0
1a000454: d9042503 lw a0,-624(s0) # 1c001d90 <dict>
1a000458: c606 sw ra,12(sp)
1a00045a: 378d jal 1a0003bc <dict_put_cell_typed>
1a00045c: d9042783 lw a5,-624(s0)
1a000460: 40b2 lw ra,12(sp)
1a000462: 97aa add a5,a5,a0
1a000464: d8f42823 sw a5,-624(s0)
1a000468: 4422 lw s0,8(sp)
1a00046a: 0141 addi sp,sp,16
1a00046c: 8082 ret
1a00046e <dict_add_cell>:
1a00046e: 4581 li a1,0
1a000470: bfe1 j 1a000448 <dict_add_cell_typed>
1a000472 <create>:
1a000472: 1101 addi sp,sp,-32
1a000474: ce06 sw ra,28(sp)
1a000476: cc22 sw s0,24(sp)
1a000478: ca26 sw s1,20(sp)
1a00047a: c84a sw s2,16(sp)
1a00047c: c64e sw s3,12(sp)
1a00047e: 892e mv s2,a1
1a000480: 84aa mv s1,a0
1a000482: 31b5 jal 1a0000ee <strlen>
1a000484: 1c002437 lui s0,0x1c002
1a000488: 00a96533 or a0,s2,a0
1a00048c: d9042983 lw s3,-624(s0) # 1c001d90 <dict>
1a000490: d9040913 addi s2,s0,-624
1a000494: 3fe9 jal 1a00046e <dict_add_cell>
1a000496: 00492503 lw a0,4(s2)
1a00049a: 3fd1 jal 1a00046e <dict_add_cell>
1a00049c: 8526 mv a0,s1
1a00049e: 3981 jal 1a0000ee <strlen>
1a0004a0: 862a mv a2,a0
1a0004a2: d9042503 lw a0,-624(s0)
1a0004a6: 85a6 mv a1,s1
1a0004a8: 3df1 jal 1a000384 <dict_put_bytes>
1a0004aa: d9042783 lw a5,-624(s0)
1a0004ae: 40f2 lw ra,28(sp)
1a0004b0: 01392223 sw s3,4(s2)
1a0004b4: 97aa add a5,a5,a0
1a0004b6: d8f42823 sw a5,-624(s0)
1a0004ba: 4462 lw s0,24(sp)
1a0004bc: 44d2 lw s1,20(sp)
1a0004be: 4942 lw s2,16(sp)
1a0004c0: 49b2 lw s3,12(sp)
1a0004c2: 6105 addi sp,sp,32
1a0004c4: 8082 ret
1a0004c6 <zf_popr>:
1a0004c6: 1c003737 lui a4,0x1c003
1a0004ca: da072783 lw a5,-608(a4) # 1c002da0 <rsp>
1a0004ce: e789 bnez a5,1a0004d8 <zf_popr+0x12>
1a0004d0: 1141 addi sp,sp,-16
1a0004d2: 4515 li a0,5
1a0004d4: c606 sw ra,12(sp)
1a0004d6: 3d21 jal 1a0002ee <zf_abort>
1a0004d8: 17fd addi a5,a5,-1
1a0004da: daf72023 sw a5,-608(a4)
1a0004de: 1c002737 lui a4,0x1c002
1a0004e2: 93070713 addi a4,a4,-1744 # 1c001930 <jmpbuf>
1a0004e6: 078a slli a5,a5,0x2
1a0004e8: 97ba add a5,a5,a4
1a0004ea: 1307a503 lw a0,304(a5) # 4130 <__stack_size+0x3930>
1a0004ee: 8082 ret
1a0004f0 <zf_pushr>:
1a0004f0: 1c003737 lui a4,0x1c003
1a0004f4: da072783 lw a5,-608(a4) # 1c002da0 <rsp>
1a0004f8: 46fd li a3,31
1a0004fa: 00f6f663 bgeu a3,a5,1a000506 <zf_pushr+0x16>
1a0004fe: 1141 addi sp,sp,-16
1a000500: 4519 li a0,6
1a000502: c606 sw ra,12(sp)
1a000504: 33ed jal 1a0002ee <zf_abort>
1a000506: 00178693 addi a3,a5,1
1a00050a: dad72023 sw a3,-608(a4)
1a00050e: 00279713 slli a4,a5,0x2
1a000512: 1c0027b7 lui a5,0x1c002
1a000516: 93078793 addi a5,a5,-1744 # 1c001930 <jmpbuf>
1a00051a: 97ba add a5,a5,a4
1a00051c: 12a7a823 sw a0,304(a5)
1a000520: 8082 ret
1a000522 <zf_pop>:
1a000522: 1c003737 lui a4,0x1c003
1a000526: d9c72783 lw a5,-612(a4) # 1c002d9c <dsp>
1a00052a: e789 bnez a5,1a000534 <zf_pop+0x12>
1a00052c: 1141 addi sp,sp,-16
1a00052e: 450d li a0,3
1a000530: c606 sw ra,12(sp)
1a000532: 3b75 jal 1a0002ee <zf_abort>
1a000534: 17fd addi a5,a5,-1
1a000536: d8f72e23 sw a5,-612(a4)
1a00053a: 1c002737 lui a4,0x1c002
1a00053e: 93070713 addi a4,a4,-1744 # 1c001930 <jmpbuf>
1a000542: 078a slli a5,a5,0x2
1a000544: 97ba add a5,a5,a4
1a000546: 1b07a503 lw a0,432(a5)
1a00054a: 8082 ret
1a00054c <zf_push>:
1a00054c: 1c003737 lui a4,0x1c003
1a000550: d9c72783 lw a5,-612(a4) # 1c002d9c <dsp>
1a000554: 46fd li a3,31
1a000556: 00f6f663 bgeu a3,a5,1a000562 <zf_push+0x16>
1a00055a: 1141 addi sp,sp,-16
1a00055c: 4511 li a0,4
1a00055e: c606 sw ra,12(sp)
1a000560: 3379 jal 1a0002ee <zf_abort>
1a000562: 00178693 addi a3,a5,1
1a000566: d8d72e23 sw a3,-612(a4)
1a00056a: 00279713 slli a4,a5,0x2
1a00056e: 1c0027b7 lui a5,0x1c002
1a000572: 93078793 addi a5,a5,-1744 # 1c001930 <jmpbuf>
1a000576: 97ba add a5,a5,a4
1a000578: 1aa7a823 sw a0,432(a5)
1a00057c: 8082 ret
1a00057e <exit>:
1a00057e: 800007b7 lui a5,0x80000
1a000582: 8d5d or a0,a0,a5
1a000584: 1a1047b7 lui a5,0x1a104
1a000588: 0aa7a023 sw a0,160(a5) # 1a1040a0 <__lma_data_start+0x102b74>
1a00058c: a001 j 1a00058c <exit+0xe>
1a00058e <memcpy>:
1a00058e: 4781 li a5,0
1a000590: 00f61363 bne a2,a5,1a000596 <memcpy+0x8>
1a000594: 8082 ret
1a000596: 00f58733 add a4,a1,a5
1a00059a: 00074683 lbu a3,0(a4)
1a00059e: 00f50733 add a4,a0,a5
1a0005a2: 0785 addi a5,a5,1
1a0005a4: 00d70023 sb a3,0(a4)
1a0005a8: b7e5 j 1a000590 <memcpy+0x2>
1a0005aa <fflush.constprop.0>:
1a0005aa: 1101 addi sp,sp,-32
1a0005ac: 1c0037b7 lui a5,0x1c003
1a0005b0: c256 sw s5,4(sp)
1a0005b2: dac7aa83 lw s5,-596(a5) # 1c002dac <write_cnt>
1a0005b6: cc22 sw s0,24(sp)
1a0005b8: c84a sw s2,16(sp)
1a0005ba: ce06 sw ra,28(sp)
1a0005bc: ca26 sw s1,20(sp)
1a0005be: c64e sw s3,12(sp)
1a0005c0: c452 sw s4,8(sp)
1a0005c2: c05a sw s6,0(sp)
1a0005c4: 843e mv s0,a5
1a0005c6: 1a102937 lui s2,0x1a102
1a0005ca: 09892783 lw a5,152(s2) # 1a102098 <__lma_data_start+0x100b6c>
1a0005ce: 0207f793 andi a5,a5,32
1a0005d2: ffe5 bnez a5,1a0005ca <fflush.constprop.0+0x20>
1a0005d4: 1c003a37 lui s4,0x1c003
1a0005d8: da4a2483 lw s1,-604(s4) # 1c002da4 <which_buf>
1a0005dc: 1c0025b7 lui a1,0x1c002
1a0005e0: 93058593 addi a1,a1,-1744 # 1c001930 <jmpbuf>
1a0005e4: 00749793 slli a5,s1,0x7
1a0005e8: 23058993 addi s3,a1,560
1a0005ec: 99be add s3,s3,a5
1a0005ee: 8656 mv a2,s5
1a0005f0: 854e mv a0,s3
1a0005f2: 33058593 addi a1,a1,816
1a0005f6: 3f61 jal 1a00058e <memcpy>
1a0005f8: 09392823 sw s3,144(s2)
1a0005fc: 09592a23 sw s5,148(s2)
1a000600: 47c1 li a5,16
1a000602: 08f92c23 sw a5,152(s2)
1a000606: 40f2 lw ra,28(sp)
1a000608: da042623 sw zero,-596(s0)
1a00060c: 4462 lw s0,24(sp)
1a00060e: 0014b493 seqz s1,s1
1a000612: da9a2223 sw s1,-604(s4)
1a000616: 4942 lw s2,16(sp)
1a000618: 44d2 lw s1,20(sp)
1a00061a: 49b2 lw s3,12(sp)
1a00061c: 4a22 lw s4,8(sp)
1a00061e: 4a92 lw s5,4(sp)
1a000620: 4b02 lw s6,0(sp)
1a000622: 4501 li a0,0
1a000624: 6105 addi sp,sp,32
1a000626: 8082 ret
1a000628 <putchar>:
1a000628: 1c0037b7 lui a5,0x1c003
1a00062c: dac7a683 lw a3,-596(a5) # 1c002dac <write_cnt>
1a000630: 473d li a4,15
1a000632: 00d76d63 bltu a4,a3,1a00064c <putchar+0x24>
1a000636: 00168713 addi a4,a3,1
1a00063a: dae7a623 sw a4,-596(a5)
1a00063e: 1c002737 lui a4,0x1c002
1a000642: 93070713 addi a4,a4,-1744 # 1c001930 <jmpbuf>
1a000646: 9736 add a4,a4,a3
1a000648: 32a70823 sb a0,816(a4)
1a00064c: dac7a703 lw a4,-596(a5)
1a000650: 47c1 li a5,16
1a000652: 00f70563 beq a4,a5,1a00065c <putchar+0x34>
1a000656: 47a9 li a5,10
1a000658: 00f51963 bne a0,a5,1a00066a <putchar+0x42>
1a00065c: 1141 addi sp,sp,-16
1a00065e: c606 sw ra,12(sp)
1a000660: 37a9 jal 1a0005aa <fflush.constprop.0>
1a000662: 40b2 lw ra,12(sp)
1a000664: 4501 li a0,0
1a000666: 0141 addi sp,sp,16
1a000668: 8082 ret
1a00066a: 4501 li a0,0
1a00066c: 8082 ret
1a00066e <puts>:
1a00066e: 1141 addi sp,sp,-16
1a000670: c422 sw s0,8(sp)
1a000672: c606 sw ra,12(sp)
1a000674: 842a mv s0,a0
1a000676: 00044503 lbu a0,0(s0)
1a00067a: c501 beqz a0,1a000682 <puts+0x14>
1a00067c: 3775 jal 1a000628 <putchar>
1a00067e: 0405 addi s0,s0,1
1a000680: bfdd j 1a000676 <puts+0x8>
1a000682: 4529 li a0,10
1a000684: 3755 jal 1a000628 <putchar>
1a000686: 40b2 lw ra,12(sp)
1a000688: 4422 lw s0,8(sp)
1a00068a: 4501 li a0,0
1a00068c: 0141 addi sp,sp,16
1a00068e: 8082 ret
1a000690 <srec_data_read>:
1a000690: 1101 addi sp,sp,-32
1a000692: cc22 sw s0,24(sp)
1a000694: ca26 sw s1,20(sp)
1a000696: c84a sw s2,16(sp)
1a000698: c64e sw s3,12(sp)
1a00069a: c452 sw s4,8(sp)
1a00069c: ce06 sw ra,28(sp)
1a00069e: 893a mv s2,a4
1a0006a0: 8a3e mv s4,a5
1a0006a2: 00254703 lbu a4,2(a0)
1a0006a6: 00154783 lbu a5,1(a0)
1a0006aa: 84ae mv s1,a1
1a0006ac: 8432 mv s0,a2
1a0006ae: 89b6 mv s3,a3
1a0006b0: 00f70b63 beq a4,a5,1a0006c6 <srec_data_read+0x36>
1a0006b4: 02500713 li a4,37
1a0006b8: 02f77763 bgeu a4,a5,1a0006e6 <srec_data_read+0x56>
1a0006bc: 1a001537 lui a0,0x1a001
1a0006c0: 3e850513 addi a0,a0,1000 # 1a0013e8 <uservar_names+0x24>
1a0006c4: 376d jal 1a00066e <puts>
1a0006c6: 000a0763 beqz s4,1a0006d4 <srec_data_read+0x44>
1a0006ca: 1a001537 lui a0,0x1a001
1a0006ce: 42050513 addi a0,a0,1056 # 1a001420 <uservar_names+0x5c>
1a0006d2: 3f71 jal 1a00066e <puts>
1a0006d4: fff48793 addi a5,s1,-1
1a0006d8: 4709 li a4,2
1a0006da: 02f77d63 bgeu a4,a5,1a000714 <srec_data_read+0x84>
1a0006de: 4799 li a5,6
1a0006e0: 0297f263 bgeu a5,s1,1a000704 <srec_data_read+0x74>
1a0006e4: 8402 jr s0
1a0006e6: 1a001537 lui a0,0x1a001
1a0006ea: 40450513 addi a0,a0,1028 # 1a001404 <uservar_names+0x40>
1a0006ee: bfd9 j 1a0006c4 <srec_data_read+0x34>
1a0006f0: 00f986b3 add a3,s3,a5
1a0006f4: 0006c683 lbu a3,0(a3)
1a0006f8: 00f40733 add a4,s0,a5
1a0006fc: 0785 addi a5,a5,1
1a0006fe: c314 sw a3,0(a4)
1a000700: ff27c8e3 blt a5,s2,1a0006f0 <srec_data_read+0x60>
1a000704: 40f2 lw ra,28(sp)
1a000706: 4462 lw s0,24(sp)
1a000708: 44d2 lw s1,20(sp)
1a00070a: 4942 lw s2,16(sp)
1a00070c: 49b2 lw s3,12(sp)
1a00070e: 4a22 lw s4,8(sp)
1a000710: 6105 addi sp,sp,32
1a000712: 8082 ret
1a000714: 4781 li a5,0
1a000716: b7ed j 1a000700 <srec_data_read+0x70>
1a000718 <srec_end_read>:
1a000718: 00154783 lbu a5,1(a0)
1a00071c: c3c1 beqz a5,1a00079c <srec_end_read+0x84>
1a00071e: 1141 addi sp,sp,-16
1a000720: c422 sw s0,8(sp)
1a000722: c606 sw ra,12(sp)
1a000724: 842a mv s0,a0
1a000726: 00244803 lbu a6,2(s0)
1a00072a: 050d addi a0,a0,3
1a00072c: 872a mv a4,a0
1a00072e: 01050333 add t1,a0,a6
1a000732: 87c2 mv a5,a6
1a000734: 04671d63 bne a4,t1,1a00078e <srec_end_read+0x76>
1a000738: 00044583 lbu a1,0(s0)
1a00073c: 0785 addi a5,a5,1
1a00073e: 0ff7f793 andi a5,a5,255
1a000742: 8191 srli a1,a1,0x4
1a000744: 0015f713 andi a4,a1,1
1a000748: e319 bnez a4,1a00074e <srec_end_read+0x36>
1a00074a: 488d li a7,3
1a00074c: e581 bnez a1,1a000754 <srec_end_read+0x3c>
1a00074e: 0025f893 andi a7,a1,2
1a000752: 0889 addi a7,a7,2
1a000754: 011506b3 add a3,a0,a7
1a000758: 4601 li a2,0
1a00075a: 00054703 lbu a4,0(a0)
1a00075e: 0622 slli a2,a2,0x8
1a000760: 0505 addi a0,a0,1
1a000762: 8e59 or a2,a2,a4
1a000764: fea69be3 bne a3,a0,1a00075a <srec_end_read+0x42>
1a000768: 4701 li a4,0
1a00076a: 0066f663 bgeu a3,t1,1a000776 <srec_end_read+0x5e>
1a00076e: 41180833 sub a6,a6,a7
1a000772: fff80713 addi a4,a6,-1
1a000776: 8522 mv a0,s0
1a000778: 3f21 jal 1a000690 <srec_data_read>
1a00077a: 00040023 sb zero,0(s0)
1a00077e: 00040123 sb zero,2(s0)
1a000782: 000400a3 sb zero,1(s0)
1a000786: 40b2 lw ra,12(sp)
1a000788: 4422 lw s0,8(sp)
1a00078a: 0141 addi sp,sp,16
1a00078c: 8082 ret
1a00078e: 00074683 lbu a3,0(a4)
1a000792: 0705 addi a4,a4,1
1a000794: 97b6 add a5,a5,a3
1a000796: 0ff7f793 andi a5,a5,255
1a00079a: bf69 j 1a000734 <srec_end_read+0x1c>
1a00079c: 8082 ret
1a00079e <run>:
1a00079e: 7175 addi sp,sp,-144
1a0007a0: dcd2 sw s4,120(sp)
1a0007a2: dad6 sw s5,116(sp)
1a0007a4: 1c002a37 lui s4,0x1c002
1a0007a8: 1a001ab7 lui s5,0x1a001
1a0007ac: c326 sw s1,132(sp)
1a0007ae: dece sw s3,124(sp)
1a0007b0: d8da sw s6,112(sp)
1a0007b2: d6de sw s7,108(sp)
1a0007b4: d2e6 sw s9,100(sp)
1a0007b6: c706 sw ra,140(sp)
1a0007b8: c522 sw s0,136(sp)
1a0007ba: c14a sw s2,128(sp)
1a0007bc: d4e2 sw s8,104(sp)
1a0007be: d0ea sw s10,96(sp)
1a0007c0: 8caa mv s9,a0
1a0007c2: 1c0034b7 lui s1,0x1c003
1a0007c6: 27ca8a93 addi s5,s5,636 # 1a00127c <_endtext>
1a0007ca: 1c0039b7 lui s3,0x1c003
1a0007ce: 4b05 li s6,1
1a0007d0: 4b85 li s7,1
1a0007d2: 930a0a13 addi s4,s4,-1744 # 1c001930 <jmpbuf>
1a0007d6: d904a903 lw s2,-624(s1) # 1c002d90 <ip>
1a0007da: 04090663 beqz s2,1a000826 <run+0x88>
1a0007de: 086c addi a1,sp,28
1a0007e0: 854a mv a0,s2
1a0007e2: 3e79 jal 1a000380 <dict_get_cell>
1a0007e4: 4d72 lw s10,28(sp)
1a0007e6: 1c0037b7 lui a5,0x1c003
1a0007ea: 00a90433 add s0,s2,a0
1a0007ee: da07ac03 lw s8,-608(a5) # 1c002da0 <rsp>
1a0007f2: d884a823 sw s0,-624(s1)
1a0007f6: 02200793 li a5,34
1a0007fa: 41a7e763 bltu a5,s10,1a000c08 <run+0x46a>
1a0007fe: 02100793 li a5,33
1a000802: 41a7e163 bltu a5,s10,1a000c04 <run+0x466>
1a000806: 0d0a slli s10,s10,0x2
1a000808: 9d56 add s10,s10,s5
1a00080a: 000d2783 lw a5,0(s10)
1a00080e: 8782 jr a5
1a000810: 020c9963 bnez s9,1a000842 <run+0xa4>
1a000814: 4789 li a5,2
1a000816: d8f9ac23 sw a5,-616(s3) # 1c002d98 <input_state>
1a00081a: d989a783 lw a5,-616(s3)
1a00081e: 3e078963 beqz a5,1a000c10 <run+0x472>
1a000822: d924a823 sw s2,-624(s1)
1a000826: 40ba lw ra,140(sp)
1a000828: 442a lw s0,136(sp)
1a00082a: 449a lw s1,132(sp)
1a00082c: 490a lw s2,128(sp)
1a00082e: 59f6 lw s3,124(sp)
1a000830: 5a66 lw s4,120(sp)
1a000832: 5ad6 lw s5,116(sp)
1a000834: 5b46 lw s6,112(sp)
1a000836: 5bb6 lw s7,108(sp)
1a000838: 5c26 lw s8,104(sp)
1a00083a: 5c96 lw s9,100(sp)
1a00083c: 5d06 lw s10,96(sp)
1a00083e: 6149 addi sp,sp,144
1a000840: 8082 ret
1a000842: 4581 li a1,0
1a000844: 8566 mv a0,s9
1a000846: 3135 jal 1a000472 <create>
1a000848: 1c0027b7 lui a5,0x1c002
1a00084c: d967ae23 sw s6,-612(a5) # 1c001d9c <dict+0xc>
1a000850: b7e9 j 1a00081a <run+0x7c>
1a000852: 39c1 jal 1a000522 <zf_pop>
1a000854: 817d srli a0,a0,0x1f
1a000856: 39dd jal 1a00054c <zf_push>
1a000858: b7c9 j 1a00081a <run+0x7c>
1a00085a: 4501 li a0,0
1a00085c: 3909 jal 1a00046e <dict_add_cell>
1a00085e: 1c0027b7 lui a5,0x1c002
1a000862: d807ae23 sw zero,-612(a5) # 1c001d9c <dict+0xc>
1a000866: bf55 j 1a00081a <run+0x7c>
1a000868: 100c addi a1,sp,32
1a00086a: 8522 mv a0,s0
1a00086c: 3e11 jal 1a000380 <dict_get_cell>
1a00086e: 9522 add a0,a0,s0
1a000870: d8a4a823 sw a0,-624(s1)
1a000874: 5502 lw a0,32(sp)
1a000876: b7c5 j 1a000856 <run+0xb8>
1a000878: 31b9 jal 1a0004c6 <zf_popr>
1a00087a: d8a4a823 sw a0,-624(s1)
1a00087e: bf71 j 1a00081a <run+0x7c>
1a000880: 314d jal 1a000522 <zf_pop>
1a000882: c62a sw a0,12(sp)
1a000884: 3979 jal 1a000522 <zf_pop>
1a000886: 4711 li a4,4
1a000888: 4632 lw a2,12(sp)
1a00088a: 00a76d63 bltu a4,a0,1a0008a4 <run+0x106>
1a00088e: 00251793 slli a5,a0,0x2
1a000892: 1c002537 lui a0,0x1c002
1a000896: d9050513 addi a0,a0,-624 # 1c001d90 <dict>
1a00089a: 97aa add a5,a5,a0
1a00089c: 439c lw a5,0(a5)
1a00089e: 4505 li a0,1
1a0008a0: d03e sw a5,32(sp)
1a0008a2: bf55 j 1a000856 <run+0xb8>
1a0008a4: 100c addi a1,sp,32
1a0008a6: 3ca9 jal 1a000300 <dict_get_cell_typed>
1a0008a8: b77d j 1a000856 <run+0xb8>
1a0008aa: 39a5 jal 1a000522 <zf_pop>
1a0008ac: c62a sw a0,12(sp)
1a0008ae: 3995 jal 1a000522 <zf_pop>
1a0008b0: 4711 li a4,4
1a0008b2: 4632 lw a2,12(sp)
1a0008b4: 00a76c63 bltu a4,a0,1a0008cc <run+0x12e>
1a0008b8: 00251793 slli a5,a0,0x2
1a0008bc: 1c002537 lui a0,0x1c002
1a0008c0: d9050513 addi a0,a0,-624 # 1c001d90 <dict>
1a0008c4: 97aa add a5,a5,a0
1a0008c6: 439c lw a5,0(a5)
1a0008c8: d03e sw a5,32(sp)
1a0008ca: b76d j 1a000874 <run+0xd6>
1a0008cc: 100c addi a1,sp,32
1a0008ce: 3c0d jal 1a000300 <dict_get_cell_typed>
1a0008d0: b755 j 1a000874 <run+0xd6>
1a0008d2: 3981 jal 1a000522 <zf_pop>
1a0008d4: c62a sw a0,12(sp)
1a0008d6: 31b1 jal 1a000522 <zf_pop>
1a0008d8: 842a mv s0,a0
1a0008da: 31a1 jal 1a000522 <zf_pop>
1a0008dc: d02a sw a0,32(sp)
1a0008de: 4791 li a5,4
1a0008e0: 4632 lw a2,12(sp)
1a0008e2: 85aa mv a1,a0
1a0008e4: 0087ea63 bltu a5,s0,1a0008f8 <run+0x15a>
1a0008e8: 1c002537 lui a0,0x1c002
1a0008ec: 040a slli s0,s0,0x2
1a0008ee: d9050513 addi a0,a0,-624 # 1c001d90 <dict>
1a0008f2: 942a add s0,s0,a0
1a0008f4: c00c sw a1,0(s0)
1a0008f6: b715 j 1a00081a <run+0x7c>
1a0008f8: 8522 mv a0,s0
1a0008fa: 34c9 jal 1a0003bc <dict_put_cell_typed>
1a0008fc: bf39 j 1a00081a <run+0x7c>
1a0008fe: 3115 jal 1a000522 <zf_pop>
1a000900: 4108 lw a0,0(a0)
1a000902: bf91 j 1a000856 <run+0xb8>
1a000904: 3939 jal 1a000522 <zf_pop>
1a000906: 842a mv s0,a0
1a000908: 3929 jal 1a000522 <zf_pop>
1a00090a: c008 sw a0,0(s0)
1a00090c: b739 j 1a00081a <run+0x7c>
1a00090e: 3911 jal 1a000522 <zf_pop>
1a000910: d02a sw a0,32(sp)
1a000912: 3901 jal 1a000522 <zf_pop>
1a000914: 842a mv s0,a0
1a000916: 5502 lw a0,32(sp)
1a000918: 3915 jal 1a00054c <zf_push>
1a00091a: 8522 mv a0,s0
1a00091c: bf2d j 1a000856 <run+0xb8>
1a00091e: 3111 jal 1a000522 <zf_pop>
1a000920: d02a sw a0,32(sp)
1a000922: 3101 jal 1a000522 <zf_pop>
1a000924: 8c2a mv s8,a0
1a000926: 3ef5 jal 1a000522 <zf_pop>
1a000928: 842a mv s0,a0
1a00092a: 8562 mv a0,s8
1a00092c: 3105 jal 1a00054c <zf_push>
1a00092e: b7e5 j 1a000916 <run+0x178>
1a000930: 3ecd jal 1a000522 <zf_pop>
1a000932: b5e5 j 1a00081a <run+0x7c>
1a000934: 36fd jal 1a000522 <zf_pop>
1a000936: d02a sw a0,32(sp)
1a000938: 3911 jal 1a00054c <zf_push>
1a00093a: bf2d j 1a000874 <run+0xd6>
1a00093c: 36dd jal 1a000522 <zf_pop>
1a00093e: d02a sw a0,32(sp)
1a000940: 36cd jal 1a000522 <zf_pop>
1a000942: 5782 lw a5,32(sp)
1a000944: 953e add a0,a0,a5
1a000946: bf01 j 1a000856 <run+0xb8>
1a000948: 3ee9 jal 1a000522 <zf_pop>
1a00094a: d02a sw a0,32(sp)
1a00094c: 4795 li a5,5
1a00094e: 00a7ef63 bltu a5,a0,1a00096c <run+0x1ce>
1a000952: 1a0017b7 lui a5,0x1a001
1a000956: 30478793 addi a5,a5,772 # 1a001304 <_endtext+0x88>
1a00095a: 050a slli a0,a0,0x2
1a00095c: 953e add a0,a0,a5
1a00095e: 411c lw a5,0(a0)
1a000960: 8782 jr a5
1a000962: 36c1 jal 1a000522 <zf_pop>
1a000964: 0ff57513 andi a0,a0,255
1a000968: 31c1 jal 1a000628 <putchar>
1a00096a: 3181 jal 1a0005aa <fflush.constprop.0>
1a00096c: d809ac23 sw zero,-616(s3)
1a000970: b56d j 1a00081a <run+0x7c>
1a000972: 3e45 jal 1a000522 <zf_pop>
1a000974: 1a0015b7 lui a1,0x1a001
1a000978: 842a mv s0,a0
1a00097a: 02500613 li a2,37
1a00097e: 43c58593 addi a1,a1,1084 # 1a00143c <uservar_names+0x78>
1a000982: 1848 addi a0,sp,52
1a000984: 3129 jal 1a00058e <memcpy>
1a000986: 105c addi a5,sp,36
1a000988: 86be mv a3,a5
1a00098a: 4701 li a4,0