hello:     file format elf32-littleriscv


Disassembly of section .init:

20400000 <_start>:
20400000:	5fc01197          	auipc	gp,0x5fc01
20400004:	c2818193          	addi	gp,gp,-984 # 80000c28 <_gp>
20400008:	5fc04117          	auipc	sp,0x5fc04
2040000c:	ff810113          	addi	sp,sp,-8 # 80004000 <_sp>
20400010:	00002517          	auipc	a0,0x2
20400014:	4cc50513          	addi	a0,a0,1228 # 204024dc <__fini_array_end>
20400018:	5fc00597          	auipc	a1,0x5fc00
2040001c:	fe858593          	addi	a1,a1,-24 # 80000000 <_data>
20400020:	5fc00617          	auipc	a2,0x5fc00
20400024:	41060613          	addi	a2,a2,1040 # 80000430 <__bss_start>
20400028:	00c5fc63          	bleu	a2,a1,20400040 <_start+0x40>
2040002c:	00052283          	lw	t0,0(a0)
20400030:	0055a023          	sw	t0,0(a1)
20400034:	00450513          	addi	a0,a0,4
20400038:	00458593          	addi	a1,a1,4
2040003c:	fec5e8e3          	bltu	a1,a2,2040002c <_start+0x2c>
20400040:	5fc00517          	auipc	a0,0x5fc00
20400044:	3f050513          	addi	a0,a0,1008 # 80000430 <__bss_start>
20400048:	5fc00597          	auipc	a1,0x5fc00
2040004c:	3f058593          	addi	a1,a1,1008 # 80000438 <_end>
20400050:	00b57863          	bleu	a1,a0,20400060 <_start+0x60>
20400054:	00052023          	sw	zero,0(a0)
20400058:	00450513          	addi	a0,a0,4
2040005c:	feb56ce3          	bltu	a0,a1,20400054 <_start+0x54>
20400060:	00001517          	auipc	a0,0x1
20400064:	5fc50513          	addi	a0,a0,1532 # 2040165c <__libc_fini_array>
20400068:	5a8010ef          	jal	ra,20401610 <atexit>
2040006c:	660010ef          	jal	ra,204016cc <__libc_init_array>
20400070:	00000513          	li	a0,0
20400074:	00000593          	li	a1,0
20400078:	384000ef          	jal	ra,204003fc <main>
2040007c:	5a80106f          	j	20401624 <exit>

Disassembly of section .text:

20400080 <trap_entry>:
20400080:	f8010113          	addi	sp,sp,-128
20400084:	00112223          	sw	ra,4(sp)
20400088:	00212423          	sw	sp,8(sp)
2040008c:	00312623          	sw	gp,12(sp)
20400090:	00412823          	sw	tp,16(sp)
20400094:	00512a23          	sw	t0,20(sp)
20400098:	00612c23          	sw	t1,24(sp)
2040009c:	00712e23          	sw	t2,28(sp)
204000a0:	02812023          	sw	s0,32(sp)
204000a4:	02912223          	sw	s1,36(sp)
204000a8:	02a12423          	sw	a0,40(sp)
204000ac:	02b12623          	sw	a1,44(sp)
204000b0:	02c12823          	sw	a2,48(sp)
204000b4:	02d12a23          	sw	a3,52(sp)
204000b8:	02e12c23          	sw	a4,56(sp)
204000bc:	02f12e23          	sw	a5,60(sp)
204000c0:	05012023          	sw	a6,64(sp)
204000c4:	05112223          	sw	a7,68(sp)
204000c8:	05212423          	sw	s2,72(sp)
204000cc:	05312623          	sw	s3,76(sp)
204000d0:	05412823          	sw	s4,80(sp)
204000d4:	05512a23          	sw	s5,84(sp)
204000d8:	05612c23          	sw	s6,88(sp)
204000dc:	05712e23          	sw	s7,92(sp)
204000e0:	07812023          	sw	s8,96(sp)
204000e4:	07912223          	sw	s9,100(sp)
204000e8:	07a12423          	sw	s10,104(sp)
204000ec:	07b12623          	sw	s11,108(sp)
204000f0:	07c12823          	sw	t3,112(sp)
204000f4:	07d12a23          	sw	t4,116(sp)
204000f8:	07e12c23          	sw	t5,120(sp)
204000fc:	07f12e23          	sw	t6,124(sp)
20400100:	34202573          	csrr	a0,mcause
20400104:	341025f3          	csrr	a1,mepc
20400108:	00010613          	mv	a2,sp
2040010c:	23c010ef          	jal	ra,20401348 <handle_trap>
20400110:	34151073          	csrw	mepc,a0
20400114:	000022b7          	lui	t0,0x2
20400118:	80028293          	addi	t0,t0,-2048 # 1800 <__stack_size+0x1000>
2040011c:	3002a073          	csrs	mstatus,t0
20400120:	00412083          	lw	ra,4(sp)
20400124:	00812103          	lw	sp,8(sp)
20400128:	00c12183          	lw	gp,12(sp)
2040012c:	01012203          	lw	tp,16(sp)
20400130:	01412283          	lw	t0,20(sp)
20400134:	01812303          	lw	t1,24(sp)
20400138:	01c12383          	lw	t2,28(sp)
2040013c:	02012403          	lw	s0,32(sp)
20400140:	02412483          	lw	s1,36(sp)
20400144:	02812503          	lw	a0,40(sp)
20400148:	02c12583          	lw	a1,44(sp)
2040014c:	03012603          	lw	a2,48(sp)
20400150:	03412683          	lw	a3,52(sp)
20400154:	03812703          	lw	a4,56(sp)
20400158:	03c12783          	lw	a5,60(sp)
2040015c:	04012803          	lw	a6,64(sp)
20400160:	04412883          	lw	a7,68(sp)
20400164:	04812903          	lw	s2,72(sp)
20400168:	04c12983          	lw	s3,76(sp)
2040016c:	05012a03          	lw	s4,80(sp)
20400170:	05412a83          	lw	s5,84(sp)
20400174:	05812b03          	lw	s6,88(sp)
20400178:	05c12b83          	lw	s7,92(sp)
2040017c:	06012c03          	lw	s8,96(sp)
20400180:	06412c83          	lw	s9,100(sp)
20400184:	06812d03          	lw	s10,104(sp)
20400188:	06c12d83          	lw	s11,108(sp)
2040018c:	07012e03          	lw	t3,112(sp)
20400190:	07412e83          	lw	t4,116(sp)
20400194:	07812f03          	lw	t5,120(sp)
20400198:	07c12f83          	lw	t6,124(sp)
2040019c:	08010113          	addi	sp,sp,128
204001a0:	30200073          	mret
204001a4:	0000006f          	j	204001a4 <trap_entry+0x124>

204001a8 <factorial>:
204001a8:	fd010113          	addi	sp,sp,-48
204001ac:	02112623          	sw	ra,44(sp)
204001b0:	02812423          	sw	s0,40(sp)
204001b4:	03010413          	addi	s0,sp,48
204001b8:	fca42e23          	sw	a0,-36(s0)
204001bc:	00100793          	li	a5,1
204001c0:	fef42423          	sw	a5,-24(s0)
204001c4:	00100793          	li	a5,1
204001c8:	fef42623          	sw	a5,-20(s0)
204001cc:	0280006f          	j	204001f4 <factorial+0x4c>
204001d0:	fe842783          	lw	a5,-24(s0)
204001d4:	fec42583          	lw	a1,-20(s0)
204001d8:	00078513          	mv	a0,a5
204001dc:	6b1010ef          	jal	ra,2040208c <__mulsi3>
204001e0:	00050793          	mv	a5,a0
204001e4:	fef42423          	sw	a5,-24(s0)
204001e8:	fec42783          	lw	a5,-20(s0)
204001ec:	00178793          	addi	a5,a5,1
204001f0:	fef42623          	sw	a5,-20(s0)
204001f4:	fec42703          	lw	a4,-20(s0)
204001f8:	fdc42783          	lw	a5,-36(s0)
204001fc:	fce7dae3          	ble	a4,a5,204001d0 <factorial+0x28>
20400200:	fe842783          	lw	a5,-24(s0)
20400204:	00078513          	mv	a0,a5
20400208:	02c12083          	lw	ra,44(sp)
2040020c:	02812403          	lw	s0,40(sp)
20400210:	03010113          	addi	sp,sp,48
20400214:	00008067          	ret

20400218 <read_adc>:
20400218:	fd010113          	addi	sp,sp,-48
2040021c:	02812623          	sw	s0,44(sp)
20400220:	03010413          	addi	s0,sp,48
20400224:	fca42e23          	sw	a0,-36(s0)
20400228:	fe042623          	sw	zero,-20(s0)
2040022c:	00100793          	li	a5,1
20400230:	fef40423          	sb	a5,-24(s0)
20400234:	fdc42783          	lw	a5,-36(s0)
20400238:	0ff7f793          	andi	a5,a5,255
2040023c:	00479793          	slli	a5,a5,0x4
20400240:	0ff7f793          	andi	a5,a5,255
20400244:	0707f793          	andi	a5,a5,112
20400248:	0ff7f793          	andi	a5,a5,255
2040024c:	f807e793          	ori	a5,a5,-128
20400250:	0ff7f793          	andi	a5,a5,255
20400254:	fef404a3          	sb	a5,-23(s0)
20400258:	fe040523          	sb	zero,-22(s0)
2040025c:	100127b7          	lui	a5,0x10012
20400260:	03c78793          	addi	a5,a5,60 # 1001203c <__stack_size+0x1001183c>
20400264:	0007a703          	lw	a4,0(a5)
20400268:	100127b7          	lui	a5,0x10012
2040026c:	03c78793          	addi	a5,a5,60 # 1001203c <__stack_size+0x1001183c>
20400270:	fc377713          	andi	a4,a4,-61
20400274:	00e7a023          	sw	a4,0(a5)
20400278:	100127b7          	lui	a5,0x10012
2040027c:	03878793          	addi	a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400280:	0007a703          	lw	a4,0(a5)
20400284:	100127b7          	lui	a5,0x10012
20400288:	03878793          	addi	a5,a5,56 # 10012038 <__stack_size+0x10011838>
2040028c:	03c76713          	ori	a4,a4,60
20400290:	00e7a023          	sw	a4,0(a5)
20400294:	100247b7          	lui	a5,0x10024
20400298:	04078793          	addi	a5,a5,64 # 10024040 <__stack_size+0x10023840>
2040029c:	00080737          	lui	a4,0x80
204002a0:	00e7a023          	sw	a4,0(a5)
204002a4:	100247b7          	lui	a5,0x10024
204002a8:	01078793          	addi	a5,a5,16 # 10024010 <__stack_size+0x10023810>
204002ac:	0007a023          	sw	zero,0(a5)
204002b0:	100247b7          	lui	a5,0x10024
204002b4:	01478793          	addi	a5,a5,20 # 10024014 <__stack_size+0x10023814>
204002b8:	00010737          	lui	a4,0x10
204002bc:	fff70713          	addi	a4,a4,-1 # ffff <__stack_size+0xf7ff>
204002c0:	00e7a023          	sw	a4,0(a5)
204002c4:	100247b7          	lui	a5,0x10024
204002c8:	00700713          	li	a4,7
204002cc:	00e7a023          	sw	a4,0(a5) # 10024000 <__stack_size+0x10023800>
204002d0:	100247b7          	lui	a5,0x10024
204002d4:	00478793          	addi	a5,a5,4 # 10024004 <__stack_size+0x10023804>
204002d8:	00300713          	li	a4,3
204002dc:	00e7a023          	sw	a4,0(a5)
204002e0:	100247b7          	lui	a5,0x10024
204002e4:	01878793          	addi	a5,a5,24 # 10024018 <__stack_size+0x10023818>
204002e8:	00200713          	li	a4,2
204002ec:	00e7a023          	sw	a4,0(a5)
204002f0:	00000013          	nop
204002f4:	100247b7          	lui	a5,0x10024
204002f8:	04878793          	addi	a5,a5,72 # 10024048 <__stack_size+0x10023848>
204002fc:	0007a783          	lw	a5,0(a5)
20400300:	fe07cae3          	bltz	a5,204002f4 <read_adc+0xdc>
20400304:	fe844703          	lbu	a4,-24(s0)
20400308:	100247b7          	lui	a5,0x10024
2040030c:	04878793          	addi	a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400310:	00e7a023          	sw	a4,0(a5)
20400314:	00000013          	nop
20400318:	100247b7          	lui	a5,0x10024
2040031c:	04c78793          	addi	a5,a5,76 # 1002404c <__stack_size+0x1002384c>
20400320:	0007a783          	lw	a5,0(a5)
20400324:	fef42223          	sw	a5,-28(s0)
20400328:	fe07c8e3          	bltz	a5,20400318 <read_adc+0x100>
2040032c:	00000013          	nop
20400330:	100247b7          	lui	a5,0x10024
20400334:	04878793          	addi	a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400338:	0007a783          	lw	a5,0(a5)
2040033c:	fe07cae3          	bltz	a5,20400330 <read_adc+0x118>
20400340:	fe944703          	lbu	a4,-23(s0)
20400344:	100247b7          	lui	a5,0x10024
20400348:	04878793          	addi	a5,a5,72 # 10024048 <__stack_size+0x10023848>
2040034c:	00e7a023          	sw	a4,0(a5)
20400350:	00000013          	nop
20400354:	100247b7          	lui	a5,0x10024
20400358:	04c78793          	addi	a5,a5,76 # 1002404c <__stack_size+0x1002384c>
2040035c:	0007a783          	lw	a5,0(a5)
20400360:	fef42223          	sw	a5,-28(s0)
20400364:	fe07c8e3          	bltz	a5,20400354 <read_adc+0x13c>
20400368:	fe442783          	lw	a5,-28(s0)
2040036c:	00879793          	slli	a5,a5,0x8
20400370:	00078713          	mv	a4,a5
20400374:	000107b7          	lui	a5,0x10
20400378:	f0078793          	addi	a5,a5,-256 # ff00 <__stack_size+0xf700>
2040037c:	00f777b3          	and	a5,a4,a5
20400380:	fef42623          	sw	a5,-20(s0)
20400384:	00000013          	nop
20400388:	100247b7          	lui	a5,0x10024
2040038c:	04878793          	addi	a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400390:	0007a783          	lw	a5,0(a5)
20400394:	fe07cae3          	bltz	a5,20400388 <read_adc+0x170>
20400398:	fea44703          	lbu	a4,-22(s0)
2040039c:	100247b7          	lui	a5,0x10024
204003a0:	04878793          	addi	a5,a5,72 # 10024048 <__stack_size+0x10023848>
204003a4:	00e7a023          	sw	a4,0(a5)
204003a8:	00000013          	nop
204003ac:	100247b7          	lui	a5,0x10024
204003b0:	04c78793          	addi	a5,a5,76 # 1002404c <__stack_size+0x1002384c>
204003b4:	0007a783          	lw	a5,0(a5)
204003b8:	fef42223          	sw	a5,-28(s0)
204003bc:	fe07c8e3          	bltz	a5,204003ac <read_adc+0x194>
204003c0:	fe442783          	lw	a5,-28(s0)
204003c4:	0ff7f793          	andi	a5,a5,255
204003c8:	00078713          	mv	a4,a5
204003cc:	fec42783          	lw	a5,-20(s0)
204003d0:	00e787b3          	add	a5,a5,a4
204003d4:	fef42623          	sw	a5,-20(s0)
204003d8:	100247b7          	lui	a5,0x10024
204003dc:	01878793          	addi	a5,a5,24 # 10024018 <__stack_size+0x10023818>
204003e0:	0007a023          	sw	zero,0(a5)
204003e4:	fec42783          	lw	a5,-20(s0)
204003e8:	3ff7f793          	andi	a5,a5,1023
204003ec:	00078513          	mv	a0,a5
204003f0:	02c12403          	lw	s0,44(sp)
204003f4:	03010113          	addi	sp,sp,48
204003f8:	00008067          	ret

204003fc <main>:
204003fc:	fe010113          	addi	sp,sp,-32
20400400:	00112e23          	sw	ra,28(sp)
20400404:	00812c23          	sw	s0,24(sp)
20400408:	02010413          	addi	s0,sp,32
2040040c:	100127b7          	lui	a5,0x10012
20400410:	03878793          	addi	a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400414:	0007a683          	lw	a3,0(a5)
20400418:	100127b7          	lui	a5,0x10012
2040041c:	03878793          	addi	a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400420:	00030737          	lui	a4,0x30
20400424:	00e6e733          	or	a4,a3,a4
20400428:	00e7a023          	sw	a4,0(a5)
2040042c:	00a00513          	li	a0,10
20400430:	d79ff0ef          	jal	ra,204001a8 <factorial>
20400434:	fea42423          	sw	a0,-24(s0)
20400438:	fe842583          	lw	a1,-24(s0)
2040043c:	204027b7          	lui	a5,0x20402
20400440:	1b078513          	addi	a0,a5,432 # 204021b0 <__clzsi2+0x4c>
20400444:	0d1000ef          	jal	ra,20400d14 <__wrap_printf>
20400448:	fe042623          	sw	zero,-20(s0)
2040044c:	0300006f          	j	2040047c <main+0x80>
20400450:	fec42503          	lw	a0,-20(s0)
20400454:	dc5ff0ef          	jal	ra,20400218 <read_adc>
20400458:	00050793          	mv	a5,a0
2040045c:	00078613          	mv	a2,a5
20400460:	fec42583          	lw	a1,-20(s0)
20400464:	204027b7          	lui	a5,0x20402
20400468:	1c878513          	addi	a0,a5,456 # 204021c8 <__clzsi2+0x64>
2040046c:	0a9000ef          	jal	ra,20400d14 <__wrap_printf>
20400470:	fec42783          	lw	a5,-20(s0)
20400474:	00178793          	addi	a5,a5,1
20400478:	fef42623          	sw	a5,-20(s0)
2040047c:	fec42703          	lw	a4,-20(s0)
20400480:	00700793          	li	a5,7
20400484:	fce7f6e3          	bleu	a4,a5,20400450 <main+0x54>
20400488:	204027b7          	lui	a5,0x20402
2040048c:	1e078513          	addi	a0,a5,480 # 204021e0 <__clzsi2+0x7c>
20400490:	085000ef          	jal	ra,20400d14 <__wrap_printf>
20400494:	00000793          	li	a5,0
20400498:	00078513          	mv	a0,a5
2040049c:	01c12083          	lw	ra,28(sp)
204004a0:	01812403          	lw	s0,24(sp)
204004a4:	02010113          	addi	sp,sp,32
204004a8:	00008067          	ret

204004ac <putchar>:
204004ac:	fe010113          	addi	sp,sp,-32
204004b0:	00112e23          	sw	ra,28(sp)
204004b4:	00812c23          	sw	s0,24(sp)
204004b8:	02010413          	addi	s0,sp,32
204004bc:	fea42623          	sw	a0,-20(s0)
204004c0:	fec40793          	addi	a5,s0,-20
204004c4:	00100613          	li	a2,1
204004c8:	00078593          	mv	a1,a5
204004cc:	00100513          	li	a0,1
204004d0:	785000ef          	jal	ra,20401454 <__wrap_write>
204004d4:	00050713          	mv	a4,a0
204004d8:	00100793          	li	a5,1
204004dc:	00f71663          	bne	a4,a5,204004e8 <putchar+0x3c>
204004e0:	fec42783          	lw	a5,-20(s0)
204004e4:	0080006f          	j	204004ec <putchar+0x40>
204004e8:	fff00793          	li	a5,-1
204004ec:	00078513          	mv	a0,a5
204004f0:	01c12083          	lw	ra,28(sp)
204004f4:	01812403          	lw	s0,24(sp)
204004f8:	02010113          	addi	sp,sp,32
204004fc:	00008067          	ret

20400500 <sprintf_putch>:
20400500:	fd010113          	addi	sp,sp,-48
20400504:	02812623          	sw	s0,44(sp)
20400508:	03010413          	addi	s0,sp,48
2040050c:	fca42e23          	sw	a0,-36(s0)
20400510:	fcb42c23          	sw	a1,-40(s0)
20400514:	fd842783          	lw	a5,-40(s0)
20400518:	fef42623          	sw	a5,-20(s0)
2040051c:	fec42783          	lw	a5,-20(s0)
20400520:	0007a783          	lw	a5,0(a5)
20400524:	fdc42703          	lw	a4,-36(s0)
20400528:	0ff77713          	andi	a4,a4,255
2040052c:	00e78023          	sb	a4,0(a5)
20400530:	fec42783          	lw	a5,-20(s0)
20400534:	0007a783          	lw	a5,0(a5)
20400538:	00178713          	addi	a4,a5,1
2040053c:	fec42783          	lw	a5,-20(s0)
20400540:	00e7a023          	sw	a4,0(a5)
20400544:	00000013          	nop
20400548:	02c12403          	lw	s0,44(sp)
2040054c:	03010113          	addi	sp,sp,48
20400550:	00008067          	ret

20400554 <getuint>:
20400554:	fe010113          	addi	sp,sp,-32
20400558:	00812e23          	sw	s0,28(sp)
2040055c:	02010413          	addi	s0,sp,32
20400560:	fea42623          	sw	a0,-20(s0)
20400564:	feb42423          	sw	a1,-24(s0)
20400568:	fe842783          	lw	a5,-24(s0)
2040056c:	02078063          	beqz	a5,2040058c <getuint+0x38>
20400570:	fec42783          	lw	a5,-20(s0)
20400574:	0007a783          	lw	a5,0(a5)
20400578:	00478693          	addi	a3,a5,4
2040057c:	fec42703          	lw	a4,-20(s0)
20400580:	00d72023          	sw	a3,0(a4) # 30000 <__stack_size+0x2f800>
20400584:	0007a783          	lw	a5,0(a5)
20400588:	01c0006f          	j	204005a4 <getuint+0x50>
2040058c:	fec42783          	lw	a5,-20(s0)
20400590:	0007a783          	lw	a5,0(a5)
20400594:	00478693          	addi	a3,a5,4
20400598:	fec42703          	lw	a4,-20(s0)
2040059c:	00d72023          	sw	a3,0(a4)
204005a0:	0007a783          	lw	a5,0(a5)
204005a4:	00078513          	mv	a0,a5
204005a8:	01c12403          	lw	s0,28(sp)
204005ac:	02010113          	addi	sp,sp,32
204005b0:	00008067          	ret

204005b4 <getint>:
204005b4:	fe010113          	addi	sp,sp,-32
204005b8:	00812e23          	sw	s0,28(sp)
204005bc:	02010413          	addi	s0,sp,32
204005c0:	fea42623          	sw	a0,-20(s0)
204005c4:	feb42423          	sw	a1,-24(s0)
204005c8:	fe842783          	lw	a5,-24(s0)
204005cc:	02078063          	beqz	a5,204005ec <getint+0x38>
204005d0:	fec42783          	lw	a5,-20(s0)
204005d4:	0007a783          	lw	a5,0(a5)
204005d8:	00478693          	addi	a3,a5,4
204005dc:	fec42703          	lw	a4,-20(s0)
204005e0:	00d72023          	sw	a3,0(a4)
204005e4:	0007a783          	lw	a5,0(a5)
204005e8:	01c0006f          	j	20400604 <getint+0x50>
204005ec:	fec42783          	lw	a5,-20(s0)
204005f0:	0007a783          	lw	a5,0(a5)
204005f4:	00478693          	addi	a3,a5,4
204005f8:	fec42703          	lw	a4,-20(s0)
204005fc:	00d72023          	sw	a3,0(a4)
20400600:	0007a783          	lw	a5,0(a5)
20400604:	00078513          	mv	a0,a5
20400608:	01c12403          	lw	s0,28(sp)
2040060c:	02010113          	addi	sp,sp,32
20400610:	00008067          	ret

20400614 <printnum>:
20400614:	f4010113          	addi	sp,sp,-192
20400618:	0a112e23          	sw	ra,188(sp)
2040061c:	0a812c23          	sw	s0,184(sp)
20400620:	0a912a23          	sw	s1,180(sp)
20400624:	0c010413          	addi	s0,sp,192
20400628:	f4a42e23          	sw	a0,-164(s0)
2040062c:	f4b42c23          	sw	a1,-168(s0)
20400630:	f4c42a23          	sw	a2,-172(s0)
20400634:	f4d42823          	sw	a3,-176(s0)
20400638:	f4e42623          	sw	a4,-180(s0)
2040063c:	f4f42423          	sw	a5,-184(s0)
20400640:	fe042623          	sw	zero,-20(s0)
20400644:	fec42483          	lw	s1,-20(s0)
20400648:	00148793          	addi	a5,s1,1
2040064c:	fef42623          	sw	a5,-20(s0)
20400650:	f5442783          	lw	a5,-172(s0)
20400654:	f5042583          	lw	a1,-176(s0)
20400658:	00078513          	mv	a0,a5
2040065c:	2a5010ef          	jal	ra,20402100 <__umodsi3>
20400660:	00050793          	mv	a5,a0
20400664:	00078713          	mv	a4,a5
20400668:	00249793          	slli	a5,s1,0x2
2040066c:	ff040693          	addi	a3,s0,-16
20400670:	00f687b3          	add	a5,a3,a5
20400674:	f6e7ae23          	sw	a4,-132(a5)
20400678:	f5442703          	lw	a4,-172(s0)
2040067c:	f5042783          	lw	a5,-176(s0)
20400680:	00f76e63          	bltu	a4,a5,2040069c <printnum+0x88>
20400684:	f5042583          	lw	a1,-176(s0)
20400688:	f5442503          	lw	a0,-172(s0)
2040068c:	22d010ef          	jal	ra,204020b8 <__udivsi3>
20400690:	00050793          	mv	a5,a0
20400694:	f4f42a23          	sw	a5,-172(s0)
20400698:	fadff06f          	j	20400644 <printnum+0x30>
2040069c:	00000013          	nop
204006a0:	0140006f          	j	204006b4 <printnum+0xa0>
204006a4:	f5c42783          	lw	a5,-164(s0)
204006a8:	f5842583          	lw	a1,-168(s0)
204006ac:	f4842503          	lw	a0,-184(s0)
204006b0:	000780e7          	jalr	a5
204006b4:	f4c42783          	lw	a5,-180(s0)
204006b8:	fff78713          	addi	a4,a5,-1
204006bc:	f4e42623          	sw	a4,-180(s0)
204006c0:	fec42703          	lw	a4,-20(s0)
204006c4:	fef740e3          	blt	a4,a5,204006a4 <printnum+0x90>
204006c8:	0540006f          	j	2040071c <printnum+0x108>
204006cc:	fec42783          	lw	a5,-20(s0)
204006d0:	00279793          	slli	a5,a5,0x2
204006d4:	ff040713          	addi	a4,s0,-16
204006d8:	00f707b3          	add	a5,a4,a5
204006dc:	f7c7a703          	lw	a4,-132(a5)
204006e0:	fec42783          	lw	a5,-20(s0)
204006e4:	00279793          	slli	a5,a5,0x2
204006e8:	ff040693          	addi	a3,s0,-16
204006ec:	00f687b3          	add	a5,a3,a5
204006f0:	f7c7a683          	lw	a3,-132(a5)
204006f4:	00900793          	li	a5,9
204006f8:	00d7f663          	bleu	a3,a5,20400704 <printnum+0xf0>
204006fc:	05700793          	li	a5,87
20400700:	0080006f          	j	20400708 <printnum+0xf4>
20400704:	03000793          	li	a5,48
20400708:	00e787b3          	add	a5,a5,a4
2040070c:	f5c42703          	lw	a4,-164(s0)
20400710:	f5842583          	lw	a1,-168(s0)
20400714:	00078513          	mv	a0,a5
20400718:	000700e7          	jalr	a4
2040071c:	fec42783          	lw	a5,-20(s0)
20400720:	fff78713          	addi	a4,a5,-1
20400724:	fee42623          	sw	a4,-20(s0)
20400728:	faf042e3          	bgtz	a5,204006cc <printnum+0xb8>
2040072c:	00000013          	nop
20400730:	0bc12083          	lw	ra,188(sp)
20400734:	0b812403          	lw	s0,184(sp)
20400738:	0b412483          	lw	s1,180(sp)
2040073c:	0c010113          	addi	sp,sp,192
20400740:	00008067          	ret

20400744 <print_double>:
20400744:	f9010113          	addi	sp,sp,-112
20400748:	06112623          	sw	ra,108(sp)
2040074c:	06812423          	sw	s0,104(sp)
20400750:	07212223          	sw	s2,100(sp)
20400754:	07312023          	sw	s3,96(sp)
20400758:	07010413          	addi	s0,sp,112
2040075c:	faa42623          	sw	a0,-84(s0)
20400760:	fab42423          	sw	a1,-88(s0)
20400764:	fac42023          	sw	a2,-96(s0)
20400768:	fad42223          	sw	a3,-92(s0)
2040076c:	f8e42e23          	sw	a4,-100(s0)
20400770:	f8f42c23          	sw	a5,-104(s0)
20400774:	fa042783          	lw	a5,-96(s0)
20400778:	fa442803          	lw	a6,-92(s0)
2040077c:	fcf42c23          	sw	a5,-40(s0)
20400780:	fd042e23          	sw	a6,-36(s0)
20400784:	fd842783          	lw	a5,-40(s0)
20400788:	fdc42803          	lw	a6,-36(s0)
2040078c:	00080793          	mv	a5,a6
20400790:	0207da63          	bgez	a5,204007c4 <print_double+0x80>
20400794:	fac42783          	lw	a5,-84(s0)
20400798:	fa842583          	lw	a1,-88(s0)
2040079c:	02d00513          	li	a0,45
204007a0:	000780e7          	jalr	a5
204007a4:	fd842783          	lw	a5,-40(s0)
204007a8:	fdc42803          	lw	a6,-36(s0)
204007ac:	fff7f913          	andi	s2,a5,-1
204007b0:	80000737          	lui	a4,0x80000
204007b4:	fff74713          	not	a4,a4
204007b8:	00e879b3          	and	s3,a6,a4
204007bc:	fd242c23          	sw	s2,-40(s0)
204007c0:	fd342e23          	sw	s3,-36(s0)
204007c4:	fe042623          	sw	zero,-20(s0)
204007c8:	0400006f          	j	20400808 <print_double+0xc4>
204007cc:	fd842783          	lw	a5,-40(s0)
204007d0:	fdc42803          	lw	a6,-36(s0)
204007d4:	20402737          	lui	a4,0x20402
204007d8:	35872603          	lw	a2,856(a4) # 20402358 <__clzsi2+0x1f4>
204007dc:	35c72683          	lw	a3,860(a4)
204007e0:	00078513          	mv	a0,a5
204007e4:	00080593          	mv	a1,a6
204007e8:	138010ef          	jal	ra,20401920 <__muldf3>
204007ec:	00050793          	mv	a5,a0
204007f0:	00058813          	mv	a6,a1
204007f4:	fcf42c23          	sw	a5,-40(s0)
204007f8:	fd042e23          	sw	a6,-36(s0)
204007fc:	fec42783          	lw	a5,-20(s0)
20400800:	00178793          	addi	a5,a5,1
20400804:	fef42623          	sw	a5,-20(s0)
20400808:	fec42703          	lw	a4,-20(s0)
2040080c:	f9842783          	lw	a5,-104(s0)
20400810:	faf74ee3          	blt	a4,a5,204007cc <print_double+0x88>
20400814:	fb840793          	addi	a5,s0,-72
20400818:	faf42a23          	sw	a5,-76(s0)
2040081c:	fd842783          	lw	a5,-40(s0)
20400820:	fdc42803          	lw	a6,-36(s0)
20400824:	00078513          	mv	a0,a5
20400828:	00080593          	mv	a1,a6
2040082c:	7e4010ef          	jal	ra,20402010 <__fixunsdfsi>
20400830:	00050613          	mv	a2,a0
20400834:	fb440593          	addi	a1,s0,-76
20400838:	00000793          	li	a5,0
2040083c:	00000713          	li	a4,0
20400840:	00a00693          	li	a3,10
20400844:	20400537          	lui	a0,0x20400
20400848:	50050513          	addi	a0,a0,1280 # 20400500 <sprintf_putch>
2040084c:	dc9ff0ef          	jal	ra,20400614 <printnum>
20400850:	f9842783          	lw	a5,-104(s0)
20400854:	06f05863          	blez	a5,204008c4 <print_double+0x180>
20400858:	fe042423          	sw	zero,-24(s0)
2040085c:	0380006f          	j	20400894 <print_double+0x150>
20400860:	fb442703          	lw	a4,-76(s0)
20400864:	fe842783          	lw	a5,-24(s0)
20400868:	fff7c793          	not	a5,a5
2040086c:	00f70733          	add	a4,a4,a5
20400870:	fb442783          	lw	a5,-76(s0)
20400874:	fe842683          	lw	a3,-24(s0)
20400878:	40d006b3          	neg	a3,a3
2040087c:	00d787b3          	add	a5,a5,a3
20400880:	00074703          	lbu	a4,0(a4)
20400884:	00e78023          	sb	a4,0(a5)
20400888:	fe842783          	lw	a5,-24(s0)
2040088c:	00178793          	addi	a5,a5,1
20400890:	fef42423          	sw	a5,-24(s0)
20400894:	fe842703          	lw	a4,-24(s0)
20400898:	f9842783          	lw	a5,-104(s0)
2040089c:	fcf742e3          	blt	a4,a5,20400860 <print_double+0x11c>
204008a0:	fb442783          	lw	a5,-76(s0)
204008a4:	f9842703          	lw	a4,-104(s0)
204008a8:	40e00733          	neg	a4,a4
204008ac:	00e787b3          	add	a5,a5,a4
204008b0:	02e00713          	li	a4,46
204008b4:	00e78023          	sb	a4,0(a5)
204008b8:	fb442783          	lw	a5,-76(s0)
204008bc:	00178793          	addi	a5,a5,1
204008c0:	faf42a23          	sw	a5,-76(s0)
204008c4:	fb840793          	addi	a5,s0,-72
204008c8:	fef42223          	sw	a5,-28(s0)
204008cc:	0280006f          	j	204008f4 <print_double+0x1b0>
204008d0:	fe442783          	lw	a5,-28(s0)
204008d4:	0007c783          	lbu	a5,0(a5)
204008d8:	fac42703          	lw	a4,-84(s0)
204008dc:	fa842583          	lw	a1,-88(s0)
204008e0:	00078513          	mv	a0,a5
204008e4:	000700e7          	jalr	a4
204008e8:	fe442783          	lw	a5,-28(s0)
204008ec:	00178793          	addi	a5,a5,1
204008f0:	fef42223          	sw	a5,-28(s0)
204008f4:	fb442783          	lw	a5,-76(s0)
204008f8:	fe442703          	lw	a4,-28(s0)
204008fc:	fcf76ae3          	bltu	a4,a5,204008d0 <print_double+0x18c>
20400900:	00000013          	nop
20400904:	06c12083          	lw	ra,108(sp)
20400908:	06812403          	lw	s0,104(sp)
2040090c:	06412903          	lw	s2,100(sp)
20400910:	06012983          	lw	s3,96(sp)
20400914:	07010113          	addi	sp,sp,112
20400918:	00008067          	ret

2040091c <vprintfmt>:
2040091c:	fc010113          	addi	sp,sp,-64
20400920:	02112e23          	sw	ra,60(sp)
20400924:	02812c23          	sw	s0,56(sp)
20400928:	02912a23          	sw	s1,52(sp)
2040092c:	03212823          	sw	s2,48(sp)
20400930:	04010413          	addi	s0,sp,64
20400934:	fca42623          	sw	a0,-52(s0)
20400938:	fcb42423          	sw	a1,-56(s0)
2040093c:	fcc42223          	sw	a2,-60(s0)
20400940:	fcd42023          	sw	a3,-64(s0)
20400944:	0240006f          	j	20400968 <vprintfmt+0x4c>
20400948:	3a048863          	beqz	s1,20400cf8 <vprintfmt+0x3dc>
2040094c:	fc442783          	lw	a5,-60(s0)
20400950:	00178793          	addi	a5,a5,1
20400954:	fcf42223          	sw	a5,-60(s0)
20400958:	fcc42783          	lw	a5,-52(s0)
2040095c:	fc842583          	lw	a1,-56(s0)
20400960:	00048513          	mv	a0,s1
20400964:	000780e7          	jalr	a5
20400968:	fc442783          	lw	a5,-60(s0)
2040096c:	0007c783          	lbu	a5,0(a5)
20400970:	00078493          	mv	s1,a5
20400974:	02500793          	li	a5,37
20400978:	fcf498e3          	bne	s1,a5,20400948 <vprintfmt+0x2c>
2040097c:	fc442783          	lw	a5,-60(s0)
20400980:	00178793          	addi	a5,a5,1
20400984:	fcf42223          	sw	a5,-60(s0)
20400988:	fc442783          	lw	a5,-60(s0)
2040098c:	fcf42a23          	sw	a5,-44(s0)
20400990:	02000793          	li	a5,32
20400994:	fcf40da3          	sb	a5,-37(s0)
20400998:	fff00793          	li	a5,-1
2040099c:	fef42023          	sw	a5,-32(s0)
204009a0:	fff00793          	li	a5,-1
204009a4:	fcf42e23          	sw	a5,-36(s0)
204009a8:	fe042223          	sw	zero,-28(s0)
204009ac:	fc042823          	sw	zero,-48(s0)
204009b0:	fc442783          	lw	a5,-60(s0)
204009b4:	00178713          	addi	a4,a5,1
204009b8:	fce42223          	sw	a4,-60(s0)
204009bc:	0007c783          	lbu	a5,0(a5)
204009c0:	00078493          	mv	s1,a5
204009c4:	fdd48793          	addi	a5,s1,-35
204009c8:	05500713          	li	a4,85
204009cc:	30f76663          	bltu	a4,a5,20400cd8 <vprintfmt+0x3bc>
204009d0:	00279713          	slli	a4,a5,0x2
204009d4:	204027b7          	lui	a5,0x20402
204009d8:	20078793          	addi	a5,a5,512 # 20402200 <__clzsi2+0x9c>
204009dc:	00f707b3          	add	a5,a4,a5
204009e0:	0007a783          	lw	a5,0(a5)
204009e4:	00078067          	jr	a5
204009e8:	02d00793          	li	a5,45
204009ec:	fcf40da3          	sb	a5,-37(s0)
204009f0:	fc1ff06f          	j	204009b0 <vprintfmt+0x94>
204009f4:	03000793          	li	a5,48
204009f8:	fcf40da3          	sb	a5,-37(s0)
204009fc:	fb5ff06f          	j	204009b0 <vprintfmt+0x94>
20400a00:	fc042e23          	sw	zero,-36(s0)
20400a04:	fdc42703          	lw	a4,-36(s0)
20400a08:	00070793          	mv	a5,a4
20400a0c:	00279793          	slli	a5,a5,0x2
20400a10:	00e787b3          	add	a5,a5,a4
20400a14:	00179793          	slli	a5,a5,0x1
20400a18:	00f487b3          	add	a5,s1,a5
20400a1c:	fd078793          	addi	a5,a5,-48
20400a20:	fcf42e23          	sw	a5,-36(s0)
20400a24:	fc442783          	lw	a5,-60(s0)
20400a28:	0007c783          	lbu	a5,0(a5)
20400a2c:	00078493          	mv	s1,a5
20400a30:	02f00793          	li	a5,47
20400a34:	0497d863          	ble	s1,a5,20400a84 <vprintfmt+0x168>
20400a38:	03900793          	li	a5,57
20400a3c:	0497c463          	blt	a5,s1,20400a84 <vprintfmt+0x168>
20400a40:	fc442783          	lw	a5,-60(s0)
20400a44:	00178793          	addi	a5,a5,1
20400a48:	fcf42223          	sw	a5,-60(s0)
20400a4c:	fb9ff06f          	j	20400a04 <vprintfmt+0xe8>
20400a50:	fc042783          	lw	a5,-64(s0)
20400a54:	00478713          	addi	a4,a5,4
20400a58:	fce42023          	sw	a4,-64(s0)
20400a5c:	0007a783          	lw	a5,0(a5)
20400a60:	fcf42e23          	sw	a5,-36(s0)
20400a64:	0240006f          	j	20400a88 <vprintfmt+0x16c>
20400a68:	fe042783          	lw	a5,-32(s0)
20400a6c:	f407d2e3          	bgez	a5,204009b0 <vprintfmt+0x94>
20400a70:	fe042023          	sw	zero,-32(s0)
20400a74:	f3dff06f          	j	204009b0 <vprintfmt+0x94>
20400a78:	00100793          	li	a5,1
20400a7c:	fcf42823          	sw	a5,-48(s0)
20400a80:	f31ff06f          	j	204009b0 <vprintfmt+0x94>
20400a84:	00000013          	nop
20400a88:	fe042783          	lw	a5,-32(s0)
20400a8c:	f207d2e3          	bgez	a5,204009b0 <vprintfmt+0x94>
20400a90:	fdc42783          	lw	a5,-36(s0)
20400a94:	fef42023          	sw	a5,-32(s0)
20400a98:	fff00793          	li	a5,-1
20400a9c:	fcf42e23          	sw	a5,-36(s0)
20400aa0:	f11ff06f          	j	204009b0 <vprintfmt+0x94>
20400aa4:	fe442783          	lw	a5,-28(s0)
20400aa8:	22079663          	bnez	a5,20400cd4 <vprintfmt+0x3b8>
20400aac:	f05ff06f          	j	204009b0 <vprintfmt+0x94>
20400ab0:	fc042783          	lw	a5,-64(s0)
20400ab4:	00478713          	addi	a4,a5,4
20400ab8:	fce42023          	sw	a4,-64(s0)
20400abc:	0007a783          	lw	a5,0(a5)
20400ac0:	fcc42703          	lw	a4,-52(s0)
20400ac4:	fc842583          	lw	a1,-56(s0)
20400ac8:	00078513          	mv	a0,a5
20400acc:	000700e7          	jalr	a4
20400ad0:	2240006f          	j	20400cf4 <vprintfmt+0x3d8>
20400ad4:	fc042783          	lw	a5,-64(s0)
20400ad8:	00778793          	addi	a5,a5,7
20400adc:	ff87f793          	andi	a5,a5,-8
20400ae0:	00878713          	addi	a4,a5,8
20400ae4:	fce42023          	sw	a4,-64(s0)
20400ae8:	0007a603          	lw	a2,0(a5)
20400aec:	0047a683          	lw	a3,4(a5)
20400af0:	fdc42783          	lw	a5,-36(s0)
20400af4:	fe042703          	lw	a4,-32(s0)
20400af8:	fc842583          	lw	a1,-56(s0)
20400afc:	fcc42503          	lw	a0,-52(s0)
20400b00:	c45ff0ef          	jal	ra,20400744 <print_double>
20400b04:	1f00006f          	j	20400cf4 <vprintfmt+0x3d8>
20400b08:	fc042783          	lw	a5,-64(s0)
20400b0c:	00478713          	addi	a4,a5,4
20400b10:	fce42023          	sw	a4,-64(s0)
20400b14:	0007a903          	lw	s2,0(a5)
20400b18:	00091663          	bnez	s2,20400b24 <vprintfmt+0x208>
20400b1c:	204027b7          	lui	a5,0x20402
20400b20:	1f878913          	addi	s2,a5,504 # 204021f8 <__clzsi2+0x94>
20400b24:	fe042783          	lw	a5,-32(s0)
20400b28:	08f05063          	blez	a5,20400ba8 <vprintfmt+0x28c>
20400b2c:	fdb44703          	lbu	a4,-37(s0)
20400b30:	02d00793          	li	a5,45
20400b34:	06f70a63          	beq	a4,a5,20400ba8 <vprintfmt+0x28c>
20400b38:	fdc42783          	lw	a5,-36(s0)
20400b3c:	00078593          	mv	a1,a5
20400b40:	00090513          	mv	a0,s2
20400b44:	421000ef          	jal	ra,20401764 <strnlen>
20400b48:	00050713          	mv	a4,a0
20400b4c:	fe042783          	lw	a5,-32(s0)
20400b50:	40e787b3          	sub	a5,a5,a4
20400b54:	fef42023          	sw	a5,-32(s0)
20400b58:	0240006f          	j	20400b7c <vprintfmt+0x260>
20400b5c:	fdb44783          	lbu	a5,-37(s0)
20400b60:	fcc42703          	lw	a4,-52(s0)
20400b64:	fc842583          	lw	a1,-56(s0)
20400b68:	00078513          	mv	a0,a5
20400b6c:	000700e7          	jalr	a4
20400b70:	fe042783          	lw	a5,-32(s0)
20400b74:	fff78793          	addi	a5,a5,-1
20400b78:	fef42023          	sw	a5,-32(s0)
20400b7c:	fe042783          	lw	a5,-32(s0)
20400b80:	fcf04ee3          	bgtz	a5,20400b5c <vprintfmt+0x240>
20400b84:	0240006f          	j	20400ba8 <vprintfmt+0x28c>
20400b88:	fcc42783          	lw	a5,-52(s0)
20400b8c:	fc842583          	lw	a1,-56(s0)
20400b90:	00048513          	mv	a0,s1
20400b94:	000780e7          	jalr	a5
20400b98:	00190913          	addi	s2,s2,1
20400b9c:	fe042783          	lw	a5,-32(s0)
20400ba0:	fff78793          	addi	a5,a5,-1
20400ba4:	fef42023          	sw	a5,-32(s0)
20400ba8:	00094783          	lbu	a5,0(s2)
20400bac:	00078493          	mv	s1,a5
20400bb0:	04048063          	beqz	s1,20400bf0 <vprintfmt+0x2d4>
20400bb4:	fdc42783          	lw	a5,-36(s0)
20400bb8:	fc07c8e3          	bltz	a5,20400b88 <vprintfmt+0x26c>
20400bbc:	fdc42783          	lw	a5,-36(s0)
20400bc0:	fff78793          	addi	a5,a5,-1
20400bc4:	fcf42e23          	sw	a5,-36(s0)
20400bc8:	fdc42783          	lw	a5,-36(s0)
20400bcc:	fa07dee3          	bgez	a5,20400b88 <vprintfmt+0x26c>
20400bd0:	0200006f          	j	20400bf0 <vprintfmt+0x2d4>
20400bd4:	fcc42783          	lw	a5,-52(s0)
20400bd8:	fc842583          	lw	a1,-56(s0)
20400bdc:	02000513          	li	a0,32
20400be0:	000780e7          	jalr	a5
20400be4:	fe042783          	lw	a5,-32(s0)
20400be8:	fff78793          	addi	a5,a5,-1
20400bec:	fef42023          	sw	a5,-32(s0)
20400bf0:	fe042783          	lw	a5,-32(s0)
20400bf4:	fef040e3          	bgtz	a5,20400bd4 <vprintfmt+0x2b8>
20400bf8:	0fc0006f          	j	20400cf4 <vprintfmt+0x3d8>
20400bfc:	fc040793          	addi	a5,s0,-64
20400c00:	fe442583          	lw	a1,-28(s0)
20400c04:	00078513          	mv	a0,a5
20400c08:	9adff0ef          	jal	ra,204005b4 <getint>
20400c0c:	00050793          	mv	a5,a0
20400c10:	fef42623          	sw	a5,-20(s0)
20400c14:	fec42783          	lw	a5,-20(s0)
20400c18:	0207d063          	bgez	a5,20400c38 <vprintfmt+0x31c>
20400c1c:	fcc42783          	lw	a5,-52(s0)
20400c20:	fc842583          	lw	a1,-56(s0)
20400c24:	02d00513          	li	a0,45
20400c28:	000780e7          	jalr	a5
20400c2c:	fec42783          	lw	a5,-20(s0)
20400c30:	40f007b3          	neg	a5,a5
20400c34:	fef42623          	sw	a5,-20(s0)
20400c38:	00a00793          	li	a5,10
20400c3c:	fef42423          	sw	a5,-24(s0)
20400c40:	0600006f          	j	20400ca0 <vprintfmt+0x384>
20400c44:	00a00793          	li	a5,10
20400c48:	fef42423          	sw	a5,-24(s0)
20400c4c:	0400006f          	j	20400c8c <vprintfmt+0x370>
20400c50:	00800793          	li	a5,8
20400c54:	fef42423          	sw	a5,-24(s0)
20400c58:	0340006f          	j	20400c8c <vprintfmt+0x370>
20400c5c:	00100793          	li	a5,1
20400c60:	fef42223          	sw	a5,-28(s0)
20400c64:	fcc42783          	lw	a5,-52(s0)
20400c68:	fc842583          	lw	a1,-56(s0)
20400c6c:	03000513          	li	a0,48
20400c70:	000780e7          	jalr	a5
20400c74:	fcc42783          	lw	a5,-52(s0)
20400c78:	fc842583          	lw	a1,-56(s0)
20400c7c:	07800513          	li	a0,120
20400c80:	000780e7          	jalr	a5
20400c84:	01000793          	li	a5,16
20400c88:	fef42423          	sw	a5,-24(s0)
20400c8c:	fc040793          	addi	a5,s0,-64
20400c90:	fe442583          	lw	a1,-28(s0)
20400c94:	00078513          	mv	a0,a5
20400c98:	8bdff0ef          	jal	ra,20400554 <getuint>
20400c9c:	fea42623          	sw	a0,-20(s0)
20400ca0:	fe842683          	lw	a3,-24(s0)
20400ca4:	fdb44783          	lbu	a5,-37(s0)
20400ca8:	fe042703          	lw	a4,-32(s0)
20400cac:	fec42603          	lw	a2,-20(s0)
20400cb0:	fc842583          	lw	a1,-56(s0)
20400cb4:	fcc42503          	lw	a0,-52(s0)
20400cb8:	95dff0ef          	jal	ra,20400614 <printnum>
20400cbc:	0380006f          	j	20400cf4 <vprintfmt+0x3d8>
20400cc0:	fcc42783          	lw	a5,-52(s0)
20400cc4:	fc842583          	lw	a1,-56(s0)
20400cc8:	00048513          	mv	a0,s1
20400ccc:	000780e7          	jalr	a5
20400cd0:	0240006f          	j	20400cf4 <vprintfmt+0x3d8>
20400cd4:	00000013          	nop
20400cd8:	fcc42783          	lw	a5,-52(s0)
20400cdc:	fc842583          	lw	a1,-56(s0)
20400ce0:	02500513          	li	a0,37
20400ce4:	000780e7          	jalr	a5
20400ce8:	fd442783          	lw	a5,-44(s0)
20400cec:	fcf42223          	sw	a5,-60(s0)
20400cf0:	00000013          	nop
20400cf4:	c75ff06f          	j	20400968 <vprintfmt+0x4c>
20400cf8:	00000013          	nop
20400cfc:	03c12083          	lw	ra,60(sp)
20400d00:	03812403          	lw	s0,56(sp)
20400d04:	03412483          	lw	s1,52(sp)
20400d08:	03012903          	lw	s2,48(sp)
20400d0c:	04010113          	addi	sp,sp,64
20400d10:	00008067          	ret

20400d14 <__wrap_printf>:
20400d14:	fb010113          	addi	sp,sp,-80
20400d18:	02112623          	sw	ra,44(sp)
20400d1c:	02812423          	sw	s0,40(sp)
20400d20:	03010413          	addi	s0,sp,48
20400d24:	fca42e23          	sw	a0,-36(s0)
20400d28:	00b42223          	sw	a1,4(s0)
20400d2c:	00c42423          	sw	a2,8(s0)
20400d30:	00d42623          	sw	a3,12(s0)
20400d34:	00e42823          	sw	a4,16(s0)
20400d38:	00f42a23          	sw	a5,20(s0)
20400d3c:	01042c23          	sw	a6,24(s0)
20400d40:	01142e23          	sw	a7,28(s0)
20400d44:	02040793          	addi	a5,s0,32
20400d48:	fe478793          	addi	a5,a5,-28
20400d4c:	fef42623          	sw	a5,-20(s0)
20400d50:	fec42783          	lw	a5,-20(s0)
20400d54:	00078693          	mv	a3,a5
20400d58:	fdc42603          	lw	a2,-36(s0)
20400d5c:	00000593          	li	a1,0
20400d60:	204007b7          	lui	a5,0x20400
20400d64:	4ac78513          	addi	a0,a5,1196 # 204004ac <putchar>
20400d68:	bb5ff0ef          	jal	ra,2040091c <vprintfmt>
20400d6c:	00000793          	li	a5,0
20400d70:	00078513          	mv	a0,a5
20400d74:	02c12083          	lw	ra,44(sp)
20400d78:	02812403          	lw	s0,40(sp)
20400d7c:	05010113          	addi	sp,sp,80
20400d80:	00008067          	ret

20400d84 <__wrap_sprintf>:
20400d84:	fb010113          	addi	sp,sp,-80
20400d88:	02112623          	sw	ra,44(sp)
20400d8c:	02812423          	sw	s0,40(sp)
20400d90:	03010413          	addi	s0,sp,48
20400d94:	fca42e23          	sw	a0,-36(s0)
20400d98:	fcb42c23          	sw	a1,-40(s0)
20400d9c:	00c42423          	sw	a2,8(s0)
20400da0:	00d42623          	sw	a3,12(s0)
20400da4:	00e42823          	sw	a4,16(s0)
20400da8:	00f42a23          	sw	a5,20(s0)
20400dac:	01042c23          	sw	a6,24(s0)
20400db0:	01142e23          	sw	a7,28(s0)
20400db4:	fdc42783          	lw	a5,-36(s0)
20400db8:	fef42623          	sw	a5,-20(s0)
20400dbc:	02040793          	addi	a5,s0,32
20400dc0:	fe878793          	addi	a5,a5,-24
20400dc4:	fef42423          	sw	a5,-24(s0)
20400dc8:	fe842703          	lw	a4,-24(s0)
20400dcc:	fdc40793          	addi	a5,s0,-36
20400dd0:	00070693          	mv	a3,a4
20400dd4:	fd842603          	lw	a2,-40(s0)
20400dd8:	00078593          	mv	a1,a5
20400ddc:	204007b7          	lui	a5,0x20400
20400de0:	50078513          	addi	a0,a5,1280 # 20400500 <sprintf_putch>
20400de4:	b39ff0ef          	jal	ra,2040091c <vprintfmt>
20400de8:	fdc42783          	lw	a5,-36(s0)
20400dec:	00078023          	sb	zero,0(a5)
20400df0:	fdc42783          	lw	a5,-36(s0)
20400df4:	00078713          	mv	a4,a5
20400df8:	fec42783          	lw	a5,-20(s0)
20400dfc:	40f707b3          	sub	a5,a4,a5
20400e00:	00078513          	mv	a0,a5
20400e04:	02c12083          	lw	ra,44(sp)
20400e08:	02812403          	lw	s0,40(sp)
20400e0c:	05010113          	addi	sp,sp,80
20400e10:	00008067          	ret

20400e14 <mtime_lo>:
20400e14:	ff010113          	addi	sp,sp,-16
20400e18:	00812623          	sw	s0,12(sp)
20400e1c:	01010413          	addi	s0,sp,16
20400e20:	0200c7b7          	lui	a5,0x200c
20400e24:	ff878793          	addi	a5,a5,-8 # 200bff8 <__stack_size+0x200b7f8>
20400e28:	0007a783          	lw	a5,0(a5)
20400e2c:	00078513          	mv	a0,a5
20400e30:	00c12403          	lw	s0,12(sp)
20400e34:	01010113          	addi	sp,sp,16
20400e38:	00008067          	ret

20400e3c <get_timer_value>:
20400e3c:	ff010113          	addi	sp,sp,-16
20400e40:	00112623          	sw	ra,12(sp)
20400e44:	00812423          	sw	s0,8(sp)
20400e48:	01212223          	sw	s2,4(sp)
20400e4c:	01312023          	sw	s3,0(sp)
20400e50:	01010413          	addi	s0,sp,16
20400e54:	fc1ff0ef          	jal	ra,20400e14 <mtime_lo>
20400e58:	00050793          	mv	a5,a0
20400e5c:	00078913          	mv	s2,a5
20400e60:	00000993          	li	s3,0
20400e64:	00090793          	mv	a5,s2
20400e68:	00098813          	mv	a6,s3
20400e6c:	00078513          	mv	a0,a5
20400e70:	00080593          	mv	a1,a6
20400e74:	00c12083          	lw	ra,12(sp)
20400e78:	00812403          	lw	s0,8(sp)
20400e7c:	00412903          	lw	s2,4(sp)
20400e80:	00012983          	lw	s3,0(sp)
20400e84:	01010113          	addi	sp,sp,16
20400e88:	00008067          	ret

20400e8c <get_timer_freq>:
20400e8c:	ff010113          	addi	sp,sp,-16
20400e90:	00812623          	sw	s0,12(sp)
20400e94:	01010413          	addi	s0,sp,16
20400e98:	000087b7          	lui	a5,0x8
20400e9c:	00078513          	mv	a0,a5
20400ea0:	00c12403          	lw	s0,12(sp)
20400ea4:	01010113          	addi	sp,sp,16
20400ea8:	00008067          	ret

20400eac <use_hfrosc>:
20400eac:	fe010113          	addi	sp,sp,-32
20400eb0:	00812e23          	sw	s0,28(sp)
20400eb4:	02010413          	addi	s0,sp,32
20400eb8:	fea42623          	sw	a0,-20(s0)
20400ebc:	feb42423          	sw	a1,-24(s0)
20400ec0:	fec42783          	lw	a5,-20(s0)
20400ec4:	02f7f713          	andi	a4,a5,47
20400ec8:	fe842783          	lw	a5,-24(s0)
20400ecc:	01079693          	slli	a3,a5,0x10
20400ed0:	001f07b7          	lui	a5,0x1f0
20400ed4:	00f6f7b3          	and	a5,a3,a5
20400ed8:	00f76733          	or	a4,a4,a5
20400edc:	400007b7          	lui	a5,0x40000
20400ee0:	00f76733          	or	a4,a4,a5
20400ee4:	100087b7          	lui	a5,0x10008
20400ee8:	00e7a023          	sw	a4,0(a5) # 10008000 <__stack_size+0x10007800>
20400eec:	00000013          	nop
20400ef0:	100087b7          	lui	a5,0x10008
20400ef4:	0007a783          	lw	a5,0(a5) # 10008000 <__stack_size+0x10007800>
20400ef8:	fe07dce3          	bgez	a5,20400ef0 <use_hfrosc+0x44>
20400efc:	100087b7          	lui	a5,0x10008
20400f00:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f04:	0007a683          	lw	a3,0(a5)
20400f08:	100087b7          	lui	a5,0x10008
20400f0c:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f10:	ffff0737          	lui	a4,0xffff0
20400f14:	fff70713          	addi	a4,a4,-1 # fffeffff <_sp+0x7ffebfff>
20400f18:	00e6f733          	and	a4,a3,a4
20400f1c:	00e7a023          	sw	a4,0(a5)
20400f20:	00000013          	nop
20400f24:	01c12403          	lw	s0,28(sp)
20400f28:	02010113          	addi	sp,sp,32
20400f2c:	00008067          	ret

20400f30 <use_pll>:
20400f30:	fc010113          	addi	sp,sp,-64
20400f34:	02112e23          	sw	ra,60(sp)
20400f38:	02812c23          	sw	s0,56(sp)
20400f3c:	04010413          	addi	s0,sp,64
20400f40:	fca42e23          	sw	a0,-36(s0)
20400f44:	fcb42c23          	sw	a1,-40(s0)
20400f48:	fcc42a23          	sw	a2,-44(s0)
20400f4c:	fcd42823          	sw	a3,-48(s0)
20400f50:	fce42623          	sw	a4,-52(s0)
20400f54:	100087b7          	lui	a5,0x10008
20400f58:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f5c:	0007a703          	lw	a4,0(a5)
20400f60:	000107b7          	lui	a5,0x10
20400f64:	00f777b3          	and	a5,a4,a5
20400f68:	00078863          	beqz	a5,20400f78 <use_pll+0x48>
20400f6c:	01000593          	li	a1,16
20400f70:	00400513          	li	a0,4
20400f74:	f39ff0ef          	jal	ra,20400eac <use_hfrosc>
20400f78:	fe042623          	sw	zero,-20(s0)
20400f7c:	fdc42783          	lw	a5,-36(s0)
20400f80:	01179793          	slli	a5,a5,0x11
20400f84:	00078713          	mv	a4,a5
20400f88:	000207b7          	lui	a5,0x20
20400f8c:	00f777b3          	and	a5,a4,a5
20400f90:	fec42703          	lw	a4,-20(s0)
20400f94:	00f767b3          	or	a5,a4,a5
20400f98:	fef42623          	sw	a5,-20(s0)
20400f9c:	fd842783          	lw	a5,-40(s0)
20400fa0:	02078c63          	beqz	a5,20400fd8 <use_pll+0xa8>
20400fa4:	fec42703          	lw	a4,-20(s0)
20400fa8:	000407b7          	lui	a5,0x40
20400fac:	00f767b3          	or	a5,a4,a5
20400fb0:	fef42623          	sw	a5,-20(s0)
20400fb4:	100087b7          	lui	a5,0x10008
20400fb8:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400fbc:	fec42703          	lw	a4,-20(s0)
20400fc0:	00e7a023          	sw	a4,0(a5)
20400fc4:	100087b7          	lui	a5,0x10008
20400fc8:	00c78793          	addi	a5,a5,12 # 1000800c <__stack_size+0x1000780c>
20400fcc:	10000713          	li	a4,256
20400fd0:	00e7a023          	sw	a4,0(a5)
20400fd4:	0ec0006f          	j	204010c0 <use_pll+0x190>
20400fd8:	100147b7          	lui	a5,0x10014
20400fdc:	00800713          	li	a4,8
20400fe0:	00e7a023          	sw	a4,0(a5) # 10014000 <__stack_size+0x10013800>
20400fe4:	fec42703          	lw	a4,-20(s0)
20400fe8:	000407b7          	lui	a5,0x40
20400fec:	00f767b3          	or	a5,a4,a5
20400ff0:	fef42623          	sw	a5,-20(s0)
20400ff4:	fd442783          	lw	a5,-44(s0)
20400ff8:	0077f793          	andi	a5,a5,7
20400ffc:	fec42703          	lw	a4,-20(s0)
20401000:	00f767b3          	or	a5,a4,a5
20401004:	fef42623          	sw	a5,-20(s0)
20401008:	fd042783          	lw	a5,-48(s0)
2040100c:	00479793          	slli	a5,a5,0x4
20401010:	3f07f793          	andi	a5,a5,1008
20401014:	fec42703          	lw	a4,-20(s0)
20401018:	00f767b3          	or	a5,a4,a5
2040101c:	fef42623          	sw	a5,-20(s0)
20401020:	fcc42783          	lw	a5,-52(s0)
20401024:	00a79793          	slli	a5,a5,0xa
20401028:	00078713          	mv	a4,a5
2040102c:	000017b7          	lui	a5,0x1
20401030:	c0078793          	addi	a5,a5,-1024 # c00 <__stack_size+0x400>
20401034:	00f777b3          	and	a5,a4,a5
20401038:	fec42703          	lw	a4,-20(s0)
2040103c:	00f767b3          	or	a5,a4,a5
20401040:	fef42623          	sw	a5,-20(s0)
20401044:	100087b7          	lui	a5,0x10008
20401048:	00c78793          	addi	a5,a5,12 # 1000800c <__stack_size+0x1000780c>
2040104c:	10000713          	li	a4,256
20401050:	00e7a023          	sw	a4,0(a5)
20401054:	100087b7          	lui	a5,0x10008
20401058:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
2040105c:	fec42703          	lw	a4,-20(s0)
20401060:	00e7a023          	sw	a4,0(a5)
20401064:	100087b7          	lui	a5,0x10008
20401068:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
2040106c:	0007a683          	lw	a3,0(a5)
20401070:	100087b7          	lui	a5,0x10008
20401074:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
20401078:	fffc0737          	lui	a4,0xfffc0
2040107c:	fff70713          	addi	a4,a4,-1 # fffbffff <_sp+0x7ffbbfff>
20401080:	00e6f733          	and	a4,a3,a4
20401084:	00e7a023          	sw	a4,0(a5)
20401088:	d8dff0ef          	jal	ra,20400e14 <mtime_lo>
2040108c:	fea42423          	sw	a0,-24(s0)
20401090:	00000013          	nop
20401094:	d81ff0ef          	jal	ra,20400e14 <mtime_lo>
20401098:	00050713          	mv	a4,a0
2040109c:	fe842783          	lw	a5,-24(s0)
204010a0:	40f70733          	sub	a4,a4,a5
204010a4:	00300793          	li	a5,3
204010a8:	fee7f6e3          	bleu	a4,a5,20401094 <use_pll+0x164>
204010ac:	00000013          	nop
204010b0:	100087b7          	lui	a5,0x10008
204010b4:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
204010b8:	0007a783          	lw	a5,0(a5)
204010bc:	fe07dae3          	bgez	a5,204010b0 <use_pll+0x180>
204010c0:	100087b7          	lui	a5,0x10008
204010c4:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
204010c8:	0007a683          	lw	a3,0(a5)
204010cc:	100087b7          	lui	a5,0x10008
204010d0:	00878793          	addi	a5,a5,8 # 10008008 <__stack_size+0x10007808>
204010d4:	00010737          	lui	a4,0x10
204010d8:	00e6e733          	or	a4,a3,a4
204010dc:	00e7a023          	sw	a4,0(a5)
204010e0:	00000013          	nop
204010e4:	03c12083          	lw	ra,60(sp)
204010e8:	03812403          	lw	s0,56(sp)
204010ec:	04010113          	addi	sp,sp,64
204010f0:	00008067          	ret

204010f4 <use_default_clocks>:
204010f4:	ff010113          	addi	sp,sp,-16
204010f8:	00112623          	sw	ra,12(sp)
204010fc:	00812423          	sw	s0,8(sp)
20401100:	01010413          	addi	s0,sp,16
20401104:	100007b7          	lui	a5,0x10000
20401108:	07078793          	addi	a5,a5,112 # 10000070 <__stack_size+0xffff870>
2040110c:	0007a683          	lw	a3,0(a5)
20401110:	100007b7          	lui	a5,0x10000
20401114:	07078793          	addi	a5,a5,112 # 10000070 <__stack_size+0xffff870>
20401118:	c0000737          	lui	a4,0xc0000
2040111c:	fff70713          	addi	a4,a4,-1 # bfffffff <_sp+0x3fffbfff>
20401120:	00e6f733          	and	a4,a3,a4
20401124:	00e7a023          	sw	a4,0(a5)
20401128:	01000593          	li	a1,16
2040112c:	00400513          	li	a0,4
20401130:	d7dff0ef          	jal	ra,20400eac <use_hfrosc>
20401134:	00000013          	nop
20401138:	00c12083          	lw	ra,12(sp)
2040113c:	00812403          	lw	s0,8(sp)
20401140:	01010113          	addi	sp,sp,16
20401144:	00008067          	ret

20401148 <measure_cpu_freq>:
20401148:	fc010113          	addi	sp,sp,-64
2040114c:	02112e23          	sw	ra,60(sp)
20401150:	02812c23          	sw	s0,56(sp)
20401154:	02912a23          	sw	s1,52(sp)
20401158:	04010413          	addi	s0,sp,64
2040115c:	fca42623          	sw	a0,-52(s0)
20401160:	d2dff0ef          	jal	ra,20400e8c <get_timer_freq>
20401164:	fea42623          	sw	a0,-20(s0)
20401168:	cadff0ef          	jal	ra,20400e14 <mtime_lo>
2040116c:	fea42423          	sw	a0,-24(s0)
20401170:	ca5ff0ef          	jal	ra,20400e14 <mtime_lo>
20401174:	fea42223          	sw	a0,-28(s0)
20401178:	fe442703          	lw	a4,-28(s0)
2040117c:	fe842783          	lw	a5,-24(s0)
20401180:	fef708e3          	beq	a4,a5,20401170 <measure_cpu_freq+0x28>
20401184:	b00027f3          	csrr	a5,mcycle
20401188:	fef42023          	sw	a5,-32(s0)
2040118c:	fe042783          	lw	a5,-32(s0)
20401190:	fcf42e23          	sw	a5,-36(s0)
20401194:	c81ff0ef          	jal	ra,20400e14 <mtime_lo>
20401198:	00050713          	mv	a4,a0
2040119c:	fe442783          	lw	a5,-28(s0)
204011a0:	40f707b3          	sub	a5,a4,a5
204011a4:	fcf42c23          	sw	a5,-40(s0)
204011a8:	fd842703          	lw	a4,-40(s0)
204011ac:	fcc42783          	lw	a5,-52(s0)
204011b0:	fef762e3          	bltu	a4,a5,20401194 <measure_cpu_freq+0x4c>
204011b4:	b00027f3          	csrr	a5,mcycle
204011b8:	fcf42a23          	sw	a5,-44(s0)
204011bc:	fd442703          	lw	a4,-44(s0)
204011c0:	fdc42783          	lw	a5,-36(s0)
204011c4:	40f707b3          	sub	a5,a4,a5
204011c8:	fcf42823          	sw	a5,-48(s0)
204011cc:	fd842583          	lw	a1,-40(s0)
204011d0:	fd042503          	lw	a0,-48(s0)
204011d4:	6e5000ef          	jal	ra,204020b8 <__udivsi3>
204011d8:	00050793          	mv	a5,a0
204011dc:	fec42583          	lw	a1,-20(s0)
204011e0:	00078513          	mv	a0,a5
204011e4:	6a9000ef          	jal	ra,2040208c <__mulsi3>
204011e8:	00050793          	mv	a5,a0
204011ec:	00078493          	mv	s1,a5
204011f0:	fd042783          	lw	a5,-48(s0)
204011f4:	fd842583          	lw	a1,-40(s0)
204011f8:	00078513          	mv	a0,a5
204011fc:	705000ef          	jal	ra,20402100 <__umodsi3>
20401200:	00050793          	mv	a5,a0
20401204:	fec42583          	lw	a1,-20(s0)
20401208:	00078513          	mv	a0,a5
2040120c:	681000ef          	jal	ra,2040208c <__mulsi3>
20401210:	00050793          	mv	a5,a0
20401214:	fd842583          	lw	a1,-40(s0)
20401218:	00078513          	mv	a0,a5
2040121c:	69d000ef          	jal	ra,204020b8 <__udivsi3>
20401220:	00050793          	mv	a5,a0
20401224:	00f487b3          	add	a5,s1,a5
20401228:	00078513          	mv	a0,a5
2040122c:	03c12083          	lw	ra,60(sp)
20401230:	03812403          	lw	s0,56(sp)
20401234:	03412483          	lw	s1,52(sp)
20401238:	04010113          	addi	sp,sp,64
2040123c:	00008067          	ret

20401240 <get_cpu_freq>:
20401240:	ff010113          	addi	sp,sp,-16
20401244:	00112623          	sw	ra,12(sp)
20401248:	00812423          	sw	s0,8(sp)
2040124c:	01010413          	addi	s0,sp,16
20401250:	800007b7          	lui	a5,0x80000
20401254:	4307a783          	lw	a5,1072(a5) # 80000430 <_sp+0xffffc430>
20401258:	02079063          	bnez	a5,20401278 <get_cpu_freq+0x38>
2040125c:	00100513          	li	a0,1
20401260:	ee9ff0ef          	jal	ra,20401148 <measure_cpu_freq>
20401264:	00a00513          	li	a0,10
20401268:	ee1ff0ef          	jal	ra,20401148 <measure_cpu_freq>
2040126c:	00050713          	mv	a4,a0
20401270:	800007b7          	lui	a5,0x80000
20401274:	42e7a823          	sw	a4,1072(a5) # 80000430 <_sp+0xffffc430>
20401278:	800007b7          	lui	a5,0x80000
2040127c:	4307a783          	lw	a5,1072(a5) # 80000430 <_sp+0xffffc430>
20401280:	00078513          	mv	a0,a5
20401284:	00c12083          	lw	ra,12(sp)
20401288:	00812403          	lw	s0,8(sp)
2040128c:	01010113          	addi	sp,sp,16
20401290:	00008067          	ret

20401294 <uart_init>:
20401294:	fe010113          	addi	sp,sp,-32
20401298:	00112e23          	sw	ra,28(sp)
2040129c:	00812c23          	sw	s0,24(sp)
204012a0:	02010413          	addi	s0,sp,32
204012a4:	fea42623          	sw	a0,-20(s0)
204012a8:	100127b7          	lui	a5,0x10012
204012ac:	03c78793          	addi	a5,a5,60 # 1001203c <__stack_size+0x1001183c>
204012b0:	0007a683          	lw	a3,0(a5)
204012b4:	100127b7          	lui	a5,0x10012
204012b8:	03c78793          	addi	a5,a5,60 # 1001203c <__stack_size+0x1001183c>
204012bc:	fffd0737          	lui	a4,0xfffd0
204012c0:	fff70713          	addi	a4,a4,-1 # fffcffff <_sp+0x7ffcbfff>
204012c4:	00e6f733          	and	a4,a3,a4
204012c8:	00e7a023          	sw	a4,0(a5)
204012cc:	100127b7          	lui	a5,0x10012
204012d0:	03878793          	addi	a5,a5,56 # 10012038 <__stack_size+0x10011838>
204012d4:	0007a683          	lw	a3,0(a5)
204012d8:	100127b7          	lui	a5,0x10012
204012dc:	03878793          	addi	a5,a5,56 # 10012038 <__stack_size+0x10011838>
204012e0:	00030737          	lui	a4,0x30
204012e4:	00e6e733          	or	a4,a3,a4
204012e8:	00e7a023          	sw	a4,0(a5)
204012ec:	f55ff0ef          	jal	ra,20401240 <get_cpu_freq>
204012f0:	00050793          	mv	a5,a0
204012f4:	fec42583          	lw	a1,-20(s0)
204012f8:	00078513          	mv	a0,a5
204012fc:	5bd000ef          	jal	ra,204020b8 <__udivsi3>
20401300:	00050793          	mv	a5,a0
20401304:	00078713          	mv	a4,a5
20401308:	100137b7          	lui	a5,0x10013
2040130c:	01878793          	addi	a5,a5,24 # 10013018 <__stack_size+0x10012818>
20401310:	fff70713          	addi	a4,a4,-1 # 2ffff <__stack_size+0x2f7ff>
20401314:	00e7a023          	sw	a4,0(a5)
20401318:	100137b7          	lui	a5,0x10013
2040131c:	00878793          	addi	a5,a5,8 # 10013008 <__stack_size+0x10012808>
20401320:	0007a703          	lw	a4,0(a5)
20401324:	100137b7          	lui	a5,0x10013
20401328:	00878793          	addi	a5,a5,8 # 10013008 <__stack_size+0x10012808>
2040132c:	00176713          	ori	a4,a4,1
20401330:	00e7a023          	sw	a4,0(a5)
20401334:	00000013          	nop
20401338:	01c12083          	lw	ra,28(sp)
2040133c:	01812403          	lw	s0,24(sp)
20401340:	02010113          	addi	sp,sp,32
20401344:	00008067          	ret

20401348 <handle_trap>:
20401348:	fe010113          	addi	sp,sp,-32
2040134c:	00112e23          	sw	ra,28(sp)
20401350:	00812c23          	sw	s0,24(sp)
20401354:	02010413          	addi	s0,sp,32
20401358:	fea42623          	sw	a0,-20(s0)
2040135c:	feb42423          	sw	a1,-24(s0)
20401360:	00500613          	li	a2,5
20401364:	204027b7          	lui	a5,0x20402
20401368:	36078593          	addi	a1,a5,864 # 20402360 <__clzsi2+0x1fc>
2040136c:	00100513          	li	a0,1
20401370:	0e4000ef          	jal	ra,20401454 <__wrap_write>
20401374:	fec42783          	lw	a5,-20(s0)
20401378:	00178793          	addi	a5,a5,1
2040137c:	00078513          	mv	a0,a5
20401380:	1f0000ef          	jal	ra,20401570 <__wrap__exit>

20401384 <_init>:
20401384:	fe010113          	addi	sp,sp,-32
20401388:	00112e23          	sw	ra,28(sp)
2040138c:	00812c23          	sw	s0,24(sp)
20401390:	02010413          	addi	s0,sp,32
20401394:	d61ff0ef          	jal	ra,204010f4 <use_default_clocks>
20401398:	00100713          	li	a4,1
2040139c:	01f00693          	li	a3,31
204013a0:	00100613          	li	a2,1
204013a4:	00000593          	li	a1,0
204013a8:	00000513          	li	a0,0
204013ac:	b85ff0ef          	jal	ra,20400f30 <use_pll>
204013b0:	0001c7b7          	lui	a5,0x1c
204013b4:	20078513          	addi	a0,a5,512 # 1c200 <__stack_size+0x1ba00>
204013b8:	eddff0ef          	jal	ra,20401294 <uart_init>
204013bc:	e85ff0ef          	jal	ra,20401240 <get_cpu_freq>
204013c0:	00050793          	mv	a5,a0
204013c4:	00078593          	mv	a1,a5
204013c8:	204027b7          	lui	a5,0x20402
204013cc:	36878513          	addi	a0,a5,872 # 20402368 <__clzsi2+0x204>
204013d0:	945ff0ef          	jal	ra,20400d14 <__wrap_printf>
204013d4:	204007b7          	lui	a5,0x20400
204013d8:	08078793          	addi	a5,a5,128 # 20400080 <trap_entry>
204013dc:	30579073          	csrw	mtvec,a5
204013e0:	301027f3          	csrr	a5,misa
204013e4:	fef42623          	sw	a5,-20(s0)
204013e8:	fec42783          	lw	a5,-20(s0)
204013ec:	0207f793          	andi	a5,a5,32
204013f0:	00078863          	beqz	a5,20401400 <_init+0x7c>
204013f4:	000067b7          	lui	a5,0x6
204013f8:	30079073          	csrw	mstatus,a5
204013fc:	00305073          	csrwi	fcsr,0
20401400:	00000013          	nop
20401404:	01c12083          	lw	ra,28(sp)
20401408:	01812403          	lw	s0,24(sp)
2040140c:	02010113          	addi	sp,sp,32
20401410:	00008067          	ret

20401414 <_fini>:
20401414:	ff010113          	addi	sp,sp,-16
20401418:	00812623          	sw	s0,12(sp)
2040141c:	01010413          	addi	s0,sp,16
20401420:	00000013          	nop
20401424:	00c12403          	lw	s0,12(sp)
20401428:	01010113          	addi	sp,sp,16
2040142c:	00008067          	ret

20401430 <_stub>:
20401430:	fe010113          	addi	sp,sp,-32
20401434:	00812e23          	sw	s0,28(sp)
20401438:	02010413          	addi	s0,sp,32
2040143c:	fea42623          	sw	a0,-20(s0)
20401440:	fff00793          	li	a5,-1
20401444:	00078513          	mv	a0,a5
20401448:	01c12403          	lw	s0,28(sp)
2040144c:	02010113          	addi	sp,sp,32
20401450:	00008067          	ret

20401454 <__wrap_write>:
20401454:	fd010113          	addi	sp,sp,-48
20401458:	02112623          	sw	ra,44(sp)
2040145c:	02812423          	sw	s0,40(sp)
20401460:	03010413          	addi	s0,sp,48
20401464:	fca42e23          	sw	a0,-36(s0)
20401468:	fcb42c23          	sw	a1,-40(s0)
2040146c:	fcc42a23          	sw	a2,-44(s0)
20401470:	fd842783          	lw	a5,-40(s0)
20401474:	fef42423          	sw	a5,-24(s0)
20401478:	fdc42503          	lw	a0,-36(s0)
2040147c:	0b0000ef          	jal	ra,2040152c <__wrap_isatty>
20401480:	00050793          	mv	a5,a0
20401484:	08078463          	beqz	a5,2040150c <__wrap_write+0xb8>
20401488:	fe042623          	sw	zero,-20(s0)
2040148c:	06c0006f          	j	204014f8 <__wrap_write+0xa4>
20401490:	00000013          	nop
20401494:	100137b7          	lui	a5,0x10013
20401498:	0007a783          	lw	a5,0(a5) # 10013000 <__stack_size+0x10012800>
2040149c:	fe07cce3          	bltz	a5,20401494 <__wrap_write+0x40>
204014a0:	fe842703          	lw	a4,-24(s0)
204014a4:	fec42783          	lw	a5,-20(s0)
204014a8:	00f707b3          	add	a5,a4,a5
204014ac:	0007c703          	lbu	a4,0(a5)
204014b0:	100137b7          	lui	a5,0x10013
204014b4:	00e7a023          	sw	a4,0(a5) # 10013000 <__stack_size+0x10012800>
204014b8:	fe842703          	lw	a4,-24(s0)
204014bc:	fec42783          	lw	a5,-20(s0)
204014c0:	00f707b3          	add	a5,a4,a5
204014c4:	0007c703          	lbu	a4,0(a5)
204014c8:	00a00793          	li	a5,10
204014cc:	02f71063          	bne	a4,a5,204014ec <__wrap_write+0x98>
204014d0:	00000013          	nop
204014d4:	100137b7          	lui	a5,0x10013
204014d8:	0007a783          	lw	a5,0(a5) # 10013000 <__stack_size+0x10012800>
204014dc:	fe07cce3          	bltz	a5,204014d4 <__wrap_write+0x80>
204014e0:	100137b7          	lui	a5,0x10013
204014e4:	00d00713          	li	a4,13
204014e8:	00e7a023          	sw	a4,0(a5) # 10013000 <__stack_size+0x10012800>
204014ec:	fec42783          	lw	a5,-20(s0)
204014f0:	00178793          	addi	a5,a5,1
204014f4:	fef42623          	sw	a5,-20(s0)
204014f8:	fec42703          	lw	a4,-20(s0)
204014fc:	fd442783          	lw	a5,-44(s0)
20401500:	f8f768e3          	bltu	a4,a5,20401490 <__wrap_write+0x3c>
20401504:	fd442783          	lw	a5,-44(s0)
20401508:	0100006f          	j	20401518 <__wrap_write+0xc4>
2040150c:	00900513          	li	a0,9
20401510:	f21ff0ef          	jal	ra,20401430 <_stub>
20401514:	00050793          	mv	a5,a0
20401518:	00078513          	mv	a0,a5
2040151c:	02c12083          	lw	ra,44(sp)
20401520:	02812403          	lw	s0,40(sp)
20401524:	03010113          	addi	sp,sp,48
20401528:	00008067          	ret

2040152c <__wrap_isatty>:
2040152c:	fe010113          	addi	sp,sp,-32
20401530:	00812e23          	sw	s0,28(sp)
20401534:	02010413          	addi	s0,sp,32
20401538:	fea42623          	sw	a0,-20(s0)
2040153c:	fec42703          	lw	a4,-20(s0)
20401540:	00100793          	li	a5,1
20401544:	00f70863          	beq	a4,a5,20401554 <__wrap_isatty+0x28>
20401548:	fec42703          	lw	a4,-20(s0)
2040154c:	00200793          	li	a5,2
20401550:	00f71663          	bne	a4,a5,2040155c <__wrap_isatty+0x30>
20401554:	00100793          	li	a5,1
20401558:	0080006f          	j	20401560 <__wrap_isatty+0x34>
2040155c:	00000793          	li	a5,0
20401560:	00078513          	mv	a0,a5
20401564:	01c12403          	lw	s0,28(sp)
20401568:	02010113          	addi	sp,sp,32
2040156c:	00008067          	ret

20401570 <__wrap__exit>:
20401570:	fc010113          	addi	sp,sp,-64
20401574:	02112e23          	sw	ra,60(sp)
20401578:	02812c23          	sw	s0,56(sp)
2040157c:	04010413          	addi	s0,sp,64
20401580:	fca42623          	sw	a0,-52(s0)
20401584:	204027b7          	lui	a5,0x20402
20401588:	3807a883          	lw	a7,896(a5) # 20402380 <__clzsi2+0x21c>
2040158c:	38078713          	addi	a4,a5,896
20401590:	00472803          	lw	a6,4(a4)
20401594:	38078713          	addi	a4,a5,896
20401598:	00872503          	lw	a0,8(a4)
2040159c:	38078713          	addi	a4,a5,896
204015a0:	00c72583          	lw	a1,12(a4)
204015a4:	38078713          	addi	a4,a5,896
204015a8:	01072603          	lw	a2,16(a4)
204015ac:	38078713          	addi	a4,a5,896
204015b0:	01472683          	lw	a3,20(a4)
204015b4:	38078713          	addi	a4,a5,896
204015b8:	01872703          	lw	a4,24(a4)
204015bc:	fd142823          	sw	a7,-48(s0)
204015c0:	fd042a23          	sw	a6,-44(s0)
204015c4:	fca42c23          	sw	a0,-40(s0)
204015c8:	fcb42e23          	sw	a1,-36(s0)
204015cc:	fec42023          	sw	a2,-32(s0)
204015d0:	fed42223          	sw	a3,-28(s0)
204015d4:	fee42423          	sw	a4,-24(s0)
204015d8:	38078793          	addi	a5,a5,896
204015dc:	01c7d783          	lhu	a5,28(a5)
204015e0:	fef41623          	sh	a5,-20(s0)
204015e4:	fd040793          	addi	a5,s0,-48
204015e8:	01d00613          	li	a2,29
204015ec:	00078593          	mv	a1,a5
204015f0:	00200513          	li	a0,2
204015f4:	e61ff0ef          	jal	ra,20401454 <__wrap_write>
204015f8:	00100613          	li	a2,1
204015fc:	204027b7          	lui	a5,0x20402
20401600:	37c78593          	addi	a1,a5,892 # 2040237c <__clzsi2+0x218>
20401604:	00200513          	li	a0,2
20401608:	e4dff0ef          	jal	ra,20401454 <__wrap_write>
2040160c:	0000006f          	j	2040160c <__wrap__exit+0x9c>

20401610 <atexit>:
20401610:	00050593          	mv	a1,a0
20401614:	00000693          	li	a3,0
20401618:	00000613          	li	a2,0
2040161c:	00000513          	li	a0,0
20401620:	1680006f          	j	20401788 <__register_exitproc>

20401624 <exit>:
20401624:	ff010113          	addi	sp,sp,-16
20401628:	00000593          	li	a1,0
2040162c:	00812423          	sw	s0,8(sp)
20401630:	00112623          	sw	ra,12(sp)
20401634:	00050413          	mv	s0,a0
20401638:	1d4000ef          	jal	ra,2040180c <__call_exitprocs>
2040163c:	5fbff797          	auipc	a5,0x5fbff
20401640:	dec78793          	addi	a5,a5,-532 # 80000428 <_global_impure_ptr>
20401644:	0007a503          	lw	a0,0(a5)
20401648:	03c52783          	lw	a5,60(a0)
2040164c:	00078463          	beqz	a5,20401654 <exit+0x30>
20401650:	000780e7          	jalr	a5
20401654:	00040513          	mv	a0,s0
20401658:	f19ff0ef          	jal	ra,20401570 <__wrap__exit>

2040165c <__libc_fini_array>:
2040165c:	ff010113          	addi	sp,sp,-16
20401660:	00001797          	auipc	a5,0x1
20401664:	e7c78793          	addi	a5,a5,-388 # 204024dc <__fini_array_end>
20401668:	00812423          	sw	s0,8(sp)
2040166c:	00001417          	auipc	s0,0x1
20401670:	e7040413          	addi	s0,s0,-400 # 204024dc <__fini_array_end>
20401674:	40878433          	sub	s0,a5,s0
20401678:	00912223          	sw	s1,4(sp)
2040167c:	01212023          	sw	s2,0(sp)
20401680:	00112623          	sw	ra,12(sp)
20401684:	40245413          	srai	s0,s0,0x2
20401688:	00000493          	li	s1,0
2040168c:	00078913          	mv	s2,a5
20401690:	00941e63          	bne	s0,s1,204016ac <__libc_fini_array+0x50>
20401694:	00812403          	lw	s0,8(sp)
20401698:	00c12083          	lw	ra,12(sp)
2040169c:	00412483          	lw	s1,4(sp)
204016a0:	00012903          	lw	s2,0(sp)
204016a4:	01010113          	addi	sp,sp,16
204016a8:	d6dff06f          	j	20401414 <_fini>
204016ac:	ffc00593          	li	a1,-4
204016b0:	00048513          	mv	a0,s1
204016b4:	1d9000ef          	jal	ra,2040208c <__mulsi3>
204016b8:	00a90533          	add	a0,s2,a0
204016bc:	ffc52783          	lw	a5,-4(a0)
204016c0:	00148493          	addi	s1,s1,1
204016c4:	000780e7          	jalr	a5
204016c8:	fc9ff06f          	j	20401690 <__libc_fini_array+0x34>

204016cc <__libc_init_array>:
204016cc:	ff010113          	addi	sp,sp,-16
204016d0:	00812423          	sw	s0,8(sp)
204016d4:	00912223          	sw	s1,4(sp)
204016d8:	00001417          	auipc	s0,0x1
204016dc:	e0440413          	addi	s0,s0,-508 # 204024dc <__fini_array_end>
204016e0:	00001497          	auipc	s1,0x1
204016e4:	dfc48493          	addi	s1,s1,-516 # 204024dc <__fini_array_end>
204016e8:	408484b3          	sub	s1,s1,s0
204016ec:	01212023          	sw	s2,0(sp)
204016f0:	00112623          	sw	ra,12(sp)
204016f4:	4024d493          	srai	s1,s1,0x2
204016f8:	00000913          	li	s2,0
204016fc:	04991063          	bne	s2,s1,2040173c <__libc_init_array+0x70>
20401700:	00001417          	auipc	s0,0x1
20401704:	ddc40413          	addi	s0,s0,-548 # 204024dc <__fini_array_end>
20401708:	00001497          	auipc	s1,0x1
2040170c:	dd448493          	addi	s1,s1,-556 # 204024dc <__fini_array_end>
20401710:	408484b3          	sub	s1,s1,s0
20401714:	c71ff0ef          	jal	ra,20401384 <_init>
20401718:	4024d493          	srai	s1,s1,0x2
2040171c:	00000913          	li	s2,0
20401720:	02991863          	bne	s2,s1,20401750 <__libc_init_array+0x84>
20401724:	00c12083          	lw	ra,12(sp)
20401728:	00812403          	lw	s0,8(sp)
2040172c:	00412483          	lw	s1,4(sp)
20401730:	00012903          	lw	s2,0(sp)
20401734:	01010113          	addi	sp,sp,16
20401738:	00008067          	ret
2040173c:	00042783          	lw	a5,0(s0)
20401740:	00190913          	addi	s2,s2,1
20401744:	00440413          	addi	s0,s0,4
20401748:	000780e7          	jalr	a5
2040174c:	fb1ff06f          	j	204016fc <__libc_init_array+0x30>
20401750:	00042783          	lw	a5,0(s0)
20401754:	00190913          	addi	s2,s2,1
20401758:	00440413          	addi	s0,s0,4
2040175c:	000780e7          	jalr	a5
20401760:	fc1ff06f          	j	20401720 <__libc_init_array+0x54>

20401764 <strnlen>:
20401764:	00b505b3          	add	a1,a0,a1
20401768:	00050793          	mv	a5,a0
2040176c:	00b78663          	beq	a5,a1,20401778 <strnlen+0x14>
20401770:	0007c703          	lbu	a4,0(a5)
20401774:	00071663          	bnez	a4,20401780 <strnlen+0x1c>
20401778:	40a78533          	sub	a0,a5,a0
2040177c:	00008067          	ret
20401780:	00178793          	addi	a5,a5,1
20401784:	fe9ff06f          	j	2040176c <strnlen+0x8>

20401788 <__register_exitproc>:
20401788:	5fbff797          	auipc	a5,0x5fbff
2040178c:	ca078793          	addi	a5,a5,-864 # 80000428 <_global_impure_ptr>
20401790:	0007a703          	lw	a4,0(a5)
20401794:	00050313          	mv	t1,a0
20401798:	14872783          	lw	a5,328(a4)
2040179c:	00079663          	bnez	a5,204017a8 <__register_exitproc+0x20>
204017a0:	14c70793          	addi	a5,a4,332
204017a4:	14f72423          	sw	a5,328(a4)
204017a8:	0047a703          	lw	a4,4(a5)
204017ac:	01f00813          	li	a6,31
204017b0:	fff00513          	li	a0,-1
204017b4:	04e84a63          	blt	a6,a4,20401808 <__register_exitproc+0x80>
204017b8:	00271893          	slli	a7,a4,0x2
204017bc:	02030c63          	beqz	t1,204017f4 <__register_exitproc+0x6c>
204017c0:	01178533          	add	a0,a5,a7
204017c4:	08c52423          	sw	a2,136(a0)
204017c8:	1887a803          	lw	a6,392(a5)
204017cc:	00100613          	li	a2,1
204017d0:	00e61633          	sll	a2,a2,a4
204017d4:	00c86833          	or	a6,a6,a2
204017d8:	1907a423          	sw	a6,392(a5)
204017dc:	10d52423          	sw	a3,264(a0)
204017e0:	00200693          	li	a3,2
204017e4:	00d31863          	bne	t1,a3,204017f4 <__register_exitproc+0x6c>
204017e8:	18c7a683          	lw	a3,396(a5)
204017ec:	00c6e633          	or	a2,a3,a2
204017f0:	18c7a623          	sw	a2,396(a5)
204017f4:	00170713          	addi	a4,a4,1
204017f8:	00e7a223          	sw	a4,4(a5)
204017fc:	011787b3          	add	a5,a5,a7
20401800:	00b7a423          	sw	a1,8(a5)
20401804:	00000513          	li	a0,0
20401808:	00008067          	ret

2040180c <__call_exitprocs>:
2040180c:	fd010113          	addi	sp,sp,-48
20401810:	5fbff797          	auipc	a5,0x5fbff
20401814:	c1878793          	addi	a5,a5,-1000 # 80000428 <_global_impure_ptr>
20401818:	01312e23          	sw	s3,28(sp)
2040181c:	0007a983          	lw	s3,0(a5)
20401820:	01412c23          	sw	s4,24(sp)
20401824:	01512a23          	sw	s5,20(sp)
20401828:	01612823          	sw	s6,16(sp)
2040182c:	02112623          	sw	ra,44(sp)
20401830:	02812423          	sw	s0,40(sp)
20401834:	02912223          	sw	s1,36(sp)
20401838:	03212023          	sw	s2,32(sp)
2040183c:	01712623          	sw	s7,12(sp)
20401840:	00050a93          	mv	s5,a0
20401844:	00058a13          	mv	s4,a1
20401848:	00100b13          	li	s6,1
2040184c:	1489a483          	lw	s1,328(s3)
20401850:	00048c63          	beqz	s1,20401868 <__call_exitprocs+0x5c>
20401854:	0044a403          	lw	s0,4(s1)
20401858:	fff40913          	addi	s2,s0,-1
2040185c:	00241413          	slli	s0,s0,0x2
20401860:	00848433          	add	s0,s1,s0
20401864:	02095863          	bgez	s2,20401894 <__call_exitprocs+0x88>
20401868:	02c12083          	lw	ra,44(sp)
2040186c:	02812403          	lw	s0,40(sp)
20401870:	02412483          	lw	s1,36(sp)
20401874:	02012903          	lw	s2,32(sp)
20401878:	01c12983          	lw	s3,28(sp)
2040187c:	01812a03          	lw	s4,24(sp)
20401880:	01412a83          	lw	s5,20(sp)
20401884:	01012b03          	lw	s6,16(sp)
20401888:	00c12b83          	lw	s7,12(sp)
2040188c:	03010113          	addi	sp,sp,48
20401890:	00008067          	ret
20401894:	000a0c63          	beqz	s4,204018ac <__call_exitprocs+0xa0>
20401898:	10442783          	lw	a5,260(s0)
2040189c:	01478863          	beq	a5,s4,204018ac <__call_exitprocs+0xa0>
204018a0:	fff90913          	addi	s2,s2,-1
204018a4:	ffc40413          	addi	s0,s0,-4
204018a8:	fbdff06f          	j	20401864 <__call_exitprocs+0x58>
204018ac:	0044a703          	lw	a4,4(s1)
204018b0:	00442783          	lw	a5,4(s0)
204018b4:	fff70713          	addi	a4,a4,-1
204018b8:	03271c63          	bne	a4,s2,204018f0 <__call_exitprocs+0xe4>
204018bc:	0124a223          	sw	s2,4(s1)
204018c0:	fe0780e3          	beqz	a5,204018a0 <__call_exitprocs+0x94>
204018c4:	1884a683          	lw	a3,392(s1)
204018c8:	012b1733          	sll	a4,s6,s2
204018cc:	0044ab83          	lw	s7,4(s1)
204018d0:	00d776b3          	and	a3,a4,a3
204018d4:	02069263          	bnez	a3,204018f8 <__call_exitprocs+0xec>
204018d8:	000780e7          	jalr	a5
204018dc:	0044a703          	lw	a4,4(s1)
204018e0:	1489a783          	lw	a5,328(s3)
204018e4:	f77714e3          	bne	a4,s7,2040184c <__call_exitprocs+0x40>
204018e8:	faf48ce3          	beq	s1,a5,204018a0 <__call_exitprocs+0x94>
204018ec:	f61ff06f          	j	2040184c <__call_exitprocs+0x40>
204018f0:	00042223          	sw	zero,4(s0)
204018f4:	fcdff06f          	j	204018c0 <__call_exitprocs+0xb4>
204018f8:	18c4a683          	lw	a3,396(s1)
204018fc:	08442583          	lw	a1,132(s0)
20401900:	00d77733          	and	a4,a4,a3
20401904:	00071863          	bnez	a4,20401914 <__call_exitprocs+0x108>
20401908:	000a8513          	mv	a0,s5
2040190c:	000780e7          	jalr	a5
20401910:	fcdff06f          	j	204018dc <__call_exitprocs+0xd0>
20401914:	00058513          	mv	a0,a1
20401918:	000780e7          	jalr	a5
2040191c:	fc1ff06f          	j	204018dc <__call_exitprocs+0xd0>

20401920 <__muldf3>:
20401920:	fa010113          	addi	sp,sp,-96
20401924:	04812c23          	sw	s0,88(sp)
20401928:	05312623          	sw	s3,76(sp)
2040192c:	00100437          	lui	s0,0x100
20401930:	0145d993          	srli	s3,a1,0x14
20401934:	04912a23          	sw	s1,84(sp)
20401938:	05612023          	sw	s6,64(sp)
2040193c:	03712e23          	sw	s7,60(sp)
20401940:	03812c23          	sw	s8,56(sp)
20401944:	fff40413          	addi	s0,s0,-1 # fffff <__stack_size+0xff7ff>
20401948:	04112e23          	sw	ra,92(sp)
2040194c:	05212823          	sw	s2,80(sp)
20401950:	05412423          	sw	s4,72(sp)
20401954:	05512223          	sw	s5,68(sp)
20401958:	03912a23          	sw	s9,52(sp)
2040195c:	03a12823          	sw	s10,48(sp)
20401960:	03b12623          	sw	s11,44(sp)
20401964:	7ff9f993          	andi	s3,s3,2047
20401968:	00050493          	mv	s1,a0
2040196c:	00060b93          	mv	s7,a2
20401970:	00068c13          	mv	s8,a3
20401974:	00b47433          	and	s0,s0,a1
20401978:	01f5db13          	srli	s6,a1,0x1f
2040197c:	0a098863          	beqz	s3,20401a2c <__muldf3+0x10c>
20401980:	7ff00793          	li	a5,2047
20401984:	10f98663          	beq	s3,a5,20401a90 <__muldf3+0x170>
20401988:	00800937          	lui	s2,0x800
2040198c:	00341413          	slli	s0,s0,0x3
20401990:	01246433          	or	s0,s0,s2
20401994:	01d55913          	srli	s2,a0,0x1d
20401998:	00896933          	or	s2,s2,s0
2040199c:	00351d13          	slli	s10,a0,0x3
204019a0:	c0198993          	addi	s3,s3,-1023
204019a4:	00000c93          	li	s9,0
204019a8:	014c5513          	srli	a0,s8,0x14
204019ac:	00100a37          	lui	s4,0x100
204019b0:	fffa0a13          	addi	s4,s4,-1 # fffff <__stack_size+0xff7ff>
204019b4:	7ff57513          	andi	a0,a0,2047
204019b8:	018a7a33          	and	s4,s4,s8
204019bc:	000b8493          	mv	s1,s7
204019c0:	01fc5c13          	srli	s8,s8,0x1f
204019c4:	10050463          	beqz	a0,20401acc <__muldf3+0x1ac>
204019c8:	7ff00793          	li	a5,2047
204019cc:	16f50463          	beq	a0,a5,20401b34 <__muldf3+0x214>
204019d0:	00800437          	lui	s0,0x800
204019d4:	003a1a13          	slli	s4,s4,0x3
204019d8:	008a6a33          	or	s4,s4,s0
204019dc:	01dbd413          	srli	s0,s7,0x1d
204019e0:	01446433          	or	s0,s0,s4
204019e4:	003b9493          	slli	s1,s7,0x3
204019e8:	c0150513          	addi	a0,a0,-1023
204019ec:	00000793          	li	a5,0
204019f0:	002c9713          	slli	a4,s9,0x2
204019f4:	00f76733          	or	a4,a4,a5
204019f8:	00a989b3          	add	s3,s3,a0
204019fc:	fff70713          	addi	a4,a4,-1
20401a00:	00e00693          	li	a3,14
20401a04:	018b4bb3          	xor	s7,s6,s8
20401a08:	00198a93          	addi	s5,s3,1
20401a0c:	16e6e063          	bltu	a3,a4,20401b6c <__muldf3+0x24c>
20401a10:	00001697          	auipc	a3,0x1
20401a14:	99068693          	addi	a3,a3,-1648 # 204023a0 <__clzsi2+0x23c>
20401a18:	00271713          	slli	a4,a4,0x2
20401a1c:	00d70733          	add	a4,a4,a3
20401a20:	00072703          	lw	a4,0(a4)
20401a24:	00d70733          	add	a4,a4,a3
20401a28:	00070067          	jr	a4
20401a2c:	00a46933          	or	s2,s0,a0
20401a30:	06090e63          	beqz	s2,20401aac <__muldf3+0x18c>
20401a34:	04040063          	beqz	s0,20401a74 <__muldf3+0x154>
20401a38:	00040513          	mv	a0,s0
20401a3c:	728000ef          	jal	ra,20402164 <__clzsi2>
20401a40:	ff550793          	addi	a5,a0,-11
20401a44:	01c00713          	li	a4,28
20401a48:	02f74c63          	blt	a4,a5,20401a80 <__muldf3+0x160>
20401a4c:	01d00913          	li	s2,29
20401a50:	ff850d13          	addi	s10,a0,-8
20401a54:	40f90933          	sub	s2,s2,a5
20401a58:	01a41433          	sll	s0,s0,s10
20401a5c:	0124d933          	srl	s2,s1,s2
20401a60:	00896933          	or	s2,s2,s0
20401a64:	01a49d33          	sll	s10,s1,s10
20401a68:	c0d00993          	li	s3,-1011
20401a6c:	40a989b3          	sub	s3,s3,a0
20401a70:	f35ff06f          	j	204019a4 <__muldf3+0x84>
20401a74:	6f0000ef          	jal	ra,20402164 <__clzsi2>
20401a78:	02050513          	addi	a0,a0,32
20401a7c:	fc5ff06f          	j	20401a40 <__muldf3+0x120>
20401a80:	fd850913          	addi	s2,a0,-40
20401a84:	01249933          	sll	s2,s1,s2
20401a88:	00000d13          	li	s10,0
20401a8c:	fddff06f          	j	20401a68 <__muldf3+0x148>
20401a90:	00a46933          	or	s2,s0,a0
20401a94:	02090463          	beqz	s2,20401abc <__muldf3+0x19c>
20401a98:	00050d13          	mv	s10,a0
20401a9c:	00040913          	mv	s2,s0
20401aa0:	7ff00993          	li	s3,2047
20401aa4:	00300c93          	li	s9,3
20401aa8:	f01ff06f          	j	204019a8 <__muldf3+0x88>
20401aac:	00000d13          	li	s10,0
20401ab0:	00000993          	li	s3,0
20401ab4:	00100c93          	li	s9,1
20401ab8:	ef1ff06f          	j	204019a8 <__muldf3+0x88>
20401abc:	00000d13          	li	s10,0
20401ac0:	7ff00993          	li	s3,2047
20401ac4:	00200c93          	li	s9,2
20401ac8:	ee1ff06f          	j	204019a8 <__muldf3+0x88>
20401acc:	017a6433          	or	s0,s4,s7
20401ad0:	06040e63          	beqz	s0,20401b4c <__muldf3+0x22c>
20401ad4:	040a0063          	beqz	s4,20401b14 <__muldf3+0x1f4>
20401ad8:	000a0513          	mv	a0,s4
20401adc:	688000ef          	jal	ra,20402164 <__clzsi2>
20401ae0:	ff550793          	addi	a5,a0,-11
20401ae4:	01c00713          	li	a4,28
20401ae8:	02f74e63          	blt	a4,a5,20401b24 <__muldf3+0x204>
20401aec:	01d00413          	li	s0,29
20401af0:	ff850493          	addi	s1,a0,-8
20401af4:	40f40433          	sub	s0,s0,a5
20401af8:	009a1a33          	sll	s4,s4,s1
20401afc:	008bd433          	srl	s0,s7,s0
20401b00:	01446433          	or	s0,s0,s4
20401b04:	009b94b3          	sll	s1,s7,s1
20401b08:	c0d00793          	li	a5,-1011
20401b0c:	40a78533          	sub	a0,a5,a0
20401b10:	eddff06f          	j	204019ec <__muldf3+0xcc>
20401b14:	000b8513          	mv	a0,s7
20401b18:	64c000ef          	jal	ra,20402164 <__clzsi2>
20401b1c:	02050513          	addi	a0,a0,32
20401b20:	fc1ff06f          	j	20401ae0 <__muldf3+0x1c0>
20401b24:	fd850413          	addi	s0,a0,-40
20401b28:	008b9433          	sll	s0,s7,s0
20401b2c:	00000493          	li	s1,0
20401b30:	fd9ff06f          	j	20401b08 <__muldf3+0x1e8>
20401b34:	017a6433          	or	s0,s4,s7
20401b38:	02040263          	beqz	s0,20401b5c <__muldf3+0x23c>
20401b3c:	000a0413          	mv	s0,s4
20401b40:	7ff00513          	li	a0,2047
20401b44:	00300793          	li	a5,3
20401b48:	ea9ff06f          	j	204019f0 <__muldf3+0xd0>
20401b4c:	00000493          	li	s1,0
20401b50:	00000513          	li	a0,0
20401b54:	00100793          	li	a5,1
20401b58:	e99ff06f          	j	204019f0 <__muldf3+0xd0>
20401b5c:	00000493          	li	s1,0
20401b60:	7ff00513          	li	a0,2047
20401b64:	00200793          	li	a5,2
20401b68:	e89ff06f          	j	204019f0 <__muldf3+0xd0>
20401b6c:	00010737          	lui	a4,0x10
20401b70:	fff70a13          	addi	s4,a4,-1 # ffff <__stack_size+0xf7ff>
20401b74:	010d5c13          	srli	s8,s10,0x10
20401b78:	0104dd93          	srli	s11,s1,0x10
20401b7c:	014d7d33          	and	s10,s10,s4
20401b80:	0144f4b3          	and	s1,s1,s4
20401b84:	000d0593          	mv	a1,s10
20401b88:	00048513          	mv	a0,s1
20401b8c:	00e12823          	sw	a4,16(sp)
20401b90:	4fc000ef          	jal	ra,2040208c <__mulsi3>
20401b94:	00050c93          	mv	s9,a0
20401b98:	00048593          	mv	a1,s1
20401b9c:	000c0513          	mv	a0,s8
20401ba0:	4ec000ef          	jal	ra,2040208c <__mulsi3>
20401ba4:	00a12623          	sw	a0,12(sp)
20401ba8:	000d8593          	mv	a1,s11
20401bac:	000c0513          	mv	a0,s8
20401bb0:	4dc000ef          	jal	ra,2040208c <__mulsi3>
20401bb4:	00050b13          	mv	s6,a0
20401bb8:	000d0593          	mv	a1,s10
20401bbc:	000d8513          	mv	a0,s11
20401bc0:	4cc000ef          	jal	ra,2040208c <__mulsi3>
20401bc4:	00c12683          	lw	a3,12(sp)
20401bc8:	010cd793          	srli	a5,s9,0x10
20401bcc:	00d50533          	add	a0,a0,a3
20401bd0:	00a78533          	add	a0,a5,a0
20401bd4:	00d57663          	bleu	a3,a0,20401be0 <__muldf3+0x2c0>
20401bd8:	01012703          	lw	a4,16(sp)
20401bdc:	00eb0b33          	add	s6,s6,a4
20401be0:	01055693          	srli	a3,a0,0x10
20401be4:	01457533          	and	a0,a0,s4
20401be8:	014cfcb3          	and	s9,s9,s4
20401bec:	01051513          	slli	a0,a0,0x10
20401bf0:	019507b3          	add	a5,a0,s9
20401bf4:	01045c93          	srli	s9,s0,0x10
20401bf8:	01447433          	and	s0,s0,s4
20401bfc:	000d0593          	mv	a1,s10
20401c00:	00040513          	mv	a0,s0
20401c04:	00d12a23          	sw	a3,20(sp)
20401c08:	00f12623          	sw	a5,12(sp)
20401c0c:	480000ef          	jal	ra,2040208c <__mulsi3>
20401c10:	00a12823          	sw	a0,16(sp)
20401c14:	00040593          	mv	a1,s0
20401c18:	000c0513          	mv	a0,s8
20401c1c:	470000ef          	jal	ra,2040208c <__mulsi3>
20401c20:	00050a13          	mv	s4,a0
20401c24:	000c8593          	mv	a1,s9
20401c28:	000c0513          	mv	a0,s8
20401c2c:	460000ef          	jal	ra,2040208c <__mulsi3>
20401c30:	00050c13          	mv	s8,a0
20401c34:	000d0593          	mv	a1,s10
20401c38:	000c8513          	mv	a0,s9
20401c3c:	450000ef          	jal	ra,2040208c <__mulsi3>
20401c40:	01012703          	lw	a4,16(sp)
20401c44:	01450533          	add	a0,a0,s4
20401c48:	01412683          	lw	a3,20(sp)
20401c4c:	01075793          	srli	a5,a4,0x10
20401c50:	00a78533          	add	a0,a5,a0
20401c54:	01457663          	bleu	s4,a0,20401c60 <__muldf3+0x340>
20401c58:	000107b7          	lui	a5,0x10
20401c5c:	00fc0c33          	add	s8,s8,a5
20401c60:	00010637          	lui	a2,0x10
20401c64:	01055793          	srli	a5,a0,0x10
20401c68:	01878c33          	add	s8,a5,s8
20401c6c:	fff60793          	addi	a5,a2,-1 # ffff <__stack_size+0xf7ff>
20401c70:	00f57a33          	and	s4,a0,a5
20401c74:	00f77733          	and	a4,a4,a5
20401c78:	010a1a13          	slli	s4,s4,0x10
20401c7c:	01095d13          	srli	s10,s2,0x10
20401c80:	00ea0a33          	add	s4,s4,a4
20401c84:	00f97933          	and	s2,s2,a5
20401c88:	01468733          	add	a4,a3,s4
20401c8c:	00090593          	mv	a1,s2
20401c90:	00048513          	mv	a0,s1
20401c94:	00e12823          	sw	a4,16(sp)
20401c98:	00c12e23          	sw	a2,28(sp)
20401c9c:	3f0000ef          	jal	ra,2040208c <__mulsi3>
20401ca0:	00048593          	mv	a1,s1
20401ca4:	00a12c23          	sw	a0,24(sp)
20401ca8:	000d0513          	mv	a0,s10
20401cac:	3e0000ef          	jal	ra,2040208c <__mulsi3>
20401cb0:	00a12a23          	sw	a0,20(sp)
20401cb4:	000d0593          	mv	a1,s10
20401cb8:	000d8513          	mv	a0,s11
20401cbc:	3d0000ef          	jal	ra,2040208c <__mulsi3>
20401cc0:	00050493          	mv	s1,a0
20401cc4:	00090593          	mv	a1,s2
20401cc8:	000d8513          	mv	a0,s11
20401ccc:	3c0000ef          	jal	ra,2040208c <__mulsi3>
20401cd0:	01412683          	lw	a3,20(sp)
20401cd4:	01812703          	lw	a4,24(sp)
20401cd8:	00d50533          	add	a0,a0,a3
20401cdc:	01075793          	srli	a5,a4,0x10
20401ce0:	00a78533          	add	a0,a5,a0
20401ce4:	00d57663          	bleu	a3,a0,20401cf0 <__muldf3+0x3d0>
20401ce8:	01c12603          	lw	a2,28(sp)
20401cec:	00c484b3          	add	s1,s1,a2
20401cf0:	000106b7          	lui	a3,0x10
20401cf4:	fff68793          	addi	a5,a3,-1 # ffff <__stack_size+0xf7ff>
20401cf8:	01055d93          	srli	s11,a0,0x10
20401cfc:	009d84b3          	add	s1,s11,s1
20401d00:	00f57db3          	and	s11,a0,a5
20401d04:	00f77733          	and	a4,a4,a5
20401d08:	00090593          	mv	a1,s2
20401d0c:	00040513          	mv	a0,s0
20401d10:	010d9d93          	slli	s11,s11,0x10
20401d14:	00ed8db3          	add	s11,s11,a4
20401d18:	00d12c23          	sw	a3,24(sp)
20401d1c:	370000ef          	jal	ra,2040208c <__mulsi3>
20401d20:	00040593          	mv	a1,s0
20401d24:	00a12a23          	sw	a0,20(sp)
20401d28:	000d0513          	mv	a0,s10
20401d2c:	360000ef          	jal	ra,2040208c <__mulsi3>
20401d30:	000d0593          	mv	a1,s10
20401d34:	00050413          	mv	s0,a0
20401d38:	000c8513          	mv	a0,s9
20401d3c:	350000ef          	jal	ra,2040208c <__mulsi3>
20401d40:	00050d13          	mv	s10,a0
20401d44:	00090593          	mv	a1,s2
20401d48:	000c8513          	mv	a0,s9
20401d4c:	340000ef          	jal	ra,2040208c <__mulsi3>
20401d50:	01412703          	lw	a4,20(sp)
20401d54:	00850533          	add	a0,a0,s0
20401d58:	01075793          	srli	a5,a4,0x10
20401d5c:	00a78533          	add	a0,a5,a0
20401d60:	00857663          	bleu	s0,a0,20401d6c <__muldf3+0x44c>
20401d64:	01812683          	lw	a3,24(sp)
20401d68:	00dd0d33          	add	s10,s10,a3
20401d6c:	01012783          	lw	a5,16(sp)
20401d70:	000106b7          	lui	a3,0x10
20401d74:	fff68693          	addi	a3,a3,-1 # ffff <__stack_size+0xf7ff>
20401d78:	00fb0b33          	add	s6,s6,a5
20401d7c:	00d577b3          	and	a5,a0,a3
20401d80:	00d77733          	and	a4,a4,a3
20401d84:	01079793          	slli	a5,a5,0x10
20401d88:	00e787b3          	add	a5,a5,a4
20401d8c:	014b3a33          	sltu	s4,s6,s4
20401d90:	018787b3          	add	a5,a5,s8
20401d94:	01478433          	add	s0,a5,s4
20401d98:	01bb0b33          	add	s6,s6,s11
20401d9c:	00940733          	add	a4,s0,s1
20401da0:	01bb3db3          	sltu	s11,s6,s11
20401da4:	01b706b3          	add	a3,a4,s11
20401da8:	0187bc33          	sltu	s8,a5,s8
20401dac:	01443433          	sltu	s0,s0,s4
20401db0:	01055793          	srli	a5,a0,0x10
20401db4:	00973733          	sltu	a4,a4,s1
20401db8:	008c6433          	or	s0,s8,s0
20401dbc:	01b6bdb3          	sltu	s11,a3,s11
20401dc0:	00f40433          	add	s0,s0,a5
20401dc4:	01b76db3          	or	s11,a4,s11
20401dc8:	01b40433          	add	s0,s0,s11
20401dcc:	01a40433          	add	s0,s0,s10
20401dd0:	0176d793          	srli	a5,a3,0x17
20401dd4:	00941413          	slli	s0,s0,0x9
20401dd8:	00f46433          	or	s0,s0,a5
20401ddc:	00c12783          	lw	a5,12(sp)
20401de0:	009b1493          	slli	s1,s6,0x9
20401de4:	017b5b13          	srli	s6,s6,0x17
20401de8:	00f4e4b3          	or	s1,s1,a5
20401dec:	009034b3          	snez	s1,s1
20401df0:	00969793          	slli	a5,a3,0x9
20401df4:	0164e4b3          	or	s1,s1,s6
20401df8:	00f4e4b3          	or	s1,s1,a5
20401dfc:	00741793          	slli	a5,s0,0x7
20401e00:	1207d263          	bgez	a5,20401f24 <__muldf3+0x604>
20401e04:	0014d793          	srli	a5,s1,0x1
20401e08:	0014f493          	andi	s1,s1,1
20401e0c:	0097e4b3          	or	s1,a5,s1
20401e10:	01f41793          	slli	a5,s0,0x1f
20401e14:	00f4e4b3          	or	s1,s1,a5
20401e18:	00145413          	srli	s0,s0,0x1
20401e1c:	3ffa8713          	addi	a4,s5,1023
20401e20:	10e05663          	blez	a4,20401f2c <__muldf3+0x60c>
20401e24:	0074f793          	andi	a5,s1,7
20401e28:	02078063          	beqz	a5,20401e48 <__muldf3+0x528>
20401e2c:	00f4f793          	andi	a5,s1,15
20401e30:	00400693          	li	a3,4
20401e34:	00d78a63          	beq	a5,a3,20401e48 <__muldf3+0x528>
20401e38:	00448793          	addi	a5,s1,4
20401e3c:	0097b4b3          	sltu	s1,a5,s1
20401e40:	00940433          	add	s0,s0,s1
20401e44:	00078493          	mv	s1,a5
20401e48:	00741793          	slli	a5,s0,0x7
20401e4c:	0007da63          	bgez	a5,20401e60 <__muldf3+0x540>
20401e50:	ff0007b7          	lui	a5,0xff000
20401e54:	fff78793          	addi	a5,a5,-1 # feffffff <_sp+0x7effbfff>
20401e58:	00f47433          	and	s0,s0,a5
20401e5c:	400a8713          	addi	a4,s5,1024
20401e60:	7fe00793          	li	a5,2046
20401e64:	18e7c663          	blt	a5,a4,20401ff0 <__muldf3+0x6d0>
20401e68:	0034da93          	srli	s5,s1,0x3
20401e6c:	01d41493          	slli	s1,s0,0x1d
20401e70:	0154e4b3          	or	s1,s1,s5
20401e74:	00345413          	srli	s0,s0,0x3
20401e78:	001007b7          	lui	a5,0x100
20401e7c:	fff78793          	addi	a5,a5,-1 # fffff <__stack_size+0xff7ff>
20401e80:	00f47433          	and	s0,s0,a5
20401e84:	7ff77793          	andi	a5,a4,2047
20401e88:	80100737          	lui	a4,0x80100
20401e8c:	fff70713          	addi	a4,a4,-1 # 800fffff <_sp+0xfbfff>
20401e90:	01479793          	slli	a5,a5,0x14
20401e94:	00e47433          	and	s0,s0,a4
20401e98:	01fb9b93          	slli	s7,s7,0x1f
20401e9c:	00f46433          	or	s0,s0,a5
20401ea0:	017467b3          	or	a5,s0,s7
20401ea4:	05c12083          	lw	ra,92(sp)
20401ea8:	05812403          	lw	s0,88(sp)
20401eac:	00048513          	mv	a0,s1
20401eb0:	05012903          	lw	s2,80(sp)
20401eb4:	05412483          	lw	s1,84(sp)
20401eb8:	04c12983          	lw	s3,76(sp)
20401ebc:	04812a03          	lw	s4,72(sp)
20401ec0:	04412a83          	lw	s5,68(sp)
20401ec4:	04012b03          	lw	s6,64(sp)
20401ec8:	03c12b83          	lw	s7,60(sp)
20401ecc:	03812c03          	lw	s8,56(sp)
20401ed0:	03412c83          	lw	s9,52(sp)
20401ed4:	03012d03          	lw	s10,48(sp)
20401ed8:	02c12d83          	lw	s11,44(sp)
20401edc:	00078593          	mv	a1,a5
20401ee0:	06010113          	addi	sp,sp,96
20401ee4:	00008067          	ret
20401ee8:	000b0b93          	mv	s7,s6
20401eec:	00090413          	mv	s0,s2
20401ef0:	000d0493          	mv	s1,s10
20401ef4:	000c8793          	mv	a5,s9
20401ef8:	00200713          	li	a4,2
20401efc:	0ee78a63          	beq	a5,a4,20401ff0 <__muldf3+0x6d0>
20401f00:	00300713          	li	a4,3
20401f04:	0ce78c63          	beq	a5,a4,20401fdc <__muldf3+0x6bc>
20401f08:	00100713          	li	a4,1
20401f0c:	f0e798e3          	bne	a5,a4,20401e1c <__muldf3+0x4fc>
20401f10:	00000413          	li	s0,0
20401f14:	00000493          	li	s1,0
20401f18:	0880006f          	j	20401fa0 <__muldf3+0x680>
20401f1c:	000c0b93          	mv	s7,s8
20401f20:	fd9ff06f          	j	20401ef8 <__muldf3+0x5d8>
20401f24:	00098a93          	mv	s5,s3
20401f28:	ef5ff06f          	j	20401e1c <__muldf3+0x4fc>
20401f2c:	00100693          	li	a3,1
20401f30:	40e686b3          	sub	a3,a3,a4
20401f34:	03800793          	li	a5,56
20401f38:	fcd7cce3          	blt	a5,a3,20401f10 <__muldf3+0x5f0>
20401f3c:	01f00793          	li	a5,31
20401f40:	06d7c463          	blt	a5,a3,20401fa8 <__muldf3+0x688>
20401f44:	41ea8a93          	addi	s5,s5,1054
20401f48:	015417b3          	sll	a5,s0,s5
20401f4c:	00d4d733          	srl	a4,s1,a3
20401f50:	015494b3          	sll	s1,s1,s5
20401f54:	00e7e7b3          	or	a5,a5,a4
20401f58:	009034b3          	snez	s1,s1
20401f5c:	0097e4b3          	or	s1,a5,s1
20401f60:	00d45433          	srl	s0,s0,a3
20401f64:	0074f793          	andi	a5,s1,7
20401f68:	02078063          	beqz	a5,20401f88 <__muldf3+0x668>
20401f6c:	00f4f793          	andi	a5,s1,15
20401f70:	00400713          	li	a4,4
20401f74:	00e78a63          	beq	a5,a4,20401f88 <__muldf3+0x668>
20401f78:	00448793          	addi	a5,s1,4
20401f7c:	0097b4b3          	sltu	s1,a5,s1
20401f80:	00940433          	add	s0,s0,s1
20401f84:	00078493          	mv	s1,a5
20401f88:	00841793          	slli	a5,s0,0x8
20401f8c:	0607ca63          	bltz	a5,20402000 <__muldf3+0x6e0>
20401f90:	01d41793          	slli	a5,s0,0x1d
20401f94:	0034d493          	srli	s1,s1,0x3
20401f98:	0097e4b3          	or	s1,a5,s1
20401f9c:	00345413          	srli	s0,s0,0x3
20401fa0:	00000713          	li	a4,0
20401fa4:	ed5ff06f          	j	20401e78 <__muldf3+0x558>
20401fa8:	fe100793          	li	a5,-31
20401fac:	40e787b3          	sub	a5,a5,a4
20401fb0:	02000613          	li	a2,32
20401fb4:	00f457b3          	srl	a5,s0,a5
20401fb8:	00000713          	li	a4,0
20401fbc:	00c68663          	beq	a3,a2,20401fc8 <__muldf3+0x6a8>
20401fc0:	43ea8a93          	addi	s5,s5,1086
20401fc4:	01541733          	sll	a4,s0,s5
20401fc8:	009764b3          	or	s1,a4,s1
20401fcc:	009034b3          	snez	s1,s1
20401fd0:	0097e4b3          	or	s1,a5,s1
20401fd4:	00000413          	li	s0,0
20401fd8:	f8dff06f          	j	20401f64 <__muldf3+0x644>
20401fdc:	00080437          	lui	s0,0x80
20401fe0:	00000493          	li	s1,0
20401fe4:	7ff00713          	li	a4,2047
20401fe8:	00000b93          	li	s7,0
20401fec:	e8dff06f          	j	20401e78 <__muldf3+0x558>
20401ff0:	00000413          	li	s0,0
20401ff4:	00000493          	li	s1,0
20401ff8:	7ff00713          	li	a4,2047
20401ffc:	e7dff06f          	j	20401e78 <__muldf3+0x558>
20402000:	00000413          	li	s0,0
20402004:	00000493          	li	s1,0
20402008:	00100713          	li	a4,1
2040200c:	e6dff06f          	j	20401e78 <__muldf3+0x558>

20402010 <__fixunsdfsi>:
20402010:	0145d713          	srli	a4,a1,0x14
20402014:	001006b7          	lui	a3,0x100
20402018:	00050613          	mv	a2,a0
2040201c:	fff68793          	addi	a5,a3,-1 # fffff <__stack_size+0xff7ff>
20402020:	7ff77713          	andi	a4,a4,2047
20402024:	3fe00513          	li	a0,1022
20402028:	00b7f7b3          	and	a5,a5,a1
2040202c:	01f5d593          	srli	a1,a1,0x1f
20402030:	04e55a63          	ble	a4,a0,20402084 <__fixunsdfsi+0x74>
20402034:	00000513          	li	a0,0
20402038:	00059863          	bnez	a1,20402048 <__fixunsdfsi+0x38>
2040203c:	41e00593          	li	a1,1054
20402040:	fff00513          	li	a0,-1
20402044:	00e5d463          	ble	a4,a1,2040204c <__fixunsdfsi+0x3c>
20402048:	00008067          	ret
2040204c:	00d7e7b3          	or	a5,a5,a3
20402050:	43300693          	li	a3,1075
20402054:	40e686b3          	sub	a3,a3,a4
20402058:	01f00593          	li	a1,31
2040205c:	00d5cc63          	blt	a1,a3,20402074 <__fixunsdfsi+0x64>
20402060:	bed70713          	addi	a4,a4,-1043
20402064:	00e797b3          	sll	a5,a5,a4
20402068:	00d65533          	srl	a0,a2,a3
2040206c:	00a7e533          	or	a0,a5,a0
20402070:	00008067          	ret
20402074:	41300513          	li	a0,1043
20402078:	40e50533          	sub	a0,a0,a4
2040207c:	00a7d533          	srl	a0,a5,a0
20402080:	00008067          	ret
20402084:	00000513          	li	a0,0
20402088:	00008067          	ret

2040208c <__mulsi3>:
2040208c:	00050613          	mv	a2,a0
20402090:	00000513          	li	a0,0
20402094:	0015f693          	andi	a3,a1,1
20402098:	00068463          	beqz	a3,204020a0 <__mulsi3+0x14>
2040209c:	00c50533          	add	a0,a0,a2
204020a0:	0015d593          	srli	a1,a1,0x1
204020a4:	00161613          	slli	a2,a2,0x1
204020a8:	fe0596e3          	bnez	a1,20402094 <__mulsi3+0x8>
204020ac:	00008067          	ret

204020b0 <__divsi3>:
204020b0:	06054063          	bltz	a0,20402110 <__umodsi3+0x10>
204020b4:	0605c663          	bltz	a1,20402120 <__umodsi3+0x20>

204020b8 <__udivsi3>:
204020b8:	00058613          	mv	a2,a1
204020bc:	00050593          	mv	a1,a0
204020c0:	fff00513          	li	a0,-1
204020c4:	02060c63          	beqz	a2,204020fc <__udivsi3+0x44>
204020c8:	00100693          	li	a3,1
204020cc:	00b67a63          	bleu	a1,a2,204020e0 <__udivsi3+0x28>
204020d0:	00c05863          	blez	a2,204020e0 <__udivsi3+0x28>
204020d4:	00161613          	slli	a2,a2,0x1
204020d8:	00169693          	slli	a3,a3,0x1
204020dc:	feb66ae3          	bltu	a2,a1,204020d0 <__udivsi3+0x18>
204020e0:	00000513          	li	a0,0
204020e4:	00c5e663          	bltu	a1,a2,204020f0 <__udivsi3+0x38>
204020e8:	40c585b3          	sub	a1,a1,a2
204020ec:	00d56533          	or	a0,a0,a3
204020f0:	0016d693          	srli	a3,a3,0x1
204020f4:	00165613          	srli	a2,a2,0x1
204020f8:	fe0696e3          	bnez	a3,204020e4 <__udivsi3+0x2c>
204020fc:	00008067          	ret

20402100 <__umodsi3>:
20402100:	00008293          	mv	t0,ra
20402104:	fb5ff0ef          	jal	ra,204020b8 <__udivsi3>
20402108:	00058513          	mv	a0,a1
2040210c:	00028067          	jr	t0
20402110:	40a00533          	neg	a0,a0
20402114:	0005d863          	bgez	a1,20402124 <__umodsi3+0x24>
20402118:	40b005b3          	neg	a1,a1
2040211c:	f9dff06f          	j	204020b8 <__udivsi3>
20402120:	40b005b3          	neg	a1,a1
20402124:	00008293          	mv	t0,ra
20402128:	f91ff0ef          	jal	ra,204020b8 <__udivsi3>
2040212c:	40a00533          	neg	a0,a0
20402130:	00028067          	jr	t0

20402134 <__modsi3>:
20402134:	00008293          	mv	t0,ra
20402138:	0005ca63          	bltz	a1,2040214c <__modsi3+0x18>
2040213c:	00054c63          	bltz	a0,20402154 <__modsi3+0x20>
20402140:	f79ff0ef          	jal	ra,204020b8 <__udivsi3>
20402144:	00058513          	mv	a0,a1
20402148:	00028067          	jr	t0
2040214c:	40b005b3          	neg	a1,a1
20402150:	fe0558e3          	bgez	a0,20402140 <__modsi3+0xc>
20402154:	40a00533          	neg	a0,a0
20402158:	f61ff0ef          	jal	ra,204020b8 <__udivsi3>
2040215c:	40b00533          	neg	a0,a1
20402160:	00028067          	jr	t0

20402164 <__clzsi2>:
20402164:	000107b7          	lui	a5,0x10
20402168:	02f57a63          	bleu	a5,a0,2040219c <__clzsi2+0x38>
2040216c:	0ff00793          	li	a5,255
20402170:	00a7b7b3          	sltu	a5,a5,a0
20402174:	00379793          	slli	a5,a5,0x3
20402178:	02000713          	li	a4,32
2040217c:	40f70733          	sub	a4,a4,a5
20402180:	00f557b3          	srl	a5,a0,a5
20402184:	00000517          	auipc	a0,0x0
20402188:	25850513          	addi	a0,a0,600 # 204023dc <__clz_tab>
2040218c:	00f507b3          	add	a5,a0,a5
20402190:	0007c503          	lbu	a0,0(a5) # 10000 <__stack_size+0xf800>
20402194:	40a70533          	sub	a0,a4,a0
20402198:	00008067          	ret
2040219c:	01000737          	lui	a4,0x1000
204021a0:	01000793          	li	a5,16
204021a4:	fce56ae3          	bltu	a0,a4,20402178 <__clzsi2+0x14>
204021a8:	01800793          	li	a5,24
204021ac:	fcdff06f          	j	20402178 <__clzsi2+0x14>