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
|
build/emulator.elf: file format elf32-littleriscv
Disassembly of section .init:
80000000 <_start>:
80000000: 00001117 auipc sp,0x1
80000004: 18810113 addi sp,sp,392 # 80001188 <_sp>
80000008: 00001517 auipc a0,0x1
8000000c: 8dc50513 addi a0,a0,-1828 # 800008e4 <__init_array_end>
80000010: 00001597 auipc a1,0x1
80000014: 8d458593 addi a1,a1,-1836 # 800008e4 <__init_array_end>
80000018: 00001617 auipc a2,0x1
8000001c: 97060613 addi a2,a2,-1680 # 80000988 <__bss_start>
80000020: 00c5fc63 bgeu a1,a2,80000038 <_start+0x38>
80000024: 00052283 lw t0,0(a0)
80000028: 0055a023 sw t0,0(a1)
8000002c: 00450513 addi a0,a0,4
80000030: 00458593 addi a1,a1,4
80000034: fec5e8e3 bltu a1,a2,80000024 <_start+0x24>
80000038: 00001517 auipc a0,0x1
8000003c: 95050513 addi a0,a0,-1712 # 80000988 <__bss_start>
80000040: 00001597 auipc a1,0x1
80000044: 94858593 addi a1,a1,-1720 # 80000988 <__bss_start>
80000048: 00b57863 bgeu a0,a1,80000058 <_start+0x58>
8000004c: 00052023 sw zero,0(a0)
80000050: 00450513 addi a0,a0,4
80000054: feb56ce3 bltu a0,a1,8000004c <_start+0x4c>
80000058: 7e4000ef jal ra,8000083c <__libc_init_array>
8000005c: 178000ef jal ra,800001d4 <init>
80000060: 00000097 auipc ra,0x0
80000064: 01408093 addi ra,ra,20 # 80000074 <done>
80000068: 00000513 li a0,0
8000006c: c30005b7 lui a1,0xc3000
80000070: 30200073 mret
80000074 <done>:
80000074: 0000006f j 80000074 <done>
80000078 <_init>:
80000078: 00008067 ret
8000007c <trapEntry>:
8000007c: 34011173 csrrw sp,mscratch,sp
80000080: 00112223 sw ra,4(sp)
80000084: 00312623 sw gp,12(sp)
80000088: 00412823 sw tp,16(sp)
8000008c: 00512a23 sw t0,20(sp)
80000090: 00612c23 sw t1,24(sp)
80000094: 00712e23 sw t2,28(sp)
80000098: 02812023 sw s0,32(sp)
8000009c: 02912223 sw s1,36(sp)
800000a0: 02a12423 sw a0,40(sp)
800000a4: 02b12623 sw a1,44(sp)
800000a8: 02c12823 sw a2,48(sp)
800000ac: 02d12a23 sw a3,52(sp)
800000b0: 02e12c23 sw a4,56(sp)
800000b4: 02f12e23 sw a5,60(sp)
800000b8: 05012023 sw a6,64(sp)
800000bc: 05112223 sw a7,68(sp)
800000c0: 05212423 sw s2,72(sp)
800000c4: 05312623 sw s3,76(sp)
800000c8: 05412823 sw s4,80(sp)
800000cc: 05512a23 sw s5,84(sp)
800000d0: 05612c23 sw s6,88(sp)
800000d4: 05712e23 sw s7,92(sp)
800000d8: 07812023 sw s8,96(sp)
800000dc: 07912223 sw s9,100(sp)
800000e0: 07a12423 sw s10,104(sp)
800000e4: 07b12623 sw s11,108(sp)
800000e8: 07c12823 sw t3,112(sp)
800000ec: 07d12a23 sw t4,116(sp)
800000f0: 07e12c23 sw t5,120(sp)
800000f4: 07f12e23 sw t6,124(sp)
800000f8: 2c4000ef jal ra,800003bc <trap>
800000fc: 00412083 lw ra,4(sp)
80000100: 00c12183 lw gp,12(sp)
80000104: 01012203 lw tp,16(sp)
80000108: 01412283 lw t0,20(sp)
8000010c: 01812303 lw t1,24(sp)
80000110: 01c12383 lw t2,28(sp)
80000114: 02012403 lw s0,32(sp)
80000118: 02412483 lw s1,36(sp)
8000011c: 02812503 lw a0,40(sp)
80000120: 02c12583 lw a1,44(sp)
80000124: 03012603 lw a2,48(sp)
80000128: 03412683 lw a3,52(sp)
8000012c: 03812703 lw a4,56(sp)
80000130: 03c12783 lw a5,60(sp)
80000134: 04012803 lw a6,64(sp)
80000138: 04412883 lw a7,68(sp)
8000013c: 04812903 lw s2,72(sp)
80000140: 04c12983 lw s3,76(sp)
80000144: 05012a03 lw s4,80(sp)
80000148: 05412a83 lw s5,84(sp)
8000014c: 05812b03 lw s6,88(sp)
80000150: 05c12b83 lw s7,92(sp)
80000154: 06012c03 lw s8,96(sp)
80000158: 06412c83 lw s9,100(sp)
8000015c: 06812d03 lw s10,104(sp)
80000160: 06c12d83 lw s11,108(sp)
80000164: 07012e03 lw t3,112(sp)
80000168: 07412e83 lw t4,116(sp)
8000016c: 07812f03 lw t5,120(sp)
80000170: 07c12f83 lw t6,124(sp)
80000174: 34011173 csrrw sp,mscratch,sp
80000178: 30200073 mret
Disassembly of section .text:
8000017c <putString>:
8000017c: ff010113 addi sp,sp,-16
80000180: 00812423 sw s0,8(sp)
80000184: 00112623 sw ra,12(sp)
80000188: 00050413 mv s0,a0
8000018c: 00054503 lbu a0,0(a0)
80000190: 00050a63 beqz a0,800001a4 <putString+0x28>
80000194: 00140413 addi s0,s0,1
80000198: 668000ef jal ra,80000800 <putC>
8000019c: 00044503 lbu a0,0(s0)
800001a0: fe051ae3 bnez a0,80000194 <putString+0x18>
800001a4: 00c12083 lw ra,12(sp)
800001a8: 00812403 lw s0,8(sp)
800001ac: 01010113 addi sp,sp,16
800001b0: 00008067 ret
800001b4 <setup_pmp>:
800001b4: 01f00793 li a5,31
800001b8: fff00713 li a4,-1
800001bc: 00000297 auipc t0,0x0
800001c0: 01428293 addi t0,t0,20 # 800001d0 <setup_pmp+0x1c>
800001c4: 30529073 csrw mtvec,t0
800001c8: 3b071073 csrw pmpaddr0,a4
800001cc: 3a079073 csrw pmpcfg0,a5
800001d0: 00008067 ret
800001d4 <init>:
800001d4: ff010113 addi sp,sp,-16
800001d8: 00112623 sw ra,12(sp)
800001dc: 00812423 sw s0,8(sp)
800001e0: 01f00793 li a5,31
800001e4: fff00713 li a4,-1
800001e8: 00000297 auipc t0,0x0
800001ec: 01428293 addi t0,t0,20 # 800001fc <init+0x28>
800001f0: 30529073 csrw mtvec,t0
800001f4: 3b071073 csrw pmpaddr0,a4
800001f8: 3a079073 csrw pmpcfg0,a5
800001fc: 80001437 lui s0,0x80001
80000200: 638000ef jal ra,80000838 <halInit>
80000204: 95840413 addi s0,s0,-1704 # 80000958 <_sp+0xfffff7d0>
80000208: 02a00513 li a0,42
8000020c: 00140413 addi s0,s0,1
80000210: 5f0000ef jal ra,80000800 <putC>
80000214: 00044503 lbu a0,0(s0)
80000218: fe051ae3 bnez a0,8000020c <init+0x38>
8000021c: 800007b7 lui a5,0x80000
80000220: 07c78793 addi a5,a5,124 # 8000007c <_sp+0xffffeef4>
80000224: 30579073 csrw mtvec,a5
80000228: 800017b7 lui a5,0x80001
8000022c: 10878793 addi a5,a5,264 # 80001108 <_sp+0xffffff80>
80000230: 34079073 csrw mscratch,a5
80000234: 000017b7 lui a5,0x1
80000238: 88078793 addi a5,a5,-1920 # 880 <__stack_size+0x80>
8000023c: 30079073 csrw mstatus,a5
80000240: 30405073 csrwi mie,0
80000244: c00007b7 lui a5,0xc0000
80000248: 34179073 csrw mepc,a5
8000024c: 0000b7b7 lui a5,0xb
80000250: 10078793 addi a5,a5,256 # b100 <__stack_size+0xa900>
80000254: 30279073 csrw medeleg,a5
80000258: 22200793 li a5,546
8000025c: 30379073 csrw mideleg,a5
80000260: 14305073 csrwi stval,0
80000264: 80001437 lui s0,0x80001
80000268: 97040413 addi s0,s0,-1680 # 80000970 <_sp+0xfffff7e8>
8000026c: 02a00513 li a0,42
80000270: 00140413 addi s0,s0,1
80000274: 58c000ef jal ra,80000800 <putC>
80000278: 00044503 lbu a0,0(s0)
8000027c: fe051ae3 bnez a0,80000270 <init+0x9c>
80000280: 00c12083 lw ra,12(sp)
80000284: 00812403 lw s0,8(sp)
80000288: 01010113 addi sp,sp,16
8000028c: 00008067 ret
80000290 <readRegister>:
80000290: 800017b7 lui a5,0x80001
80000294: 10878793 addi a5,a5,264 # 80001108 <_sp+0xffffff80>
80000298: 00251513 slli a0,a0,0x2
8000029c: 00f50533 add a0,a0,a5
800002a0: 00052503 lw a0,0(a0)
800002a4: 00008067 ret
800002a8 <writeRegister>:
800002a8: 800017b7 lui a5,0x80001
800002ac: 00251513 slli a0,a0,0x2
800002b0: 10878793 addi a5,a5,264 # 80001108 <_sp+0xffffff80>
800002b4: 00f50533 add a0,a0,a5
800002b8: 00b52023 sw a1,0(a0)
800002bc: 00008067 ret
800002c0 <redirectTrap>:
800002c0: ff010113 addi sp,sp,-16
800002c4: 00112623 sw ra,12(sp)
800002c8: 530000ef jal ra,800007f8 <stopSim>
800002cc: 343027f3 csrr a5,mtval
800002d0: 14379073 csrw stval,a5
800002d4: 341027f3 csrr a5,mepc
800002d8: 14179073 csrw sepc,a5
800002dc: 342027f3 csrr a5,mcause
800002e0: 14279073 csrw scause,a5
800002e4: 105027f3 csrr a5,stvec
800002e8: 34179073 csrw mepc,a5
800002ec: 00c12083 lw ra,12(sp)
800002f0: 01010113 addi sp,sp,16
800002f4: 00008067 ret
800002f8 <emulationTrapToSupervisorTrap>:
800002f8: 800007b7 lui a5,0x80000
800002fc: 07c78793 addi a5,a5,124 # 8000007c <_sp+0xffffeef4>
80000300: 30579073 csrw mtvec,a5
80000304: 343027f3 csrr a5,mtval
80000308: 14379073 csrw stval,a5
8000030c: 342027f3 csrr a5,mcause
80000310: 14279073 csrw scause,a5
80000314: 14151073 csrw sepc,a0
80000318: 105027f3 csrr a5,stvec
8000031c: 34179073 csrw mepc,a5
80000320: 0035d793 srli a5,a1,0x3
80000324: 00459713 slli a4,a1,0x4
80000328: 02077713 andi a4,a4,32
8000032c: 1007f793 andi a5,a5,256
80000330: 00e7e7b3 or a5,a5,a4
80000334: ffffe737 lui a4,0xffffe
80000338: 6dd70713 addi a4,a4,1757 # ffffe6dd <_sp+0x7fffd555>
8000033c: 00e5f5b3 and a1,a1,a4
80000340: 00b7e7b3 or a5,a5,a1
80000344: 000015b7 lui a1,0x1
80000348: 88058593 addi a1,a1,-1920 # 880 <__stack_size+0x80>
8000034c: 00b7e7b3 or a5,a5,a1
80000350: 30079073 csrw mstatus,a5
80000354: 00008067 ret
80000358 <readWord>:
80000358: 00020737 lui a4,0x20
8000035c: 30072073 csrs mstatus,a4
80000360: 00000717 auipc a4,0x0
80000364: 01870713 addi a4,a4,24 # 80000378 <readWord+0x20>
80000368: 30571073 csrw mtvec,a4
8000036c: 00100693 li a3,1
80000370: 00052783 lw a5,0(a0)
80000374: 00000693 li a3,0
80000378: 00020737 lui a4,0x20
8000037c: 30073073 csrc mstatus,a4
80000380: 00068513 mv a0,a3
80000384: 00f5a023 sw a5,0(a1)
80000388: 00008067 ret
8000038c <writeWord>:
8000038c: 00020737 lui a4,0x20
80000390: 30072073 csrs mstatus,a4
80000394: 00000717 auipc a4,0x0
80000398: 01870713 addi a4,a4,24 # 800003ac <writeWord+0x20>
8000039c: 30571073 csrw mtvec,a4
800003a0: 00100793 li a5,1
800003a4: 00b52023 sw a1,0(a0)
800003a8: 00000793 li a5,0
800003ac: 00020737 lui a4,0x20
800003b0: 30073073 csrc mstatus,a4
800003b4: 00078513 mv a0,a5
800003b8: 00008067 ret
800003bc <trap>:
800003bc: fe010113 addi sp,sp,-32
800003c0: 00112e23 sw ra,28(sp)
800003c4: 00812c23 sw s0,24(sp)
800003c8: 00912a23 sw s1,20(sp)
800003cc: 01212823 sw s2,16(sp)
800003d0: 01312623 sw s3,12(sp)
800003d4: 342027f3 csrr a5,mcause
800003d8: 0807cc63 bltz a5,80000470 <trap+0xb4>
800003dc: 00200713 li a4,2
800003e0: 0ce78463 beq a5,a4,800004a8 <trap+0xec>
800003e4: 00900693 li a3,9
800003e8: 04d79463 bne a5,a3,80000430 <trap+0x74>
800003ec: 80001437 lui s0,0x80001
800003f0: 18840413 addi s0,s0,392 # 80001188 <_sp+0x0>
800003f4: fc442783 lw a5,-60(s0)
800003f8: 00100693 li a3,1
800003fc: fa842503 lw a0,-88(s0)
80000400: 2ed78463 beq a5,a3,800006e8 <trap+0x32c>
80000404: 2ee78e63 beq a5,a4,80000700 <trap+0x344>
80000408: 2a078c63 beqz a5,800006c0 <trap+0x304>
8000040c: 01812403 lw s0,24(sp)
80000410: 01c12083 lw ra,28(sp)
80000414: 01412483 lw s1,20(sp)
80000418: 01012903 lw s2,16(sp)
8000041c: 00c12983 lw s3,12(sp)
80000420: 02010113 addi sp,sp,32
80000424: 3d40006f j 800007f8 <stopSim>
80000428: 00777713 andi a4,a4,7
8000042c: 12f70c63 beq a4,a5,80000564 <trap+0x1a8>
80000430: 3c8000ef jal ra,800007f8 <stopSim>
80000434: 343027f3 csrr a5,mtval
80000438: 14379073 csrw stval,a5
8000043c: 341027f3 csrr a5,mepc
80000440: 14179073 csrw sepc,a5
80000444: 342027f3 csrr a5,mcause
80000448: 14279073 csrw scause,a5
8000044c: 105027f3 csrr a5,stvec
80000450: 34179073 csrw mepc,a5
80000454: 01c12083 lw ra,28(sp)
80000458: 01812403 lw s0,24(sp)
8000045c: 01412483 lw s1,20(sp)
80000460: 01012903 lw s2,16(sp)
80000464: 00c12983 lw s3,12(sp)
80000468: 02010113 addi sp,sp,32
8000046c: 00008067 ret
80000470: 0ff7f793 andi a5,a5,255
80000474: 00700713 li a4,7
80000478: fae79ce3 bne a5,a4,80000430 <trap+0x74>
8000047c: 02000793 li a5,32
80000480: 1447a073 csrs sip,a5
80000484: 08000793 li a5,128
80000488: 3047b073 csrc mie,a5
8000048c: 01c12083 lw ra,28(sp)
80000490: 01812403 lw s0,24(sp)
80000494: 01412483 lw s1,20(sp)
80000498: 01012903 lw s2,16(sp)
8000049c: 00c12983 lw s3,12(sp)
800004a0: 02010113 addi sp,sp,32
800004a4: 00008067 ret
800004a8: 341024f3 csrr s1,mepc
800004ac: 300025f3 csrr a1,mstatus
800004b0: 34302473 csrr s0,mtval
800004b4: 02f00613 li a2,47
800004b8: 07f47693 andi a3,s0,127
800004bc: 00c45713 srli a4,s0,0xc
800004c0: f6c684e3 beq a3,a2,80000428 <trap+0x6c>
800004c4: 07300613 li a2,115
800004c8: f6c694e3 bne a3,a2,80000430 <trap+0x74>
800004cc: 00377713 andi a4,a4,3
800004d0: 10f70c63 beq a4,a5,800005e8 <trap+0x22c>
800004d4: 00300793 li a5,3
800004d8: 10f70863 beq a4,a5,800005e8 <trap+0x22c>
800004dc: 00100993 li s3,1
800004e0: 03370463 beq a4,s3,80000508 <trap+0x14c>
800004e4: 314000ef jal ra,800007f8 <stopSim>
800004e8: 343027f3 csrr a5,mtval
800004ec: 14379073 csrw stval,a5
800004f0: 341027f3 csrr a5,mepc
800004f4: 14179073 csrw sepc,a5
800004f8: 342027f3 csrr a5,mcause
800004fc: 14279073 csrw scause,a5
80000500: 105027f3 csrr a5,stvec
80000504: 34179073 csrw mepc,a5
80000508: 00001737 lui a4,0x1
8000050c: 01445793 srli a5,s0,0x14
80000510: c0070693 addi a3,a4,-1024 # c00 <__stack_size+0x400>
80000514: 0ed7e263 bltu a5,a3,800005f8 <trap+0x23c>
80000518: c0270713 addi a4,a4,-1022
8000051c: 0cf77063 bgeu a4,a5,800005dc <trap+0x220>
80000520: fffff737 lui a4,0xfffff
80000524: 38070713 addi a4,a4,896 # fffff380 <_sp+0x7fffe1f8>
80000528: 00e787b3 add a5,a5,a4
8000052c: 00200713 li a4,2
80000530: 0cf76463 bltu a4,a5,800005f8 <trap+0x23c>
80000534: 2e4000ef jal ra,80000818 <rdtimeh>
80000538: 00050913 mv s2,a0
8000053c: 1c099e63 bnez s3,80000718 <trap+0x35c>
80000540: 00545413 srli s0,s0,0x5
80000544: 800017b7 lui a5,0x80001
80000548: 10878793 addi a5,a5,264 # 80001108 <_sp+0xffffff80>
8000054c: 07c47413 andi s0,s0,124
80000550: 00f40433 add s0,s0,a5
80000554: 01242023 sw s2,0(s0)
80000558: 00448493 addi s1,s1,4
8000055c: 34149073 csrw mepc,s1
80000560: ef5ff06f j 80000454 <trap+0x98>
80000564: 00d45713 srli a4,s0,0xd
80000568: 01245793 srli a5,s0,0x12
8000056c: 800016b7 lui a3,0x80001
80000570: 10868693 addi a3,a3,264 # 80001108 <_sp+0xffffff80>
80000574: 07c77713 andi a4,a4,124
80000578: 07c7f793 andi a5,a5,124
8000057c: 00d70733 add a4,a4,a3
80000580: 00d787b3 add a5,a5,a3
80000584: 00072703 lw a4,0(a4)
80000588: 0007a603 lw a2,0(a5)
8000058c: 00020537 lui a0,0x20
80000590: 30052073 csrs mstatus,a0
80000594: 00000517 auipc a0,0x0
80000598: 01850513 addi a0,a0,24 # 800005ac <trap+0x1f0>
8000059c: 30551073 csrw mtvec,a0
800005a0: 00100793 li a5,1
800005a4: 00072803 lw a6,0(a4)
800005a8: 00000793 li a5,0
800005ac: 00020537 lui a0,0x20
800005b0: 30053073 csrc mstatus,a0
800005b4: 18079663 bnez a5,80000740 <trap+0x384>
800005b8: 01b45793 srli a5,s0,0x1b
800005bc: 01c00513 li a0,28
800005c0: e6f568e3 bltu a0,a5,80000430 <trap+0x74>
800005c4: 80001537 lui a0,0x80001
800005c8: 00279793 slli a5,a5,0x2
800005cc: 8e450513 addi a0,a0,-1820 # 800008e4 <_sp+0xfffff75c>
800005d0: 00a787b3 add a5,a5,a0
800005d4: 0007a783 lw a5,0(a5)
800005d8: 00078067 jr a5
800005dc: 234000ef jal ra,80000810 <rdtime>
800005e0: 00050913 mv s2,a0
800005e4: f59ff06f j 8000053c <trap+0x180>
800005e8: 00f45993 srli s3,s0,0xf
800005ec: 01f9f993 andi s3,s3,31
800005f0: 013039b3 snez s3,s3
800005f4: f15ff06f j 80000508 <trap+0x14c>
800005f8: 200000ef jal ra,800007f8 <stopSim>
800005fc: 343027f3 csrr a5,mtval
80000600: 14379073 csrw stval,a5
80000604: 341027f3 csrr a5,mepc
80000608: 14179073 csrw sepc,a5
8000060c: 342027f3 csrr a5,mcause
80000610: 14279073 csrw scause,a5
80000614: 105027f3 csrr a5,stvec
80000618: 34179073 csrw mepc,a5
8000061c: f21ff06f j 8000053c <trap+0x180>
80000620: 01067463 bgeu a2,a6,80000628 <trap+0x26c>
80000624: 00080613 mv a2,a6
80000628: 00020537 lui a0,0x20
8000062c: 30052073 csrs mstatus,a0
80000630: 00000517 auipc a0,0x0
80000634: 01850513 addi a0,a0,24 # 80000648 <trap+0x28c>
80000638: 30551073 csrw mtvec,a0
8000063c: 00100793 li a5,1
80000640: 00c72023 sw a2,0(a4)
80000644: 00000793 li a5,0
80000648: 00020537 lui a0,0x20
8000064c: 30053073 csrc mstatus,a0
80000650: 80000737 lui a4,0x80000
80000654: 07c70713 addi a4,a4,124 # 8000007c <_sp+0xffffeef4>
80000658: 14079463 bnez a5,800007a0 <trap+0x3e4>
8000065c: 00545793 srli a5,s0,0x5
80000660: 07c7f793 andi a5,a5,124
80000664: 00d786b3 add a3,a5,a3
80000668: 0106a023 sw a6,0(a3)
8000066c: 00448493 addi s1,s1,4
80000670: 34149073 csrw mepc,s1
80000674: 30571073 csrw mtvec,a4
80000678: dddff06f j 80000454 <trap+0x98>
8000067c: 01064633 xor a2,a2,a6
80000680: fa9ff06f j 80000628 <trap+0x26c>
80000684: fac872e3 bgeu a6,a2,80000628 <trap+0x26c>
80000688: 00080613 mv a2,a6
8000068c: f9dff06f j 80000628 <trap+0x26c>
80000690: f9065ce3 bge a2,a6,80000628 <trap+0x26c>
80000694: 00080613 mv a2,a6
80000698: f91ff06f j 80000628 <trap+0x26c>
8000069c: f8c856e3 bge a6,a2,80000628 <trap+0x26c>
800006a0: 00080613 mv a2,a6
800006a4: f85ff06f j 80000628 <trap+0x26c>
800006a8: 01067633 and a2,a2,a6
800006ac: f7dff06f j 80000628 <trap+0x26c>
800006b0: 01066633 or a2,a2,a6
800006b4: f75ff06f j 80000628 <trap+0x26c>
800006b8: 01060633 add a2,a2,a6
800006bc: f6dff06f j 80000628 <trap+0x26c>
800006c0: fac42583 lw a1,-84(s0)
800006c4: 15c000ef jal ra,80000820 <setMachineTimerCmp>
800006c8: 08000793 li a5,128
800006cc: 3047a073 csrs mie,a5
800006d0: 02000793 li a5,32
800006d4: 1447b073 csrc sip,a5
800006d8: 341027f3 csrr a5,mepc
800006dc: 00478793 addi a5,a5,4
800006e0: 34179073 csrw mepc,a5
800006e4: d71ff06f j 80000454 <trap+0x98>
800006e8: 0ff57513 andi a0,a0,255
800006ec: 114000ef jal ra,80000800 <putC>
800006f0: 341027f3 csrr a5,mepc
800006f4: 00478793 addi a5,a5,4
800006f8: 34179073 csrw mepc,a5
800006fc: d59ff06f j 80000454 <trap+0x98>
80000700: 108000ef jal ra,80000808 <getC>
80000704: faa42423 sw a0,-88(s0)
80000708: 341027f3 csrr a5,mepc
8000070c: 00478793 addi a5,a5,4
80000710: 34179073 csrw mepc,a5
80000714: d41ff06f j 80000454 <trap+0x98>
80000718: 0e0000ef jal ra,800007f8 <stopSim>
8000071c: 343027f3 csrr a5,mtval
80000720: 14379073 csrw stval,a5
80000724: 341027f3 csrr a5,mepc
80000728: 14179073 csrw sepc,a5
8000072c: 342027f3 csrr a5,mcause
80000730: 14279073 csrw scause,a5
80000734: 105027f3 csrr a5,stvec
80000738: 34179073 csrw mepc,a5
8000073c: e05ff06f j 80000540 <trap+0x184>
80000740: 800007b7 lui a5,0x80000
80000744: 07c78793 addi a5,a5,124 # 8000007c <_sp+0xffffeef4>
80000748: 30579073 csrw mtvec,a5
8000074c: 343027f3 csrr a5,mtval
80000750: 14379073 csrw stval,a5
80000754: 342027f3 csrr a5,mcause
80000758: 14279073 csrw scause,a5
8000075c: 14149073 csrw sepc,s1
80000760: 105027f3 csrr a5,stvec
80000764: 34179073 csrw mepc,a5
80000768: 0035d793 srli a5,a1,0x3
8000076c: 00459713 slli a4,a1,0x4
80000770: 02077713 andi a4,a4,32
80000774: 1007f793 andi a5,a5,256
80000778: 00e7e7b3 or a5,a5,a4
8000077c: ffffe737 lui a4,0xffffe
80000780: 6dd70713 addi a4,a4,1757 # ffffe6dd <_sp+0x7fffd555>
80000784: 00e5f5b3 and a1,a1,a4
80000788: 00001737 lui a4,0x1
8000078c: 00b7e7b3 or a5,a5,a1
80000790: 88070713 addi a4,a4,-1920 # 880 <__stack_size+0x80>
80000794: 00e7e7b3 or a5,a5,a4
80000798: 30079073 csrw mstatus,a5
8000079c: cb9ff06f j 80000454 <trap+0x98>
800007a0: 30571073 csrw mtvec,a4
800007a4: 343027f3 csrr a5,mtval
800007a8: 14379073 csrw stval,a5
800007ac: 342027f3 csrr a5,mcause
800007b0: 14279073 csrw scause,a5
800007b4: 14149073 csrw sepc,s1
800007b8: 105027f3 csrr a5,stvec
800007bc: 34179073 csrw mepc,a5
800007c0: 0035d793 srli a5,a1,0x3
800007c4: 00459713 slli a4,a1,0x4
800007c8: 02077713 andi a4,a4,32
800007cc: 1007f793 andi a5,a5,256
800007d0: 00e7e7b3 or a5,a5,a4
800007d4: ffffe737 lui a4,0xffffe
800007d8: 6dd70713 addi a4,a4,1757 # ffffe6dd <_sp+0x7fffd555>
800007dc: 00e5f5b3 and a1,a1,a4
800007e0: 00b7e5b3 or a1,a5,a1
800007e4: 000017b7 lui a5,0x1
800007e8: 88078793 addi a5,a5,-1920 # 880 <__stack_size+0x80>
800007ec: 00f5e7b3 or a5,a1,a5
800007f0: 30079073 csrw mstatus,a5
800007f4: c61ff06f j 80000454 <trap+0x98>
800007f8 <stopSim>:
800007f8: fe002e23 sw zero,-4(zero) # fffffffc <_sp+0x7fffee74>
800007fc: 0000006f j 800007fc <stopSim+0x4>
80000800 <putC>:
80000800: fea02c23 sw a0,-8(zero) # fffffff8 <_sp+0x7fffee70>
80000804: 00008067 ret
80000808 <getC>:
80000808: ff802503 lw a0,-8(zero) # fffffff8 <_sp+0x7fffee70>
8000080c: 00008067 ret
80000810 <rdtime>:
80000810: fe002503 lw a0,-32(zero) # ffffffe0 <_sp+0x7fffee58>
80000814: 00008067 ret
80000818 <rdtimeh>:
80000818: fe402503 lw a0,-28(zero) # ffffffe4 <_sp+0x7fffee5c>
8000081c: 00008067 ret
80000820 <setMachineTimerCmp>:
80000820: fec00793 li a5,-20
80000824: fff00713 li a4,-1
80000828: 00e7a023 sw a4,0(a5)
8000082c: fea02423 sw a0,-24(zero) # ffffffe8 <_sp+0x7fffee60>
80000830: 00b7a023 sw a1,0(a5)
80000834: 00008067 ret
80000838 <halInit>:
80000838: 00008067 ret
8000083c <__libc_init_array>:
8000083c: ff010113 addi sp,sp,-16
80000840: 00000797 auipc a5,0x0
80000844: 0a478793 addi a5,a5,164 # 800008e4 <__init_array_end>
80000848: 00812423 sw s0,8(sp)
8000084c: 00000417 auipc s0,0x0
80000850: 09840413 addi s0,s0,152 # 800008e4 <__init_array_end>
80000854: 40f40433 sub s0,s0,a5
80000858: 00912223 sw s1,4(sp)
8000085c: 01212023 sw s2,0(sp)
80000860: 00112623 sw ra,12(sp)
80000864: 40245413 srai s0,s0,0x2
80000868: 00000493 li s1,0
8000086c: 00078913 mv s2,a5
80000870: 04849263 bne s1,s0,800008b4 <__libc_init_array+0x78>
80000874: 805ff0ef jal ra,80000078 <_init>
80000878: 00000797 auipc a5,0x0
8000087c: 06c78793 addi a5,a5,108 # 800008e4 <__init_array_end>
80000880: 00000417 auipc s0,0x0
80000884: 06440413 addi s0,s0,100 # 800008e4 <__init_array_end>
80000888: 40f40433 sub s0,s0,a5
8000088c: 40245413 srai s0,s0,0x2
80000890: 00000493 li s1,0
80000894: 00078913 mv s2,a5
80000898: 02849a63 bne s1,s0,800008cc <__libc_init_array+0x90>
8000089c: 00c12083 lw ra,12(sp)
800008a0: 00812403 lw s0,8(sp)
800008a4: 00412483 lw s1,4(sp)
800008a8: 00012903 lw s2,0(sp)
800008ac: 01010113 addi sp,sp,16
800008b0: 00008067 ret
800008b4: 00249793 slli a5,s1,0x2
800008b8: 00f907b3 add a5,s2,a5
800008bc: 0007a783 lw a5,0(a5)
800008c0: 00148493 addi s1,s1,1
800008c4: 000780e7 jalr a5
800008c8: fa9ff06f j 80000870 <__libc_init_array+0x34>
800008cc: 00249793 slli a5,s1,0x2
800008d0: 00f907b3 add a5,s2,a5
800008d4: 0007a783 lw a5,0(a5)
800008d8: 00148493 addi s1,s1,1
800008dc: 000780e7 jalr a5
800008e0: fb9ff06f j 80000898 <__libc_init_array+0x5c>
|