diff --git a/projects/mips_sys/sim/hello_sim.elf.dis b/projects/mips_sys/sim/hello_sim.elf.dis new file mode 100644 index 0000000..617d351 --- /dev/null +++ b/projects/mips_sys/sim/hello_sim.elf.dis @@ -0,0 +1,6583 @@ + +hello_sim.elf: Dateiformat elf32-bigmips + + +Disassembly of section .start: + +40000000 <__entry>: +40000000: 08000010 j 40000040 <_ftext> +40000004: 00000000 nop + +Disassembly of section .init: + +40000008 <_init>: +40000008: 27bdffe0 addiu sp,sp,-32 +4000000c: afbf0014 sw ra,20(sp) +40000010: 04110001 bal 40000018 <_init+0x10> +40000014: 00000000 nop +40000018: 0c0000fe jal 400003f8 +4000001c: 00000000 nop +40000020: 04110001 bal 40000028 <_init+0x20> +40000024: 00000000 nop +40000028: 0c00185a jal 40006168 <__do_global_ctors_aux> +4000002c: 00000000 nop +40000030: 8fbf0014 lw ra,20(sp) +40000034: 27bd0020 addiu sp,sp,32 +40000038: 03e00008 jr ra +4000003c: 00000000 nop + +Disassembly of section .text: + +40000040 <_ftext>: +40000040: 3c1d8000 lui sp,0x8000 +40000044: 27bdeff0 addiu sp,sp,-4112 +40000048: 3c1c4001 lui gp,0x4001 +4000004c: 279cf920 addiu gp,gp,-1760 +40000050: 3c084000 lui t0,0x4000 +40000054: 25087940 addiu t0,t0,31040 +40000058: 3c094000 lui t1,0x4000 +4000005c: 25297a48 addiu t1,t1,31304 +40000060: ad000000 sw zero,0(t0) +40000064: 1509fffe bne t0,t1,40000060 <_ftext+0x20> +40000068: 25080004 addiu t0,t0,4 +4000006c: 3c094000 lui t1,0x4000 +40000070: 252900f8 addiu t1,t1,248 +40000074: 3c0a4000 lui t2,0x4000 +40000078: 254a0108 addiu t2,t2,264 +4000007c: 3c084000 lui t0,0x4000 +40000080: 25080080 addiu t0,t0,128 +40000084: 8d220000 lw v0,0(t1) +40000088: 25290004 addiu t1,t1,4 +4000008c: ad020000 sw v0,0(t0) +40000090: 152afffc bne t1,t2,40000084 <_exc_vect_start+0x4> +40000094: 25080004 addiu t0,t0,4 +40000098: 3c1a4000 lui k0,0x4000 +4000009c: 275a0008 addiu k0,k0,8 +400000a0: 0340f809 jalr k0 +400000a4: 00000000 nop +400000a8: 3c1a4000 lui k0,0x4000 +400000ac: 275a0614 addiu k0,k0,1556 +400000b0: 0340f809 jalr k0 +400000b4: 00000000 nop +400000b8: 40046000 mfc0 a0,c0_sr +400000bc: 24050003 li a1,3 +400000c0: 00852025 or a0,a0,a1 +400000c4: 40846000 mtc0 a0,c0_sr +400000c8: 24040001 li a0,1 +400000cc: 3c054000 lui a1,0x4000 +400000d0: 24a5702c addiu a1,a1,28716 +400000d4: 3c1a4000 lui k0,0x4000 +400000d8: 275a0454 addiu k0,k0,1108 +400000dc: 0340f809 jalr k0 +400000e0: 00000000 nop + +400000e4 <_terminate>: +400000e4: 00000000 nop +400000e8: 3c084000 lui t0,0x4000 +400000ec: 25081b34 addiu t0,t0,6964 +400000f0: 0100f809 jalr t0 +400000f4: 00402021 move a0,v0 + +400000f8 <_exc_vect_copy_start>: +400000f8: 3c1a4000 lui k0,0x4000 +400000fc: 275a0108 addiu k0,k0,264 +40000100: 03400008 jr k0 +40000104: 00000000 nop + +40000108 <_xcpt_handler>: +40000108: 27bb8000 addiu k1,sp,-32768 +4000010c: 001bd8c2 srl k1,k1,0x3 +40000110: 001bd8c0 sll k1,k1,0x3 +40000114: af610014 sw at,20(k1) +40000118: af620018 sw v0,24(k1) +4000011c: af63001c sw v1,28(k1) +40000120: af640020 sw a0,32(k1) +40000124: af650024 sw a1,36(k1) +40000128: af660028 sw a2,40(k1) +4000012c: af67002c sw a3,44(k1) +40000130: af7d0084 sw sp,132(k1) +40000134: af7f008c sw ra,140(k1) +40000138: 40046800 mfc0 a0,c0_cause +4000013c: 40056000 mfc0 a1,c0_sr +40000140: 40064000 mfc0 a2,c0_badvaddr +40000144: 40077000 mfc0 a3,c0_epc +40000148: 0360e821 move sp,k1 +4000014c: afa00078 sw zero,120(sp) +40000150: afa0007c sw zero,124(sp) +40000154: afa40004 sw a0,4(sp) +40000158: afa50000 sw a1,0(sp) +4000015c: afa6000c sw a2,12(sp) +40000160: afa70008 sw a3,8(sp) +40000164: 00001010 mfhi v0 +40000168: 00001812 mflo v1 +4000016c: afa20094 sw v0,148(sp) +40000170: afa30090 sw v1,144(sp) +40000174: afa00010 sw zero,16(sp) +40000178: afa80030 sw t0,48(sp) +4000017c: afa90034 sw t1,52(sp) +40000180: afaa0038 sw t2,56(sp) +40000184: afab003c sw t3,60(sp) +40000188: afac0040 sw t4,64(sp) +4000018c: afad0044 sw t5,68(sp) +40000190: afae0048 sw t6,72(sp) +40000194: afaf004c sw t7,76(sp) +40000198: afb00050 sw s0,80(sp) +4000019c: afb10054 sw s1,84(sp) +400001a0: afb20058 sw s2,88(sp) +400001a4: afb3005c sw s3,92(sp) +400001a8: afb40060 sw s4,96(sp) +400001ac: afb50064 sw s5,100(sp) +400001b0: afb60068 sw s6,104(sp) +400001b4: afb7006c sw s7,108(sp) +400001b8: afb80070 sw t8,112(sp) +400001bc: afb90074 sw t9,116(sp) +400001c0: afbc0080 sw gp,128(sp) +400001c4: afbe0088 sw s8,136(sp) +400001c8: 03a02021 move a0,sp +400001cc: 27bdfff0 addiu sp,sp,-16 +400001d0: 0800009f j 4000027c <_xcpt_call> +400001d4: 0000f821 move ra,zero +400001d8: 23a10010 addi at,sp,16 +400001dc: 8c280030 lw t0,48(at) +400001e0: 8c290034 lw t1,52(at) +400001e4: 8c2a0038 lw t2,56(at) +400001e8: 8c2b003c lw t3,60(at) +400001ec: 8c2c0040 lw t4,64(at) +400001f0: 8c2d0044 lw t5,68(at) +400001f4: 8c2e0048 lw t6,72(at) +400001f8: 8c2f004c lw t7,76(at) +400001fc: 8c300050 lw s0,80(at) +40000200: 8c310054 lw s1,84(at) +40000204: 8c320058 lw s2,88(at) +40000208: 8c33005c lw s3,92(at) +4000020c: 8c340060 lw s4,96(at) +40000210: 8c350064 lw s5,100(at) +40000214: 8c360068 lw s6,104(at) +40000218: 8c37006c lw s7,108(at) +4000021c: 8c380070 lw t8,112(at) +40000220: 8c390074 lw t9,116(at) +40000224: 8c3c0080 lw gp,128(at) +40000228: 8c3e0088 lw s8,136(at) +4000022c: 8c220094 lw v0,148(at) +40000230: 8c230090 lw v1,144(at) +40000234: 00400011 mthi v0 +40000238: 00600013 mtlo v1 +4000023c: 8c240020 lw a0,32(at) +40000240: 8c250024 lw a1,36(at) +40000244: 8c260028 lw a2,40(at) +40000248: 8c27002c lw a3,44(at) +4000024c: 8c3f008c lw ra,140(at) +40000250: 8c220000 lw v0,0(at) +40000254: 00000000 nop +40000258: 40826000 mtc0 v0,c0_sr +4000025c: 8c23001c lw v1,28(at) +40000260: 8c220018 lw v0,24(at) +40000264: 8c3d0084 lw sp,132(at) +40000268: 8c3b0008 lw k1,8(at) +4000026c: 8c210014 lw at,20(at) +40000270: 409b7000 mtc0 k1,c0_epc +40000274: 03600008 jr k1 +40000278: 42000010 c0 0x10 + +4000027c <_xcpt_call>: +4000027c: 27bdffe8 addiu sp,sp,-24 +40000280: afbf0010 sw ra,16(sp) +40000284: 0c00056f jal 400015bc <_xcpt_deliver> +40000288: 00000000 nop +4000028c: 00000000 nop +40000290: 8fbf0010 lw ra,16(sp) +40000294: 27bd0018 addiu sp,sp,24 +40000298: 13e0ffcf beqz ra,400001d8 <_xcpt_handler+0xd0> +4000029c: 00000000 nop +400002a0: 03e00008 jr ra +400002a4: 00000000 nop +400002a8: 00000000 nop + +400002ac : +400002ac: 3c044000 lui a0,0x4000 +400002b0: 3c024000 lui v0,0x4000 +400002b4: 24847928 addiu a0,a0,31016 +400002b8: 2442792b addiu v0,v0,31019 +400002bc: 00441023 subu v0,v0,a0 +400002c0: 2c420007 sltiu v0,v0,7 +400002c4: 10400003 beqz v0,400002d4 +400002c8: 3c190000 lui t9,0x0 +400002cc: 03e00008 jr ra +400002d0: 00000000 nop +400002d4: 27390000 addiu t9,t9,0 +400002d8: 1320fffc beqz t9,400002cc +400002dc: 00000000 nop +400002e0: 03200008 jr t9 +400002e4: 00000000 nop + +400002e8 : +400002e8: 3c044000 lui a0,0x4000 +400002ec: 3c024000 lui v0,0x4000 +400002f0: 24847928 addiu a0,a0,31016 +400002f4: 24427928 addiu v0,v0,31016 +400002f8: 00441023 subu v0,v0,a0 +400002fc: 00021083 sra v0,v0,0x2 +40000300: 00021fc2 srl v1,v0,0x1f +40000304: 00621021 addu v0,v1,v0 +40000308: 00022843 sra a1,v0,0x1 +4000030c: 14a00003 bnez a1,4000031c +40000310: 3c190000 lui t9,0x0 +40000314: 03e00008 jr ra +40000318: 00000000 nop +4000031c: 27390000 addiu t9,t9,0 +40000320: 1320fffc beqz t9,40000314 +40000324: 00000000 nop +40000328: 03200008 jr t9 +4000032c: 00000000 nop + +40000330 <__do_global_dtors_aux>: +40000330: 27bdffd8 addiu sp,sp,-40 +40000334: afb30020 sw s3,32(sp) +40000338: 3c134000 lui s3,0x4000 +4000033c: 92627950 lbu v0,31056(s3) +40000340: afbf0024 sw ra,36(sp) +40000344: afb2001c sw s2,28(sp) +40000348: afb10018 sw s1,24(sp) +4000034c: 14400023 bnez v0,400003dc <__do_global_dtors_aux+0xac> +40000350: afb00014 sw s0,20(sp) +40000354: 3c124000 lui s2,0x4000 +40000358: 3c114000 lui s1,0x4000 +4000035c: 26527008 addiu s2,s2,28680 +40000360: 2631700c addiu s1,s1,28684 +40000364: 3c104000 lui s0,0x4000 +40000368: 02328823 subu s1,s1,s2 +4000036c: 8e027954 lw v0,31060(s0) +40000370: 00118883 sra s1,s1,0x2 +40000374: 2631ffff addiu s1,s1,-1 +40000378: 0051182b sltu v1,v0,s1 +4000037c: 1060000c beqz v1,400003b0 <__do_global_dtors_aux+0x80> +40000380: 24420001 addiu v0,v0,1 +40000384: 00021880 sll v1,v0,0x2 +40000388: 02431821 addu v1,s2,v1 +4000038c: 8c630000 lw v1,0(v1) +40000390: 00000000 nop +40000394: 0060f809 jalr v1 +40000398: ae027954 sw v0,31060(s0) +4000039c: 8e027954 lw v0,31060(s0) +400003a0: 00000000 nop +400003a4: 0051182b sltu v1,v0,s1 +400003a8: 1460fff6 bnez v1,40000384 <__do_global_dtors_aux+0x54> +400003ac: 24420001 addiu v0,v0,1 +400003b0: 0c0000ab jal 400002ac +400003b4: 00000000 nop +400003b8: 3c020000 lui v0,0x0 +400003bc: 24420000 addiu v0,v0,0 +400003c0: 10400005 beqz v0,400003d8 <__do_global_dtors_aux+0xa8> +400003c4: 24020001 li v0,1 +400003c8: 3c044000 lui a0,0x4000 +400003cc: 0c000000 jal 40000000 <__executable_start> +400003d0: 24846918 addiu a0,a0,26904 +400003d4: 24020001 li v0,1 +400003d8: a2627950 sb v0,31056(s3) +400003dc: 8fbf0024 lw ra,36(sp) +400003e0: 8fb30020 lw s3,32(sp) +400003e4: 8fb2001c lw s2,28(sp) +400003e8: 8fb10018 lw s1,24(sp) +400003ec: 8fb00014 lw s0,20(sp) +400003f0: 03e00008 jr ra +400003f4: 27bd0028 addiu sp,sp,40 + +400003f8 : +400003f8: 3c020000 lui v0,0x0 +400003fc: 27bdffe8 addiu sp,sp,-24 +40000400: 24420000 addiu v0,v0,0 +40000404: 10400006 beqz v0,40000420 +40000408: afbf0014 sw ra,20(sp) +4000040c: 3c044000 lui a0,0x4000 +40000410: 3c054000 lui a1,0x4000 +40000414: 24846918 addiu a0,a0,26904 +40000418: 0c000000 jal 40000000 <__executable_start> +4000041c: 24a57958 addiu a1,a1,31064 +40000420: 3c044000 lui a0,0x4000 +40000424: 8c827010 lw v0,28688(a0) +40000428: 00000000 nop +4000042c: 10400006 beqz v0,40000448 +40000430: 3c020000 lui v0,0x0 +40000434: 24420000 addiu v0,v0,0 +40000438: 10400003 beqz v0,40000448 +4000043c: 00000000 nop +40000440: 0040f809 jalr v0 +40000444: 24847010 addiu a0,a0,28688 +40000448: 8fbf0014 lw ra,20(sp) +4000044c: 080000ba j 400002e8 +40000450: 27bd0018 addiu sp,sp,24 + +40000454
: +40000454: 3c044000 lui a0,0x4000 +40000458: 08000d7b j 400035ec +4000045c: 248461f0 addiu a0,a0,25072 + +40000460 : +40000460: 2c820003 sltiu v0,a0,3 +40000464: 14400006 bnez v0,40000480 +40000468: 2484fff6 addiu a0,a0,-10 +4000046c: 2c840002 sltiu a0,a0,2 +40000470: 14800005 bnez a0,40000488 +40000474: 00000000 nop +40000478: 03e00008 jr ra +4000047c: 00000000 nop +40000480: 03e00008 jr ra +40000484: 00001021 move v0,zero +40000488: 03e00008 jr ra +4000048c: 24020001 li v0,1 + +40000490 : +40000490: 40026000 mfc0 v0,c0_sr +40000494: 03e00008 jr ra +40000498: 00000000 nop + +4000049c : +4000049c: 40846000 mtc0 a0,c0_sr +400004a0: 03e00008 jr ra +400004a4: 00000000 nop + +400004a8 : +400004a8: 40026800 mfc0 v0,c0_cause +400004ac: 03e00008 jr ra +400004b0: 00000000 nop + +400004b4 : +400004b4: 40846800 mtc0 a0,c0_cause +400004b8: 03e00008 jr ra +400004bc: 00000000 nop + +400004c0 : +400004c0: 4002f800 mfc0 v0,$31 +400004c4: 03e00008 jr ra +400004c8: 00000000 nop + +400004cc : +400004cc: 4084f800 mtc0 a0,$31 +400004d0: 03e00008 jr ra +400004d4: 00000000 nop + +400004d8 : +400004d8: 40027800 mfc0 v0,c0_prid +400004dc: 03e00008 jr ra +400004e0: 00000000 nop + +400004e4 : +400004e4: 03e00008 jr ra +400004e8: e09f0000 swc0 $31,0(a0) + +400004ec : +400004ec: c09f0000 lwc0 $31,0(a0) +400004f0: 03e00008 jr ra +400004f4: 00000000 nop + +400004f8 : +400004f8: 03e00008 jr ra +400004fc: 42000020 c0 0x20 + +40000500 : +40000500: 4084f800 mtc0 a0,$31 +40000504: 00000000 nop +40000508: 03e00008 jr ra +4000050c: 42000021 c0 0x21 + +40000510 : +40000510: 03e00008 jr ra +40000514: 42000022 c0 0x22 + +40000518 : +40000518: 4084f800 mtc0 a0,$31 +4000051c: 00000000 nop +40000520: 03e00008 jr ra +40000524: 42000023 c0 0x23 + +40000528 : +40000528: 1080000d beqz a0,40000560 +4000052c: 00000000 nop +40000530: 8c820000 lw v0,0(a0) +40000534: 00000000 nop +40000538: 8c420000 lw v0,0(v0) +4000053c: 00000000 nop +40000540: 30420010 andi v0,v0,0x10 +40000544: 10400006 beqz v0,40000560 +40000548: 00000000 nop +4000054c: 8c820004 lw v0,4(a0) +40000550: 00000000 nop +40000554: 8c420000 lw v0,0(v0) +40000558: 03e00008 jr ra +4000055c: 304200ff andi v0,v0,0xff +40000560: 03e00008 jr ra +40000564: 2402ffff li v0,-1 + +40000568 : +40000568: 00052e00 sll a1,a1,0x18 +4000056c: 1080000b beqz a0,4000059c +40000570: 00052e03 sra a1,a1,0x18 +40000574: 8c830000 lw v1,0(a0) +40000578: 00000000 nop +4000057c: 8c620000 lw v0,0(v1) +40000580: 00000000 nop +40000584: 30420001 andi v0,v0,0x1 +40000588: 1440fffc bnez v0,4000057c +4000058c: 00000000 nop +40000590: 8c820004 lw v0,4(a0) +40000594: 00000000 nop +40000598: ac450000 sw a1,0(v0) +4000059c: 03e00008 jr ra +400005a0: 00000000 nop + +400005a4 : +400005a4: 3c064000 lui a2,0x4000 +400005a8: 000420c0 sll a0,a0,0x3 +400005ac: 24c67048 addiu a2,a2,28744 +400005b0: 00c43021 addu a2,a2,a0 +400005b4: 8cc40000 lw a0,0(a2) +400005b8: 24030001 li v1,1 +400005bc: 14830011 bne a0,v1,40000604 +400005c0: 00000000 nop +400005c4: 8cc20004 lw v0,4(a2) +400005c8: 00000000 nop +400005cc: 1040000f beqz v0,4000060c +400005d0: 00000000 nop +400005d4: 8c450000 lw a1,0(v0) +400005d8: 00000000 nop +400005dc: 8ca50000 lw a1,0(a1) +400005e0: 00000000 nop +400005e4: 30a50010 andi a1,a1,0x10 +400005e8: 10a00008 beqz a1,4000060c +400005ec: 00000000 nop +400005f0: 8c420004 lw v0,4(v0) +400005f4: 00000000 nop +400005f8: 8c420000 lw v0,0(v0) +400005fc: 00000000 nop +40000600: 304200ff andi v0,v0,0xff +40000604: 1440ffed bnez v0,400005bc +40000608: 00000000 nop +4000060c: 03e00008 jr ra +40000610: 00000000 nop + +40000614 : +40000614: 27bdffe8 addiu sp,sp,-24 +40000618: 3c02a000 lui v0,0xa000 +4000061c: afbf0014 sw ra,20(sp) +40000620: ac400018 sw zero,24(v0) +40000624: 0c000635 jal 400018d4 +40000628: 00000000 nop +4000062c: 0c0006a7 jal 40001a9c +40000630: 00000000 nop +40000634: 8fbf0014 lw ra,20(sp) +40000638: 00002021 move a0,zero +4000063c: 08000169 j 400005a4 +40000640: 27bd0018 addiu sp,sp,24 + +40000644 : +40000644: 3c024000 lui v0,0x4000 +40000648: 000420c0 sll a0,a0,0x3 +4000064c: 24427048 addiu v0,v0,28744 +40000650: 00441021 addu v0,v0,a0 +40000654: 8c460004 lw a2,4(v0) +40000658: 8c430000 lw v1,0(v0) +4000065c: 8cc50000 lw a1,0(a2) +40000660: 24020001 li v0,1 +40000664: 1462ffff bne v1,v0,40000664 +40000668: 00000000 nop +4000066c: 8ca40000 lw a0,0(a1) +40000670: 00000000 nop +40000674: 30840010 andi a0,a0,0x10 +40000678: 1080fffa beqz a0,40000664 +4000067c: 00000000 nop +40000680: 8cc20004 lw v0,4(a2) +40000684: 00000000 nop +40000688: 8c420000 lw v0,0(v0) +4000068c: 00000000 nop +40000690: 00021600 sll v0,v0,0x18 +40000694: 03e00008 jr ra +40000698: 00021603 sra v0,v0,0x18 + +4000069c : +4000069c: 3c024000 lui v0,0x4000 +400006a0: 000420c0 sll a0,a0,0x3 +400006a4: 24427030 addiu v0,v0,28720 +400006a8: 00441021 addu v0,v0,a0 +400006ac: 8c430000 lw v1,0(v0) +400006b0: 00052e00 sll a1,a1,0x18 +400006b4: 24040001 li a0,1 +400006b8: 1464000f bne v1,a0,400006f8 +400006bc: 00052e03 sra a1,a1,0x18 +400006c0: 8c440004 lw a0,4(v0) +400006c4: 00000000 nop +400006c8: 1080000b beqz a0,400006f8 +400006cc: 00000000 nop +400006d0: 8c830000 lw v1,0(a0) +400006d4: 00000000 nop +400006d8: 8c620000 lw v0,0(v1) +400006dc: 00000000 nop +400006e0: 30420001 andi v0,v0,0x1 +400006e4: 1440fffc bnez v0,400006d8 +400006e8: 00000000 nop +400006ec: 8c820004 lw v0,4(a0) +400006f0: 00000000 nop +400006f4: ac450000 sw a1,0(v0) +400006f8: 03e00008 jr ra +400006fc: 00000000 nop + +40000700 <_putchar>: +40000700: 3c024000 lui v0,0x4000 +40000704: 000420c0 sll a0,a0,0x3 +40000708: 24427030 addiu v0,v0,28720 +4000070c: 00441021 addu v0,v0,a0 +40000710: 8c430000 lw v1,0(v0) +40000714: 00052e00 sll a1,a1,0x18 +40000718: 24040001 li a0,1 +4000071c: 14640011 bne v1,a0,40000764 <_putchar+0x64> +40000720: 00052e03 sra a1,a1,0x18 +40000724: 2403000a li v1,10 +40000728: 8c440004 lw a0,4(v0) +4000072c: 10a3000f beq a1,v1,4000076c <_putchar+0x6c> +40000730: 00000000 nop +40000734: 1080001b beqz a0,400007a4 <_putchar+0xa4> +40000738: 00000000 nop +4000073c: 8c830000 lw v1,0(a0) +40000740: 00000000 nop +40000744: 8c620000 lw v0,0(v1) +40000748: 00000000 nop +4000074c: 30420001 andi v0,v0,0x1 +40000750: 1440fffc bnez v0,40000744 <_putchar+0x44> +40000754: 00000000 nop +40000758: 8c820004 lw v0,4(a0) +4000075c: 00000000 nop +40000760: ac450000 sw a1,0(v0) +40000764: 03e00008 jr ra +40000768: 00000000 nop +4000076c: 1080000d beqz a0,400007a4 <_putchar+0xa4> +40000770: 00000000 nop +40000774: 8c830000 lw v1,0(a0) +40000778: 00000000 nop +4000077c: 8c620000 lw v0,0(v1) +40000780: 00000000 nop +40000784: 30420001 andi v0,v0,0x1 +40000788: 1440fffc bnez v0,4000077c <_putchar+0x7c> +4000078c: 00000000 nop +40000790: 8c820004 lw v0,4(a0) +40000794: 2403000d li v1,13 +40000798: ac430000 sw v1,0(v0) +4000079c: 080001cf j 4000073c <_putchar+0x3c> +400007a0: 00000000 nop +400007a4: 03e00008 jr ra +400007a8: 00000000 nop + +400007ac <_getchar>: +400007ac: 08000191 j 40000644 +400007b0: 00002021 move a0,zero + +400007b4 <_exit>: +400007b4: 8f828010 lw v0,-32752(gp) +400007b8: 27bdffe8 addiu sp,sp,-24 +400007bc: 8c440008 lw a0,8(v0) +400007c0: afbf0014 sw ra,20(sp) +400007c4: 0c000794 jal 40001e50 +400007c8: 00000000 nop +400007cc: 8f828010 lw v0,-32752(gp) +400007d0: 00000000 nop +400007d4: 8c44000c lw a0,12(v0) +400007d8: 0c000794 jal 40001e50 +400007dc: 00000000 nop +400007e0: 080001f8 j 400007e0 <_exit+0x2c> +400007e4: 00000000 nop + +400007e8 : +400007e8: 3c03a000 lui v1,0xa000 +400007ec: 8c62000c lw v0,12(v1) +400007f0: 8c650008 lw a1,8(v1) +400007f4: 240303e8 li v1,1000 +400007f8: 14600002 bnez v1,40000804 +400007fc: 00a3001a div zero,a1,v1 +40000800: 0007000d break 0x7 +40000804: 00023080 sll a2,v0,0x2 +40000808: 000239c0 sll a3,v0,0x7 +4000080c: 00e63023 subu a2,a3,a2 +40000810: 00c21021 addu v0,a2,v0 +40000814: 000210c0 sll v0,v0,0x3 +40000818: 3c06a000 lui a2,0xa000 +4000081c: 240503e8 li a1,1000 +40000820: 00001812 mflo v1 +40000824: 00431821 addu v1,v0,v1 +40000828: 00642021 addu a0,v1,a0 +4000082c: 8cc2000c lw v0,12(a2) +40000830: 8cc30008 lw v1,8(a2) +40000834: 00023880 sll a3,v0,0x2 +40000838: 14a00002 bnez a1,40000844 +4000083c: 0065001a div zero,v1,a1 +40000840: 0007000d break 0x7 +40000844: 000241c0 sll t0,v0,0x7 +40000848: 01073823 subu a3,t0,a3 +4000084c: 00e21021 addu v0,a3,v0 +40000850: 000210c0 sll v0,v0,0x3 +40000854: 00001812 mflo v1 +40000858: 00431821 addu v1,v0,v1 +4000085c: 0064182b sltu v1,v1,a0 +40000860: 1460fff2 bnez v1,4000082c +40000864: 00000000 nop +40000868: 03e00008 jr ra +4000086c: 00000000 nop + +40000870 : +40000870: 10800026 beqz a0,4000090c +40000874: 3c02a000 lui v0,0xa000 +40000878: 27bdffd8 addiu sp,sp,-40 +4000087c: afb3001c sw s3,28(sp) +40000880: afb20018 sw s2,24(sp) +40000884: 8c52000c lw s2,12(v0) +40000888: 8c530008 lw s3,8(v0) +4000088c: afb40020 sw s4,32(sp) +40000890: 00939821 addu s3,a0,s3 +40000894: 02602021 move a0,s3 +40000898: afb10014 sw s1,20(sp) +4000089c: afb00010 sw s0,16(sp) +400008a0: afbf0024 sw ra,36(sp) +400008a4: 0c0016a7 jal 40005a9c <__floatunsidf> +400008a8: 3c144000 lui s4,0x4000 +400008ac: 00408021 move s0,v0 +400008b0: 8e87620c lw a3,25100(s4) +400008b4: 8e866208 lw a2,25096(s4) +400008b8: 00602821 move a1,v1 +400008bc: 02002021 move a0,s0 +400008c0: 0c00164c jal 40005930 <__gedf2> +400008c4: 00608821 move s1,v1 +400008c8: 04410012 bgez v0,40000914 +400008cc: 02202821 move a1,s1 +400008d0: 3c03a000 lui v1,0xa000 +400008d4: 8c65000c lw a1,12(v1) +400008d8: 8c660008 lw a2,8(v1) +400008dc: 00b2282b sltu a1,a1,s2 +400008e0: 14a0fffc bnez a1,400008d4 +400008e4: 00d3302b sltu a2,a2,s3 +400008e8: 14c0fffa bnez a2,400008d4 +400008ec: 00000000 nop +400008f0: 8fbf0024 lw ra,36(sp) +400008f4: 8fb40020 lw s4,32(sp) +400008f8: 8fb3001c lw s3,28(sp) +400008fc: 8fb20018 lw s2,24(sp) +40000900: 8fb10014 lw s1,20(sp) +40000904: 8fb00010 lw s0,16(sp) +40000908: 27bd0028 addiu sp,sp,40 +4000090c: 03e00008 jr ra +40000910: 00000000 nop +40000914: 8e87620c lw a3,25100(s4) +40000918: 8e866208 lw a2,25096(s4) +4000091c: 0c001633 jal 400058cc <__subdf3> +40000920: 02002021 move a0,s0 +40000924: 00602821 move a1,v1 +40000928: 0c001502 jal 40005408 <__fixunsdfsi> +4000092c: 00402021 move a0,v0 +40000930: 00409821 move s3,v0 +40000934: 08000234 j 400008d0 +40000938: 26520001 addiu s2,s2,1 + +4000093c : +4000093c: 3c03a000 lui v1,0xa000 +40000940: 8c620008 lw v0,8(v1) +40000944: 00000000 nop +40000948: aca20004 sw v0,4(a1) +4000094c: 8c64000c lw a0,12(v1) +40000950: 00000000 nop +40000954: aca40000 sw a0,0(a1) +40000958: 8c640008 lw a0,8(v1) +4000095c: 00000000 nop +40000960: aca4000c sw a0,12(a1) +40000964: 8c63000c lw v1,12(v1) +40000968: 03e00008 jr ra +4000096c: aca30008 sw v1,8(a1) + +40000970 : +40000970: 3c03a000 lui v1,0xa000 +40000974: 8c62000c lw v0,12(v1) +40000978: 8c630008 lw v1,8(v1) +4000097c: 1080000f beqz a0,400009bc +40000980: 240503e8 li a1,1000 +40000984: 14a00002 bnez a1,40000990 +40000988: 0065001a div zero,v1,a1 +4000098c: 0007000d break 0x7 +40000990: 00023080 sll a2,v0,0x2 +40000994: 000239c0 sll a3,v0,0x7 +40000998: 00e63023 subu a2,a3,a2 +4000099c: 00c23021 addu a2,a2,v0 +400009a0: 000630c0 sll a2,a2,0x3 +400009a4: ac800004 sw zero,4(a0) +400009a8: ac800008 sw zero,8(a0) +400009ac: ac80000c sw zero,12(a0) +400009b0: 00001812 mflo v1 +400009b4: 00c31821 addu v1,a2,v1 +400009b8: ac830000 sw v1,0(a0) +400009bc: 03e00008 jr ra +400009c0: 00000000 nop + +400009c4 : +400009c4: 10800008 beqz a0,400009e8 +400009c8: 00000000 nop +400009cc: 3c02a000 lui v0,0xa000 +400009d0: 8c43000c lw v1,12(v0) +400009d4: 00000000 nop +400009d8: ac830000 sw v1,0(a0) +400009dc: 8c420008 lw v0,8(v0) +400009e0: 00000000 nop +400009e4: ac820004 sw v0,4(a0) +400009e8: 03e00008 jr ra +400009ec: 00001021 move v0,zero + +400009f0 : +400009f0: 27bdffe0 addiu sp,sp,-32 +400009f4: 8c850004 lw a1,4(a0) +400009f8: 3c06000f lui a2,0xf +400009fc: 24c64240 addiu a2,a2,16960 +40000a00: afb00018 sw s0,24(sp) +40000a04: 00808021 move s0,a0 +40000a08: afbf001c sw ra,28(sp) +40000a0c: 0c0006b1 jal 40001ac4
+40000a10: 27a40010 addiu a0,sp,16 +40000a14: 8fa20014 lw v0,20(sp) +40000a18: 3c03a000 lui v1,0xa000 +40000a1c: ac620008 sw v0,8(v1) +40000a20: 8e050000 lw a1,0(s0) +40000a24: 8fa40010 lw a0,16(sp) +40000a28: 8fbf001c lw ra,28(sp) +40000a2c: 00a42021 addu a0,a1,a0 +40000a30: 8fb00018 lw s0,24(sp) +40000a34: 00001021 move v0,zero +40000a38: ac64000c sw a0,12(v1) +40000a3c: 03e00008 jr ra +40000a40: 27bd0020 addiu sp,sp,32 + +40000a44 : +40000a44: 3c034000 lui v1,0x4000 +40000a48: 8c627970 lw v0,31088(v1) +40000a4c: 00000000 nop +40000a50: 10400009 beqz v0,40000a78 +40000a54: 00000000 nop +40000a58: 3c058000 lui a1,0x8000 +40000a5c: 00442021 addu a0,v0,a0 +40000a60: 24a5eff0 addiu a1,a1,-4112 +40000a64: 00a4282b sltu a1,a1,a0 +40000a68: 14a00007 bnez a1,40000a88 +40000a6c: 00000000 nop +40000a70: 03e00008 jr ra +40000a74: ac647970 sw a0,31088(v1) +40000a78: 3c024000 lui v0,0x4000 +40000a7c: 24427a48 addiu v0,v0,31304 +40000a80: 08000296 j 40000a58 +40000a84: ac627970 sw v0,31088(v1) +40000a88: 27bdffe8 addiu sp,sp,-24 +40000a8c: afbf0014 sw ra,20(sp) +40000a90: 0c0006cd jal 40001b34 +40000a94: 24040001 li a0,1 + +40000a98 : +40000a98: 24022000 li v0,8192 +40000a9c: aca20004 sw v0,4(a1) +40000aa0: aca0002c sw zero,44(a1) +40000aa4: 03e00008 jr ra +40000aa8: 00001021 move v0,zero + +40000aac : +40000aac: 27bdffe8 addiu sp,sp,-24 +40000ab0: afbf0014 sw ra,20(sp) +40000ab4: 0c0006ca jal 40001b28 <__errno> +40000ab8: 00000000 nop +40000abc: 8fbf0014 lw ra,20(sp) +40000ac0: 2403001d li v1,29 +40000ac4: ac430000 sw v1,0(v0) +40000ac8: 2402ffff li v0,-1 +40000acc: 03e00008 jr ra +40000ad0: 27bd0018 addiu sp,sp,24 + +40000ad4 : +40000ad4: 27bdffe8 addiu sp,sp,-24 +40000ad8: afbf0014 sw ra,20(sp) +40000adc: 0c0006ca jal 40001b28 <__errno> +40000ae0: 00000000 nop +40000ae4: 8fbf0014 lw ra,20(sp) +40000ae8: 24030005 li v1,5 +40000aec: ac430000 sw v1,0(v0) +40000af0: 2402ffff li v0,-1 +40000af4: 03e00008 jr ra +40000af8: 27bd0018 addiu sp,sp,24 + +40000afc : +40000afc: 03e00008 jr ra +40000b00: 00001021 move v0,zero + +40000b04 : +40000b04: 27bdffc8 addiu sp,sp,-56 +40000b08: 2c820003 sltiu v0,a0,3 +40000b0c: afb40024 sw s4,36(sp) +40000b10: afb30020 sw s3,32(sp) +40000b14: afbf0034 sw ra,52(sp) +40000b18: afb70030 sw s7,48(sp) +40000b1c: afb6002c sw s6,44(sp) +40000b20: afb50028 sw s5,40(sp) +40000b24: afb2001c sw s2,28(sp) +40000b28: afb10018 sw s1,24(sp) +40000b2c: afb00014 sw s0,20(sp) +40000b30: 00a0a021 move s4,a1 +40000b34: 14400026 bnez v0,40000bd0 +40000b38: 00c09821 move s3,a2 +40000b3c: 2484fff6 addiu a0,a0,-10 +40000b40: 2c840002 sltiu a0,a0,2 +40000b44: 14800033 bnez a0,40000c14 +40000b48: 00000000 nop +40000b4c: 1a600014 blez s3,40000ba0 +40000b50: 00008821 move s1,zero +40000b54: 24150004 li s5,4 +40000b58: 2416000d li s6,13 +40000b5c: 080002e2 j 40000b88 +40000b60: 2417000a li s7,10 +40000b64: 1056001c beq v0,s6,40000bd8 +40000b68: 00000000 nop +40000b6c: 1057001a beq v0,s7,40000bd8 +40000b70: 00000000 nop +40000b74: 0c0001a7 jal 4000069c +40000b78: 26310001 addiu s1,s1,1 +40000b7c: 02911021 addu v0,s4,s1 +40000b80: 12330007 beq s1,s3,40000ba0 +40000b84: a050ffff sb s0,-1(v0) +40000b88: 0c000191 jal 40000644 +40000b8c: 02402021 move a0,s2 +40000b90: 00408021 move s0,v0 +40000b94: 02402021 move a0,s2 +40000b98: 1455fff2 bne v0,s5,40000b64 +40000b9c: 00402821 move a1,v0 +40000ba0: 8fbf0034 lw ra,52(sp) +40000ba4: 02201021 move v0,s1 +40000ba8: 8fb70030 lw s7,48(sp) +40000bac: 8fb6002c lw s6,44(sp) +40000bb0: 8fb50028 lw s5,40(sp) +40000bb4: 8fb40024 lw s4,36(sp) +40000bb8: 8fb30020 lw s3,32(sp) +40000bbc: 8fb2001c lw s2,28(sp) +40000bc0: 8fb10018 lw s1,24(sp) +40000bc4: 8fb00014 lw s0,20(sp) +40000bc8: 03e00008 jr ra +40000bcc: 27bd0038 addiu sp,sp,56 +40000bd0: 080002d3 j 40000b4c +40000bd4: 00009021 move s2,zero +40000bd8: 02402021 move a0,s2 +40000bdc: 0c0001a7 jal 4000069c +40000be0: 2405000d li a1,13 +40000be4: 02911021 addu v0,s4,s1 +40000be8: 2403000d li v1,13 +40000bec: 26300001 addiu s0,s1,1 +40000bf0: a0430000 sb v1,0(v0) +40000bf4: 02402021 move a0,s2 +40000bf8: 0c0001a7 jal 4000069c +40000bfc: 2405000a li a1,10 +40000c00: 02908021 addu s0,s4,s0 +40000c04: 2402000a li v0,10 +40000c08: 26310002 addiu s1,s1,2 +40000c0c: 080002e8 j 40000ba0 +40000c10: a2020000 sb v0,0(s0) +40000c14: 080002d3 j 40000b4c +40000c18: 24120001 li s2,1 + +40000c1c : +40000c1c: 27bdffd8 addiu sp,sp,-40 +40000c20: 2c820003 sltiu v0,a0,3 +40000c24: afb30020 sw s3,32(sp) +40000c28: afb00014 sw s0,20(sp) +40000c2c: afbf0024 sw ra,36(sp) +40000c30: afb2001c sw s2,28(sp) +40000c34: afb10018 sw s1,24(sp) +40000c38: 00a08021 move s0,a1 +40000c3c: 14400015 bnez v0,40000c94 +40000c40: 00c09821 move s3,a2 +40000c44: 2484fff6 addiu a0,a0,-10 +40000c48: 2c840002 sltiu a0,a0,2 +40000c4c: 14800013 bnez a0,40000c9c +40000c50: 00000000 nop +40000c54: 1a600013 blez s3,40000ca4 +40000c58: 02138821 addu s1,s0,s3 +40000c5c: 26100001 addiu s0,s0,1 +40000c60: 8205ffff lb a1,-1(s0) +40000c64: 0c0001c0 jal 40000700 <_putchar> +40000c68: 02402021 move a0,s2 +40000c6c: 1611fffc bne s0,s1,40000c60 +40000c70: 26100001 addiu s0,s0,1 +40000c74: 8fbf0024 lw ra,36(sp) +40000c78: 02601021 move v0,s3 +40000c7c: 8fb2001c lw s2,28(sp) +40000c80: 8fb30020 lw s3,32(sp) +40000c84: 8fb10018 lw s1,24(sp) +40000c88: 8fb00014 lw s0,20(sp) +40000c8c: 03e00008 jr ra +40000c90: 27bd0028 addiu sp,sp,40 +40000c94: 08000315 j 40000c54 +40000c98: 00009021 move s2,zero +40000c9c: 08000315 j 40000c54 +40000ca0: 24120001 li s2,1 +40000ca4: 0800031d j 40000c74 +40000ca8: 00009821 move s3,zero + +40000cac : +40000cac: 03e00008 jr ra +40000cb0: 24020001 li v0,1 + +40000cb4 : +40000cb4: 03e00008 jr ra +40000cb8: 24020001 li v0,1 + +40000cbc : +40000cbc: 24030016 li v1,22 +40000cc0: 3c024000 lui v0,0x4000 +40000cc4: ac43794c sw v1,31052(v0) +40000cc8: 03e00008 jr ra +40000ccc: 2402ffff li v0,-1 + +40000cd0 : +40000cd0: 2403001f li v1,31 +40000cd4: 3c024000 lui v0,0x4000 +40000cd8: ac43794c sw v1,31052(v0) +40000cdc: 03e00008 jr ra +40000ce0: 2402ffff li v0,-1 + +40000ce4 : +40000ce4: 24030002 li v1,2 +40000ce8: 3c024000 lui v0,0x4000 +40000cec: ac43794c sw v1,31052(v0) +40000cf0: 03e00008 jr ra +40000cf4: 2402ffff li v0,-1 + +40000cf8 : +40000cf8: 27bdffe0 addiu sp,sp,-32 +40000cfc: afb10018 sw s1,24(sp) +40000d00: afbf001c sw ra,28(sp) +40000d04: afb00014 sw s0,20(sp) +40000d08: 80850000 lb a1,0(a0) +40000d0c: 00000000 nop +40000d10: 10a00010 beqz a1,40000d54 +40000d14: 00808821 move s1,a0 +40000d18: 00808021 move s0,a0 +40000d1c: 26100001 addiu s0,s0,1 +40000d20: 0c0001c0 jal 40000700 <_putchar> +40000d24: 00002021 move a0,zero +40000d28: 82050000 lb a1,0(s0) +40000d2c: 00000000 nop +40000d30: 14a0fffb bnez a1,40000d20 +40000d34: 26100001 addiu s0,s0,1 +40000d38: 2610ffff addiu s0,s0,-1 +40000d3c: 02111023 subu v0,s0,s1 +40000d40: 8fbf001c lw ra,28(sp) +40000d44: 8fb10018 lw s1,24(sp) +40000d48: 8fb00014 lw s0,20(sp) +40000d4c: 03e00008 jr ra +40000d50: 27bd0020 addiu sp,sp,32 +40000d54: 08000350 j 40000d40 +40000d58: 00001021 move v0,zero + +40000d5c : +40000d5c: 00042600 sll a0,a0,0x18 +40000d60: 00042603 sra a0,a0,0x18 +40000d64: 308200ff andi v0,a0,0xff +40000d68: 00021102 srl v0,v0,0x4 +40000d6c: 27bdffe8 addiu sp,sp,-24 +40000d70: 2c43000a sltiu v1,v0,10 +40000d74: afb00010 sw s0,16(sp) +40000d78: afbf0014 sw ra,20(sp) +40000d7c: 1460000f bnez v1,40000dbc +40000d80: 00048100 sll s0,a0,0x4 +40000d84: 24450037 addiu a1,v0,55 +40000d88: 0c0001c0 jal 40000700 <_putchar> +40000d8c: 00002021 move a0,zero +40000d90: 320500ff andi a1,s0,0xff +40000d94: 00052902 srl a1,a1,0x4 +40000d98: 2ca2000a sltiu v0,a1,10 +40000d9c: 1040000f beqz v0,40000ddc +40000da0: 00000000 nop +40000da4: 8fbf0014 lw ra,20(sp) +40000da8: 8fb00010 lw s0,16(sp) +40000dac: 24a50030 addiu a1,a1,48 +40000db0: 00002021 move a0,zero +40000db4: 080001c0 j 40000700 <_putchar> +40000db8: 27bd0018 addiu sp,sp,24 +40000dbc: 24450030 addiu a1,v0,48 +40000dc0: 0c0001c0 jal 40000700 <_putchar> +40000dc4: 00002021 move a0,zero +40000dc8: 320500ff andi a1,s0,0xff +40000dcc: 00052902 srl a1,a1,0x4 +40000dd0: 2ca2000a sltiu v0,a1,10 +40000dd4: 1440fff3 bnez v0,40000da4 +40000dd8: 00000000 nop +40000ddc: 8fbf0014 lw ra,20(sp) +40000de0: 8fb00010 lw s0,16(sp) +40000de4: 24a50037 addiu a1,a1,55 +40000de8: 00002021 move a0,zero +40000dec: 080001c0 j 40000700 <_putchar> +40000df0: 27bd0018 addiu sp,sp,24 + +40000df4 : +40000df4: 27bdffe0 addiu sp,sp,-32 +40000df8: afb10018 sw s1,24(sp) +40000dfc: afb00014 sw s0,20(sp) +40000e00: afbf001c sw ra,28(sp) +40000e04: 00808821 move s1,a0 +40000e08: 24100004 li s0,4 +40000e0c: 00112603 sra a0,s1,0x18 +40000e10: 0c000357 jal 40000d5c +40000e14: 2610ffff addiu s0,s0,-1 +40000e18: 1600fffc bnez s0,40000e0c +40000e1c: 00118a00 sll s1,s1,0x8 +40000e20: 8fbf001c lw ra,28(sp) +40000e24: 8fb10018 lw s1,24(sp) +40000e28: 8fb00014 lw s0,20(sp) +40000e2c: 03e00008 jr ra +40000e30: 27bd0020 addiu sp,sp,32 + +40000e34 : +40000e34: 27bdffc0 addiu sp,sp,-64 +40000e38: afb60030 sw s6,48(sp) +40000e3c: afb20020 sw s2,32(sp) +40000e40: afbf003c sw ra,60(sp) +40000e44: afbe0038 sw s8,56(sp) +40000e48: afb70034 sw s7,52(sp) +40000e4c: afb5002c sw s5,44(sp) +40000e50: afb40028 sw s4,40(sp) +40000e54: afb30024 sw s3,36(sp) +40000e58: afb1001c sw s1,28(sp) +40000e5c: afb00018 sw s0,24(sp) +40000e60: 00c0b021 move s6,a2 +40000e64: 14a00059 bnez a1,40000fcc +40000e68: 00e09021 move s2,a3 +40000e6c: 0080f021 move s8,a0 +40000e70: 03c4f023 subu s8,s8,a0 +40000e74: 3c134000 lui s3,0x4000 +40000e78: 3c144000 lui s4,0x4000 +40000e7c: 0080a821 move s5,a0 +40000e80: 00968821 addu s1,a0,s6 +40000e84: 02408021 move s0,s2 +40000e88: afbe0010 sw s8,16(sp) +40000e8c: 26736200 addiu s3,s3,25088 +40000e90: 2694653c addiu s4,s4,25916 +40000e94: 8fa20010 lw v0,16(sp) +40000e98: 24170004 li s7,4 +40000e9c: 0055f021 addu s8,v0,s5 +40000ea0: 001e2603 sra a0,s8,0x18 +40000ea4: 0c000357 jal 40000d5c +40000ea8: 26f7ffff addiu s7,s7,-1 +40000eac: 16e0fffc bnez s7,40000ea0 +40000eb0: 001ef200 sll s8,s8,0x8 +40000eb4: 3c044000 lui a0,0x4000 +40000eb8: 0c00033e jal 40000cf8 +40000ebc: 2484629c addiu a0,a0,25244 +40000ec0: 1ac00038 blez s6,40000fa4 +40000ec4: 02a0b821 move s7,s5 +40000ec8: 080003bc j 40000ef0 +40000ecc: 00000000 nop +40000ed0: 82e40000 lb a0,0(s7) +40000ed4: 0c000357 jal 40000d5c +40000ed8: 26f70001 addiu s7,s7,1 +40000edc: 02802021 move a0,s4 +40000ee0: 0c00033e jal 40000cf8 +40000ee4: 2652ffff addiu s2,s2,-1 +40000ee8: 12f10007 beq s7,s1,40000f08 +40000eec: 00000000 nop +40000ef0: 1640fff7 bnez s2,40000ed0 +40000ef4: 02602021 move a0,s3 +40000ef8: 0c00033e jal 40000cf8 +40000efc: 26f70001 addiu s7,s7,1 +40000f00: 16f1fffb bne s7,s1,40000ef0 +40000f04: 00000000 nop +40000f08: 0c00033e jal 40000cf8 +40000f0c: 02602021 move a0,s3 +40000f10: 02a0b821 move s7,s5 +40000f14: 1200001f beqz s0,40000f94 +40000f18: 00000000 nop +40000f1c: 92e20000 lbu v0,0(s7) +40000f20: 00000000 nop +40000f24: 2444ffe0 addiu a0,v0,-32 +40000f28: 2c840060 sltiu a0,a0,96 +40000f2c: 10800002 beqz a0,40000f38 +40000f30: 2405002e li a1,46 +40000f34: 00402821 move a1,v0 +40000f38: 0c0001c0 jal 40000700 <_putchar> +40000f3c: 00002021 move a0,zero +40000f40: 2610ffff addiu s0,s0,-1 +40000f44: 26f70001 addiu s7,s7,1 +40000f48: 1637fff2 bne s1,s7,40000f14 +40000f4c: 3c044000 lui a0,0x4000 +40000f50: 0c00033e jal 40000cf8 +40000f54: 24846204 addiu a0,a0,25092 +40000f58: 02368821 addu s1,s1,s6 +40000f5c: 1640ffcd bnez s2,40000e94 +40000f60: 02b6a821 addu s5,s5,s6 +40000f64: 8fbf003c lw ra,60(sp) +40000f68: 8fbe0038 lw s8,56(sp) +40000f6c: 8fb70034 lw s7,52(sp) +40000f70: 8fb60030 lw s6,48(sp) +40000f74: 8fb5002c lw s5,44(sp) +40000f78: 8fb40028 lw s4,40(sp) +40000f7c: 8fb30024 lw s3,36(sp) +40000f80: 8fb20020 lw s2,32(sp) +40000f84: 8fb1001c lw s1,28(sp) +40000f88: 8fb00018 lw s0,24(sp) +40000f8c: 03e00008 jr ra +40000f90: 27bd0040 addiu sp,sp,64 +40000f94: 0c00033e jal 40000cf8 +40000f98: 02802021 move a0,s4 +40000f9c: 080003d2 j 40000f48 +40000fa0: 26f70001 addiu s7,s7,1 +40000fa4: 0c00033e jal 40000cf8 +40000fa8: 02602021 move a0,s3 +40000fac: 3c044000 lui a0,0x4000 +40000fb0: 0c00033e jal 40000cf8 +40000fb4: 24846204 addiu a0,a0,25092 +40000fb8: 02368821 addu s1,s1,s6 +40000fbc: 1640ffb5 bnez s2,40000e94 +40000fc0: 02b6a821 addu s5,s5,s6 +40000fc4: 080003d9 j 40000f64 +40000fc8: 00000000 nop +40000fcc: 0800039c j 40000e70 +40000fd0: 0000f021 move s8,zero + +40000fd4 : +40000fd4: 00a01021 move v0,a1 +40000fd8: 00c03821 move a3,a2 +40000fdc: 24050001 li a1,1 +40000fe0: 0800038d j 40000e34 +40000fe4: 00403021 move a2,v0 + +40000fe8 : +40000fe8: 2c820020 sltiu v0,a0,32 +40000fec: 10400005 beqz v0,40001004 +40000ff0: 3c024000 lui v0,0x4000 +40000ff4: 00042080 sll a0,a0,0x2 +40000ff8: 24427974 addiu v0,v0,31092 +40000ffc: 00822021 addu a0,a0,v0 +40001000: ac850000 sw a1,0(a0) +40001004: 03e00008 jr ra +40001008: 00000000 nop + +4000100c : +4000100c: 27bdffe0 addiu sp,sp,-32 +40001010: afb10014 sw s1,20(sp) +40001014: 00808821 move s1,a0 +40001018: 3c044000 lui a0,0x4000 +4000101c: 24846210 addiu a0,a0,25104 +40001020: afbf001c sw ra,28(sp) +40001024: afb20018 sw s2,24(sp) +40001028: 0c00033e jal 40000cf8 +4000102c: afb00010 sw s0,16(sp) +40001030: 8e240000 lw a0,0(s1) +40001034: 0c00037d jal 40000df4 +40001038: 3c104000 lui s0,0x4000 +4000103c: 0c00033e jal 40000cf8 +40001040: 26046200 addiu a0,s0,25088 +40001044: 3c044000 lui a0,0x4000 +40001048: 0c00033e jal 40000cf8 +4000104c: 2484621c addiu a0,a0,25116 +40001050: 8e240004 lw a0,4(s1) +40001054: 0c00037d jal 40000df4 +40001058: 3c124000 lui s2,0x4000 +4000105c: 0c00033e jal 40000cf8 +40001060: 26046200 addiu a0,s0,25088 +40001064: 3c044000 lui a0,0x4000 +40001068: 0c00033e jal 40000cf8 +4000106c: 24846228 addiu a0,a0,25128 +40001070: 8e240008 lw a0,8(s1) +40001074: 0c00037d jal 40000df4 +40001078: 00000000 nop +4000107c: 0c00033e jal 40000cf8 +40001080: 26046200 addiu a0,s0,25088 +40001084: 3c044000 lui a0,0x4000 +40001088: 0c00033e jal 40000cf8 +4000108c: 24846234 addiu a0,a0,25140 +40001090: 8e24000c lw a0,12(s1) +40001094: 0c00037d jal 40000df4 +40001098: 00000000 nop +4000109c: 0c00033e jal 40000cf8 +400010a0: 26046200 addiu a0,s0,25088 +400010a4: 0c00033e jal 40000cf8 +400010a8: 26446204 addiu a0,s2,25092 +400010ac: 3c044000 lui a0,0x4000 +400010b0: 0c00033e jal 40000cf8 +400010b4: 24846240 addiu a0,a0,25152 +400010b8: 8e240090 lw a0,144(s1) +400010bc: 0c00037d jal 40000df4 +400010c0: 00000000 nop +400010c4: 0c00033e jal 40000cf8 +400010c8: 26046200 addiu a0,s0,25088 +400010cc: 3c044000 lui a0,0x4000 +400010d0: 0c00033e jal 40000cf8 +400010d4: 2484624c addiu a0,a0,25164 +400010d8: 8e240094 lw a0,148(s1) +400010dc: 0c00037d jal 40000df4 +400010e0: 00000000 nop +400010e4: 0c00033e jal 40000cf8 +400010e8: 26046200 addiu a0,s0,25088 +400010ec: 0c00033e jal 40000cf8 +400010f0: 26446204 addiu a0,s2,25092 +400010f4: 3c044000 lui a0,0x4000 +400010f8: 0c00033e jal 40000cf8 +400010fc: 24846258 addiu a0,a0,25176 +40001100: 3c044000 lui a0,0x4000 +40001104: 0c00033e jal 40000cf8 +40001108: 24846264 addiu a0,a0,25188 +4000110c: 8e240010 lw a0,16(s1) +40001110: 0c00037d jal 40000df4 +40001114: 00000000 nop +40001118: 0c00033e jal 40000cf8 +4000111c: 26046200 addiu a0,s0,25088 +40001120: 3c044000 lui a0,0x4000 +40001124: 0c00033e jal 40000cf8 +40001128: 24846270 addiu a0,a0,25200 +4000112c: 8e240014 lw a0,20(s1) +40001130: 0c00037d jal 40000df4 +40001134: 00000000 nop +40001138: 0c00033e jal 40000cf8 +4000113c: 26046200 addiu a0,s0,25088 +40001140: 3c044000 lui a0,0x4000 +40001144: 0c00033e jal 40000cf8 +40001148: 2484627c addiu a0,a0,25212 +4000114c: 8e240018 lw a0,24(s1) +40001150: 0c00037d jal 40000df4 +40001154: 00000000 nop +40001158: 0c00033e jal 40000cf8 +4000115c: 26046200 addiu a0,s0,25088 +40001160: 3c044000 lui a0,0x4000 +40001164: 0c00033e jal 40000cf8 +40001168: 24846288 addiu a0,a0,25224 +4000116c: 8e24001c lw a0,28(s1) +40001170: 0c00037d jal 40000df4 +40001174: 00000000 nop +40001178: 0c00033e jal 40000cf8 +4000117c: 26046200 addiu a0,s0,25088 +40001180: 0c00033e jal 40000cf8 +40001184: 26446204 addiu a0,s2,25092 +40001188: 3c044000 lui a0,0x4000 +4000118c: 0c00033e jal 40000cf8 +40001190: 24846294 addiu a0,a0,25236 +40001194: 8e240020 lw a0,32(s1) +40001198: 0c00037d jal 40000df4 +4000119c: 00000000 nop +400011a0: 0c00033e jal 40000cf8 +400011a4: 26046200 addiu a0,s0,25088 +400011a8: 3c044000 lui a0,0x4000 +400011ac: 0c00033e jal 40000cf8 +400011b0: 248462a0 addiu a0,a0,25248 +400011b4: 8e240024 lw a0,36(s1) +400011b8: 0c00037d jal 40000df4 +400011bc: 00000000 nop +400011c0: 0c00033e jal 40000cf8 +400011c4: 26046200 addiu a0,s0,25088 +400011c8: 3c044000 lui a0,0x4000 +400011cc: 0c00033e jal 40000cf8 +400011d0: 248462ac addiu a0,a0,25260 +400011d4: 8e240028 lw a0,40(s1) +400011d8: 0c00037d jal 40000df4 +400011dc: 00000000 nop +400011e0: 0c00033e jal 40000cf8 +400011e4: 26046200 addiu a0,s0,25088 +400011e8: 3c044000 lui a0,0x4000 +400011ec: 0c00033e jal 40000cf8 +400011f0: 248462b8 addiu a0,a0,25272 +400011f4: 8e24002c lw a0,44(s1) +400011f8: 0c00037d jal 40000df4 +400011fc: 00000000 nop +40001200: 0c00033e jal 40000cf8 +40001204: 26046200 addiu a0,s0,25088 +40001208: 0c00033e jal 40000cf8 +4000120c: 26446204 addiu a0,s2,25092 +40001210: 3c044000 lui a0,0x4000 +40001214: 0c00033e jal 40000cf8 +40001218: 248462c4 addiu a0,a0,25284 +4000121c: 8e240030 lw a0,48(s1) +40001220: 0c00037d jal 40000df4 +40001224: 00000000 nop +40001228: 0c00033e jal 40000cf8 +4000122c: 26046200 addiu a0,s0,25088 +40001230: 3c044000 lui a0,0x4000 +40001234: 0c00033e jal 40000cf8 +40001238: 248462d0 addiu a0,a0,25296 +4000123c: 8e240034 lw a0,52(s1) +40001240: 0c00037d jal 40000df4 +40001244: 00000000 nop +40001248: 0c00033e jal 40000cf8 +4000124c: 26046200 addiu a0,s0,25088 +40001250: 3c044000 lui a0,0x4000 +40001254: 0c00033e jal 40000cf8 +40001258: 248462dc addiu a0,a0,25308 +4000125c: 8e240038 lw a0,56(s1) +40001260: 0c00037d jal 40000df4 +40001264: 00000000 nop +40001268: 0c00033e jal 40000cf8 +4000126c: 26046200 addiu a0,s0,25088 +40001270: 3c044000 lui a0,0x4000 +40001274: 0c00033e jal 40000cf8 +40001278: 248462e8 addiu a0,a0,25320 +4000127c: 8e24003c lw a0,60(s1) +40001280: 0c00037d jal 40000df4 +40001284: 00000000 nop +40001288: 0c00033e jal 40000cf8 +4000128c: 26046200 addiu a0,s0,25088 +40001290: 0c00033e jal 40000cf8 +40001294: 26446204 addiu a0,s2,25092 +40001298: 3c044000 lui a0,0x4000 +4000129c: 0c00033e jal 40000cf8 +400012a0: 248462f4 addiu a0,a0,25332 +400012a4: 8e240040 lw a0,64(s1) +400012a8: 0c00037d jal 40000df4 +400012ac: 00000000 nop +400012b0: 0c00033e jal 40000cf8 +400012b4: 26046200 addiu a0,s0,25088 +400012b8: 3c044000 lui a0,0x4000 +400012bc: 0c00033e jal 40000cf8 +400012c0: 24846300 addiu a0,a0,25344 +400012c4: 8e240044 lw a0,68(s1) +400012c8: 0c00037d jal 40000df4 +400012cc: 00000000 nop +400012d0: 0c00033e jal 40000cf8 +400012d4: 26046200 addiu a0,s0,25088 +400012d8: 3c044000 lui a0,0x4000 +400012dc: 0c00033e jal 40000cf8 +400012e0: 2484630c addiu a0,a0,25356 +400012e4: 8e240048 lw a0,72(s1) +400012e8: 0c00037d jal 40000df4 +400012ec: 00000000 nop +400012f0: 0c00033e jal 40000cf8 +400012f4: 26046200 addiu a0,s0,25088 +400012f8: 3c044000 lui a0,0x4000 +400012fc: 0c00033e jal 40000cf8 +40001300: 24846318 addiu a0,a0,25368 +40001304: 8e24004c lw a0,76(s1) +40001308: 0c00037d jal 40000df4 +4000130c: 00000000 nop +40001310: 0c00033e jal 40000cf8 +40001314: 26046200 addiu a0,s0,25088 +40001318: 0c00033e jal 40000cf8 +4000131c: 26446204 addiu a0,s2,25092 +40001320: 3c044000 lui a0,0x4000 +40001324: 0c00033e jal 40000cf8 +40001328: 24846324 addiu a0,a0,25380 +4000132c: 8e240050 lw a0,80(s1) +40001330: 0c00037d jal 40000df4 +40001334: 00000000 nop +40001338: 0c00033e jal 40000cf8 +4000133c: 26046200 addiu a0,s0,25088 +40001340: 3c044000 lui a0,0x4000 +40001344: 0c00033e jal 40000cf8 +40001348: 24846330 addiu a0,a0,25392 +4000134c: 8e240054 lw a0,84(s1) +40001350: 0c00037d jal 40000df4 +40001354: 00000000 nop +40001358: 0c00033e jal 40000cf8 +4000135c: 26046200 addiu a0,s0,25088 +40001360: 3c044000 lui a0,0x4000 +40001364: 0c00033e jal 40000cf8 +40001368: 2484633c addiu a0,a0,25404 +4000136c: 8e240058 lw a0,88(s1) +40001370: 0c00037d jal 40000df4 +40001374: 00000000 nop +40001378: 0c00033e jal 40000cf8 +4000137c: 26046200 addiu a0,s0,25088 +40001380: 3c044000 lui a0,0x4000 +40001384: 0c00033e jal 40000cf8 +40001388: 24846348 addiu a0,a0,25416 +4000138c: 8e24005c lw a0,92(s1) +40001390: 0c00037d jal 40000df4 +40001394: 00000000 nop +40001398: 0c00033e jal 40000cf8 +4000139c: 26046200 addiu a0,s0,25088 +400013a0: 0c00033e jal 40000cf8 +400013a4: 26446204 addiu a0,s2,25092 +400013a8: 3c044000 lui a0,0x4000 +400013ac: 0c00033e jal 40000cf8 +400013b0: 24846354 addiu a0,a0,25428 +400013b4: 8e240060 lw a0,96(s1) +400013b8: 0c00037d jal 40000df4 +400013bc: 00000000 nop +400013c0: 0c00033e jal 40000cf8 +400013c4: 26046200 addiu a0,s0,25088 +400013c8: 3c044000 lui a0,0x4000 +400013cc: 0c00033e jal 40000cf8 +400013d0: 24846360 addiu a0,a0,25440 +400013d4: 8e240064 lw a0,100(s1) +400013d8: 0c00037d jal 40000df4 +400013dc: 00000000 nop +400013e0: 0c00033e jal 40000cf8 +400013e4: 26046200 addiu a0,s0,25088 +400013e8: 3c044000 lui a0,0x4000 +400013ec: 0c00033e jal 40000cf8 +400013f0: 2484636c addiu a0,a0,25452 +400013f4: 8e240068 lw a0,104(s1) +400013f8: 0c00037d jal 40000df4 +400013fc: 00000000 nop +40001400: 0c00033e jal 40000cf8 +40001404: 26046200 addiu a0,s0,25088 +40001408: 3c044000 lui a0,0x4000 +4000140c: 0c00033e jal 40000cf8 +40001410: 24846378 addiu a0,a0,25464 +40001414: 8e24006c lw a0,108(s1) +40001418: 0c00037d jal 40000df4 +4000141c: 00000000 nop +40001420: 0c00033e jal 40000cf8 +40001424: 26046200 addiu a0,s0,25088 +40001428: 0c00033e jal 40000cf8 +4000142c: 26446204 addiu a0,s2,25092 +40001430: 3c044000 lui a0,0x4000 +40001434: 0c00033e jal 40000cf8 +40001438: 24846384 addiu a0,a0,25476 +4000143c: 8e240070 lw a0,112(s1) +40001440: 0c00037d jal 40000df4 +40001444: 00000000 nop +40001448: 0c00033e jal 40000cf8 +4000144c: 26046200 addiu a0,s0,25088 +40001450: 3c044000 lui a0,0x4000 +40001454: 0c00033e jal 40000cf8 +40001458: 24846390 addiu a0,a0,25488 +4000145c: 8e240074 lw a0,116(s1) +40001460: 0c00037d jal 40000df4 +40001464: 00000000 nop +40001468: 0c00033e jal 40000cf8 +4000146c: 26046200 addiu a0,s0,25088 +40001470: 3c044000 lui a0,0x4000 +40001474: 0c00033e jal 40000cf8 +40001478: 2484639c addiu a0,a0,25500 +4000147c: 8e240078 lw a0,120(s1) +40001480: 0c00037d jal 40000df4 +40001484: 00000000 nop +40001488: 0c00033e jal 40000cf8 +4000148c: 26046200 addiu a0,s0,25088 +40001490: 3c044000 lui a0,0x4000 +40001494: 0c00033e jal 40000cf8 +40001498: 248463a8 addiu a0,a0,25512 +4000149c: 8e24007c lw a0,124(s1) +400014a0: 0c00037d jal 40000df4 +400014a4: 00000000 nop +400014a8: 0c00033e jal 40000cf8 +400014ac: 26046200 addiu a0,s0,25088 +400014b0: 0c00033e jal 40000cf8 +400014b4: 26446204 addiu a0,s2,25092 +400014b8: 3c044000 lui a0,0x4000 +400014bc: 0c00033e jal 40000cf8 +400014c0: 248463b4 addiu a0,a0,25524 +400014c4: 8e240080 lw a0,128(s1) +400014c8: 0c00037d jal 40000df4 +400014cc: 00000000 nop +400014d0: 0c00033e jal 40000cf8 +400014d4: 26046200 addiu a0,s0,25088 +400014d8: 3c044000 lui a0,0x4000 +400014dc: 0c00033e jal 40000cf8 +400014e0: 248463c0 addiu a0,a0,25536 +400014e4: 8e240084 lw a0,132(s1) +400014e8: 0c00037d jal 40000df4 +400014ec: 00000000 nop +400014f0: 0c00033e jal 40000cf8 +400014f4: 26046200 addiu a0,s0,25088 +400014f8: 3c044000 lui a0,0x4000 +400014fc: 0c00033e jal 40000cf8 +40001500: 248463cc addiu a0,a0,25548 +40001504: 8e240088 lw a0,136(s1) +40001508: 0c00037d jal 40000df4 +4000150c: 00000000 nop +40001510: 0c00033e jal 40000cf8 +40001514: 26046200 addiu a0,s0,25088 +40001518: 3c044000 lui a0,0x4000 +4000151c: 0c00033e jal 40000cf8 +40001520: 248463d8 addiu a0,a0,25560 +40001524: 8e24008c lw a0,140(s1) +40001528: 0c00037d jal 40000df4 +4000152c: 00000000 nop +40001530: 0c00033e jal 40000cf8 +40001534: 26046200 addiu a0,s0,25088 +40001538: 8fbf001c lw ra,28(sp) +4000153c: 8fb10014 lw s1,20(sp) +40001540: 8fb00010 lw s0,16(sp) +40001544: 26446204 addiu a0,s2,25092 +40001548: 8fb20018 lw s2,24(sp) +4000154c: 0800033e j 40000cf8 +40001550: 27bd0020 addiu sp,sp,32 + +40001554 : +40001554: 8c820004 lw v0,4(a0) +40001558: 00000000 nop +4000155c: 00021082 srl v0,v0,0x2 +40001560: 03e00008 jr ra +40001564: 3042001f andi v0,v0,0x1f + +40001568 : +40001568: 8c830004 lw v1,4(a0) +4000156c: 3c024000 lui v0,0x4000 +40001570: 3063007c andi v1,v1,0x7c +40001574: 24427078 addiu v0,v0,28792 +40001578: 00621021 addu v0,v1,v0 +4000157c: 8c440000 lw a0,0(v0) +40001580: 0800033e j 40000cf8 +40001584: 00000000 nop + +40001588 <_xcpt_dispatch>: +40001588: 8c830004 lw v1,4(a0) +4000158c: 3c024000 lui v0,0x4000 +40001590: 3063007c andi v1,v1,0x7c +40001594: 24427974 addiu v0,v0,31092 +40001598: 00621021 addu v0,v1,v0 +4000159c: 8c590000 lw t9,0(v0) +400015a0: 00000000 nop +400015a4: 13200003 beqz t9,400015b4 <_xcpt_dispatch+0x2c> +400015a8: 00000000 nop +400015ac: 03200008 jr t9 +400015b0: 00000000 nop +400015b4: 03e00008 jr ra +400015b8: 3c028000 lui v0,0x8000 + +400015bc <_xcpt_deliver>: +400015bc: 8c830004 lw v1,4(a0) +400015c0: 3c024000 lui v0,0x4000 +400015c4: 3063007c andi v1,v1,0x7c +400015c8: 24427974 addiu v0,v0,31092 +400015cc: 00621021 addu v0,v1,v0 +400015d0: 8c420000 lw v0,0(v0) +400015d4: 27bdffd8 addiu sp,sp,-40 +400015d8: afb00014 sw s0,20(sp) +400015dc: afbf0024 sw ra,36(sp) +400015e0: afb30020 sw s3,32(sp) +400015e4: afb2001c sw s2,28(sp) +400015e8: afb10018 sw s1,24(sp) +400015ec: 1040000d beqz v0,40001624 <_xcpt_deliver+0x68> +400015f0: 00808021 move s0,a0 +400015f4: 0040f809 jalr v0 +400015f8: 00000000 nop +400015fc: 3c038000 lui v1,0x8000 +40001600: 10430008 beq v0,v1,40001624 <_xcpt_deliver+0x68> +40001604: 00001021 move v0,zero +40001608: 8fbf0024 lw ra,36(sp) +4000160c: 8fb30020 lw s3,32(sp) +40001610: 8fb2001c lw s2,28(sp) +40001614: 8fb10018 lw s1,24(sp) +40001618: 8fb00014 lw s0,20(sp) +4000161c: 03e00008 jr ra +40001620: 27bd0028 addiu sp,sp,40 +40001624: 3c114000 lui s1,0x4000 +40001628: 0c00033e jal 40000cf8 +4000162c: 26246204 addiu a0,s1,25092 +40001630: 0c000403 jal 4000100c +40001634: 02002021 move a0,s0 +40001638: 0c00033e jal 40000cf8 +4000163c: 26246204 addiu a0,s1,25092 +40001640: 8e020004 lw v0,4(s0) +40001644: 00000000 nop +40001648: 00021882 srl v1,v0,0x2 +4000164c: 04400021 bltz v0,400016d4 <_xcpt_deliver+0x118> +40001650: 3073001f andi s3,v1,0x1f +40001654: 8e120008 lw s2,8(s0) +40001658: 3c044000 lui a0,0x4000 +4000165c: 0c00033e jal 40000cf8 +40001660: 248463e4 addiu a0,a0,25572 +40001664: 8e040004 lw a0,4(s0) +40001668: 3c024000 lui v0,0x4000 +4000166c: 3084007c andi a0,a0,0x7c +40001670: 24427078 addiu v0,v0,28792 +40001674: 00821021 addu v0,a0,v0 +40001678: 8c440000 lw a0,0(v0) +4000167c: 0c00033e jal 40000cf8 +40001680: 00000000 nop +40001684: 3c044000 lui a0,0x4000 +40001688: 0c00033e jal 40000cf8 +4000168c: 248463fc addiu a0,a0,25596 +40001690: 0c00037d jal 40000df4 +40001694: 02402021 move a0,s2 +40001698: 0c00033e jal 40000cf8 +4000169c: 26246204 addiu a0,s1,25092 +400016a0: 3c044000 lui a0,0x4000 +400016a4: 0c00033e jal 40000cf8 +400016a8: 24846408 addiu a0,a0,25608 +400016ac: 8e440000 lw a0,0(s2) +400016b0: 0c00037d jal 40000df4 +400016b4: 00000000 nop +400016b8: 0c00033e jal 40000cf8 +400016bc: 26246204 addiu a0,s1,25092 +400016c0: 3c044000 lui a0,0x4000 +400016c4: 0c00033e jal 40000cf8 +400016c8: 2484642c addiu a0,a0,25644 +400016cc: 0c0001ed jal 400007b4 <_exit> +400016d0: 02602021 move a0,s3 +400016d4: 8e120008 lw s2,8(s0) +400016d8: 08000596 j 40001658 <_xcpt_deliver+0x9c> +400016dc: 26520004 addiu s2,s2,4 + +400016e0 : +400016e0: 04800016 bltz a0,4000173c +400016e4: 00000000 nop +400016e8: 00003021 move a2,zero +400016ec: 3c024000 lui v0,0x4000 +400016f0: a04079ff sb zero,31231(v0) +400016f4: 2403000a li v1,10 +400016f8: 244279ff addiu v0,v0,31231 +400016fc: 14600002 bnez v1,40001708 +40001700: 0083001b divu zero,a0,v1 +40001704: 0007000d break 0x7 +40001708: 2442ffff addiu v0,v0,-1 +4000170c: 00002810 mfhi a1 +40001710: 24a50030 addiu a1,a1,48 +40001714: 00002012 mflo a0 +40001718: 1480fff8 bnez a0,400016fc +4000171c: a0450000 sb a1,0(v0) +40001720: 10c00004 beqz a2,40001734 +40001724: 00401821 move v1,v0 +40001728: 2404002d li a0,45 +4000172c: 2442ffff addiu v0,v0,-1 +40001730: a064ffff sb a0,-1(v1) +40001734: 03e00008 jr ra +40001738: 00000000 nop +4000173c: 00042023 negu a0,a0 +40001740: 080005bb j 400016ec +40001744: 24060001 li a2,1 + +40001748 : +40001748: 27bdffb8 addiu sp,sp,-72 +4000174c: afb10040 sw s1,64(sp) +40001750: 8c910018 lw s1,24(a0) +40001754: afb0003c sw s0,60(sp) +40001758: 2e22000b sltiu v0,s1,11 +4000175c: afbf0044 sw ra,68(sp) +40001760: 10400045 beqz v0,40001878 +40001764: 00808021 move s0,a0 +40001768: 3c034000 lui v1,0x4000 +4000176c: 00111080 sll v0,s1,0x2 +40001770: 24636540 addiu v1,v1,25920 +40001774: 00621021 addu v0,v1,v0 +40001778: 8c420000 lw v0,0(v0) +4000177c: 00000000 nop +40001780: 00400008 jr v0 +40001784: 00000000 nop +40001788: 0c0001ed jal 400007b4 <_exit> +4000178c: 00002021 move a0,zero +40001790: 8c840020 lw a0,32(a0) +40001794: 0c0005b8 jal 400016e0 +40001798: 00000000 nop +4000179c: 0c00033e jal 40000cf8 +400017a0: 00402021 move a0,v0 +400017a4: 8e030008 lw v1,8(s0) +400017a8: 8fbf0044 lw ra,68(sp) +400017ac: 24630004 addiu v1,v1,4 +400017b0: ae030008 sw v1,8(s0) +400017b4: 8fb10040 lw s1,64(sp) +400017b8: 8fb0003c lw s0,60(sp) +400017bc: 00001021 move v0,zero +400017c0: 03e00008 jr ra +400017c4: 27bd0048 addiu sp,sp,72 +400017c8: 8c840020 lw a0,32(a0) +400017cc: 0c00033e jal 40000cf8 +400017d0: 00000000 nop +400017d4: 8e030008 lw v1,8(s0) +400017d8: 8fbf0044 lw ra,68(sp) +400017dc: 24630004 addiu v1,v1,4 +400017e0: ae030008 sw v1,8(s0) +400017e4: 8fb10040 lw s1,64(sp) +400017e8: 8fb0003c lw s0,60(sp) +400017ec: 00001021 move v0,zero +400017f0: 03e00008 jr ra +400017f4: 27bd0048 addiu sp,sp,72 +400017f8: 8f828010 lw v0,-32752(gp) +400017fc: 27a40010 addiu a0,sp,16 +40001800: 8c460004 lw a2,4(v0) +40001804: 0c0007f6 jal 40001fd8 +40001808: 24050021 li a1,33 +4000180c: 0c0006ab jal 40001aac +40001810: 00402021 move a0,v0 +40001814: 8e030008 lw v1,8(s0) +40001818: 8fbf0044 lw ra,68(sp) +4000181c: 24630004 addiu v1,v1,4 +40001820: ae020018 sw v0,24(s0) +40001824: ae030008 sw v1,8(s0) +40001828: 8fb10040 lw s1,64(sp) +4000182c: 8fb0003c lw s0,60(sp) +40001830: 00001021 move v0,zero +40001834: 03e00008 jr ra +40001838: 27bd0048 addiu sp,sp,72 +4000183c: 8f828010 lw v0,-32752(gp) +40001840: 8e050024 lw a1,36(s0) +40001844: 8c840020 lw a0,32(a0) +40001848: 8c460004 lw a2,4(v0) +4000184c: 0c0007f6 jal 40001fd8 +40001850: 00000000 nop +40001854: 8e030008 lw v1,8(s0) +40001858: 8fbf0044 lw ra,68(sp) +4000185c: 24630004 addiu v1,v1,4 +40001860: ae030008 sw v1,8(s0) +40001864: 8fb10040 lw s1,64(sp) +40001868: 8fb0003c lw s0,60(sp) +4000186c: 00001021 move v0,zero +40001870: 03e00008 jr ra +40001874: 27bd0048 addiu sp,sp,72 +40001878: 3c044000 lui a0,0x4000 +4000187c: 0c00033e jal 40000cf8 +40001880: 24846524 addiu a0,a0,25892 +40001884: 0c00037d jal 40000df4 +40001888: 02202021 move a0,s1 +4000188c: 3c044000 lui a0,0x4000 +40001890: 0c00033e jal 40000cf8 +40001894: 24846538 addiu a0,a0,25912 +40001898: 8e040008 lw a0,8(s0) +4000189c: 0c00037d jal 40000df4 +400018a0: 00000000 nop +400018a4: 3c044000 lui a0,0x4000 +400018a8: 0c00033e jal 40000cf8 +400018ac: 24846204 addiu a0,a0,25092 +400018b0: 8e030008 lw v1,8(s0) +400018b4: 8fbf0044 lw ra,68(sp) +400018b8: 24630004 addiu v1,v1,4 +400018bc: ae030008 sw v1,8(s0) +400018c0: 8fb10040 lw s1,64(sp) +400018c4: 8fb0003c lw s0,60(sp) +400018c8: 00001021 move v0,zero +400018cc: 03e00008 jr ra +400018d0: 27bd0048 addiu sp,sp,72 + +400018d4 : +400018d4: 3c054000 lui a1,0x4000 +400018d8: 24040008 li a0,8 +400018dc: 080003fa j 40000fe8 +400018e0: 24a51748 addiu a1,a1,5960 + +400018e4 <_irq_dispatch>: +400018e4: 27bdffd8 addiu sp,sp,-40 +400018e8: 8c820004 lw v0,4(a0) +400018ec: afb10018 sw s1,24(sp) +400018f0: 8c910000 lw s1,0(a0) +400018f4: afb00014 sw s0,20(sp) +400018f8: 02228824 and s1,s1,v0 +400018fc: 3c104000 lui s0,0x4000 +40001900: 00118a03 sra s1,s1,0x8 +40001904: 26107a00 addiu s0,s0,31232 +40001908: afb30020 sw s3,32(sp) +4000190c: afb2001c sw s2,28(sp) +40001910: afbf0024 sw ra,36(sp) +40001914: 00809821 move s3,a0 +40001918: 323100ff andi s1,s1,0xff +4000191c: 26120020 addiu s2,s0,32 +40001920: 32220001 andi v0,s1,0x1 +40001924: 10400007 beqz v0,40001944 <_irq_dispatch+0x60> +40001928: 00000000 nop +4000192c: 8e020000 lw v0,0(s0) +40001930: 00000000 nop +40001934: 10400003 beqz v0,40001944 <_irq_dispatch+0x60> +40001938: 02602021 move a0,s3 +4000193c: 0040f809 jalr v0 +40001940: 00000000 nop +40001944: 26100004 addiu s0,s0,4 +40001948: 1612fff5 bne s0,s2,40001920 <_irq_dispatch+0x3c> +4000194c: 00118843 sra s1,s1,0x1 +40001950: 8fbf0024 lw ra,36(sp) +40001954: 8fb30020 lw s3,32(sp) +40001958: 8fb2001c lw s2,28(sp) +4000195c: 8fb10018 lw s1,24(sp) +40001960: 8fb00014 lw s0,20(sp) +40001964: 00001021 move v0,zero +40001968: 03e00008 jr ra +4000196c: 27bd0028 addiu sp,sp,40 + +40001970 : +40001970: 2c820008 sltiu v0,a0,8 +40001974: 10400005 beqz v0,4000198c +40001978: 3c024000 lui v0,0x4000 +4000197c: 00042080 sll a0,a0,0x2 +40001980: 24427a00 addiu v0,v0,31232 +40001984: 00822021 addu a0,a0,v0 +40001988: ac850000 sw a1,0(a0) +4000198c: 03e00008 jr ra +40001990: 00000000 nop + +40001994 : +40001994: 2c820008 sltiu v0,a0,8 +40001998: 14400003 bnez v0,400019a8 +4000199c: 00000000 nop +400019a0: 03e00008 jr ra +400019a4: 00000000 nop +400019a8: 27bdffe0 addiu sp,sp,-32 +400019ac: afbf001c sw ra,28(sp) +400019b0: 0c000124 jal 40000490 +400019b4: afa40010 sw a0,16(sp) +400019b8: 8fa40010 lw a0,16(sp) +400019bc: 24030100 li v1,256 +400019c0: 8fbf001c lw ra,28(sp) +400019c4: 00832004 sllv a0,v1,a0 +400019c8: 00442025 or a0,v0,a0 +400019cc: 08000127 j 4000049c +400019d0: 27bd0020 addiu sp,sp,32 + +400019d4 : +400019d4: 2c820008 sltiu v0,a0,8 +400019d8: 14400003 bnez v0,400019e8 +400019dc: 00000000 nop +400019e0: 03e00008 jr ra +400019e4: 00000000 nop +400019e8: 27bdffe0 addiu sp,sp,-32 +400019ec: afbf001c sw ra,28(sp) +400019f0: 0c000124 jal 40000490 +400019f4: afa40010 sw a0,16(sp) +400019f8: 8fa40010 lw a0,16(sp) +400019fc: 24030100 li v1,256 +40001a00: 00832004 sllv a0,v1,a0 +40001a04: 8fbf001c lw ra,28(sp) +40001a08: 00042027 nor a0,zero,a0 +40001a0c: 00442024 and a0,v0,a0 +40001a10: 08000127 j 4000049c +40001a14: 27bd0020 addiu sp,sp,32 + +40001a18 : +40001a18: 2c820008 sltiu v0,a0,8 +40001a1c: 14400003 bnez v0,40001a2c +40001a20: 00000000 nop +40001a24: 03e00008 jr ra +40001a28: 00000000 nop +40001a2c: 27bdffe0 addiu sp,sp,-32 +40001a30: afbf001c sw ra,28(sp) +40001a34: 0c00012a jal 400004a8 +40001a38: afa40010 sw a0,16(sp) +40001a3c: 8fa40010 lw a0,16(sp) +40001a40: 24030100 li v1,256 +40001a44: 8fbf001c lw ra,28(sp) +40001a48: 00832004 sllv a0,v1,a0 +40001a4c: 00442025 or a0,v0,a0 +40001a50: 0800012d j 400004b4 +40001a54: 27bd0020 addiu sp,sp,32 + +40001a58 : +40001a58: 2c820008 sltiu v0,a0,8 +40001a5c: 14400003 bnez v0,40001a6c +40001a60: 00000000 nop +40001a64: 03e00008 jr ra +40001a68: 00000000 nop +40001a6c: 27bdffe0 addiu sp,sp,-32 +40001a70: afbf001c sw ra,28(sp) +40001a74: 0c00012a jal 400004a8 +40001a78: afa40010 sw a0,16(sp) +40001a7c: 8fa40010 lw a0,16(sp) +40001a80: 24030100 li v1,256 +40001a84: 00832004 sllv a0,v1,a0 +40001a88: 8fbf001c lw ra,28(sp) +40001a8c: 00042027 nor a0,zero,a0 +40001a90: 00442024 and a0,v0,a0 +40001a94: 0800012d j 400004b4 +40001a98: 27bd0020 addiu sp,sp,32 + +40001a9c : +40001a9c: 3c054000 lui a1,0x4000 +40001aa0: 00002021 move a0,zero +40001aa4: 080003fa j 40000fe8 +40001aa8: 24a518e4 addiu a1,a1,6372 + +40001aac : +40001aac: 00002821 move a1,zero +40001ab0: 08000fb7 j 40003edc +40001ab4: 2406000a li a2,10 + +40001ab8 <_atoi_r>: +40001ab8: 00003021 move a2,zero +40001abc: 08000f33 j 40003ccc <_strtol_r> +40001ac0: 2407000a li a3,10 + +40001ac4
: +40001ac4: 14c00002 bnez a2,40001ad0 +40001ac8: 00a6001a div zero,a1,a2 +40001acc: 0007000d break 0x7 +40001ad0: 00801021 move v0,a0 +40001ad4: 00001810 mfhi v1 +40001ad8: 00002012 mflo a0 +40001adc: 04a00006 bltz a1,40001af8 +40001ae0: 00000000 nop +40001ae4: 0460000b bltz v1,40001b14 +40001ae8: 00000000 nop +40001aec: ac440000 sw a0,0(v0) +40001af0: 03e00008 jr ra +40001af4: ac430004 sw v1,4(v0) +40001af8: 1860fffc blez v1,40001aec +40001afc: 00000000 nop +40001b00: 2484ffff addiu a0,a0,-1 +40001b04: 00661821 addu v1,v1,a2 +40001b08: ac440000 sw a0,0(v0) +40001b0c: 03e00008 jr ra +40001b10: ac430004 sw v1,4(v0) +40001b14: 24840001 addiu a0,a0,1 +40001b18: 00661823 subu v1,v1,a2 +40001b1c: ac440000 sw a0,0(v0) +40001b20: 03e00008 jr ra +40001b24: ac430004 sw v1,4(v0) + +40001b28 <__errno>: +40001b28: 8f828010 lw v0,-32752(gp) +40001b2c: 03e00008 jr ra +40001b30: 00000000 nop + +40001b34 : +40001b34: 27bdffe8 addiu sp,sp,-24 +40001b38: 00002821 move a1,zero +40001b3c: afb00010 sw s0,16(sp) +40001b40: afbf0014 sw ra,20(sp) +40001b44: 0c000fd7 jal 40003f5c <__call_exitprocs> +40001b48: 00808021 move s0,a0 +40001b4c: 8f84800c lw a0,-32756(gp) +40001b50: 00000000 nop +40001b54: 8c82003c lw v0,60(a0) +40001b58: 00000000 nop +40001b5c: 10400003 beqz v0,40001b6c +40001b60: 00000000 nop +40001b64: 0040f809 jalr v0 +40001b68: 00000000 nop +40001b6c: 0c0001ed jal 400007b4 <_exit> +40001b70: 02002021 move a0,s0 + +40001b74 <__sflush_r>: +40001b74: 84a2000c lh v0,12(a1) +40001b78: 27bdffd8 addiu sp,sp,-40 +40001b7c: 30430008 andi v1,v0,0x8 +40001b80: afb30020 sw s3,32(sp) +40001b84: afb10018 sw s1,24(sp) +40001b88: afbf0024 sw ra,36(sp) +40001b8c: afb2001c sw s2,28(sp) +40001b90: afb00014 sw s0,20(sp) +40001b94: 00a08821 move s1,a1 +40001b98: 1460003c bnez v1,40001c8c <__sflush_r+0x118> +40001b9c: 00809821 move s3,a0 +40001ba0: 8ca30004 lw v1,4(a1) +40001ba4: 34420800 ori v0,v0,0x800 +40001ba8: 1860005d blez v1,40001d20 <__sflush_r+0x1ac> +40001bac: a4a2000c sh v0,12(a1) +40001bb0: 8e230028 lw v1,40(s1) +40001bb4: 00000000 nop +40001bb8: 1060002c beqz v1,40001c6c <__sflush_r+0xf8> +40001bbc: 3042ffff andi v0,v0,0xffff +40001bc0: 30441000 andi a0,v0,0x1000 +40001bc4: 8e700000 lw s0,0(s3) +40001bc8: 1080005b beqz a0,40001d38 <__sflush_r+0x1c4> +40001bcc: ae600000 sw zero,0(s3) +40001bd0: 8e260050 lw a2,80(s1) +40001bd4: 30420004 andi v0,v0,0x4 +40001bd8: 10400009 beqz v0,40001c00 <__sflush_r+0x8c> +40001bdc: 00000000 nop +40001be0: 8e240004 lw a0,4(s1) +40001be4: 8e220030 lw v0,48(s1) +40001be8: 00000000 nop +40001bec: 10400004 beqz v0,40001c00 <__sflush_r+0x8c> +40001bf0: 00c43023 subu a2,a2,a0 +40001bf4: 8e22003c lw v0,60(s1) +40001bf8: 00000000 nop +40001bfc: 00c23023 subu a2,a2,v0 +40001c00: 8e25001c lw a1,28(s1) +40001c04: 02602021 move a0,s3 +40001c08: 0060f809 jalr v1 +40001c0c: 00003821 move a3,zero +40001c10: 2403ffff li v1,-1 +40001c14: 10430055 beq v0,v1,40001d6c <__sflush_r+0x1f8> +40001c18: 00000000 nop +40001c1c: 9623000c lhu v1,12(s1) +40001c20: 8e250010 lw a1,16(s1) +40001c24: 3063f7ff andi v1,v1,0xf7ff +40001c28: 00031c00 sll v1,v1,0x10 +40001c2c: 00031c03 sra v1,v1,0x10 +40001c30: 30641000 andi a0,v1,0x1000 +40001c34: a623000c sh v1,12(s1) +40001c38: ae200004 sw zero,4(s1) +40001c3c: 14800067 bnez a0,40001ddc <__sflush_r+0x268> +40001c40: ae250000 sw a1,0(s1) +40001c44: 8e250030 lw a1,48(s1) +40001c48: 00000000 nop +40001c4c: 10a00007 beqz a1,40001c6c <__sflush_r+0xf8> +40001c50: ae700000 sw s0,0(s3) +40001c54: 26220040 addiu v0,s1,64 +40001c58: 10a20003 beq a1,v0,40001c68 <__sflush_r+0xf4> +40001c5c: 00000000 nop +40001c60: 0c000932 jal 400024c8 <_free_r> +40001c64: 02602021 move a0,s3 +40001c68: ae200030 sw zero,48(s1) +40001c6c: 00001021 move v0,zero +40001c70: 8fbf0024 lw ra,36(sp) +40001c74: 8fb30020 lw s3,32(sp) +40001c78: 8fb2001c lw s2,28(sp) +40001c7c: 8fb10018 lw s1,24(sp) +40001c80: 8fb00014 lw s0,20(sp) +40001c84: 03e00008 jr ra +40001c88: 27bd0028 addiu sp,sp,40 +40001c8c: 8cb20010 lw s2,16(a1) +40001c90: 00000000 nop +40001c94: 1240fff5 beqz s2,40001c6c <__sflush_r+0xf8> +40001c98: 30420003 andi v0,v0,0x3 +40001c9c: 8cb00000 lw s0,0(a1) +40001ca0: 00000000 nop +40001ca4: 02128023 subu s0,s0,s2 +40001ca8: 1440001b bnez v0,40001d18 <__sflush_r+0x1a4> +40001cac: acb20000 sw s2,0(a1) +40001cb0: 8ca20014 lw v0,20(a1) +40001cb4: 1e000005 bgtz s0,40001ccc <__sflush_r+0x158> +40001cb8: ae220008 sw v0,8(s1) +40001cbc: 0800071c j 40001c70 <__sflush_r+0xfc> +40001cc0: 00001021 move v0,zero +40001cc4: 1a00ffe9 blez s0,40001c6c <__sflush_r+0xf8> +40001cc8: 02429021 addu s2,s2,v0 +40001ccc: 8e220024 lw v0,36(s1) +40001cd0: 8e25001c lw a1,28(s1) +40001cd4: 02003821 move a3,s0 +40001cd8: 02403021 move a2,s2 +40001cdc: 0040f809 jalr v0 +40001ce0: 02602021 move a0,s3 +40001ce4: 1c40fff7 bgtz v0,40001cc4 <__sflush_r+0x150> +40001ce8: 02028023 subu s0,s0,v0 +40001cec: 9623000c lhu v1,12(s1) +40001cf0: 8fbf0024 lw ra,36(sp) +40001cf4: 34630040 ori v1,v1,0x40 +40001cf8: a623000c sh v1,12(s1) +40001cfc: 8fb30020 lw s3,32(sp) +40001d00: 8fb2001c lw s2,28(sp) +40001d04: 8fb10018 lw s1,24(sp) +40001d08: 8fb00014 lw s0,20(sp) +40001d0c: 2402ffff li v0,-1 +40001d10: 03e00008 jr ra +40001d14: 27bd0028 addiu sp,sp,40 +40001d18: 0800072d j 40001cb4 <__sflush_r+0x140> +40001d1c: 00001021 move v0,zero +40001d20: 8ca3003c lw v1,60(a1) +40001d24: 00000000 nop +40001d28: 1c60ffa1 bgtz v1,40001bb0 <__sflush_r+0x3c> +40001d2c: 00000000 nop +40001d30: 0800071c j 40001c70 <__sflush_r+0xfc> +40001d34: 00001021 move v0,zero +40001d38: 8e25001c lw a1,28(s1) +40001d3c: 00003021 move a2,zero +40001d40: 02602021 move a0,s3 +40001d44: 0060f809 jalr v1 +40001d48: 24070001 li a3,1 +40001d4c: 00403021 move a2,v0 +40001d50: 2402ffff li v0,-1 +40001d54: 10c20015 beq a2,v0,40001dac <__sflush_r+0x238> +40001d58: 00000000 nop +40001d5c: 9622000c lhu v0,12(s1) +40001d60: 8e230028 lw v1,40(s1) +40001d64: 080006f6 j 40001bd8 <__sflush_r+0x64> +40001d68: 30420004 andi v0,v0,0x4 +40001d6c: 8e630000 lw v1,0(s3) +40001d70: 00000000 nop +40001d74: 1060ffa9 beqz v1,40001c1c <__sflush_r+0xa8> +40001d78: 00000000 nop +40001d7c: 2402001d li v0,29 +40001d80: 10620003 beq v1,v0,40001d90 <__sflush_r+0x21c> +40001d84: 24020016 li v0,22 +40001d88: 1462ffd8 bne v1,v0,40001cec <__sflush_r+0x178> +40001d8c: 00000000 nop +40001d90: 9623000c lhu v1,12(s1) +40001d94: 8e220010 lw v0,16(s1) +40001d98: 3063f7ff andi v1,v1,0xf7ff +40001d9c: a623000c sh v1,12(s1) +40001da0: ae200004 sw zero,4(s1) +40001da4: 08000711 j 40001c44 <__sflush_r+0xd0> +40001da8: ae220000 sw v0,0(s1) +40001dac: 8e620000 lw v0,0(s3) +40001db0: 00000000 nop +40001db4: 1040ffe9 beqz v0,40001d5c <__sflush_r+0x1e8> +40001db8: 00000000 nop +40001dbc: 2403001d li v1,29 +40001dc0: 10430003 beq v0,v1,40001dd0 <__sflush_r+0x25c> +40001dc4: 24030016 li v1,22 +40001dc8: 1443ffc8 bne v0,v1,40001cec <__sflush_r+0x178> +40001dcc: 00000000 nop +40001dd0: ae700000 sw s0,0(s3) +40001dd4: 0800071c j 40001c70 <__sflush_r+0xfc> +40001dd8: 00001021 move v0,zero +40001ddc: 08000711 j 40001c44 <__sflush_r+0xd0> +40001de0: ae220050 sw v0,80(s1) + +40001de4 <_fflush_r>: +40001de4: 27bdffe0 addiu sp,sp,-32 +40001de8: afb00018 sw s0,24(sp) +40001dec: afbf001c sw ra,28(sp) +40001df0: 10800005 beqz a0,40001e08 <_fflush_r+0x24> +40001df4: 00808021 move s0,a0 +40001df8: 8c820038 lw v0,56(a0) +40001dfc: 00000000 nop +40001e00: 1040000e beqz v0,40001e3c <_fflush_r+0x58> +40001e04: 00000000 nop +40001e08: 84a2000c lh v0,12(a1) +40001e0c: 00000000 nop +40001e10: 14400005 bnez v0,40001e28 <_fflush_r+0x44> +40001e14: 00001021 move v0,zero +40001e18: 8fbf001c lw ra,28(sp) +40001e1c: 8fb00018 lw s0,24(sp) +40001e20: 03e00008 jr ra +40001e24: 27bd0020 addiu sp,sp,32 +40001e28: 8fbf001c lw ra,28(sp) +40001e2c: 02002021 move a0,s0 +40001e30: 8fb00018 lw s0,24(sp) +40001e34: 080006dd j 40001b74 <__sflush_r> +40001e38: 27bd0020 addiu sp,sp,32 +40001e3c: 0c000825 jal 40002094 <__sinit> +40001e40: afa50010 sw a1,16(sp) +40001e44: 8fa50010 lw a1,16(sp) +40001e48: 08000782 j 40001e08 <_fflush_r+0x24> +40001e4c: 00000000 nop + +40001e50 : +40001e50: 10800004 beqz a0,40001e64 +40001e54: 00802821 move a1,a0 +40001e58: 8f848010 lw a0,-32752(gp) +40001e5c: 08000779 j 40001de4 <_fflush_r> +40001e60: 00000000 nop +40001e64: 3c054000 lui a1,0x4000 +40001e68: 8f84800c lw a0,-32756(gp) +40001e6c: 08000a1e j 40002878 <_fwalk_reent> +40001e70: 24a51de4 addiu a1,a1,7652 + +40001e74 <_fgets_r>: +40001e74: 28c20002 slti v0,a2,2 +40001e78: 14400055 bnez v0,40001fd0 <_fgets_r+0x15c> +40001e7c: 00000000 nop +40001e80: 27bdffc8 addiu sp,sp,-56 +40001e84: afb60030 sw s6,48(sp) +40001e88: afb5002c sw s5,44(sp) +40001e8c: afb1001c sw s1,28(sp) +40001e90: afbf0034 sw ra,52(sp) +40001e94: afb40028 sw s4,40(sp) +40001e98: afb30024 sw s3,36(sp) +40001e9c: afb20020 sw s2,32(sp) +40001ea0: afb00018 sw s0,24(sp) +40001ea4: 0080a821 move s5,a0 +40001ea8: 00a0b021 move s6,a1 +40001eac: 10800005 beqz a0,40001ec4 <_fgets_r+0x50> +40001eb0: 00e08821 move s1,a3 +40001eb4: 8c820038 lw v0,56(a0) +40001eb8: 00000000 nop +40001ebc: 10400033 beqz v0,40001f8c <_fgets_r+0x118> +40001ec0: 00000000 nop +40001ec4: 24d2ffff addiu s2,a2,-1 +40001ec8: 080007c9 j 40001f24 <_fgets_r+0xb0> +40001ecc: 02c09821 move s3,s6 +40001ed0: 8e340000 lw s4,0(s1) +40001ed4: 10400002 beqz v0,40001ee0 <_fgets_r+0x6c> +40001ed8: 2405000a li a1,10 +40001edc: 02408021 move s0,s2 +40001ee0: 02802021 move a0,s4 +40001ee4: 0c000c6a jal 400031a8 +40001ee8: 02003021 move a2,s0 +40001eec: 02509023 subu s2,s2,s0 +40001ef0: 02602021 move a0,s3 +40001ef4: 02802821 move a1,s4 +40001ef8: 14400029 bnez v0,40001fa0 <_fgets_r+0x12c> +40001efc: 02003021 move a2,s0 +40001f00: 8e230004 lw v1,4(s1) +40001f04: 8e220000 lw v0,0(s1) +40001f08: 00701823 subu v1,v1,s0 +40001f0c: 00501021 addu v0,v0,s0 +40001f10: ae230004 sw v1,4(s1) +40001f14: 0c000caf jal 400032bc +40001f18: ae220000 sw v0,0(s1) +40001f1c: 1240000f beqz s2,40001f5c <_fgets_r+0xe8> +40001f20: 02709821 addu s3,s3,s0 +40001f24: 8e300004 lw s0,4(s1) +40001f28: 00000000 nop +40001f2c: 1600ffe8 bnez s0,40001ed0 <_fgets_r+0x5c> +40001f30: 0250102b sltu v0,s2,s0 +40001f34: 02a02021 move a0,s5 +40001f38: 0c000e25 jal 40003894 <__srefill_r> +40001f3c: 02202821 move a1,s1 +40001f40: 14400004 bnez v0,40001f54 <_fgets_r+0xe0> +40001f44: 00000000 nop +40001f48: 8e300004 lw s0,4(s1) +40001f4c: 080007b4 j 40001ed0 <_fgets_r+0x5c> +40001f50: 0250102b sltu v0,s2,s0 +40001f54: 12760003 beq s3,s6,40001f64 <_fgets_r+0xf0> +40001f58: 00001021 move v0,zero +40001f5c: a2600000 sb zero,0(s3) +40001f60: 02c01021 move v0,s6 +40001f64: 8fbf0034 lw ra,52(sp) +40001f68: 8fb60030 lw s6,48(sp) +40001f6c: 8fb5002c lw s5,44(sp) +40001f70: 8fb40028 lw s4,40(sp) +40001f74: 8fb30024 lw s3,36(sp) +40001f78: 8fb20020 lw s2,32(sp) +40001f7c: 8fb1001c lw s1,28(sp) +40001f80: 8fb00018 lw s0,24(sp) +40001f84: 03e00008 jr ra +40001f88: 27bd0038 addiu sp,sp,56 +40001f8c: 0c000825 jal 40002094 <__sinit> +40001f90: afa60010 sw a2,16(sp) +40001f94: 8fa60010 lw a2,16(sp) +40001f98: 080007b2 j 40001ec8 <_fgets_r+0x54> +40001f9c: 24d2ffff addiu s2,a2,-1 +40001fa0: 24420001 addiu v0,v0,1 +40001fa4: 8e230004 lw v1,4(s1) +40001fa8: 00548023 subu s0,v0,s4 +40001fac: 00701823 subu v1,v1,s0 +40001fb0: 02003021 move a2,s0 +40001fb4: ae230004 sw v1,4(s1) +40001fb8: ae220000 sw v0,0(s1) +40001fbc: 0c000caf jal 400032bc +40001fc0: 02708021 addu s0,s3,s0 +40001fc4: a2000000 sb zero,0(s0) +40001fc8: 080007d9 j 40001f64 <_fgets_r+0xf0> +40001fcc: 02c01021 move v0,s6 +40001fd0: 03e00008 jr ra +40001fd4: 00001021 move v0,zero + +40001fd8 : +40001fd8: 00801821 move v1,a0 +40001fdc: 00a01021 move v0,a1 +40001fe0: 8f848010 lw a0,-32752(gp) +40001fe4: 00c03821 move a3,a2 +40001fe8: 00602821 move a1,v1 +40001fec: 0800079d j 40001e74 <_fgets_r> +40001ff0: 00403021 move a2,v0 + +40001ff4 <__fp_lock>: +40001ff4: 03e00008 jr ra +40001ff8: 00001021 move v0,zero + +40001ffc <__fp_unlock>: +40001ffc: 03e00008 jr ra +40002000: 00001021 move v0,zero + +40002004 <_cleanup_r>: +40002004: 3c054000 lui a1,0x4000 +40002008: 080009ee j 400027b8 <_fwalk> +4000200c: 24a542f0 addiu a1,a1,17136 + +40002010 <__sfmoreglue>: +40002010: 27bdffe0 addiu sp,sp,-32 +40002014: 00051080 sll v0,a1,0x2 +40002018: afb20018 sw s2,24(sp) +4000201c: 00059100 sll s2,a1,0x4 +40002020: 02429023 subu s2,s2,v0 +40002024: 02459021 addu s2,s2,a1 +40002028: 001290c0 sll s2,s2,0x3 +4000202c: afb10014 sw s1,20(sp) +40002030: 00a08821 move s1,a1 +40002034: afb00010 sw s0,16(sp) +40002038: afbf001c sw ra,28(sp) +4000203c: 0c000a51 jal 40002944 <_malloc_r> +40002040: 2645000c addiu a1,s2,12 +40002044: 10400008 beqz v0,40002068 <__sfmoreglue+0x58> +40002048: 00408021 move s0,v0 +4000204c: 2444000c addiu a0,v0,12 +40002050: ac400000 sw zero,0(v0) +40002054: ac510004 sw s1,4(v0) +40002058: ac440008 sw a0,8(v0) +4000205c: 00002821 move a1,zero +40002060: 0c000d15 jal 40003454 +40002064: 02403021 move a2,s2 +40002068: 8fbf001c lw ra,28(sp) +4000206c: 02001021 move v0,s0 +40002070: 8fb20018 lw s2,24(sp) +40002074: 8fb10014 lw s1,20(sp) +40002078: 8fb00010 lw s0,16(sp) +4000207c: 03e00008 jr ra +40002080: 27bd0020 addiu sp,sp,32 + +40002084 <_cleanup>: +40002084: 3c054000 lui a1,0x4000 +40002088: 8f84800c lw a0,-32756(gp) +4000208c: 080009ee j 400027b8 <_fwalk> +40002090: 24a542f0 addiu a1,a1,17136 + +40002094 <__sinit>: +40002094: 8c820038 lw v0,56(a0) +40002098: 27bdffc8 addiu sp,sp,-56 +4000209c: afb2001c sw s2,28(sp) +400020a0: afbf0034 sw ra,52(sp) +400020a4: afb70030 sw s7,48(sp) +400020a8: afb6002c sw s6,44(sp) +400020ac: afb50028 sw s5,40(sp) +400020b0: afb40024 sw s4,36(sp) +400020b4: afb30020 sw s3,32(sp) +400020b8: afb10018 sw s1,24(sp) +400020bc: afb00014 sw s0,20(sp) +400020c0: 14400050 bnez v0,40002204 <__sinit+0x170> +400020c4: 00809021 move s2,a0 +400020c8: 3c034000 lui v1,0x4000 +400020cc: 8c900004 lw s0,4(a0) +400020d0: 248202ec addiu v0,a0,748 +400020d4: 24632004 addiu v1,v1,8196 +400020d8: ac83003c sw v1,60(a0) +400020dc: ac8202e8 sw v0,744(a0) +400020e0: 24030003 li v1,3 +400020e4: 24170001 li s7,1 +400020e8: 24020004 li v0,4 +400020ec: ac8302e4 sw v1,740(a0) +400020f0: ac970038 sw s7,56(a0) +400020f4: ac8002e0 sw zero,736(a0) +400020f8: 00002821 move a1,zero +400020fc: 2604005c addiu a0,s0,92 +40002100: a602000c sh v0,12(s0) +40002104: 24060008 li a2,8 +40002108: ae000000 sw zero,0(s0) +4000210c: ae000004 sw zero,4(s0) +40002110: ae000008 sw zero,8(s0) +40002114: ae000064 sw zero,100(s0) +40002118: a600000e sh zero,14(s0) +4000211c: ae000010 sw zero,16(s0) +40002120: ae000014 sw zero,20(s0) +40002124: 0c000d15 jal 40003454 +40002128: ae000018 sw zero,24(s0) +4000212c: 3c164000 lui s6,0x4000 +40002130: 8e510008 lw s1,8(s2) +40002134: 3c154000 lui s5,0x4000 +40002138: 3c144000 lui s4,0x4000 +4000213c: 3c134000 lui s3,0x4000 +40002140: 26d63b5c addiu s6,s6,15196 +40002144: 26b53bc0 addiu s5,s5,15296 +40002148: 26943c40 addiu s4,s4,15424 +4000214c: 26733ca4 addiu s3,s3,15524 +40002150: 24020009 li v0,9 +40002154: ae10001c sw s0,28(s0) +40002158: ae160020 sw s6,32(s0) +4000215c: ae150024 sw s5,36(s0) +40002160: ae140028 sw s4,40(s0) +40002164: ae13002c sw s3,44(s0) +40002168: 2624005c addiu a0,s1,92 +4000216c: 00002821 move a1,zero +40002170: 24060008 li a2,8 +40002174: a622000c sh v0,12(s1) +40002178: a637000e sh s7,14(s1) +4000217c: ae200000 sw zero,0(s1) +40002180: ae200004 sw zero,4(s1) +40002184: ae200008 sw zero,8(s1) +40002188: ae200064 sw zero,100(s1) +4000218c: ae200010 sw zero,16(s1) +40002190: ae200014 sw zero,20(s1) +40002194: 0c000d15 jal 40003454 +40002198: ae200018 sw zero,24(s1) +4000219c: 8e50000c lw s0,12(s2) +400021a0: 24020012 li v0,18 +400021a4: ae31001c sw s1,28(s1) +400021a8: ae360020 sw s6,32(s1) +400021ac: ae350024 sw s5,36(s1) +400021b0: ae340028 sw s4,40(s1) +400021b4: ae33002c sw s3,44(s1) +400021b8: a602000c sh v0,12(s0) +400021bc: 24020002 li v0,2 +400021c0: 2604005c addiu a0,s0,92 +400021c4: ae000000 sw zero,0(s0) +400021c8: ae000004 sw zero,4(s0) +400021cc: ae000008 sw zero,8(s0) +400021d0: ae000064 sw zero,100(s0) +400021d4: a602000e sh v0,14(s0) +400021d8: ae000010 sw zero,16(s0) +400021dc: ae000014 sw zero,20(s0) +400021e0: ae000018 sw zero,24(s0) +400021e4: 00002821 move a1,zero +400021e8: 0c000d15 jal 40003454 +400021ec: 24060008 li a2,8 +400021f0: ae10001c sw s0,28(s0) +400021f4: ae160020 sw s6,32(s0) +400021f8: ae150024 sw s5,36(s0) +400021fc: ae140028 sw s4,40(s0) +40002200: ae13002c sw s3,44(s0) +40002204: 8fbf0034 lw ra,52(sp) +40002208: 8fb70030 lw s7,48(sp) +4000220c: 8fb6002c lw s6,44(sp) +40002210: 8fb50028 lw s5,40(sp) +40002214: 8fb40024 lw s4,36(sp) +40002218: 8fb30020 lw s3,32(sp) +4000221c: 8fb2001c lw s2,28(sp) +40002220: 8fb10018 lw s1,24(sp) +40002224: 8fb00014 lw s0,20(sp) +40002228: 03e00008 jr ra +4000222c: 27bd0038 addiu sp,sp,56 + +40002230 <__sfp>: +40002230: 27bdffd8 addiu sp,sp,-40 +40002234: afb2001c sw s2,28(sp) +40002238: 8f92800c lw s2,-32756(gp) +4000223c: afb30020 sw s3,32(sp) +40002240: 8e420038 lw v0,56(s2) +40002244: afbf0024 sw ra,36(sp) +40002248: afb10018 sw s1,24(sp) +4000224c: afb00014 sw s0,20(sp) +40002250: 10400031 beqz v0,40002318 <__sfp+0xe8> +40002254: 00809821 move s3,a0 +40002258: 265202e0 addiu s2,s2,736 +4000225c: 2411ffff li s1,-1 +40002260: 8e420004 lw v0,4(s2) +40002264: 8e500008 lw s0,8(s2) +40002268: 2442ffff addiu v0,v0,-1 +4000226c: 04410005 bgez v0,40002284 <__sfp+0x54> +40002270: 00000000 nop +40002274: 080008c0 j 40002300 <__sfp+0xd0> +40002278: 00000000 nop +4000227c: 10510020 beq v0,s1,40002300 <__sfp+0xd0> +40002280: 26100068 addiu s0,s0,104 +40002284: 8603000c lh v1,12(s0) +40002288: 00000000 nop +4000228c: 1460fffb bnez v1,4000227c <__sfp+0x4c> +40002290: 2442ffff addiu v0,v0,-1 +40002294: 2402ffff li v0,-1 +40002298: a602000e sh v0,14(s0) +4000229c: 24020001 li v0,1 +400022a0: a602000c sh v0,12(s0) +400022a4: ae000064 sw zero,100(s0) +400022a8: ae000000 sw zero,0(s0) +400022ac: ae000008 sw zero,8(s0) +400022b0: ae000004 sw zero,4(s0) +400022b4: ae000010 sw zero,16(s0) +400022b8: ae000014 sw zero,20(s0) +400022bc: ae000018 sw zero,24(s0) +400022c0: 2604005c addiu a0,s0,92 +400022c4: 00002821 move a1,zero +400022c8: 0c000d15 jal 40003454 +400022cc: 24060008 li a2,8 +400022d0: ae000030 sw zero,48(s0) +400022d4: ae000034 sw zero,52(s0) +400022d8: ae000044 sw zero,68(s0) +400022dc: ae000048 sw zero,72(s0) +400022e0: 02001021 move v0,s0 +400022e4: 8fbf0024 lw ra,36(sp) +400022e8: 8fb30020 lw s3,32(sp) +400022ec: 8fb2001c lw s2,28(sp) +400022f0: 8fb10018 lw s1,24(sp) +400022f4: 8fb00014 lw s0,20(sp) +400022f8: 03e00008 jr ra +400022fc: 27bd0028 addiu sp,sp,40 +40002300: 8e420000 lw v0,0(s2) +40002304: 00000000 nop +40002308: 10400007 beqz v0,40002328 <__sfp+0xf8> +4000230c: 00000000 nop +40002310: 08000898 j 40002260 <__sfp+0x30> +40002314: 00409021 move s2,v0 +40002318: 0c000825 jal 40002094 <__sinit> +4000231c: 02402021 move a0,s2 +40002320: 08000897 j 4000225c <__sfp+0x2c> +40002324: 265202e0 addiu s2,s2,736 +40002328: 02602021 move a0,s3 +4000232c: 0c000804 jal 40002010 <__sfmoreglue> +40002330: 24050004 li a1,4 +40002334: 1440fff6 bnez v0,40002310 <__sfp+0xe0> +40002338: ae420000 sw v0,0(s2) +4000233c: 2402000c li v0,12 +40002340: ae620000 sw v0,0(s3) +40002344: 080008b9 j 400022e4 <__sfp+0xb4> +40002348: 00001021 move v0,zero + +4000234c <__sfp_lock_acquire>: +4000234c: 03e00008 jr ra +40002350: 00000000 nop + +40002354 <__sfp_lock_release>: +40002354: 03e00008 jr ra +40002358: 00000000 nop + +4000235c <__sinit_lock_acquire>: +4000235c: 03e00008 jr ra +40002360: 00000000 nop + +40002364 <__sinit_lock_release>: +40002364: 03e00008 jr ra +40002368: 00000000 nop + +4000236c <__fp_lock_all>: +4000236c: 3c054000 lui a1,0x4000 +40002370: 8f848010 lw a0,-32752(gp) +40002374: 080009ee j 400027b8 <_fwalk> +40002378: 24a51ff4 addiu a1,a1,8180 + +4000237c <__fp_unlock_all>: +4000237c: 3c054000 lui a1,0x4000 +40002380: 8f848010 lw a0,-32752(gp) +40002384: 080009ee j 400027b8 <_fwalk> +40002388: 24a51ffc addiu a1,a1,8188 + +4000238c <_malloc_trim_r>: +4000238c: 27bdffd8 addiu sp,sp,-40 +40002390: afb10018 sw s1,24(sp) +40002394: 3c114000 lui s1,0x4000 +40002398: 26317520 addiu s1,s1,29984 +4000239c: afb30020 sw s3,32(sp) +400023a0: afb2001c sw s2,28(sp) +400023a4: afb00014 sw s0,20(sp) +400023a8: 00a09821 move s3,a1 +400023ac: afbf0024 sw ra,36(sp) +400023b0: 0c000d49 jal 40003524 <__malloc_lock> +400023b4: 00808021 move s0,a0 +400023b8: 8e220008 lw v0,8(s1) +400023bc: 00000000 nop +400023c0: 8c520004 lw s2,4(v0) +400023c4: 2402fffc li v0,-4 +400023c8: 02429024 and s2,s2,v0 +400023cc: 02539823 subu s3,s2,s3 +400023d0: 26730fef addiu s3,s3,4079 +400023d4: 00139b02 srl s3,s3,0xc +400023d8: 2673ffff addiu s3,s3,-1 +400023dc: 00139b00 sll s3,s3,0xc +400023e0: 2a621000 slti v0,s3,4096 +400023e4: 14400008 bnez v0,40002408 <_malloc_trim_r+0x7c> +400023e8: 02002021 move a0,s0 +400023ec: 0c000ec0 jal 40003b00 <_sbrk_r> +400023f0: 00002821 move a1,zero +400023f4: 8e230008 lw v1,8(s1) +400023f8: 00000000 nop +400023fc: 00721821 addu v1,v1,s2 +40002400: 1043000b beq v0,v1,40002430 <_malloc_trim_r+0xa4> +40002404: 02002021 move a0,s0 +40002408: 0c000d4b jal 4000352c <__malloc_unlock> +4000240c: 02002021 move a0,s0 +40002410: 8fbf0024 lw ra,36(sp) +40002414: 8fb30020 lw s3,32(sp) +40002418: 8fb2001c lw s2,28(sp) +4000241c: 8fb10018 lw s1,24(sp) +40002420: 8fb00014 lw s0,20(sp) +40002424: 00001021 move v0,zero +40002428: 03e00008 jr ra +4000242c: 27bd0028 addiu sp,sp,40 +40002430: 0c000ec0 jal 40003b00 <_sbrk_r> +40002434: 00132823 negu a1,s3 +40002438: 2403ffff li v1,-1 +4000243c: 10430012 beq v0,v1,40002488 <_malloc_trim_r+0xfc> +40002440: 3c024000 lui v0,0x4000 +40002444: 8c447a20 lw a0,31264(v0) +40002448: 8e230008 lw v1,8(s1) +4000244c: 02539023 subu s2,s2,s3 +40002450: 36520001 ori s2,s2,0x1 +40002454: 00939823 subu s3,a0,s3 +40002458: ac720004 sw s2,4(v1) +4000245c: 02002021 move a0,s0 +40002460: 0c000d4b jal 4000352c <__malloc_unlock> +40002464: ac537a20 sw s3,31264(v0) +40002468: 8fbf0024 lw ra,36(sp) +4000246c: 8fb30020 lw s3,32(sp) +40002470: 8fb2001c lw s2,28(sp) +40002474: 8fb10018 lw s1,24(sp) +40002478: 8fb00014 lw s0,20(sp) +4000247c: 24020001 li v0,1 +40002480: 03e00008 jr ra +40002484: 27bd0028 addiu sp,sp,40 +40002488: 02002021 move a0,s0 +4000248c: 0c000ec0 jal 40003b00 <_sbrk_r> +40002490: 00002821 move a1,zero +40002494: 8e230008 lw v1,8(s1) +40002498: 00000000 nop +4000249c: 00432023 subu a0,v0,v1 +400024a0: 28850010 slti a1,a0,16 +400024a4: 14a0ffd8 bnez a1,40002408 <_malloc_trim_r+0x7c> +400024a8: 34840001 ori a0,a0,0x1 +400024ac: 8f858014 lw a1,-32748(gp) +400024b0: 00000000 nop +400024b4: 00451023 subu v0,v0,a1 +400024b8: 3c054000 lui a1,0x4000 +400024bc: aca27a20 sw v0,31264(a1) +400024c0: 08000902 j 40002408 <_malloc_trim_r+0x7c> +400024c4: ac640004 sw a0,4(v1) + +400024c8 <_free_r>: +400024c8: 27bdffe0 addiu sp,sp,-32 +400024cc: afb00014 sw s0,20(sp) +400024d0: afbf001c sw ra,28(sp) +400024d4: afb10018 sw s1,24(sp) +400024d8: 10a0005b beqz a1,40002648 <_free_r+0x180> +400024dc: 00a08021 move s0,a1 +400024e0: 0c000d49 jal 40003524 <__malloc_lock> +400024e4: 00808821 move s1,a0 +400024e8: 8e08fffc lw t0,-4(s0) +400024ec: 2402fffe li v0,-2 +400024f0: 01021024 and v0,t0,v0 +400024f4: 2606fff8 addiu a2,s0,-8 +400024f8: 3c074000 lui a3,0x4000 +400024fc: 00c21821 addu v1,a2,v0 +40002500: 24e77520 addiu a3,a3,29984 +40002504: 8c690004 lw t1,4(v1) +40002508: 8ce40008 lw a0,8(a3) +4000250c: 2405fffc li a1,-4 +40002510: 01252824 and a1,t1,a1 +40002514: 10830070 beq a0,v1,400026d8 <_free_r+0x210> +40002518: 31080001 andi t0,t0,0x1 +4000251c: 1100003c beqz t0,40002610 <_free_r+0x148> +40002520: ac650004 sw a1,4(v1) +40002524: 00002021 move a0,zero +40002528: 00654021 addu t0,v1,a1 +4000252c: 8d080004 lw t0,4(t0) +40002530: 00000000 nop +40002534: 31080001 andi t0,t0,0x1 +40002538: 15000009 bnez t0,40002560 <_free_r+0x98> +4000253c: 00000000 nop +40002540: 00451021 addu v0,v0,a1 +40002544: 8c650008 lw a1,8(v1) +40002548: 10800057 beqz a0,400026a8 <_free_r+0x1e0> +4000254c: 3c084000 lui t0,0x4000 +40002550: 8c63000c lw v1,12(v1) +40002554: 00000000 nop +40002558: aca3000c sw v1,12(a1) +4000255c: ac650008 sw a1,8(v1) +40002560: 34450001 ori a1,v0,0x1 +40002564: 00c21821 addu v1,a2,v0 +40002568: acc50004 sw a1,4(a2) +4000256c: 14800022 bnez a0,400025f8 <_free_r+0x130> +40002570: ac620000 sw v0,0(v1) +40002574: 2c430200 sltiu v1,v0,512 +40002578: 14600038 bnez v1,4000265c <_free_r+0x194> +4000257c: 24080001 li t0,1 +40002580: 00021a42 srl v1,v0,0x9 +40002584: 2c640005 sltiu a0,v1,5 +40002588: 1080006a beqz a0,40002734 <_free_r+0x26c> +4000258c: 2c640015 sltiu a0,v1,21 +40002590: 00022182 srl a0,v0,0x6 +40002594: 24840038 addiu a0,a0,56 +40002598: 00044040 sll t0,a0,0x1 +4000259c: 00084080 sll t0,t0,0x2 +400025a0: 00e84021 addu t0,a3,t0 +400025a4: 8d030008 lw v1,8(t0) +400025a8: 00000000 nop +400025ac: 10680065 beq v1,t0,40002744 <_free_r+0x27c> +400025b0: 00042083 sra a0,a0,0x2 +400025b4: 2404fffc li a0,-4 +400025b8: 8c650004 lw a1,4(v1) +400025bc: 00000000 nop +400025c0: 00a42824 and a1,a1,a0 +400025c4: 0045282b sltu a1,v0,a1 +400025c8: 10a00005 beqz a1,400025e0 <_free_r+0x118> +400025cc: 00000000 nop +400025d0: 8c630008 lw v1,8(v1) +400025d4: 00000000 nop +400025d8: 1503fff7 bne t0,v1,400025b8 <_free_r+0xf0> +400025dc: 00000000 nop +400025e0: 8c62000c lw v0,12(v1) +400025e4: 00000000 nop +400025e8: acc2000c sw v0,12(a2) +400025ec: acc30008 sw v1,8(a2) +400025f0: ac460008 sw a2,8(v0) +400025f4: ac66000c sw a2,12(v1) +400025f8: 8fbf001c lw ra,28(sp) +400025fc: 8fb00014 lw s0,20(sp) +40002600: 02202021 move a0,s1 +40002604: 8fb10018 lw s1,24(sp) +40002608: 08000d4b j 4000352c <__malloc_unlock> +4000260c: 27bd0020 addiu sp,sp,32 +40002610: 8e04fff8 lw a0,-8(s0) +40002614: 00000000 nop +40002618: 00c43023 subu a2,a2,a0 +4000261c: 00441021 addu v0,v0,a0 +40002620: 8cc80008 lw t0,8(a2) +40002624: 3c044000 lui a0,0x4000 +40002628: 24847528 addiu a0,a0,29992 +4000262c: 1104003f beq t0,a0,4000272c <_free_r+0x264> +40002630: 00000000 nop +40002634: 8cc9000c lw t1,12(a2) +40002638: 00002021 move a0,zero +4000263c: ad09000c sw t1,12(t0) +40002640: 0800094a j 40002528 <_free_r+0x60> +40002644: ad280008 sw t0,8(t1) +40002648: 8fbf001c lw ra,28(sp) +4000264c: 8fb10018 lw s1,24(sp) +40002650: 8fb00014 lw s0,20(sp) +40002654: 03e00008 jr ra +40002658: 27bd0020 addiu sp,sp,32 +4000265c: 000210c2 srl v0,v0,0x3 +40002660: 000218c0 sll v1,v0,0x3 +40002664: 00e31821 addu v1,a3,v1 +40002668: 8c640008 lw a0,8(v1) +4000266c: 8ce50004 lw a1,4(a3) +40002670: 00021083 sra v0,v0,0x2 +40002674: 00481004 sllv v0,t0,v0 +40002678: acc40008 sw a0,8(a2) +4000267c: acc3000c sw v1,12(a2) +40002680: 8fbf001c lw ra,28(sp) +40002684: ac660008 sw a2,8(v1) +40002688: 8fb00014 lw s0,20(sp) +4000268c: ac86000c sw a2,12(a0) +40002690: 00451025 or v0,v0,a1 +40002694: 02202021 move a0,s1 +40002698: 8fb10018 lw s1,24(sp) +4000269c: ace20004 sw v0,4(a3) +400026a0: 08000d4b j 4000352c <__malloc_unlock> +400026a4: 27bd0020 addiu sp,sp,32 +400026a8: 25087528 addiu t0,t0,29992 +400026ac: 14a8ffa8 bne a1,t0,40002550 <_free_r+0x88> +400026b0: 00000000 nop +400026b4: 34440001 ori a0,v0,0x1 +400026b8: 00c21821 addu v1,a2,v0 +400026bc: ace60014 sw a2,20(a3) +400026c0: ace60010 sw a2,16(a3) +400026c4: acc5000c sw a1,12(a2) +400026c8: acc50008 sw a1,8(a2) +400026cc: acc40004 sw a0,4(a2) +400026d0: 0800097e j 400025f8 <_free_r+0x130> +400026d4: ac620000 sw v0,0(v1) +400026d8: 15000009 bnez t0,40002700 <_free_r+0x238> +400026dc: 00a21021 addu v0,a1,v0 +400026e0: 8e05fff8 lw a1,-8(s0) +400026e4: 00000000 nop +400026e8: 00c53023 subu a2,a2,a1 +400026ec: 8cc3000c lw v1,12(a2) +400026f0: 8cc40008 lw a0,8(a2) +400026f4: 00451021 addu v0,v0,a1 +400026f8: ac83000c sw v1,12(a0) +400026fc: ac640008 sw a0,8(v1) +40002700: 8f858018 lw a1,-32744(gp) +40002704: 34430001 ori v1,v0,0x1 +40002708: 0045102b sltu v0,v0,a1 +4000270c: acc30004 sw v1,4(a2) +40002710: 1440ffb9 bnez v0,400025f8 <_free_r+0x130> +40002714: ace60008 sw a2,8(a3) +40002718: 8f858028 lw a1,-32728(gp) +4000271c: 0c0008e3 jal 4000238c <_malloc_trim_r> +40002720: 02202021 move a0,s1 +40002724: 0800097e j 400025f8 <_free_r+0x130> +40002728: 00000000 nop +4000272c: 0800094a j 40002528 <_free_r+0x60> +40002730: 24040001 li a0,1 +40002734: 1080000a beqz a0,40002760 <_free_r+0x298> +40002738: 2464005b addiu a0,v1,91 +4000273c: 08000967 j 4000259c <_free_r+0xd4> +40002740: 00044040 sll t0,a0,0x1 +40002744: 8ce20004 lw v0,4(a3) +40002748: 24050001 li a1,1 +4000274c: 00852004 sllv a0,a1,a0 +40002750: 00821025 or v0,a0,v0 +40002754: ace20004 sw v0,4(a3) +40002758: 0800097a j 400025e8 <_free_r+0x120> +4000275c: 00601021 move v0,v1 +40002760: 2c640055 sltiu a0,v1,85 +40002764: 10800004 beqz a0,40002778 <_free_r+0x2b0> +40002768: 00022302 srl a0,v0,0xc +4000276c: 2484006e addiu a0,a0,110 +40002770: 08000967 j 4000259c <_free_r+0xd4> +40002774: 00044040 sll t0,a0,0x1 +40002778: 2c640155 sltiu a0,v1,341 +4000277c: 10800005 beqz a0,40002794 <_free_r+0x2cc> +40002780: 2c630555 sltiu v1,v1,1365 +40002784: 000223c2 srl a0,v0,0xf +40002788: 24840077 addiu a0,a0,119 +4000278c: 08000967 j 4000259c <_free_r+0xd4> +40002790: 00044040 sll t0,a0,0x1 +40002794: 10600005 beqz v1,400027ac <_free_r+0x2e4> +40002798: 00000000 nop +4000279c: 00022482 srl a0,v0,0x12 +400027a0: 2484007c addiu a0,a0,124 +400027a4: 08000967 j 4000259c <_free_r+0xd4> +400027a8: 00044040 sll t0,a0,0x1 +400027ac: 240800fc li t0,252 +400027b0: 08000967 j 4000259c <_free_r+0xd4> +400027b4: 2404007e li a0,126 + +400027b8 <_fwalk>: +400027b8: 27bdffd0 addiu sp,sp,-48 +400027bc: afb30020 sw s3,32(sp) +400027c0: 249302e0 addiu s3,a0,736 +400027c4: afbf002c sw ra,44(sp) +400027c8: afb50028 sw s5,40(sp) +400027cc: afb40024 sw s4,36(sp) +400027d0: afb2001c sw s2,28(sp) +400027d4: afb10018 sw s1,24(sp) +400027d8: 12600025 beqz s3,40002870 <_fwalk+0xb8> +400027dc: afb00014 sw s0,20(sp) +400027e0: 00a0a821 move s5,a1 +400027e4: 0000a021 move s4,zero +400027e8: 2412ffff li s2,-1 +400027ec: 8e710004 lw s1,4(s3) +400027f0: 8e700008 lw s0,8(s3) +400027f4: 2631ffff addiu s1,s1,-1 +400027f8: 0620000f bltz s1,40002838 <_fwalk+0x80> +400027fc: 00000000 nop +40002800: 9603000c lhu v1,12(s0) +40002804: 00000000 nop +40002808: 2c630002 sltiu v1,v1,2 +4000280c: 14600008 bnez v1,40002830 <_fwalk+0x78> +40002810: 2631ffff addiu s1,s1,-1 +40002814: 8603000e lh v1,14(s0) +40002818: 00000000 nop +4000281c: 10720004 beq v1,s2,40002830 <_fwalk+0x78> +40002820: 02002021 move a0,s0 +40002824: 02a0f809 jalr s5 +40002828: 00000000 nop +4000282c: 0282a025 or s4,s4,v0 +40002830: 1632fff3 bne s1,s2,40002800 <_fwalk+0x48> +40002834: 26100068 addiu s0,s0,104 +40002838: 8e730000 lw s3,0(s3) +4000283c: 00000000 nop +40002840: 1660ffea bnez s3,400027ec <_fwalk+0x34> +40002844: 00000000 nop +40002848: 8fbf002c lw ra,44(sp) +4000284c: 02801021 move v0,s4 +40002850: 8fb50028 lw s5,40(sp) +40002854: 8fb40024 lw s4,36(sp) +40002858: 8fb30020 lw s3,32(sp) +4000285c: 8fb2001c lw s2,28(sp) +40002860: 8fb10018 lw s1,24(sp) +40002864: 8fb00014 lw s0,20(sp) +40002868: 03e00008 jr ra +4000286c: 27bd0030 addiu sp,sp,48 +40002870: 08000a12 j 40002848 <_fwalk+0x90> +40002874: 0000a021 move s4,zero + +40002878 <_fwalk_reent>: +40002878: 27bdffd0 addiu sp,sp,-48 +4000287c: afb3001c sw s3,28(sp) +40002880: 249302e0 addiu s3,a0,736 +40002884: afb60028 sw s6,40(sp) +40002888: afbf002c sw ra,44(sp) +4000288c: afb50024 sw s5,36(sp) +40002890: afb40020 sw s4,32(sp) +40002894: afb20018 sw s2,24(sp) +40002898: afb10014 sw s1,20(sp) +4000289c: afb00010 sw s0,16(sp) +400028a0: 12600026 beqz s3,4000293c <_fwalk_reent+0xc4> +400028a4: 0080b021 move s6,a0 +400028a8: 00a0a821 move s5,a1 +400028ac: 0000a021 move s4,zero +400028b0: 2412ffff li s2,-1 +400028b4: 8e710004 lw s1,4(s3) +400028b8: 8e700008 lw s0,8(s3) +400028bc: 2631ffff addiu s1,s1,-1 +400028c0: 0620000f bltz s1,40002900 <_fwalk_reent+0x88> +400028c4: 00000000 nop +400028c8: 9603000c lhu v1,12(s0) +400028cc: 00000000 nop +400028d0: 2c630002 sltiu v1,v1,2 +400028d4: 14600008 bnez v1,400028f8 <_fwalk_reent+0x80> +400028d8: 2631ffff addiu s1,s1,-1 +400028dc: 8603000e lh v1,14(s0) +400028e0: 02002821 move a1,s0 +400028e4: 10720004 beq v1,s2,400028f8 <_fwalk_reent+0x80> +400028e8: 02c02021 move a0,s6 +400028ec: 02a0f809 jalr s5 +400028f0: 00000000 nop +400028f4: 0282a025 or s4,s4,v0 +400028f8: 1632fff3 bne s1,s2,400028c8 <_fwalk_reent+0x50> +400028fc: 26100068 addiu s0,s0,104 +40002900: 8e730000 lw s3,0(s3) +40002904: 00000000 nop +40002908: 1660ffea bnez s3,400028b4 <_fwalk_reent+0x3c> +4000290c: 00000000 nop +40002910: 8fbf002c lw ra,44(sp) +40002914: 02801021 move v0,s4 +40002918: 8fb60028 lw s6,40(sp) +4000291c: 8fb50024 lw s5,36(sp) +40002920: 8fb40020 lw s4,32(sp) +40002924: 8fb3001c lw s3,28(sp) +40002928: 8fb20018 lw s2,24(sp) +4000292c: 8fb10014 lw s1,20(sp) +40002930: 8fb00010 lw s0,16(sp) +40002934: 03e00008 jr ra +40002938: 27bd0030 addiu sp,sp,48 +4000293c: 08000a44 j 40002910 <_fwalk_reent+0x98> +40002940: 0000a021 move s4,zero + +40002944 <_malloc_r>: +40002944: 24a2000b addiu v0,a1,11 +40002948: 27bdffc8 addiu sp,sp,-56 +4000294c: 2c430017 sltiu v1,v0,23 +40002950: afb3001c sw s3,28(sp) +40002954: afbf0034 sw ra,52(sp) +40002958: afbe0030 sw s8,48(sp) +4000295c: afb7002c sw s7,44(sp) +40002960: afb60028 sw s6,40(sp) +40002964: afb50024 sw s5,36(sp) +40002968: afb40020 sw s4,32(sp) +4000296c: afb20018 sw s2,24(sp) +40002970: afb10014 sw s1,20(sp) +40002974: afb00010 sw s0,16(sp) +40002978: 1460002d bnez v1,40002a30 <_malloc_r+0xec> +4000297c: 00809821 move s3,a0 +40002980: 2411fff8 li s1,-8 +40002984: 00518824 and s1,v0,s1 +40002988: 0620002d bltz s1,40002a40 <_malloc_r+0xfc> +4000298c: 0225282b sltu a1,s1,a1 +40002990: 14a0002c bnez a1,40002a44 <_malloc_r+0x100> +40002994: 2402000c li v0,12 +40002998: 0c000d49 jal 40003524 <__malloc_lock> +4000299c: 02602021 move a0,s3 +400029a0: 2e2201f8 sltiu v0,s1,504 +400029a4: 1040002a beqz v0,40002a50 <_malloc_r+0x10c> +400029a8: 00111242 srl v0,s1,0x9 +400029ac: 3c124000 lui s2,0x4000 +400029b0: 26527520 addiu s2,s2,29984 +400029b4: 02511021 addu v0,s2,s1 +400029b8: 8c50000c lw s0,12(v0) +400029bc: 00000000 nop +400029c0: 12020173 beq s0,v0,40002f90 <_malloc_r+0x64c> +400029c4: 001138c2 srl a3,s1,0x3 +400029c8: 8e030004 lw v1,4(s0) +400029cc: 2402fffc li v0,-4 +400029d0: 00621024 and v0,v1,v0 +400029d4: 02021021 addu v0,s0,v0 +400029d8: 8c460004 lw a2,4(v0) +400029dc: 8e03000c lw v1,12(s0) +400029e0: 8e050008 lw a1,8(s0) +400029e4: 34c60001 ori a2,a2,0x1 +400029e8: aca3000c sw v1,12(a1) +400029ec: 02602021 move a0,s3 +400029f0: ac650008 sw a1,8(v1) +400029f4: 0c000d4b jal 4000352c <__malloc_unlock> +400029f8: ac460004 sw a2,4(v0) +400029fc: 26020008 addiu v0,s0,8 +40002a00: 8fbf0034 lw ra,52(sp) +40002a04: 8fbe0030 lw s8,48(sp) +40002a08: 8fb7002c lw s7,44(sp) +40002a0c: 8fb60028 lw s6,40(sp) +40002a10: 8fb50024 lw s5,36(sp) +40002a14: 8fb40020 lw s4,32(sp) +40002a18: 8fb3001c lw s3,28(sp) +40002a1c: 8fb20018 lw s2,24(sp) +40002a20: 8fb10014 lw s1,20(sp) +40002a24: 8fb00010 lw s0,16(sp) +40002a28: 03e00008 jr ra +40002a2c: 27bd0038 addiu sp,sp,56 +40002a30: 24110010 li s1,16 +40002a34: 0225282b sltu a1,s1,a1 +40002a38: 10a0ffd7 beqz a1,40002998 <_malloc_r+0x54> +40002a3c: 00000000 nop +40002a40: 2402000c li v0,12 +40002a44: ae620000 sw v0,0(s3) +40002a48: 08000a80 j 40002a00 <_malloc_r+0xbc> +40002a4c: 00001021 move v0,zero +40002a50: 10400085 beqz v0,40002c68 <_malloc_r+0x324> +40002a54: 2406007e li a2,126 +40002a58: 2c430005 sltiu v1,v0,5 +40002a5c: 1060010b beqz v1,40002e8c <_malloc_r+0x548> +40002a60: 2c430015 sltiu v1,v0,21 +40002a64: 00114182 srl t0,s1,0x6 +40002a68: 25080038 addiu t0,t0,56 +40002a6c: 00083040 sll a2,t0,0x1 +40002a70: 3c124000 lui s2,0x4000 +40002a74: 00063080 sll a2,a2,0x2 +40002a78: 26527520 addiu s2,s2,29984 +40002a7c: 02463021 addu a2,s2,a2 +40002a80: 8cd0000c lw s0,12(a2) +40002a84: 00000000 nop +40002a88: 10d00019 beq a2,s0,40002af0 <_malloc_r+0x1ac> +40002a8c: 2402fffc li v0,-4 +40002a90: 8e030004 lw v1,4(s0) +40002a94: 00000000 nop +40002a98: 00621824 and v1,v1,v0 +40002a9c: 00712023 subu a0,v1,s1 +40002aa0: 28820010 slti v0,a0,16 +40002aa4: 10400072 beqz v0,40002c70 <_malloc_r+0x32c> +40002aa8: 00000000 nop +40002aac: 0480000c bltz a0,40002ae0 <_malloc_r+0x19c> +40002ab0: 2407fffc li a3,-4 +40002ab4: 08000b1f j 40002c7c <_malloc_r+0x338> +40002ab8: 02031821 addu v1,s0,v1 +40002abc: 8e030004 lw v1,4(s0) +40002ac0: 00000000 nop +40002ac4: 00671824 and v1,v1,a3 +40002ac8: 00711023 subu v0,v1,s1 +40002acc: 28450010 slti a1,v0,16 +40002ad0: 10a00067 beqz a1,40002c70 <_malloc_r+0x32c> +40002ad4: 00000000 nop +40002ad8: 04410067 bgez v0,40002c78 <_malloc_r+0x334> +40002adc: 00000000 nop +40002ae0: 8e10000c lw s0,12(s0) +40002ae4: 00000000 nop +40002ae8: 14d0fff4 bne a2,s0,40002abc <_malloc_r+0x178> +40002aec: 00000000 nop +40002af0: 25070001 addiu a3,t0,1 +40002af4: 3c094000 lui t1,0x4000 +40002af8: 8e500010 lw s0,16(s2) +40002afc: 25297528 addiu t1,t1,29992 +40002b00: 1209011a beq s0,t1,40002f6c <_malloc_r+0x628> +40002b04: 00000000 nop +40002b08: 8e030004 lw v1,4(s0) +40002b0c: 2402fffc li v0,-4 +40002b10: 00621024 and v0,v1,v0 +40002b14: 00511823 subu v1,v0,s1 +40002b18: 28640010 slti a0,v1,16 +40002b1c: 10800104 beqz a0,40002f30 <_malloc_r+0x5ec> +40002b20: 00000000 nop +40002b24: ae490014 sw t1,20(s2) +40002b28: 0461005f bgez v1,40002ca8 <_malloc_r+0x364> +40002b2c: ae490010 sw t1,16(s2) +40002b30: 2c430200 sltiu v1,v0,512 +40002b34: 106000de beqz v1,40002eb0 <_malloc_r+0x56c> +40002b38: 00021a42 srl v1,v0,0x9 +40002b3c: 000220c2 srl a0,v0,0x3 +40002b40: 000418c0 sll v1,a0,0x3 +40002b44: 02431821 addu v1,s2,v1 +40002b48: 8e450004 lw a1,4(s2) +40002b4c: 00041083 sra v0,a0,0x2 +40002b50: 24060001 li a2,1 +40002b54: 8c640008 lw a0,8(v1) +40002b58: 00461004 sllv v0,a2,v0 +40002b5c: 00451025 or v0,v0,a1 +40002b60: ae03000c sw v1,12(s0) +40002b64: ae040008 sw a0,8(s0) +40002b68: ae420004 sw v0,4(s2) +40002b6c: ac700008 sw s0,8(v1) +40002b70: ac90000c sw s0,12(a0) +40002b74: 00071883 sra v1,a3,0x2 +40002b78: 24040001 li a0,1 +40002b7c: 00642004 sllv a0,a0,v1 +40002b80: 0044182b sltu v1,v0,a0 +40002b84: 14600050 bnez v1,40002cc8 <_malloc_r+0x384> +40002b88: 00441824 and v1,v0,a0 +40002b8c: 1460000c bnez v1,40002bc0 <_malloc_r+0x27c> +40002b90: 2408fffc li t0,-4 +40002b94: 2403fffc li v1,-4 +40002b98: 00042040 sll a0,a0,0x1 +40002b9c: 00e33824 and a3,a3,v1 +40002ba0: 00441824 and v1,v0,a0 +40002ba4: 14600006 bnez v1,40002bc0 <_malloc_r+0x27c> +40002ba8: 24e70004 addiu a3,a3,4 +40002bac: 00042040 sll a0,a0,0x1 +40002bb0: 00441824 and v1,v0,a0 +40002bb4: 1060fffd beqz v1,40002bac <_malloc_r+0x268> +40002bb8: 24e70004 addiu a3,a3,4 +40002bbc: 2408fffc li t0,-4 +40002bc0: 000750c0 sll t2,a3,0x3 +40002bc4: 024a5021 addu t2,s2,t2 +40002bc8: 01403021 move a2,t2 +40002bcc: 00e05821 move t3,a3 +40002bd0: 8cd0000c lw s0,12(a2) +40002bd4: 00000000 nop +40002bd8: 14d00009 bne a2,s0,40002c00 <_malloc_r+0x2bc> +40002bdc: 00000000 nop +40002be0: 08000bdf j 40002f7c <_malloc_r+0x638> +40002be4: 256b0001 addiu t3,t3,1 +40002be8: 044100f0 bgez v0,40002fac <_malloc_r+0x668> +40002bec: 00000000 nop +40002bf0: 8e10000c lw s0,12(s0) +40002bf4: 00000000 nop +40002bf8: 10d000df beq a2,s0,40002f78 <_malloc_r+0x634> +40002bfc: 00000000 nop +40002c00: 8e030004 lw v1,4(s0) +40002c04: 00000000 nop +40002c08: 00681824 and v1,v1,t0 +40002c0c: 00711023 subu v0,v1,s1 +40002c10: 28450010 slti a1,v0,16 +40002c14: 14a0fff4 bnez a1,40002be8 <_malloc_r+0x2a4> +40002c18: 00000000 nop +40002c1c: 8e05000c lw a1,12(s0) +40002c20: 8e060008 lw a2,8(s0) +40002c24: 02111821 addu v1,s0,s1 +40002c28: 34480001 ori t0,v0,0x1 +40002c2c: 00623821 addu a3,v1,v0 +40002c30: 36310001 ori s1,s1,0x1 +40002c34: ae110004 sw s1,4(s0) +40002c38: 02602021 move a0,s3 +40002c3c: acc5000c sw a1,12(a2) +40002c40: aca60008 sw a2,8(a1) +40002c44: ae430014 sw v1,20(s2) +40002c48: ae430010 sw v1,16(s2) +40002c4c: ac69000c sw t1,12(v1) +40002c50: ac690008 sw t1,8(v1) +40002c54: ac680004 sw t0,4(v1) +40002c58: 0c000d4b jal 4000352c <__malloc_unlock> +40002c5c: ace20000 sw v0,0(a3) +40002c60: 08000a80 j 40002a00 <_malloc_r+0xbc> +40002c64: 26020008 addiu v0,s0,8 +40002c68: 08000a9c j 40002a70 <_malloc_r+0x12c> +40002c6c: 2408003f li t0,63 +40002c70: 08000abc j 40002af0 <_malloc_r+0x1ac> +40002c74: 2508ffff addiu t0,t0,-1 +40002c78: 02031821 addu v1,s0,v1 +40002c7c: 8c660004 lw a2,4(v1) +40002c80: 8e02000c lw v0,12(s0) +40002c84: 8e050008 lw a1,8(s0) +40002c88: 34c60001 ori a2,a2,0x1 +40002c8c: aca2000c sw v0,12(a1) +40002c90: 02602021 move a0,s3 +40002c94: ac450008 sw a1,8(v0) +40002c98: 0c000d4b jal 4000352c <__malloc_unlock> +40002c9c: ac660004 sw a2,4(v1) +40002ca0: 08000a80 j 40002a00 <_malloc_r+0xbc> +40002ca4: 26020008 addiu v0,s0,8 +40002ca8: 02021021 addu v0,s0,v0 +40002cac: 8c430004 lw v1,4(v0) +40002cb0: 02602021 move a0,s3 +40002cb4: 34630001 ori v1,v1,0x1 +40002cb8: 0c000d4b jal 4000352c <__malloc_unlock> +40002cbc: ac430004 sw v1,4(v0) +40002cc0: 08000a80 j 40002a00 <_malloc_r+0xbc> +40002cc4: 26020008 addiu v0,s0,8 +40002cc8: 8e500008 lw s0,8(s2) +40002ccc: 2402fffc li v0,-4 +40002cd0: 8e150004 lw s5,4(s0) +40002cd4: 00000000 nop +40002cd8: 02a2a824 and s5,s5,v0 +40002cdc: 02b1102b sltu v0,s5,s1 +40002ce0: 14400004 bnez v0,40002cf4 <_malloc_r+0x3b0> +40002ce4: 02b11023 subu v0,s5,s1 +40002ce8: 28430010 slti v1,v0,16 +40002cec: 1060005e beqz v1,40002e68 <_malloc_r+0x524> +40002cf0: 02111821 addu v1,s0,s1 +40002cf4: 8f978028 lw s7,-32728(gp) +40002cf8: 8f838014 lw v1,-32748(gp) +40002cfc: 2402ffff li v0,-1 +40002d00: 0215f021 addu s8,s0,s5 +40002d04: 106200f8 beq v1,v0,400030e8 <_malloc_r+0x7a4> +40002d08: 0237b821 addu s7,s1,s7 +40002d0c: 26f7100f addiu s7,s7,4111 +40002d10: 2402f000 li v0,-4096 +40002d14: 02e2b824 and s7,s7,v0 +40002d18: 02602021 move a0,s3 +40002d1c: 0c000ec0 jal 40003b00 <_sbrk_r> +40002d20: 02e02821 move a1,s7 +40002d24: 0040a021 move s4,v0 +40002d28: 2402ffff li v0,-1 +40002d2c: 128200b2 beq s4,v0,40002ff8 <_malloc_r+0x6b4> +40002d30: 00000000 nop +40002d34: 029e102b sltu v0,s4,s8 +40002d38: 144000ad bnez v0,40002ff0 <_malloc_r+0x6ac> +40002d3c: 3c164000 lui s6,0x4000 +40002d40: 8ec27a20 lw v0,31264(s6) +40002d44: 00000000 nop +40002d48: 02e21021 addu v0,s7,v0 +40002d4c: 13d400ed beq s8,s4,40003104 <_malloc_r+0x7c0> +40002d50: aec27a20 sw v0,31264(s6) +40002d54: 8f848014 lw a0,-32748(gp) +40002d58: 2403ffff li v1,-1 +40002d5c: 108300fd beq a0,v1,40003154 <_malloc_r+0x810> +40002d60: 029ef023 subu s8,s4,s8 +40002d64: 005e1021 addu v0,v0,s8 +40002d68: aec27a20 sw v0,31264(s6) +40002d6c: 32820007 andi v0,s4,0x7 +40002d70: 104000c4 beqz v0,40003084 <_malloc_r+0x740> +40002d74: 24031008 li v1,4104 +40002d78: 0282a023 subu s4,s4,v0 +40002d7c: 26940008 addiu s4,s4,8 +40002d80: 00621023 subu v0,v1,v0 +40002d84: 02971821 addu v1,s4,s7 +40002d88: 30630fff andi v1,v1,0xfff +40002d8c: 0043b823 subu s7,v0,v1 +40002d90: 02602021 move a0,s3 +40002d94: 0c000ec0 jal 40003b00 <_sbrk_r> +40002d98: 02e02821 move a1,s7 +40002d9c: 2403ffff li v1,-1 +40002da0: 104300e2 beq v0,v1,4000312c <_malloc_r+0x7e8> +40002da4: 00541023 subu v0,v0,s4 +40002da8: 02e21821 addu v1,s7,v0 +40002dac: 34630001 ori v1,v1,0x1 +40002db0: 8ec27a20 lw v0,31264(s6) +40002db4: ae540008 sw s4,8(s2) +40002db8: 02e21021 addu v0,s7,v0 +40002dbc: aec27a20 sw v0,31264(s6) +40002dc0: 12120010 beq s0,s2,40002e04 <_malloc_r+0x4c0> +40002dc4: ae830004 sw v1,4(s4) +40002dc8: 2ea30010 sltiu v1,s5,16 +40002dcc: 146000b6 bnez v1,400030a8 <_malloc_r+0x764> +40002dd0: 26b5fff4 addiu s5,s5,-12 +40002dd4: 8e060004 lw a2,4(s0) +40002dd8: 2403fff8 li v1,-8 +40002ddc: 02a31824 and v1,s5,v1 +40002de0: 30c60001 andi a2,a2,0x1 +40002de4: 02032021 addu a0,s0,v1 +40002de8: 24050005 li a1,5 +40002dec: 00663025 or a2,v1,a2 +40002df0: 2c630010 sltiu v1,v1,16 +40002df4: ae060004 sw a2,4(s0) +40002df8: ac850004 sw a1,4(a0) +40002dfc: 106000ce beqz v1,40003138 <_malloc_r+0x7f4> +40002e00: ac850008 sw a1,8(a0) +40002e04: 8f838024 lw v1,-32732(gp) +40002e08: 00000000 nop +40002e0c: 0062182b sltu v1,v1,v0 +40002e10: 10600002 beqz v1,40002e1c <_malloc_r+0x4d8> +40002e14: 00000000 nop +40002e18: af828024 sw v0,-32732(gp) +40002e1c: 8f838020 lw v1,-32736(gp) +40002e20: 8e500008 lw s0,8(s2) +40002e24: 0062182b sltu v1,v1,v0 +40002e28: 106000ab beqz v1,400030d8 <_malloc_r+0x794> +40002e2c: 00000000 nop +40002e30: 8e030004 lw v1,4(s0) +40002e34: af828020 sw v0,-32736(gp) +40002e38: 2402fffc li v0,-4 +40002e3c: 00621024 and v0,v1,v0 +40002e40: 0051182b sltu v1,v0,s1 +40002e44: 14600004 bnez v1,40002e58 <_malloc_r+0x514> +40002e48: 00511023 subu v0,v0,s1 +40002e4c: 28430010 slti v1,v0,16 +40002e50: 10600005 beqz v1,40002e68 <_malloc_r+0x524> +40002e54: 02111821 addu v1,s0,s1 +40002e58: 0c000d4b jal 4000352c <__malloc_unlock> +40002e5c: 02602021 move a0,s3 +40002e60: 08000a80 j 40002a00 <_malloc_r+0xbc> +40002e64: 00001021 move v0,zero +40002e68: 34420001 ori v0,v0,0x1 +40002e6c: 36310001 ori s1,s1,0x1 +40002e70: ae110004 sw s1,4(s0) +40002e74: 02602021 move a0,s3 +40002e78: ae430008 sw v1,8(s2) +40002e7c: 0c000d4b jal 4000352c <__malloc_unlock> +40002e80: ac620004 sw v0,4(v1) +40002e84: 08000a80 j 40002a00 <_malloc_r+0xbc> +40002e88: 26020008 addiu v0,s0,8 +40002e8c: 14600053 bnez v1,40002fdc <_malloc_r+0x698> +40002e90: 2448005b addiu t0,v0,91 +40002e94: 2c430055 sltiu v1,v0,85 +40002e98: 10600075 beqz v1,40003070 <_malloc_r+0x72c> +40002e9c: 2c430155 sltiu v1,v0,341 +40002ea0: 00114302 srl t0,s1,0xc +40002ea4: 2508006e addiu t0,t0,110 +40002ea8: 08000a9c j 40002a70 <_malloc_r+0x12c> +40002eac: 00083040 sll a2,t0,0x1 +40002eb0: 2c640005 sltiu a0,v1,5 +40002eb4: 1480004b bnez a0,40002fe4 <_malloc_r+0x6a0> +40002eb8: 00022182 srl a0,v0,0x6 +40002ebc: 2c640015 sltiu a0,v1,21 +40002ec0: 1080008b beqz a0,400030f0 <_malloc_r+0x7ac> +40002ec4: 2c640055 sltiu a0,v1,85 +40002ec8: 2464005b addiu a0,v1,91 +40002ecc: 00042840 sll a1,a0,0x1 +40002ed0: 00052880 sll a1,a1,0x2 +40002ed4: 02452821 addu a1,s2,a1 +40002ed8: 8ca30008 lw v1,8(a1) +40002edc: 00000000 nop +40002ee0: 1065006a beq v1,a1,4000308c <_malloc_r+0x748> +40002ee4: 00042083 sra a0,a0,0x2 +40002ee8: 2406fffc li a2,-4 +40002eec: 8c640004 lw a0,4(v1) +40002ef0: 00000000 nop +40002ef4: 00862024 and a0,a0,a2 +40002ef8: 0044202b sltu a0,v0,a0 +40002efc: 10800005 beqz a0,40002f14 <_malloc_r+0x5d0> +40002f00: 00000000 nop +40002f04: 8c630008 lw v1,8(v1) +40002f08: 00000000 nop +40002f0c: 14a3fff7 bne a1,v1,40002eec <_malloc_r+0x5a8> +40002f10: 00000000 nop +40002f14: 8c64000c lw a0,12(v1) +40002f18: 8e420004 lw v0,4(s2) +40002f1c: ae04000c sw a0,12(s0) +40002f20: ae030008 sw v1,8(s0) +40002f24: ac900008 sw s0,8(a0) +40002f28: 08000add j 40002b74 <_malloc_r+0x230> +40002f2c: ac70000c sw s0,12(v1) +40002f30: 02111021 addu v0,s0,s1 +40002f34: 00432821 addu a1,v0,v1 +40002f38: 34660001 ori a2,v1,0x1 +40002f3c: 36310001 ori s1,s1,0x1 +40002f40: ae110004 sw s1,4(s0) +40002f44: 02602021 move a0,s3 +40002f48: ae420014 sw v0,20(s2) +40002f4c: ae420010 sw v0,16(s2) +40002f50: ac49000c sw t1,12(v0) +40002f54: ac490008 sw t1,8(v0) +40002f58: ac460004 sw a2,4(v0) +40002f5c: 0c000d4b jal 4000352c <__malloc_unlock> +40002f60: aca30000 sw v1,0(a1) +40002f64: 08000a80 j 40002a00 <_malloc_r+0xbc> +40002f68: 26020008 addiu v0,s0,8 +40002f6c: 8e420004 lw v0,4(s2) +40002f70: 08000ade j 40002b78 <_malloc_r+0x234> +40002f74: 00071883 sra v1,a3,0x2 +40002f78: 256b0001 addiu t3,t3,1 +40002f7c: 31620003 andi v0,t3,0x3 +40002f80: 1440ff13 bnez v0,40002bd0 <_malloc_r+0x28c> +40002f84: 24c60008 addiu a2,a2,8 +40002f88: 08000c08 j 40003020 <_malloc_r+0x6dc> +40002f8c: 30e30003 andi v1,a3,0x3 +40002f90: 26020008 addiu v0,s0,8 +40002f94: 8e100014 lw s0,20(s0) +40002f98: 00000000 nop +40002f9c: 1050fed5 beq v0,s0,40002af4 <_malloc_r+0x1b0> +40002fa0: 24e70002 addiu a3,a3,2 +40002fa4: 08000a72 j 400029c8 <_malloc_r+0x84> +40002fa8: 00000000 nop +40002fac: 02031821 addu v1,s0,v1 +40002fb0: 8c640004 lw a0,4(v1) +40002fb4: 8e02000c lw v0,12(s0) +40002fb8: 8e050008 lw a1,8(s0) +40002fbc: 34840001 ori a0,a0,0x1 +40002fc0: ac640004 sw a0,4(v1) +40002fc4: aca2000c sw v0,12(a1) +40002fc8: 02602021 move a0,s3 +40002fcc: 0c000d4b jal 4000352c <__malloc_unlock> +40002fd0: ac450008 sw a1,8(v0) +40002fd4: 08000a80 j 40002a00 <_malloc_r+0xbc> +40002fd8: 26020008 addiu v0,s0,8 +40002fdc: 08000a9c j 40002a70 <_malloc_r+0x12c> +40002fe0: 00083040 sll a2,t0,0x1 +40002fe4: 24840038 addiu a0,a0,56 +40002fe8: 08000bb4 j 40002ed0 <_malloc_r+0x58c> +40002fec: 00042840 sll a1,a0,0x1 +40002ff0: 1212ff53 beq s0,s2,40002d40 <_malloc_r+0x3fc> +40002ff4: 00000000 nop +40002ff8: 8e500008 lw s0,8(s2) +40002ffc: 2402fffc li v0,-4 +40003000: 8e030004 lw v1,4(s0) +40003004: 08000b90 j 40002e40 <_malloc_r+0x4fc> +40003008: 00621024 and v0,v1,v0 +4000300c: 8d4a0000 lw t2,0(t2) +40003010: 00000000 nop +40003014: 15420061 bne t2,v0,4000319c <_malloc_r+0x858> +40003018: 24e7ffff addiu a3,a3,-1 +4000301c: 30e30003 andi v1,a3,0x3 +40003020: 1460fffa bnez v1,4000300c <_malloc_r+0x6c8> +40003024: 2542fff8 addiu v0,t2,-8 +40003028: 8e420004 lw v0,4(s2) +4000302c: 00041827 nor v1,zero,a0 +40003030: 00621024 and v0,v1,v0 +40003034: ae420004 sw v0,4(s2) +40003038: 00042040 sll a0,a0,0x1 +4000303c: 0044182b sltu v1,v0,a0 +40003040: 1460ff21 bnez v1,40002cc8 <_malloc_r+0x384> +40003044: 00000000 nop +40003048: 1080ff1f beqz a0,40002cc8 <_malloc_r+0x384> +4000304c: 00441824 and v1,v0,a0 +40003050: 1460fedb bnez v1,40002bc0 <_malloc_r+0x27c> +40003054: 01603821 move a3,t3 +40003058: 00042040 sll a0,a0,0x1 +4000305c: 00441824 and v1,v0,a0 +40003060: 1060fffd beqz v1,40003058 <_malloc_r+0x714> +40003064: 24e70004 addiu a3,a3,4 +40003068: 08000af1 j 40002bc4 <_malloc_r+0x280> +4000306c: 000750c0 sll t2,a3,0x3 +40003070: 10600012 beqz v1,400030bc <_malloc_r+0x778> +40003074: 001143c2 srl t0,s1,0xf +40003078: 25080077 addiu t0,t0,119 +4000307c: 08000a9c j 40002a70 <_malloc_r+0x12c> +40003080: 00083040 sll a2,t0,0x1 +40003084: 08000b61 j 40002d84 <_malloc_r+0x440> +40003088: 24021000 li v0,4096 +4000308c: 8e420004 lw v0,4(s2) +40003090: 24050001 li a1,1 +40003094: 00852004 sllv a0,a1,a0 +40003098: 00821025 or v0,a0,v0 +4000309c: ae420004 sw v0,4(s2) +400030a0: 08000bc7 j 40002f1c <_malloc_r+0x5d8> +400030a4: 00602021 move a0,v1 +400030a8: 24020001 li v0,1 +400030ac: ae820004 sw v0,4(s4) +400030b0: 02808021 move s0,s4 +400030b4: 08000b90 j 40002e40 <_malloc_r+0x4fc> +400030b8: 00001021 move v0,zero +400030bc: 2c420555 sltiu v0,v0,1365 +400030c0: 10400017 beqz v0,40003120 <_malloc_r+0x7dc> +400030c4: 00000000 nop +400030c8: 00114482 srl t0,s1,0x12 +400030cc: 2508007c addiu t0,t0,124 +400030d0: 08000a9c j 40002a70 <_malloc_r+0x12c> +400030d4: 00083040 sll a2,t0,0x1 +400030d8: 8e030004 lw v1,4(s0) +400030dc: 2402fffc li v0,-4 +400030e0: 08000b90 j 40002e40 <_malloc_r+0x4fc> +400030e4: 00621024 and v0,v1,v0 +400030e8: 08000b46 j 40002d18 <_malloc_r+0x3d4> +400030ec: 26f70010 addiu s7,s7,16 +400030f0: 1080001a beqz a0,4000315c <_malloc_r+0x818> +400030f4: 00022302 srl a0,v0,0xc +400030f8: 2484006e addiu a0,a0,110 +400030fc: 08000bb4 j 40002ed0 <_malloc_r+0x58c> +40003100: 00042840 sll a1,a0,0x1 +40003104: 33c30fff andi v1,s8,0xfff +40003108: 1460ff12 bnez v1,40002d54 <_malloc_r+0x410> +4000310c: 02f52021 addu a0,s7,s5 +40003110: 8e430008 lw v1,8(s2) +40003114: 34840001 ori a0,a0,0x1 +40003118: 08000b81 j 40002e04 <_malloc_r+0x4c0> +4000311c: ac640004 sw a0,4(v1) +40003120: 240600fc li a2,252 +40003124: 08000a9c j 40002a70 <_malloc_r+0x12c> +40003128: 2408007e li t0,126 +4000312c: 24030001 li v1,1 +40003130: 08000b6c j 40002db0 <_malloc_r+0x46c> +40003134: 0000b821 move s7,zero +40003138: 02602021 move a0,s3 +4000313c: 0c000932 jal 400024c8 <_free_r> +40003140: 26050008 addiu a1,s0,8 +40003144: 3c024000 lui v0,0x4000 +40003148: 8c427a20 lw v0,31264(v0) +4000314c: 08000b81 j 40002e04 <_malloc_r+0x4c0> +40003150: 00000000 nop +40003154: 08000b5b j 40002d6c <_malloc_r+0x428> +40003158: af948014 sw s4,-32748(gp) +4000315c: 2c640155 sltiu a0,v1,341 +40003160: 10800005 beqz a0,40003178 <_malloc_r+0x834> +40003164: 2c630555 sltiu v1,v1,1365 +40003168: 000223c2 srl a0,v0,0xf +4000316c: 24840077 addiu a0,a0,119 +40003170: 08000bb4 j 40002ed0 <_malloc_r+0x58c> +40003174: 00042840 sll a1,a0,0x1 +40003178: 10600005 beqz v1,40003190 <_malloc_r+0x84c> +4000317c: 00000000 nop +40003180: 00022482 srl a0,v0,0x12 +40003184: 2484007c addiu a0,a0,124 +40003188: 08000bb4 j 40002ed0 <_malloc_r+0x58c> +4000318c: 00042840 sll a1,a0,0x1 +40003190: 240500fc li a1,252 +40003194: 08000bb4 j 40002ed0 <_malloc_r+0x58c> +40003198: 2404007e li a0,126 +4000319c: 8e420004 lw v0,4(s2) +400031a0: 08000c0f j 4000303c <_malloc_r+0x6f8> +400031a4: 00042040 sll a0,a0,0x1 + +400031a8 : +400031a8: 30820003 andi v0,a0,0x3 +400031ac: 10400041 beqz v0,400032b4 +400031b0: 30a700ff andi a3,a1,0xff +400031b4: 10c00023 beqz a2,40003244 +400031b8: 24c2ffff addiu v0,a2,-1 +400031bc: 90830000 lbu v1,0(a0) +400031c0: 00000000 nop +400031c4: 1467000b bne v1,a3,400031f4 +400031c8: 24840001 addiu a0,a0,1 +400031cc: 2484ffff addiu a0,a0,-1 +400031d0: 03e00008 jr ra +400031d4: 00801021 move v0,a0 +400031d8: 1040001a beqz v0,40003244 +400031dc: 00000000 nop +400031e0: 90830000 lbu v1,0(a0) +400031e4: 00000000 nop +400031e8: 10670018 beq v1,a3,4000324c +400031ec: 2442ffff addiu v0,v0,-1 +400031f0: 24840001 addiu a0,a0,1 +400031f4: 30830003 andi v1,a0,0x3 +400031f8: 1460fff7 bnez v1,400031d8 +400031fc: 00000000 nop +40003200: 2c430004 sltiu v1,v0,4 +40003204: 10600014 beqz v1,40003258 +40003208: 3c08fefe lui t0,0xfefe +4000320c: 1040000d beqz v0,40003244 +40003210: 2445ffff addiu a1,v0,-1 +40003214: 90820000 lbu v0,0(a0) +40003218: 00000000 nop +4000321c: 1047000b beq v0,a3,4000324c +40003220: 00000000 nop +40003224: 08000c8f j 4000323c +40003228: 00001021 move v0,zero +4000322c: 90830000 lbu v1,0(a0) +40003230: 00000000 nop +40003234: 10670005 beq v1,a3,4000324c +40003238: 24420001 addiu v0,v0,1 +4000323c: 1445fffb bne v0,a1,4000322c +40003240: 24840001 addiu a0,a0,1 +40003244: 03e00008 jr ra +40003248: 00001021 move v0,zero +4000324c: 00801021 move v0,a0 +40003250: 03e00008 jr ra +40003254: 00000000 nop +40003258: 30a500ff andi a1,a1,0xff +4000325c: 00051a00 sll v1,a1,0x8 +40003260: 00651825 or v1,v1,a1 +40003264: 00034c00 sll t1,v1,0x10 +40003268: 3c068080 lui a2,0x8080 +4000326c: 01234825 or t1,t1,v1 +40003270: 3508feff ori t0,t0,0xfeff +40003274: 34c68080 ori a2,a2,0x8080 +40003278: 8c830000 lw v1,0(a0) +4000327c: 00000000 nop +40003280: 01231826 xor v1,t1,v1 +40003284: 00682821 addu a1,v1,t0 +40003288: 00031827 nor v1,zero,v1 +4000328c: 00a31824 and v1,a1,v1 +40003290: 00661824 and v1,v1,a2 +40003294: 1460ffdd bnez v1,4000320c +40003298: 00000000 nop +4000329c: 2442fffc addiu v0,v0,-4 +400032a0: 2c430004 sltiu v1,v0,4 +400032a4: 1060fff4 beqz v1,40003278 +400032a8: 24840004 addiu a0,a0,4 +400032ac: 08000c83 j 4000320c +400032b0: 00000000 nop +400032b4: 08000c80 j 40003200 +400032b8: 00c01021 move v0,a2 + +400032bc : +400032bc: 00851825 or v1,a0,a1 +400032c0: 30630003 andi v1,v1,0x3 +400032c4: 1460002e bnez v1,40003380 +400032c8: 00801021 move v0,a0 +400032cc: 00062102 srl a0,a2,0x4 +400032d0: 1080005c beqz a0,40003444 +400032d4: 30cd000f andi t5,a2,0xf +400032d8: 00804021 move t0,a0 +400032dc: 00a03821 move a3,a1 +400032e0: 00401821 move v1,v0 +400032e4: 8cec0000 lw t4,0(a3) +400032e8: 8ceb0004 lw t3,4(a3) +400032ec: 8cea0008 lw t2,8(a3) +400032f0: 8ce9000c lw t1,12(a3) +400032f4: 2508ffff addiu t0,t0,-1 +400032f8: ac6c0000 sw t4,0(v1) +400032fc: ac6b0004 sw t3,4(v1) +40003300: ac6a0008 sw t2,8(v1) +40003304: ac69000c sw t1,12(v1) +40003308: 24e70010 addiu a3,a3,16 +4000330c: 1500fff5 bnez t0,400032e4 +40003310: 24630010 addiu v1,v1,16 +40003314: 00041900 sll v1,a0,0x4 +40003318: 00a32821 addu a1,a1,v1 +4000331c: 00431821 addu v1,v0,v1 +40003320: 000d5882 srl t3,t5,0x2 +40003324: 1160000d beqz t3,4000335c +40003328: 30c60003 andi a2,a2,0x3 +4000332c: 01604821 move t1,t3 +40003330: 00a04021 move t0,a1 +40003334: 00603821 move a3,v1 +40003338: 25080004 addiu t0,t0,4 +4000333c: 8d0afffc lw t2,-4(t0) +40003340: 24e70004 addiu a3,a3,4 +40003344: 2529ffff addiu t1,t1,-1 +40003348: 1520fffb bnez t1,40003338 +4000334c: aceafffc sw t2,-4(a3) +40003350: 000b5880 sll t3,t3,0x2 +40003354: 006b1821 addu v1,v1,t3 +40003358: 00ab2821 addu a1,a1,t3 +4000335c: 10c00006 beqz a2,40003378 +40003360: 00662021 addu a0,v1,a2 +40003364: 24a50001 addiu a1,a1,1 +40003368: 80a6ffff lb a2,-1(a1) +4000336c: 24630001 addiu v1,v1,1 +40003370: 1464fffc bne v1,a0,40003364 +40003374: a066ffff sb a2,-1(v1) +40003378: 03e00008 jr ra +4000337c: 00000000 nop +40003380: 04c00028 bltz a2,40003424 +40003384: 00c01821 move v1,a2 +40003388: 3c048000 lui a0,0x8000 +4000338c: 24840003 addiu a0,a0,3 +40003390: 00c43024 and a2,a2,a0 +40003394: 04c0001c bltz a2,40003408 +40003398: 00031883 sra v1,v1,0x2 +4000339c: 1060002b beqz v1,4000344c +400033a0: 00000000 nop +400033a4: 00404821 move t1,v0 +400033a8: 00a04021 move t0,a1 +400033ac: 00603821 move a3,v1 +400033b0: 24e7ffff addiu a3,a3,-1 +400033b4: 890a0000 lwl t2,0(t0) +400033b8: 990a0003 lwr t2,3(t0) +400033bc: 25290004 addiu t1,t1,4 +400033c0: 25080004 addiu t0,t0,4 +400033c4: a92afffc swl t2,-4(t1) +400033c8: b92affff swr t2,-1(t1) +400033cc: 14e0fff9 bnez a3,400033b4 +400033d0: 24e7ffff addiu a3,a3,-1 +400033d4: 24e70001 addiu a3,a3,1 +400033d8: 00031880 sll v1,v1,0x2 +400033dc: 00a32821 addu a1,a1,v1 +400033e0: 00431821 addu v1,v0,v1 +400033e4: 18c0ffe4 blez a2,40003378 +400033e8: 00662021 addu a0,v1,a2 +400033ec: 24a50001 addiu a1,a1,1 +400033f0: 80a6ffff lb a2,-1(a1) +400033f4: 24630001 addiu v1,v1,1 +400033f8: 1464fffc bne v1,a0,400033ec +400033fc: a066ffff sb a2,-1(v1) +40003400: 03e00008 jr ra +40003404: 00000000 nop +40003408: 24c6ffff addiu a2,a2,-1 +4000340c: 2404fffc li a0,-4 +40003410: 00c43025 or a2,a2,a0 +40003414: 1460ffe3 bnez v1,400033a4 +40003418: 24c60001 addiu a2,a2,1 +4000341c: 08000cf9 j 400033e4 +40003420: 00401821 move v1,v0 +40003424: 3c048000 lui a0,0x8000 +40003428: 24840003 addiu a0,a0,3 +4000342c: 24c30003 addiu v1,a2,3 +40003430: 00c43024 and a2,a2,a0 +40003434: 04c1ffd9 bgez a2,4000339c +40003438: 00031883 sra v1,v1,0x2 +4000343c: 08000d03 j 4000340c +40003440: 24c6ffff addiu a2,a2,-1 +40003444: 08000cc8 j 40003320 +40003448: 00401821 move v1,v0 +4000344c: 08000cf9 j 400033e4 +40003450: 00401821 move v1,v0 + +40003454 : +40003454: 2cc30010 sltiu v1,a2,16 +40003458: 1460002b bnez v1,40003508 +4000345c: 00801021 move v0,a0 +40003460: 30890003 andi t1,a0,0x3 +40003464: 2523ffff addiu v1,t1,-1 +40003468: 2c630003 sltiu v1,v1,3 +4000346c: 1060000a beqz v1,40003498 +40003470: 00054600 sll t0,a1,0x18 +40003474: 00892023 subu a0,a0,t1 +40003478: 00084603 sra t0,t0,0x18 +4000347c: 24840004 addiu a0,a0,4 +40003480: 00403821 move a3,v0 +40003484: 24e70001 addiu a3,a3,1 +40003488: 14e4fffe bne a3,a0,40003484 +4000348c: a0e8ffff sb t0,-1(a3) +40003490: 24c6fffc addiu a2,a2,-4 +40003494: 00c93021 addu a2,a2,t1 +40003498: 30a500ff andi a1,a1,0xff +4000349c: 14a0001c bnez a1,40003510 +400034a0: 00a04821 move t1,a1 +400034a4: 000618c2 srl v1,a2,0x3 +400034a8: 00604021 move t0,v1 +400034ac: 30c60007 andi a2,a2,0x7 +400034b0: 00803821 move a3,a0 +400034b4: 2508ffff addiu t0,t0,-1 +400034b8: ace90000 sw t1,0(a3) +400034bc: ace90004 sw t1,4(a3) +400034c0: 1500fffc bnez t0,400034b4 +400034c4: 24e70008 addiu a3,a3,8 +400034c8: 000318c0 sll v1,v1,0x3 +400034cc: 2cc70004 sltiu a3,a2,4 +400034d0: 14e00004 bnez a3,400034e4 +400034d4: 00831821 addu v1,a0,v1 +400034d8: ac690000 sw t1,0(v1) +400034dc: 24c6fffc addiu a2,a2,-4 +400034e0: 24630004 addiu v1,v1,4 +400034e4: 10c00006 beqz a2,40003500 +400034e8: 00052e00 sll a1,a1,0x18 +400034ec: 00052e03 sra a1,a1,0x18 +400034f0: 00663021 addu a2,v1,a2 +400034f4: 24630001 addiu v1,v1,1 +400034f8: 1466fffe bne v1,a2,400034f4 +400034fc: a065ffff sb a1,-1(v1) +40003500: 03e00008 jr ra +40003504: 00000000 nop +40003508: 08000d39 j 400034e4 +4000350c: 00801821 move v1,a0 +40003510: 00051a00 sll v1,a1,0x8 +40003514: 00651825 or v1,v1,a1 +40003518: 00034c00 sll t1,v1,0x10 +4000351c: 08000d29 j 400034a4 +40003520: 01234825 or t1,t1,v1 + +40003524 <__malloc_lock>: +40003524: 03e00008 jr ra +40003528: 00000000 nop + +4000352c <__malloc_unlock>: +4000352c: 03e00008 jr ra +40003530: 00000000 nop + +40003534 <_puts_r>: +40003534: 27bdffc0 addiu sp,sp,-64 +40003538: afb10038 sw s1,56(sp) +4000353c: 00808821 move s1,a0 +40003540: 00a02021 move a0,a1 +40003544: afb00034 sw s0,52(sp) +40003548: afbf003c sw ra,60(sp) +4000354c: 0c000f2c jal 40003cb0 +40003550: 00a08021 move s0,a1 +40003554: 8f838010 lw v1,-32752(gp) +40003558: 24460001 addiu a2,v0,1 +4000355c: 8c630008 lw v1,8(v1) +40003560: afa20014 sw v0,20(sp) +40003564: 3c024000 lui v0,0x4000 +40003568: 24426204 addiu v0,v0,25092 +4000356c: 8465000c lh a1,12(v1) +40003570: afa20018 sw v0,24(sp) +40003574: 24020001 li v0,1 +40003578: afa2001c sw v0,28(sp) +4000357c: 27a20010 addiu v0,sp,16 +40003580: afa20020 sw v0,32(sp) +40003584: 30a42000 andi a0,a1,0x2000 +40003588: 24020002 li v0,2 +4000358c: afb00010 sw s0,16(sp) +40003590: afa60028 sw a2,40(sp) +40003594: 14800007 bnez a0,400035b4 <_puts_r+0x80> +40003598: afa20024 sw v0,36(sp) +4000359c: 8c640064 lw a0,100(v1) +400035a0: 2402dfff li v0,-8193 +400035a4: 34a52000 ori a1,a1,0x2000 +400035a8: 00821024 and v0,a0,v0 +400035ac: a465000c sh a1,12(v1) +400035b0: ac620064 sw v0,100(v1) +400035b4: 8e250008 lw a1,8(s1) +400035b8: 02202021 move a0,s1 +400035bc: 0c0010c0 jal 40004300 <__sfvwrite_r> +400035c0: 27a60020 addiu a2,sp,32 +400035c4: 14400007 bnez v0,400035e4 <_puts_r+0xb0> +400035c8: 2403000a li v1,10 +400035cc: 8fbf003c lw ra,60(sp) +400035d0: 8fb10038 lw s1,56(sp) +400035d4: 8fb00034 lw s0,52(sp) +400035d8: 00601021 move v0,v1 +400035dc: 03e00008 jr ra +400035e0: 27bd0040 addiu sp,sp,64 +400035e4: 08000d73 j 400035cc <_puts_r+0x98> +400035e8: 2403ffff li v1,-1 + +400035ec : +400035ec: 00802821 move a1,a0 +400035f0: 8f848010 lw a0,-32752(gp) +400035f4: 08000d4d j 40003534 <_puts_r> +400035f8: 00000000 nop + +400035fc : +400035fc: 27bdffe0 addiu sp,sp,-32 +40003600: afb00014 sw s0,20(sp) +40003604: 00a08021 move s0,a1 +40003608: 8ca50000 lw a1,0(a1) +4000360c: afb10018 sw s1,24(sp) +40003610: afbf001c sw ra,28(sp) +40003614: 10a00003 beqz a1,40003624 +40003618: 00808821 move s1,a0 +4000361c: 0c000d7f jal 400035fc +40003620: 00000000 nop +40003624: 8fbf001c lw ra,28(sp) +40003628: 02202021 move a0,s1 +4000362c: 02002821 move a1,s0 +40003630: 8fb10018 lw s1,24(sp) +40003634: 8fb00014 lw s0,20(sp) +40003638: 08000932 j 400024c8 <_free_r> +4000363c: 27bd0020 addiu sp,sp,32 + +40003640 <_reclaim_reent>: +40003640: 8f828010 lw v0,-32752(gp) +40003644: 27bdffd8 addiu sp,sp,-40 +40003648: afb10018 sw s1,24(sp) +4000364c: afbf0024 sw ra,36(sp) +40003650: afb30020 sw s3,32(sp) +40003654: afb2001c sw s2,28(sp) +40003658: afb00014 sw s0,20(sp) +4000365c: 10820037 beq a0,v0,4000373c <_reclaim_reent+0xfc> +40003660: 00808821 move s1,a0 +40003664: 8c83004c lw v1,76(a0) +40003668: 00000000 nop +4000366c: 10600017 beqz v1,400036cc <_reclaim_reent+0x8c> +40003670: 00001021 move v0,zero +40003674: 00009021 move s2,zero +40003678: 24130020 li s3,32 +4000367c: 00021080 sll v0,v0,0x2 +40003680: 00621021 addu v0,v1,v0 +40003684: 8c450000 lw a1,0(v0) +40003688: 00000000 nop +4000368c: 14a00003 bnez a1,4000369c <_reclaim_reent+0x5c> +40003690: 00000000 nop +40003694: 08000dae j 400036b8 <_reclaim_reent+0x78> +40003698: 26520001 addiu s2,s2,1 +4000369c: 8cb00000 lw s0,0(a1) +400036a0: 0c000932 jal 400024c8 <_free_r> +400036a4: 02202021 move a0,s1 +400036a8: 1600fffc bnez s0,4000369c <_reclaim_reent+0x5c> +400036ac: 02002821 move a1,s0 +400036b0: 8e23004c lw v1,76(s1) +400036b4: 26520001 addiu s2,s2,1 +400036b8: 1653fff0 bne s2,s3,4000367c <_reclaim_reent+0x3c> +400036bc: 02401021 move v0,s2 +400036c0: 02202021 move a0,s1 +400036c4: 0c000932 jal 400024c8 <_free_r> +400036c8: 00602821 move a1,v1 +400036cc: 8e250040 lw a1,64(s1) +400036d0: 00000000 nop +400036d4: 10a00003 beqz a1,400036e4 <_reclaim_reent+0xa4> +400036d8: 00000000 nop +400036dc: 0c000932 jal 400024c8 <_free_r> +400036e0: 02202021 move a0,s1 +400036e4: 8e250148 lw a1,328(s1) +400036e8: 00000000 nop +400036ec: 10a00009 beqz a1,40003714 <_reclaim_reent+0xd4> +400036f0: 00000000 nop +400036f4: 2632014c addiu s2,s1,332 +400036f8: 10b20006 beq a1,s2,40003714 <_reclaim_reent+0xd4> +400036fc: 00000000 nop +40003700: 8cb00000 lw s0,0(a1) +40003704: 0c000932 jal 400024c8 <_free_r> +40003708: 02202021 move a0,s1 +4000370c: 1650fffc bne s2,s0,40003700 <_reclaim_reent+0xc0> +40003710: 02002821 move a1,s0 +40003714: 8e250054 lw a1,84(s1) +40003718: 00000000 nop +4000371c: 10a00003 beqz a1,4000372c <_reclaim_reent+0xec> +40003720: 00000000 nop +40003724: 0c000932 jal 400024c8 <_free_r> +40003728: 02202021 move a0,s1 +4000372c: 8e220038 lw v0,56(s1) +40003730: 00000000 nop +40003734: 14400008 bnez v0,40003758 <_reclaim_reent+0x118> +40003738: 00000000 nop +4000373c: 8fbf0024 lw ra,36(sp) +40003740: 8fb30020 lw s3,32(sp) +40003744: 8fb2001c lw s2,28(sp) +40003748: 8fb10018 lw s1,24(sp) +4000374c: 8fb00014 lw s0,20(sp) +40003750: 03e00008 jr ra +40003754: 27bd0028 addiu sp,sp,40 +40003758: 8e22003c lw v0,60(s1) +4000375c: 00000000 nop +40003760: 0040f809 jalr v0 +40003764: 02202021 move a0,s1 +40003768: 8e2502e0 lw a1,736(s1) +4000376c: 00000000 nop +40003770: 10a0fff2 beqz a1,4000373c <_reclaim_reent+0xfc> +40003774: 00000000 nop +40003778: 8fbf0024 lw ra,36(sp) +4000377c: 8fb30020 lw s3,32(sp) +40003780: 8fb2001c lw s2,28(sp) +40003784: 8fb00014 lw s0,20(sp) +40003788: 02202021 move a0,s1 +4000378c: 8fb10018 lw s1,24(sp) +40003790: 08000d7f j 400035fc +40003794: 27bd0028 addiu sp,sp,40 + +40003798 <_wrapup_reent>: +40003798: 27bdffd8 addiu sp,sp,-40 +4000379c: afb40020 sw s4,32(sp) +400037a0: afbf0024 sw ra,36(sp) +400037a4: afb3001c sw s3,28(sp) +400037a8: afb20018 sw s2,24(sp) +400037ac: afb10014 sw s1,20(sp) +400037b0: afb00010 sw s0,16(sp) +400037b4: 1080002b beqz a0,40003864 <_wrapup_reent+0xcc> +400037b8: 0080a021 move s4,a0 +400037bc: 8e930148 lw s3,328(s4) +400037c0: 00000000 nop +400037c4: 12600013 beqz s3,40003814 <_wrapup_reent+0x7c> +400037c8: 2412ffff li s2,-1 +400037cc: 8e620004 lw v0,4(s3) +400037d0: 00000000 nop +400037d4: 2450ffff addiu s0,v0,-1 +400037d8: 0600000a bltz s0,40003804 <_wrapup_reent+0x6c> +400037dc: 00000000 nop +400037e0: 24510001 addiu s1,v0,1 +400037e4: 00118880 sll s1,s1,0x2 +400037e8: 02718821 addu s1,s3,s1 +400037ec: 8e220000 lw v0,0(s1) +400037f0: 00000000 nop +400037f4: 0040f809 jalr v0 +400037f8: 2610ffff addiu s0,s0,-1 +400037fc: 1612fffb bne s0,s2,400037ec <_wrapup_reent+0x54> +40003800: 2631fffc addiu s1,s1,-4 +40003804: 8e730000 lw s3,0(s3) +40003808: 00000000 nop +4000380c: 1660ffef bnez s3,400037cc <_wrapup_reent+0x34> +40003810: 00000000 nop +40003814: 8e99003c lw t9,60(s4) +40003818: 00000000 nop +4000381c: 13200009 beqz t9,40003844 <_wrapup_reent+0xac> +40003820: 02802021 move a0,s4 +40003824: 8fbf0024 lw ra,36(sp) +40003828: 8fb3001c lw s3,28(sp) +4000382c: 8fb20018 lw s2,24(sp) +40003830: 8fb10014 lw s1,20(sp) +40003834: 8fb00010 lw s0,16(sp) +40003838: 8fb40020 lw s4,32(sp) +4000383c: 03200008 jr t9 +40003840: 27bd0028 addiu sp,sp,40 +40003844: 8fbf0024 lw ra,36(sp) +40003848: 8fb40020 lw s4,32(sp) +4000384c: 8fb3001c lw s3,28(sp) +40003850: 8fb20018 lw s2,24(sp) +40003854: 8fb10014 lw s1,20(sp) +40003858: 8fb00010 lw s0,16(sp) +4000385c: 03e00008 jr ra +40003860: 27bd0028 addiu sp,sp,40 +40003864: 8f948010 lw s4,-32752(gp) +40003868: 08000def j 400037bc <_wrapup_reent+0x24> +4000386c: 00000000 nop + +40003870 : +40003870: 9483000c lhu v1,12(a0) +40003874: 24020009 li v0,9 +40003878: 30630009 andi v1,v1,0x9 +4000387c: 10620003 beq v1,v0,4000388c +40003880: 00001021 move v0,zero +40003884: 03e00008 jr ra +40003888: 00000000 nop +4000388c: 08000794 j 40001e50 +40003890: 00000000 nop + +40003894 <__srefill_r>: +40003894: 27bdffd8 addiu sp,sp,-40 +40003898: afb10018 sw s1,24(sp) +4000389c: afb00014 sw s0,20(sp) +400038a0: afbf0024 sw ra,36(sp) +400038a4: afb30020 sw s3,32(sp) +400038a8: afb2001c sw s2,28(sp) +400038ac: 00808821 move s1,a0 +400038b0: 10800005 beqz a0,400038c8 <__srefill_r+0x34> +400038b4: 00a08021 move s0,a1 +400038b8: 8c820038 lw v0,56(a0) +400038bc: 00000000 nop +400038c0: 1040004f beqz v0,40003a00 <__srefill_r+0x16c> +400038c4: 00000000 nop +400038c8: 8603000c lh v1,12(s0) +400038cc: 00000000 nop +400038d0: 3062ffff andi v0,v1,0xffff +400038d4: 30442000 andi a0,v0,0x2000 +400038d8: 14800009 bnez a0,40003900 <__srefill_r+0x6c> +400038dc: 30440020 andi a0,v0,0x20 +400038e0: 8e040064 lw a0,100(s0) +400038e4: 2402dfff li v0,-8193 +400038e8: 34632000 ori v1,v1,0x2000 +400038ec: 00821024 and v0,a0,v0 +400038f0: ae020064 sw v0,100(s0) +400038f4: a603000c sh v1,12(s0) +400038f8: 3062ffff andi v0,v1,0xffff +400038fc: 30440020 andi a0,v0,0x20 +40003900: 14800055 bnez a0,40003a58 <__srefill_r+0x1c4> +40003904: ae000004 sw zero,4(s0) +40003908: 30440004 andi a0,v0,0x4 +4000390c: 10800028 beqz a0,400039b0 <__srefill_r+0x11c> +40003910: 00000000 nop +40003914: 8e050030 lw a1,48(s0) +40003918: 00000000 nop +4000391c: 10a00009 beqz a1,40003944 <__srefill_r+0xb0> +40003920: 26020040 addiu v0,s0,64 +40003924: 10a20003 beq a1,v0,40003934 <__srefill_r+0xa0> +40003928: 00000000 nop +4000392c: 0c000932 jal 400024c8 <_free_r> +40003930: 02202021 move a0,s1 +40003934: 8e02003c lw v0,60(s0) +40003938: ae000030 sw zero,48(s0) +4000393c: 1440005c bnez v0,40003ab0 <__srefill_r+0x21c> +40003940: ae020004 sw v0,4(s0) +40003944: 8e020010 lw v0,16(s0) +40003948: 00000000 nop +4000394c: 10400062 beqz v0,40003ad8 <__srefill_r+0x244> +40003950: 02202021 move a0,s1 +40003954: 8612000c lh s2,12(s0) +40003958: 00000000 nop +4000395c: 3253ffff andi s3,s2,0xffff +40003960: 32620003 andi v0,s3,0x3 +40003964: 1440002a bnez v0,40003a10 <__srefill_r+0x17c> +40003968: 24020001 li v0,1 +4000396c: 8e060010 lw a2,16(s0) +40003970: 8e020020 lw v0,32(s0) +40003974: 8e05001c lw a1,28(s0) +40003978: 8e070014 lw a3,20(s0) +4000397c: ae060000 sw a2,0(s0) +40003980: 0040f809 jalr v0 +40003984: 02202021 move a0,s1 +40003988: 18400011 blez v0,400039d0 <__srefill_r+0x13c> +4000398c: ae020004 sw v0,4(s0) +40003990: 00001021 move v0,zero +40003994: 8fbf0024 lw ra,36(sp) +40003998: 8fb30020 lw s3,32(sp) +4000399c: 8fb2001c lw s2,28(sp) +400039a0: 8fb10018 lw s1,24(sp) +400039a4: 8fb00014 lw s0,20(sp) +400039a8: 03e00008 jr ra +400039ac: 27bd0028 addiu sp,sp,40 +400039b0: 30440010 andi a0,v0,0x10 +400039b4: 1080004c beqz a0,40003ae8 <__srefill_r+0x254> +400039b8: 00000000 nop +400039bc: 30420008 andi v0,v0,0x8 +400039c0: 1440002d bnez v0,40003a78 <__srefill_r+0x1e4> +400039c4: 34630004 ori v1,v1,0x4 +400039c8: 08000e51 j 40003944 <__srefill_r+0xb0> +400039cc: a603000c sh v1,12(s0) +400039d0: 1440001d bnez v0,40003a48 <__srefill_r+0x1b4> +400039d4: 2402ffff li v0,-1 +400039d8: 9603000c lhu v1,12(s0) +400039dc: 8fbf0024 lw ra,36(sp) +400039e0: 34630020 ori v1,v1,0x20 +400039e4: a603000c sh v1,12(s0) +400039e8: 8fb30020 lw s3,32(sp) +400039ec: 8fb2001c lw s2,28(sp) +400039f0: 8fb10018 lw s1,24(sp) +400039f4: 8fb00014 lw s0,20(sp) +400039f8: 03e00008 jr ra +400039fc: 27bd0028 addiu sp,sp,40 +40003a00: 0c000825 jal 40002094 <__sinit> +40003a04: 00000000 nop +40003a08: 08000e32 j 400038c8 <__srefill_r+0x34> +40003a0c: 00000000 nop +40003a10: 8f84800c lw a0,-32756(gp) +40003a14: 3c054000 lui a1,0x4000 +40003a18: a602000c sh v0,12(s0) +40003a1c: 0c0009ee jal 400027b8 <_fwalk> +40003a20: 24a53870 addiu a1,a1,14448 +40003a24: 32730009 andi s3,s3,0x9 +40003a28: 24020009 li v0,9 +40003a2c: 1662ffcf bne s3,v0,4000396c <__srefill_r+0xd8> +40003a30: a612000c sh s2,12(s0) +40003a34: 02202021 move a0,s1 +40003a38: 0c0006dd jal 40001b74 <__sflush_r> +40003a3c: 02002821 move a1,s0 +40003a40: 08000e5b j 4000396c <__srefill_r+0xd8> +40003a44: 00000000 nop +40003a48: 9602000c lhu v0,12(s0) +40003a4c: ae000004 sw zero,4(s0) +40003a50: 34420040 ori v0,v0,0x40 +40003a54: a602000c sh v0,12(s0) +40003a58: 8fbf0024 lw ra,36(sp) +40003a5c: 8fb30020 lw s3,32(sp) +40003a60: 8fb2001c lw s2,28(sp) +40003a64: 8fb10018 lw s1,24(sp) +40003a68: 8fb00014 lw s0,20(sp) +40003a6c: 2402ffff li v0,-1 +40003a70: 03e00008 jr ra +40003a74: 27bd0028 addiu sp,sp,40 +40003a78: 02202021 move a0,s1 +40003a7c: 0c000779 jal 40001de4 <_fflush_r> +40003a80: 02002821 move a1,s0 +40003a84: 1440fff4 bnez v0,40003a58 <__srefill_r+0x1c4> +40003a88: 00000000 nop +40003a8c: 9603000c lhu v1,12(s0) +40003a90: ae000008 sw zero,8(s0) +40003a94: 3063fff7 andi v1,v1,0xfff7 +40003a98: 00031c00 sll v1,v1,0x10 +40003a9c: 00031c03 sra v1,v1,0x10 +40003aa0: 34630004 ori v1,v1,0x4 +40003aa4: ae000018 sw zero,24(s0) +40003aa8: 08000e51 j 40003944 <__srefill_r+0xb0> +40003aac: a603000c sh v1,12(s0) +40003ab0: 8e030038 lw v1,56(s0) +40003ab4: 8fbf0024 lw ra,36(sp) +40003ab8: ae030000 sw v1,0(s0) +40003abc: 8fb30020 lw s3,32(sp) +40003ac0: 8fb2001c lw s2,28(sp) +40003ac4: 8fb10018 lw s1,24(sp) +40003ac8: 8fb00014 lw s0,20(sp) +40003acc: 00001021 move v0,zero +40003ad0: 03e00008 jr ra +40003ad4: 27bd0028 addiu sp,sp,40 +40003ad8: 0c00121a jal 40004868 <__smakebuf_r> +40003adc: 02002821 move a1,s0 +40003ae0: 08000e55 j 40003954 <__srefill_r+0xc0> +40003ae4: 00000000 nop +40003ae8: 24020009 li v0,9 +40003aec: 34630040 ori v1,v1,0x40 +40003af0: ae220000 sw v0,0(s1) +40003af4: 2402ffff li v0,-1 +40003af8: 08000e65 j 40003994 <__srefill_r+0x100> +40003afc: a603000c sh v1,12(s0) + +40003b00 <_sbrk_r>: +40003b00: 27bdffe8 addiu sp,sp,-24 +40003b04: afb00010 sw s0,16(sp) +40003b08: 00808021 move s0,a0 +40003b0c: 00a02021 move a0,a1 +40003b10: afbf0014 sw ra,20(sp) +40003b14: 0c000291 jal 40000a44 +40003b18: af80802c sw zero,-32724(gp) +40003b1c: 2403ffff li v1,-1 +40003b20: 10430005 beq v0,v1,40003b38 <_sbrk_r+0x38> +40003b24: 00000000 nop +40003b28: 8fbf0014 lw ra,20(sp) +40003b2c: 8fb00010 lw s0,16(sp) +40003b30: 03e00008 jr ra +40003b34: 27bd0018 addiu sp,sp,24 +40003b38: 8f83802c lw v1,-32724(gp) +40003b3c: 00000000 nop +40003b40: 1060fff9 beqz v1,40003b28 <_sbrk_r+0x28> +40003b44: 00000000 nop +40003b48: 8fbf0014 lw ra,20(sp) +40003b4c: ae030000 sw v1,0(s0) +40003b50: 8fb00010 lw s0,16(sp) +40003b54: 03e00008 jr ra +40003b58: 27bd0018 addiu sp,sp,24 + +40003b5c <__sread>: +40003b5c: 27bdffe8 addiu sp,sp,-24 +40003b60: afb00010 sw s0,16(sp) +40003b64: 00a08021 move s0,a1 +40003b68: 84a5000e lh a1,14(a1) +40003b6c: afbf0014 sw ra,20(sp) +40003b70: 0c0012db jal 40004b6c <_read_r> +40003b74: 00000000 nop +40003b78: 04400008 bltz v0,40003b9c <__sread+0x40> +40003b7c: 00000000 nop +40003b80: 8e030050 lw v1,80(s0) +40003b84: 8fbf0014 lw ra,20(sp) +40003b88: 00621821 addu v1,v1,v0 +40003b8c: ae030050 sw v1,80(s0) +40003b90: 8fb00010 lw s0,16(sp) +40003b94: 03e00008 jr ra +40003b98: 27bd0018 addiu sp,sp,24 +40003b9c: 9603000c lhu v1,12(s0) +40003ba0: 8fbf0014 lw ra,20(sp) +40003ba4: 3063efff andi v1,v1,0xefff +40003ba8: a603000c sh v1,12(s0) +40003bac: 8fb00010 lw s0,16(sp) +40003bb0: 03e00008 jr ra +40003bb4: 27bd0018 addiu sp,sp,24 + +40003bb8 <__seofread>: +40003bb8: 03e00008 jr ra +40003bbc: 00001021 move v0,zero + +40003bc0 <__swrite>: +40003bc0: 84a2000c lh v0,12(a1) +40003bc4: 27bdffd8 addiu sp,sp,-40 +40003bc8: 30430100 andi v1,v0,0x100 +40003bcc: afb30020 sw s3,32(sp) +40003bd0: afb2001c sw s2,28(sp) +40003bd4: afb10018 sw s1,24(sp) +40003bd8: afb00014 sw s0,20(sp) +40003bdc: afbf0024 sw ra,36(sp) +40003be0: 00a08021 move s0,a1 +40003be4: 00809821 move s3,a0 +40003be8: 00c09021 move s2,a2 +40003bec: 10600006 beqz v1,40003c08 <__swrite+0x48> +40003bf0: 00e08821 move s1,a3 +40003bf4: 84a5000e lh a1,14(a1) +40003bf8: 00003021 move a2,zero +40003bfc: 0c001201 jal 40004804 <_lseek_r> +40003c00: 24070002 li a3,2 +40003c04: 8602000c lh v0,12(s0) +40003c08: 2403efff li v1,-4097 +40003c0c: 00431024 and v0,v0,v1 +40003c10: 8605000e lh a1,14(s0) +40003c14: a602000c sh v0,12(s0) +40003c18: 8fbf0024 lw ra,36(sp) +40003c1c: 8fb00014 lw s0,20(sp) +40003c20: 02602021 move a0,s3 +40003c24: 02403021 move a2,s2 +40003c28: 8fb30020 lw s3,32(sp) +40003c2c: 8fb2001c lw s2,28(sp) +40003c30: 02203821 move a3,s1 +40003c34: 8fb10018 lw s1,24(sp) +40003c38: 08000fbe j 40003ef8 <_write_r> +40003c3c: 27bd0028 addiu sp,sp,40 + +40003c40 <__sseek>: +40003c40: 27bdffe8 addiu sp,sp,-24 +40003c44: afb00010 sw s0,16(sp) +40003c48: 00a08021 move s0,a1 +40003c4c: 84a5000e lh a1,14(a1) +40003c50: afbf0014 sw ra,20(sp) +40003c54: 0c001201 jal 40004804 <_lseek_r> +40003c58: 00000000 nop +40003c5c: 2403ffff li v1,-1 +40003c60: 10430009 beq v0,v1,40003c88 <__sseek+0x48> +40003c64: 00000000 nop +40003c68: 9603000c lhu v1,12(s0) +40003c6c: 8fbf0014 lw ra,20(sp) +40003c70: 34631000 ori v1,v1,0x1000 +40003c74: ae020050 sw v0,80(s0) +40003c78: a603000c sh v1,12(s0) +40003c7c: 8fb00010 lw s0,16(sp) +40003c80: 03e00008 jr ra +40003c84: 27bd0018 addiu sp,sp,24 +40003c88: 9603000c lhu v1,12(s0) +40003c8c: 8fbf0014 lw ra,20(sp) +40003c90: 3063efff andi v1,v1,0xefff +40003c94: a603000c sh v1,12(s0) +40003c98: 8fb00010 lw s0,16(sp) +40003c9c: 03e00008 jr ra +40003ca0: 27bd0018 addiu sp,sp,24 + +40003ca4 <__sclose>: +40003ca4: 84a5000e lh a1,14(a1) +40003ca8: 08001056 j 40004158 <_close_r> +40003cac: 00000000 nop + +40003cb0 : +40003cb0: 24820001 addiu v0,a0,1 +40003cb4: 90830000 lbu v1,0(a0) +40003cb8: 00000000 nop +40003cbc: 1460fffd bnez v1,40003cb4 +40003cc0: 24840001 addiu a0,a0,1 +40003cc4: 03e00008 jr ra +40003cc8: 00821023 subu v0,a0,v0 + +40003ccc <_strtol_r>: +40003ccc: 27bdfff8 addiu sp,sp,-8 +40003cd0: 8f8b801c lw t3,-32740(gp) +40003cd4: 00a01021 move v0,a1 +40003cd8: 08000f39 j 40003ce4 <_strtol_r+0x18> +40003cdc: afb00004 sw s0,4(sp) +40003ce0: 00601021 move v0,v1 +40003ce4: 24430001 addiu v1,v0,1 +40003ce8: 9068ffff lbu t0,-1(v1) +40003cec: 00000000 nop +40003cf0: 01684821 addu t1,t3,t0 +40003cf4: 91290001 lbu t1,1(t1) +40003cf8: 00000000 nop +40003cfc: 31290008 andi t1,t1,0x8 +40003d00: 1520fff7 bnez t1,40003ce0 <_strtol_r+0x14> +40003d04: 2409002d li t1,45 +40003d08: 11090065 beq t0,t1,40003ea0 <_strtol_r+0x1d4> +40003d0c: 2409002b li t1,43 +40003d10: 11090067 beq t0,t1,40003eb0 <_strtol_r+0x1e4> +40003d14: 00000000 nop +40003d18: 0000c821 move t9,zero +40003d1c: 2402ffef li v0,-17 +40003d20: 00e21024 and v0,a3,v0 +40003d24: 14400047 bnez v0,40003e44 <_strtol_r+0x178> +40003d28: 24020030 li v0,48 +40003d2c: 1102003e beq t0,v0,40003e28 <_strtol_r+0x15c> +40003d30: 00000000 nop +40003d34: 14e00043 bnez a3,40003e44 <_strtol_r+0x178> +40003d38: 00000000 nop +40003d3c: 2418000a li t8,10 +40003d40: 2407000a li a3,10 +40003d44: 13200041 beqz t9,40003e4c <_strtol_r+0x180> +40003d48: 00000000 nop +40003d4c: 3c0d8000 lui t5,0x8000 +40003d50: 17000002 bnez t8,40003d5c <_strtol_r+0x90> +40003d54: 01b8001b divu zero,t5,t8 +40003d58: 0007000d break 0x7 +40003d5c: 00006021 move t4,zero +40003d60: 00001021 move v0,zero +40003d64: 240f0001 li t7,1 +40003d68: 00008010 mfhi s0 +40003d6c: 00006812 mflo t5 +40003d70: 08000f6f j 40003dbc <_strtol_r+0xf0> +40003d74: 240effff li t6,-1 +40003d78: 2508ffd0 addiu t0,t0,-48 +40003d7c: 0107482a slt t1,t0,a3 +40003d80: 1120001c beqz t1,40003df4 <_strtol_r+0x128> +40003d84: 00000000 nop +40003d88: 118e0009 beq t4,t6,40003db0 <_strtol_r+0xe4> +40003d8c: 01a2482b sltu t1,t5,v0 +40003d90: 15200033 bnez t1,40003e60 <_strtol_r+0x194> +40003d94: 00000000 nop +40003d98: 104d002f beq v0,t5,40003e58 <_strtol_r+0x18c> +40003d9c: 0208482a slt t1,s0,t0 +40003da0: 00580018 mult v0,t8 +40003da4: 240c0001 li t4,1 +40003da8: 00001012 mflo v0 +40003dac: 01021021 addu v0,t0,v0 +40003db0: 24630001 addiu v1,v1,1 +40003db4: 9068ffff lbu t0,-1(v1) +40003db8: 00000000 nop +40003dbc: 01684821 addu t1,t3,t0 +40003dc0: 91290001 lbu t1,1(t1) +40003dc4: 00000000 nop +40003dc8: 312a0004 andi t2,t1,0x4 +40003dcc: 1540ffea bnez t2,40003d78 <_strtol_r+0xac> +40003dd0: 31290003 andi t1,t1,0x3 +40003dd4: 11200007 beqz t1,40003df4 <_strtol_r+0x128> +40003dd8: 00000000 nop +40003ddc: 112f0022 beq t1,t7,40003e68 <_strtol_r+0x19c> +40003de0: 24090057 li t1,87 +40003de4: 01094023 subu t0,t0,t1 +40003de8: 0107482a slt t1,t0,a3 +40003dec: 1520ffe6 bnez t1,40003d88 <_strtol_r+0xbc> +40003df0: 00000000 nop +40003df4: 2407ffff li a3,-1 +40003df8: 1187001e beq t4,a3,40003e74 <_strtol_r+0x1a8> +40003dfc: 00000000 nop +40003e00: 17200025 bnez t9,40003e98 <_strtol_r+0x1cc> +40003e04: 00000000 nop +40003e08: 10c00004 beqz a2,40003e1c <_strtol_r+0x150> +40003e0c: 00000000 nop +40003e10: 1580001f bnez t4,40003e90 <_strtol_r+0x1c4> +40003e14: 00000000 nop +40003e18: acc50000 sw a1,0(a2) +40003e1c: 8fb00004 lw s0,4(sp) +40003e20: 03e00008 jr ra +40003e24: 27bd0008 addiu sp,sp,8 +40003e28: 90690000 lbu t1,0(v1) +40003e2c: 24020058 li v0,88 +40003e30: 312900df andi t1,t1,0xdf +40003e34: 11220022 beq t1,v0,40003ec0 <_strtol_r+0x1f4> +40003e38: 24180010 li t8,16 +40003e3c: 10e00024 beqz a3,40003ed0 <_strtol_r+0x204> +40003e40: 00000000 nop +40003e44: 1720ffc1 bnez t9,40003d4c <_strtol_r+0x80> +40003e48: 00e0c021 move t8,a3 +40003e4c: 3c0d7fff lui t5,0x7fff +40003e50: 08000f54 j 40003d50 <_strtol_r+0x84> +40003e54: 35adffff ori t5,t5,0xffff +40003e58: 1120ffd2 beqz t1,40003da4 <_strtol_r+0xd8> +40003e5c: 00580018 mult v0,t8 +40003e60: 08000f6c j 40003db0 <_strtol_r+0xe4> +40003e64: 240cffff li t4,-1 +40003e68: 24090037 li t1,55 +40003e6c: 08000f7a j 40003de8 <_strtol_r+0x11c> +40003e70: 01094023 subu t0,t0,t1 +40003e74: 17200003 bnez t9,40003e84 <_strtol_r+0x1b8> +40003e78: 3c028000 lui v0,0x8000 +40003e7c: 3c027fff lui v0,0x7fff +40003e80: 3442ffff ori v0,v0,0xffff +40003e84: 24050022 li a1,34 +40003e88: 10c0ffe4 beqz a2,40003e1c <_strtol_r+0x150> +40003e8c: ac850000 sw a1,0(a0) +40003e90: 08000f86 j 40003e18 <_strtol_r+0x14c> +40003e94: 2465ffff addiu a1,v1,-1 +40003e98: 08000f82 j 40003e08 <_strtol_r+0x13c> +40003e9c: 00021023 negu v0,v0 +40003ea0: 24430002 addiu v1,v0,2 +40003ea4: 90480001 lbu t0,1(v0) +40003ea8: 08000f47 j 40003d1c <_strtol_r+0x50> +40003eac: 24190001 li t9,1 +40003eb0: 24430002 addiu v1,v0,2 +40003eb4: 90480001 lbu t0,1(v0) +40003eb8: 08000f47 j 40003d1c <_strtol_r+0x50> +40003ebc: 0000c821 move t9,zero +40003ec0: 90680001 lbu t0,1(v1) +40003ec4: 24630002 addiu v1,v1,2 +40003ec8: 08000f51 j 40003d44 <_strtol_r+0x78> +40003ecc: 24070010 li a3,16 +40003ed0: 24180008 li t8,8 +40003ed4: 08000f51 j 40003d44 <_strtol_r+0x78> +40003ed8: 24070008 li a3,8 + +40003edc : +40003edc: 00801821 move v1,a0 +40003ee0: 00a01021 move v0,a1 +40003ee4: 8f848010 lw a0,-32752(gp) +40003ee8: 00c03821 move a3,a2 +40003eec: 00602821 move a1,v1 +40003ef0: 08000f33 j 40003ccc <_strtol_r> +40003ef4: 00403021 move a2,v0 + +40003ef8 <_write_r>: +40003ef8: 27bdffe8 addiu sp,sp,-24 +40003efc: afb00010 sw s0,16(sp) +40003f00: 00808021 move s0,a0 +40003f04: 00a02021 move a0,a1 +40003f08: 00c02821 move a1,a2 +40003f0c: 00e03021 move a2,a3 +40003f10: afbf0014 sw ra,20(sp) +40003f14: 0c000307 jal 40000c1c +40003f18: af80802c sw zero,-32724(gp) +40003f1c: 2403ffff li v1,-1 +40003f20: 10430005 beq v0,v1,40003f38 <_write_r+0x40> +40003f24: 00000000 nop +40003f28: 8fbf0014 lw ra,20(sp) +40003f2c: 8fb00010 lw s0,16(sp) +40003f30: 03e00008 jr ra +40003f34: 27bd0018 addiu sp,sp,24 +40003f38: 8f83802c lw v1,-32724(gp) +40003f3c: 00000000 nop +40003f40: 1060fff9 beqz v1,40003f28 <_write_r+0x30> +40003f44: 00000000 nop +40003f48: 8fbf0014 lw ra,20(sp) +40003f4c: ae030000 sw v1,0(s0) +40003f50: 8fb00010 lw s0,16(sp) +40003f54: 03e00008 jr ra +40003f58: 27bd0018 addiu sp,sp,24 + +40003f5c <__call_exitprocs>: +40003f5c: 8f82800c lw v0,-32756(gp) +40003f60: 27bdffc0 addiu sp,sp,-64 +40003f64: 24420148 addiu v0,v0,328 +40003f68: afb5002c sw s5,44(sp) +40003f6c: afb40028 sw s4,40(sp) +40003f70: afb30024 sw s3,36(sp) +40003f74: afbf003c sw ra,60(sp) +40003f78: afbe0038 sw s8,56(sp) +40003f7c: afb70034 sw s7,52(sp) +40003f80: afb60030 sw s6,48(sp) +40003f84: afb20020 sw s2,32(sp) +40003f88: afb1001c sw s1,28(sp) +40003f8c: afb00018 sw s0,24(sp) +40003f90: afa40040 sw a0,64(sp) +40003f94: 00a09821 move s3,a1 +40003f98: afa20010 sw v0,16(sp) +40003f9c: 24140001 li s4,1 +40003fa0: 2415ffff li s5,-1 +40003fa4: 8f82800c lw v0,-32756(gp) +40003fa8: 00000000 nop +40003fac: 8c570148 lw s7,328(v0) +40003fb0: 00000000 nop +40003fb4: 12e0001a beqz s7,40004020 <__call_exitprocs+0xc4> +40003fb8: 00000000 nop +40003fbc: 8fbe0010 lw s8,16(sp) +40003fc0: 8ee30004 lw v1,4(s7) +40003fc4: 00000000 nop +40003fc8: 2470ffff addiu s0,v1,-1 +40003fcc: 06000010 bltz s0,40004010 <__call_exitprocs+0xb4> +40003fd0: 26e40088 addiu a0,s7,136 +40003fd4: 24720001 addiu s2,v1,1 +40003fd8: 00101880 sll v1,s0,0x2 +40003fdc: 00129080 sll s2,s2,0x2 +40003fe0: 00838821 addu s1,a0,v1 +40003fe4: 02f29021 addu s2,s7,s2 +40003fe8: 12600019 beqz s3,40004050 <__call_exitprocs+0xf4> +40003fec: 00000000 nop +40003ff0: 8e230080 lw v1,128(s1) +40003ff4: 00000000 nop +40003ff8: 10730015 beq v1,s3,40004050 <__call_exitprocs+0xf4> +40003ffc: 00000000 nop +40004000: 2610ffff addiu s0,s0,-1 +40004004: 2631fffc addiu s1,s1,-4 +40004008: 1615fff7 bne s0,s5,40003fe8 <__call_exitprocs+0x8c> +4000400c: 2652fffc addiu s2,s2,-4 +40004010: 3c020000 lui v0,0x0 +40004014: 24420000 addiu v0,v0,0 +40004018: 14400039 bnez v0,40004100 <__call_exitprocs+0x1a4> +4000401c: 00000000 nop +40004020: 8fbf003c lw ra,60(sp) +40004024: 8fbe0038 lw s8,56(sp) +40004028: 8fb70034 lw s7,52(sp) +4000402c: 8fb60030 lw s6,48(sp) +40004030: 8fb5002c lw s5,44(sp) +40004034: 8fb40028 lw s4,40(sp) +40004038: 8fb30024 lw s3,36(sp) +4000403c: 8fb20020 lw s2,32(sp) +40004040: 8fb1001c lw s1,28(sp) +40004044: 8fb00018 lw s0,24(sp) +40004048: 03e00008 jr ra +4000404c: 27bd0040 addiu sp,sp,64 +40004050: 8ee40004 lw a0,4(s7) +40004054: 8e430000 lw v1,0(s2) +40004058: 2484ffff addiu a0,a0,-1 +4000405c: 10900021 beq a0,s0,400040e4 <__call_exitprocs+0x188> +40004060: 00000000 nop +40004064: ae400000 sw zero,0(s2) +40004068: 1060ffe5 beqz v1,40004000 <__call_exitprocs+0xa4> +4000406c: 02142004 sllv a0,s4,s0 +40004070: 8ee50188 lw a1,392(s7) +40004074: 00000000 nop +40004078: 00852824 and a1,a0,a1 +4000407c: 8ef60004 lw s6,4(s7) +40004080: 10a00014 beqz a1,400040d4 <__call_exitprocs+0x178> +40004084: 00000000 nop +40004088: 8ee5018c lw a1,396(s7) +4000408c: 00000000 nop +40004090: 00852024 and a0,a0,a1 +40004094: 14800015 bnez a0,400040ec <__call_exitprocs+0x190> +40004098: 00000000 nop +4000409c: 8e250000 lw a1,0(s1) +400040a0: 8fa40040 lw a0,64(sp) +400040a4: 0060f809 jalr v1 +400040a8: 00000000 nop +400040ac: 8ee30004 lw v1,4(s7) +400040b0: 00000000 nop +400040b4: 1476ffbb bne v1,s6,40003fa4 <__call_exitprocs+0x48> +400040b8: 00000000 nop +400040bc: 8fc30000 lw v1,0(s8) +400040c0: 00000000 nop +400040c4: 1077ffcf beq v1,s7,40004004 <__call_exitprocs+0xa8> +400040c8: 2610ffff addiu s0,s0,-1 +400040cc: 08000fe9 j 40003fa4 <__call_exitprocs+0x48> +400040d0: 00000000 nop +400040d4: 0060f809 jalr v1 +400040d8: 00000000 nop +400040dc: 0800102b j 400040ac <__call_exitprocs+0x150> +400040e0: 00000000 nop +400040e4: 0800101a j 40004068 <__call_exitprocs+0x10c> +400040e8: aef00004 sw s0,4(s7) +400040ec: 8e240000 lw a0,0(s1) +400040f0: 0060f809 jalr v1 +400040f4: 00000000 nop +400040f8: 0800102b j 400040ac <__call_exitprocs+0x150> +400040fc: 00000000 nop +40004100: 8ee30004 lw v1,4(s7) +40004104: 00000000 nop +40004108: 1460000d bnez v1,40004140 <__call_exitprocs+0x1e4> +4000410c: 00000000 nop +40004110: 8ee30000 lw v1,0(s7) +40004114: 00000000 nop +40004118: 1060000d beqz v1,40004150 <__call_exitprocs+0x1f4> +4000411c: 02e02021 move a0,s7 +40004120: 0c000000 jal 40000000 <__executable_start> +40004124: afc30000 sw v1,0(s8) +40004128: 8fd70000 lw s7,0(s8) +4000412c: 00000000 nop +40004130: 16e0ffa3 bnez s7,40003fc0 <__call_exitprocs+0x64> +40004134: 00000000 nop +40004138: 08001008 j 40004020 <__call_exitprocs+0xc4> +4000413c: 00000000 nop +40004140: 8ee30000 lw v1,0(s7) +40004144: 02e0f021 move s8,s7 +40004148: 0800104c j 40004130 <__call_exitprocs+0x1d4> +4000414c: 0060b821 move s7,v1 +40004150: 08001051 j 40004144 <__call_exitprocs+0x1e8> +40004154: 00001821 move v1,zero + +40004158 <_close_r>: +40004158: 27bdffe8 addiu sp,sp,-24 +4000415c: afb00010 sw s0,16(sp) +40004160: 00808021 move s0,a0 +40004164: 00a02021 move a0,a1 +40004168: afbf0014 sw ra,20(sp) +4000416c: 0c0002bf jal 40000afc +40004170: af80802c sw zero,-32724(gp) +40004174: 2403ffff li v1,-1 +40004178: 10430005 beq v0,v1,40004190 <_close_r+0x38> +4000417c: 00000000 nop +40004180: 8fbf0014 lw ra,20(sp) +40004184: 8fb00010 lw s0,16(sp) +40004188: 03e00008 jr ra +4000418c: 27bd0018 addiu sp,sp,24 +40004190: 8f83802c lw v1,-32724(gp) +40004194: 00000000 nop +40004198: 1060fff9 beqz v1,40004180 <_close_r+0x28> +4000419c: 00000000 nop +400041a0: 8fbf0014 lw ra,20(sp) +400041a4: ae030000 sw v1,0(s0) +400041a8: 8fb00010 lw s0,16(sp) +400041ac: 03e00008 jr ra +400041b0: 27bd0018 addiu sp,sp,24 + +400041b4 <_fclose_r>: +400041b4: 27bdffe0 addiu sp,sp,-32 +400041b8: afb00010 sw s0,16(sp) +400041bc: afbf001c sw ra,28(sp) +400041c0: afb20018 sw s2,24(sp) +400041c4: afb10014 sw s1,20(sp) +400041c8: 10a0000b beqz a1,400041f8 <_fclose_r+0x44> +400041cc: 00a08021 move s0,a1 +400041d0: 10800005 beqz a0,400041e8 <_fclose_r+0x34> +400041d4: 00808821 move s1,a0 +400041d8: 8c820038 lw v0,56(a0) +400041dc: 00000000 nop +400041e0: 10400038 beqz v0,400042c4 <_fclose_r+0x110> +400041e4: 00000000 nop +400041e8: 8602000c lh v0,12(s0) +400041ec: 00000000 nop +400041f0: 14400008 bnez v0,40004214 <_fclose_r+0x60> +400041f4: 00000000 nop +400041f8: 8fbf001c lw ra,28(sp) +400041fc: 8fb20018 lw s2,24(sp) +40004200: 8fb10014 lw s1,20(sp) +40004204: 8fb00010 lw s0,16(sp) +40004208: 00001021 move v0,zero +4000420c: 03e00008 jr ra +40004210: 27bd0020 addiu sp,sp,32 +40004214: 02202021 move a0,s1 +40004218: 0c000779 jal 40001de4 <_fflush_r> +4000421c: 02002821 move a1,s0 +40004220: 8e03002c lw v1,44(s0) +40004224: 00000000 nop +40004228: 10600006 beqz v1,40004244 <_fclose_r+0x90> +4000422c: 00409021 move s2,v0 +40004230: 8e05001c lw a1,28(s0) +40004234: 0060f809 jalr v1 +40004238: 02202021 move a0,s1 +4000423c: 04400025 bltz v0,400042d4 <_fclose_r+0x120> +40004240: 00000000 nop +40004244: 9602000c lhu v0,12(s0) +40004248: 00000000 nop +4000424c: 30420080 andi v0,v0,0x80 +40004250: 14400022 bnez v0,400042dc <_fclose_r+0x128> +40004254: 00000000 nop +40004258: 8e050030 lw a1,48(s0) +4000425c: 00000000 nop +40004260: 10a00006 beqz a1,4000427c <_fclose_r+0xc8> +40004264: 26020040 addiu v0,s0,64 +40004268: 10a20003 beq a1,v0,40004278 <_fclose_r+0xc4> +4000426c: 00000000 nop +40004270: 0c000932 jal 400024c8 <_free_r> +40004274: 02202021 move a0,s1 +40004278: ae000030 sw zero,48(s0) +4000427c: 8e050044 lw a1,68(s0) +40004280: 00000000 nop +40004284: 10a00004 beqz a1,40004298 <_fclose_r+0xe4> +40004288: 00000000 nop +4000428c: 0c000932 jal 400024c8 <_free_r> +40004290: 02202021 move a0,s1 +40004294: ae000044 sw zero,68(s0) +40004298: 0c0008d3 jal 4000234c <__sfp_lock_acquire> +4000429c: 00000000 nop +400042a0: 0c0008d5 jal 40002354 <__sfp_lock_release> +400042a4: a600000c sh zero,12(s0) +400042a8: 8fbf001c lw ra,28(sp) +400042ac: 02401021 move v0,s2 +400042b0: 8fb10014 lw s1,20(sp) +400042b4: 8fb20018 lw s2,24(sp) +400042b8: 8fb00010 lw s0,16(sp) +400042bc: 03e00008 jr ra +400042c0: 27bd0020 addiu sp,sp,32 +400042c4: 0c000825 jal 40002094 <__sinit> +400042c8: 00000000 nop +400042cc: 0800107a j 400041e8 <_fclose_r+0x34> +400042d0: 00000000 nop +400042d4: 08001091 j 40004244 <_fclose_r+0x90> +400042d8: 2412ffff li s2,-1 +400042dc: 8e050010 lw a1,16(s0) +400042e0: 0c000932 jal 400024c8 <_free_r> +400042e4: 02202021 move a0,s1 +400042e8: 08001096 j 40004258 <_fclose_r+0xa4> +400042ec: 00000000 nop + +400042f0 : +400042f0: 00802821 move a1,a0 +400042f4: 8f848010 lw a0,-32752(gp) +400042f8: 0800106d j 400041b4 <_fclose_r> +400042fc: 00000000 nop + +40004300 <__sfvwrite_r>: +40004300: 8cc20008 lw v0,8(a2) +40004304: 27bdffc0 addiu sp,sp,-64 +40004308: afb30024 sw s3,36(sp) +4000430c: afbf003c sw ra,60(sp) +40004310: afbe0038 sw s8,56(sp) +40004314: afb70034 sw s7,52(sp) +40004318: afb60030 sw s6,48(sp) +4000431c: afb5002c sw s5,44(sp) +40004320: afb40028 sw s4,40(sp) +40004324: afb20020 sw s2,32(sp) +40004328: afb1001c sw s1,28(sp) +4000432c: afb00018 sw s0,24(sp) +40004330: 10400023 beqz v0,400043c0 <__sfvwrite_r+0xc0> +40004334: 00c09821 move s3,a2 +40004338: 94a2000c lhu v0,12(a1) +4000433c: 0080a821 move s5,a0 +40004340: 30430008 andi v1,v0,0x8 +40004344: 1060002b beqz v1,400043f4 <__sfvwrite_r+0xf4> +40004348: 00a08021 move s0,a1 +4000434c: 8ca30010 lw v1,16(a1) +40004350: 00000000 nop +40004354: 10600027 beqz v1,400043f4 <__sfvwrite_r+0xf4> +40004358: 30430002 andi v1,v0,0x2 +4000435c: 8e710000 lw s1,0(s3) +40004360: 1060002f beqz v1,40004420 <__sfvwrite_r+0x120> +40004364: 30430001 andi v1,v0,0x1 +40004368: 0000a021 move s4,zero +4000436c: 00009021 move s2,zero +40004370: 02803021 move a2,s4 +40004374: 02a02021 move a0,s5 +40004378: 12400050 beqz s2,400044bc <__sfvwrite_r+0x1bc> +4000437c: 2e420401 sltiu v0,s2,1025 +40004380: 8e05001c lw a1,28(s0) +40004384: 14400002 bnez v0,40004390 <__sfvwrite_r+0x90> +40004388: 02403821 move a3,s2 +4000438c: 24070400 li a3,1024 +40004390: 8e020024 lw v0,36(s0) +40004394: 00000000 nop +40004398: 0040f809 jalr v0 +4000439c: 00000000 nop +400043a0: 18400053 blez v0,400044f0 <__sfvwrite_r+0x1f0> +400043a4: 0282a021 addu s4,s4,v0 +400043a8: 8e630008 lw v1,8(s3) +400043ac: 00000000 nop +400043b0: 00621823 subu v1,v1,v0 +400043b4: 02429023 subu s2,s2,v0 +400043b8: 1460ffed bnez v1,40004370 <__sfvwrite_r+0x70> +400043bc: ae630008 sw v1,8(s3) +400043c0: 00001021 move v0,zero +400043c4: 8fbf003c lw ra,60(sp) +400043c8: 8fbe0038 lw s8,56(sp) +400043cc: 8fb70034 lw s7,52(sp) +400043d0: 8fb60030 lw s6,48(sp) +400043d4: 8fb5002c lw s5,44(sp) +400043d8: 8fb40028 lw s4,40(sp) +400043dc: 8fb30024 lw s3,36(sp) +400043e0: 8fb20020 lw s2,32(sp) +400043e4: 8fb1001c lw s1,28(sp) +400043e8: 8fb00018 lw s0,24(sp) +400043ec: 03e00008 jr ra +400043f0: 27bd0040 addiu sp,sp,64 +400043f4: 02a02021 move a0,s5 +400043f8: 0c00146e jal 400051b8 <__swsetup_r> +400043fc: 02002821 move a1,s0 +40004400: 1440fff0 bnez v0,400043c4 <__sfvwrite_r+0xc4> +40004404: 2402ffff li v0,-1 +40004408: 9602000c lhu v0,12(s0) +4000440c: 8e710000 lw s1,0(s3) +40004410: 30430002 andi v1,v0,0x2 +40004414: 1460ffd5 bnez v1,4000436c <__sfvwrite_r+0x6c> +40004418: 0000a021 move s4,zero +4000441c: 30430001 andi v1,v0,0x1 +40004420: 14600038 bnez v1,40004504 <__sfvwrite_r+0x204> +40004424: 0000b021 move s6,zero +40004428: 00009021 move s2,zero +4000442c: 1240001f beqz s2,400044ac <__sfvwrite_r+0x1ac> +40004430: 30430200 andi v1,v0,0x200 +40004434: 8e140008 lw s4,8(s0) +40004438: 10600065 beqz v1,400045d0 <__sfvwrite_r+0x2d0> +4000443c: 0254182b sltu v1,s2,s4 +40004440: 1460008c bnez v1,40004674 <__sfvwrite_r+0x374> +40004444: 0240f021 move s8,s2 +40004448: 30430480 andi v1,v0,0x480 +4000444c: 146000a1 bnez v1,400046d4 <__sfvwrite_r+0x3d4> +40004450: 0280b821 move s7,s4 +40004454: 8e040000 lw a0,0(s0) +40004458: 0280f021 move s8,s4 +4000445c: 0240a021 move s4,s2 +40004460: 02c02821 move a1,s6 +40004464: 0c001288 jal 40004a20 +40004468: 02e03021 move a2,s7 +4000446c: 8e020000 lw v0,0(s0) +40004470: 8e040008 lw a0,8(s0) +40004474: 00571821 addu v1,v0,s7 +40004478: 009ef023 subu s8,a0,s8 +4000447c: ae1e0008 sw s8,8(s0) +40004480: ae030000 sw v1,0(s0) +40004484: 02401021 move v0,s2 +40004488: 8e630008 lw v1,8(s3) +4000448c: 02c2b021 addu s6,s6,v0 +40004490: 0074a023 subu s4,v1,s4 +40004494: 02429023 subu s2,s2,v0 +40004498: 1280ffc9 beqz s4,400043c0 <__sfvwrite_r+0xc0> +4000449c: ae740008 sw s4,8(s3) +400044a0: 9602000c lhu v0,12(s0) +400044a4: 1640ffe3 bnez s2,40004434 <__sfvwrite_r+0x134> +400044a8: 30430200 andi v1,v0,0x200 +400044ac: 8e360000 lw s6,0(s1) +400044b0: 8e320004 lw s2,4(s1) +400044b4: 0800110b j 4000442c <__sfvwrite_r+0x12c> +400044b8: 26310008 addiu s1,s1,8 +400044bc: 8e340000 lw s4,0(s1) +400044c0: 8e320004 lw s2,4(s1) +400044c4: 080010dc j 40004370 <__sfvwrite_r+0x70> +400044c8: 26310008 addiu s1,s1,8 +400044cc: 0c0012f4 jal 40004bd0 <_realloc_r> +400044d0: 00000000 nop +400044d4: 1440009e bnez v0,40004750 <__sfvwrite_r+0x450> +400044d8: 0040f021 move s8,v0 +400044dc: 8e050010 lw a1,16(s0) +400044e0: 0c000932 jal 400024c8 <_free_r> +400044e4: 02a02021 move a0,s5 +400044e8: 2402000c li v0,12 +400044ec: aea20000 sw v0,0(s5) +400044f0: 9603000c lhu v1,12(s0) +400044f4: 2402ffff li v0,-1 +400044f8: 34630040 ori v1,v1,0x40 +400044fc: 080010f1 j 400043c4 <__sfvwrite_r+0xc4> +40004500: a603000c sh v1,12(s0) +40004504: 00001821 move v1,zero +40004508: 0000f021 move s8,zero +4000450c: 00009021 move s2,zero +40004510: 1240002a beqz s2,400045bc <__sfvwrite_r+0x2bc> +40004514: 00000000 nop +40004518: 10600065 beqz v1,400046b0 <__sfvwrite_r+0x3b0> +4000451c: 03c02021 move a0,s8 +40004520: 0256102b sltu v0,s2,s6 +40004524: 10400002 beqz v0,40004530 <__sfvwrite_r+0x230> +40004528: 02c0b821 move s7,s6 +4000452c: 0240b821 move s7,s2 +40004530: 8e040000 lw a0,0(s0) +40004534: 8e020010 lw v0,16(s0) +40004538: 00000000 nop +4000453c: 0044102b sltu v0,v0,a0 +40004540: 8e060008 lw a2,8(s0) +40004544: 8e070014 lw a3,20(s0) +40004548: 10400005 beqz v0,40004560 <__sfvwrite_r+0x260> +4000454c: 02e0a021 move s4,s7 +40004550: 00c74021 addu t0,a2,a3 +40004554: 0117102a slt v0,t0,s7 +40004558: 14400087 bnez v0,40004778 <__sfvwrite_r+0x478> +4000455c: 01003021 move a2,t0 +40004560: 02e7102a slt v0,s7,a3 +40004564: 14400030 bnez v0,40004628 <__sfvwrite_r+0x328> +40004568: 02e03021 move a2,s7 +4000456c: 8e020024 lw v0,36(s0) +40004570: 8e05001c lw a1,28(s0) +40004574: 02a02021 move a0,s5 +40004578: afa30014 sw v1,20(sp) +4000457c: 0040f809 jalr v0 +40004580: 03c03021 move a2,s8 +40004584: 8fa30014 lw v1,20(sp) +40004588: 1840ffd9 blez v0,400044f0 <__sfvwrite_r+0x1f0> +4000458c: 0040a021 move s4,v0 +40004590: 02d4b023 subu s6,s6,s4 +40004594: 12c00031 beqz s6,4000465c <__sfvwrite_r+0x35c> +40004598: 02a02021 move a0,s5 +4000459c: 8e620008 lw v0,8(s3) +400045a0: 03d4f021 addu s8,s8,s4 +400045a4: 00541023 subu v0,v0,s4 +400045a8: 02549023 subu s2,s2,s4 +400045ac: 1040ff84 beqz v0,400043c0 <__sfvwrite_r+0xc0> +400045b0: ae620008 sw v0,8(s3) +400045b4: 1640ffd8 bnez s2,40004518 <__sfvwrite_r+0x218> +400045b8: 00000000 nop +400045bc: 8e3e0000 lw s8,0(s1) +400045c0: 8e320004 lw s2,4(s1) +400045c4: 00001821 move v1,zero +400045c8: 08001144 j 40004510 <__sfvwrite_r+0x210> +400045cc: 26310008 addiu s1,s1,8 +400045d0: 8e040000 lw a0,0(s0) +400045d4: 8e020010 lw v0,16(s0) +400045d8: 00000000 nop +400045dc: 0044102b sltu v0,v0,a0 +400045e0: 10400003 beqz v0,400045f0 <__sfvwrite_r+0x2f0> +400045e4: 0292102b sltu v0,s4,s2 +400045e8: 14400075 bnez v0,400047c0 <__sfvwrite_r+0x4c0> +400045ec: 02c02821 move a1,s6 +400045f0: 8e070014 lw a3,20(s0) +400045f4: 00000000 nop +400045f8: 0247102b sltu v0,s2,a3 +400045fc: 14400021 bnez v0,40004684 <__sfvwrite_r+0x384> +40004600: 02c02821 move a1,s6 +40004604: 8e020024 lw v0,36(s0) +40004608: 8e05001c lw a1,28(s0) +4000460c: 02a02021 move a0,s5 +40004610: 0040f809 jalr v0 +40004614: 02c03021 move a2,s6 +40004618: 1840ffb5 blez v0,400044f0 <__sfvwrite_r+0x1f0> +4000461c: 0040a021 move s4,v0 +40004620: 08001122 j 40004488 <__sfvwrite_r+0x188> +40004624: 02801021 move v0,s4 +40004628: 03c02821 move a1,s8 +4000462c: 0c001288 jal 40004a20 +40004630: afa30014 sw v1,20(sp) +40004634: 8e020008 lw v0,8(s0) +40004638: 8e040000 lw a0,0(s0) +4000463c: 00571023 subu v0,v0,s7 +40004640: 02d4b023 subu s6,s6,s4 +40004644: 0097b821 addu s7,a0,s7 +40004648: ae020008 sw v0,8(s0) +4000464c: ae170000 sw s7,0(s0) +40004650: 8fa30014 lw v1,20(sp) +40004654: 16c0ffd1 bnez s6,4000459c <__sfvwrite_r+0x29c> +40004658: 02a02021 move a0,s5 +4000465c: 0c000779 jal 40001de4 <_fflush_r> +40004660: 02002821 move a1,s0 +40004664: 1440ffa2 bnez v0,400044f0 <__sfvwrite_r+0x1f0> +40004668: 00001821 move v1,zero +4000466c: 08001167 j 4000459c <__sfvwrite_r+0x29c> +40004670: 00000000 nop +40004674: 8e040000 lw a0,0(s0) +40004678: 0240a021 move s4,s2 +4000467c: 08001118 j 40004460 <__sfvwrite_r+0x160> +40004680: 0240b821 move s7,s2 +40004684: 0c001288 jal 40004a20 +40004688: 02403021 move a2,s2 +4000468c: 8e030008 lw v1,8(s0) +40004690: 8e020000 lw v0,0(s0) +40004694: 00721823 subu v1,v1,s2 +40004698: 00521021 addu v0,v0,s2 +4000469c: ae020000 sw v0,0(s0) +400046a0: 0240a021 move s4,s2 +400046a4: ae030008 sw v1,8(s0) +400046a8: 08001122 j 40004488 <__sfvwrite_r+0x188> +400046ac: 02401021 move v0,s2 +400046b0: 2405000a li a1,10 +400046b4: 0c000c6a jal 400031a8 +400046b8: 02403021 move a2,s2 +400046bc: 1040004e beqz v0,400047f8 <__sfvwrite_r+0x4f8> +400046c0: 00000000 nop +400046c4: 24560001 addiu s6,v0,1 +400046c8: 02deb023 subu s6,s6,s8 +400046cc: 08001148 j 40004520 <__sfvwrite_r+0x220> +400046d0: 24030001 li v1,1 +400046d4: 8e040014 lw a0,20(s0) +400046d8: 8e050010 lw a1,16(s0) +400046dc: 00043040 sll a2,a0,0x1 +400046e0: 8e030000 lw v1,0(s0) +400046e4: 00c42021 addu a0,a2,a0 +400046e8: 0004a7c2 srl s4,a0,0x1f +400046ec: 0065b823 subu s7,v1,a1 +400046f0: 02842021 addu a0,s4,a0 +400046f4: 26e60001 addiu a2,s7,1 +400046f8: 0004a043 sra s4,a0,0x1 +400046fc: 00d23021 addu a2,a2,s2 +40004700: 0286202b sltu a0,s4,a2 +40004704: 1080003a beqz a0,400047f0 <__sfvwrite_r+0x4f0> +40004708: 00000000 nop +4000470c: 00c0a021 move s4,a2 +40004710: 30420400 andi v0,v0,0x400 +40004714: 1040ff6d beqz v0,400044cc <__sfvwrite_r+0x1cc> +40004718: 02a02021 move a0,s5 +4000471c: 0c000a51 jal 40002944 <_malloc_r> +40004720: 00c02821 move a1,a2 +40004724: 1040ff70 beqz v0,400044e8 <__sfvwrite_r+0x1e8> +40004728: 0040f021 move s8,v0 +4000472c: 8e050010 lw a1,16(s0) +40004730: 00402021 move a0,v0 +40004734: 0c000caf jal 400032bc +40004738: 02e03021 move a2,s7 +4000473c: 9602000c lhu v0,12(s0) +40004740: 2403fb7f li v1,-1153 +40004744: 00431024 and v0,v0,v1 +40004748: 34420080 ori v0,v0,0x80 +4000474c: a602000c sh v0,12(s0) +40004750: 03d72021 addu a0,s8,s7 +40004754: 02971823 subu v1,s4,s7 +40004758: ae1e0010 sw s8,16(s0) +4000475c: ae140014 sw s4,20(s0) +40004760: ae040000 sw a0,0(s0) +40004764: 0240f021 move s8,s2 +40004768: ae030008 sw v1,8(s0) +4000476c: 0240a021 move s4,s2 +40004770: 08001118 j 40004460 <__sfvwrite_r+0x160> +40004774: 0240b821 move s7,s2 +40004778: 03c02821 move a1,s8 +4000477c: afa30014 sw v1,20(sp) +40004780: 0c001288 jal 40004a20 +40004784: afa80010 sw t0,16(sp) +40004788: 8fa80010 lw t0,16(sp) +4000478c: 8e020000 lw v0,0(s0) +40004790: 02a02021 move a0,s5 +40004794: 00481021 addu v0,v0,t0 +40004798: ae020000 sw v0,0(s0) +4000479c: 02002821 move a1,s0 +400047a0: 0c000779 jal 40001de4 <_fflush_r> +400047a4: afa80010 sw t0,16(sp) +400047a8: 8fa30014 lw v1,20(sp) +400047ac: 8fa80010 lw t0,16(sp) +400047b0: 1440ff4f bnez v0,400044f0 <__sfvwrite_r+0x1f0> +400047b4: 0100a021 move s4,t0 +400047b8: 08001165 j 40004594 <__sfvwrite_r+0x294> +400047bc: 02d4b023 subu s6,s6,s4 +400047c0: 0c001288 jal 40004a20 +400047c4: 02803021 move a2,s4 +400047c8: 8e020000 lw v0,0(s0) +400047cc: 02a02021 move a0,s5 +400047d0: 00541021 addu v0,v0,s4 +400047d4: ae020000 sw v0,0(s0) +400047d8: 0c000779 jal 40001de4 <_fflush_r> +400047dc: 02002821 move a1,s0 +400047e0: 1440ff43 bnez v0,400044f0 <__sfvwrite_r+0x1f0> +400047e4: 00000000 nop +400047e8: 08001122 j 40004488 <__sfvwrite_r+0x188> +400047ec: 02801021 move v0,s4 +400047f0: 080011c4 j 40004710 <__sfvwrite_r+0x410> +400047f4: 02803021 move a2,s4 +400047f8: 26560001 addiu s6,s2,1 +400047fc: 08001148 j 40004520 <__sfvwrite_r+0x220> +40004800: 24030001 li v1,1 + +40004804 <_lseek_r>: +40004804: 27bdffe8 addiu sp,sp,-24 +40004808: afb00010 sw s0,16(sp) +4000480c: 00808021 move s0,a0 +40004810: 00a02021 move a0,a1 +40004814: 00c02821 move a1,a2 +40004818: 00e03021 move a2,a3 +4000481c: afbf0014 sw ra,20(sp) +40004820: 0c0002ab jal 40000aac +40004824: af80802c sw zero,-32724(gp) +40004828: 2403ffff li v1,-1 +4000482c: 10430005 beq v0,v1,40004844 <_lseek_r+0x40> +40004830: 00000000 nop +40004834: 8fbf0014 lw ra,20(sp) +40004838: 8fb00010 lw s0,16(sp) +4000483c: 03e00008 jr ra +40004840: 27bd0018 addiu sp,sp,24 +40004844: 8f83802c lw v1,-32724(gp) +40004848: 00000000 nop +4000484c: 1060fff9 beqz v1,40004834 <_lseek_r+0x30> +40004850: 00000000 nop +40004854: 8fbf0014 lw ra,20(sp) +40004858: ae030000 sw v1,0(s0) +4000485c: 8fb00010 lw s0,16(sp) +40004860: 03e00008 jr ra +40004864: 27bd0018 addiu sp,sp,24 + +40004868 <__smakebuf_r>: +40004868: 84a2000c lh v0,12(a1) +4000486c: 27bdff98 addiu sp,sp,-104 +40004870: 3043ffff andi v1,v0,0xffff +40004874: afb00054 sw s0,84(sp) +40004878: 00a08021 move s0,a1 +4000487c: 30650002 andi a1,v1,0x2 +40004880: afbf0064 sw ra,100(sp) +40004884: afb30060 sw s3,96(sp) +40004888: afb2005c sw s2,92(sp) +4000488c: 14a00034 bnez a1,40004960 <__smakebuf_r+0xf8> +40004890: afb10058 sw s1,88(sp) +40004894: 8605000e lh a1,14(s0) +40004898: 00000000 nop +4000489c: 04a00028 bltz a1,40004940 <__smakebuf_r+0xd8> +400048a0: 00808821 move s1,a0 +400048a4: 0c0014d3 jal 4000534c <_fstat_r> +400048a8: 27a60010 addiu a2,sp,16 +400048ac: 04400021 bltz v0,40004934 <__smakebuf_r+0xcc> +400048b0: 34038000 li v1,0x8000 +400048b4: 8fa20014 lw v0,20(sp) +400048b8: 00000000 nop +400048bc: 3042f000 andi v0,v0,0xf000 +400048c0: 38532000 xori s3,v0,0x2000 +400048c4: 10430034 beq v0,v1,40004998 <__smakebuf_r+0x130> +400048c8: 2e730001 sltiu s3,s3,1 +400048cc: 9602000c lhu v0,12(s0) +400048d0: 24120400 li s2,1024 +400048d4: 34420800 ori v0,v0,0x800 +400048d8: a602000c sh v0,12(s0) +400048dc: 02202021 move a0,s1 +400048e0: 0c000a51 jal 40002944 <_malloc_r> +400048e4: 02402821 move a1,s2 +400048e8: 10400041 beqz v0,400049f0 <__smakebuf_r+0x188> +400048ec: 3c044000 lui a0,0x4000 +400048f0: 9603000c lhu v1,12(s0) +400048f4: 00000000 nop +400048f8: 34630080 ori v1,v1,0x80 +400048fc: 24842004 addiu a0,a0,8196 +40004900: ae24003c sw a0,60(s1) +40004904: a603000c sh v1,12(s0) +40004908: ae020000 sw v0,0(s0) +4000490c: ae020010 sw v0,16(s0) +40004910: 1660002d bnez s3,400049c8 <__smakebuf_r+0x160> +40004914: ae120014 sw s2,20(s0) +40004918: 8fbf0064 lw ra,100(sp) +4000491c: 8fb30060 lw s3,96(sp) +40004920: 8fb2005c lw s2,92(sp) +40004924: 8fb10058 lw s1,88(sp) +40004928: 8fb00054 lw s0,84(sp) +4000492c: 03e00008 jr ra +40004930: 27bd0068 addiu sp,sp,104 +40004934: 8602000c lh v0,12(s0) +40004938: 00000000 nop +4000493c: 3043ffff andi v1,v0,0xffff +40004940: 30630080 andi v1,v1,0x80 +40004944: 14600012 bnez v1,40004990 <__smakebuf_r+0x128> +40004948: 00000000 nop +4000494c: 24120400 li s2,1024 +40004950: 34420800 ori v0,v0,0x800 +40004954: a602000c sh v0,12(s0) +40004958: 08001237 j 400048dc <__smakebuf_r+0x74> +4000495c: 00009821 move s3,zero +40004960: 26020043 addiu v0,s0,67 +40004964: 8fbf0064 lw ra,100(sp) +40004968: ae020000 sw v0,0(s0) +4000496c: ae020010 sw v0,16(s0) +40004970: 24020001 li v0,1 +40004974: ae020014 sw v0,20(s0) +40004978: 8fb30060 lw s3,96(sp) +4000497c: 8fb2005c lw s2,92(sp) +40004980: 8fb10058 lw s1,88(sp) +40004984: 8fb00054 lw s0,84(sp) +40004988: 03e00008 jr ra +4000498c: 27bd0068 addiu sp,sp,104 +40004990: 08001254 j 40004950 <__smakebuf_r+0xe8> +40004994: 24120040 li s2,64 +40004998: 3c024000 lui v0,0x4000 +4000499c: 8e030028 lw v1,40(s0) +400049a0: 24423c40 addiu v0,v0,15424 +400049a4: 1462ffc9 bne v1,v0,400048cc <__smakebuf_r+0x64> +400049a8: 24120400 li s2,1024 +400049ac: 9602000c lhu v0,12(s0) +400049b0: 00000000 nop +400049b4: 34420400 ori v0,v0,0x400 +400049b8: a602000c sh v0,12(s0) +400049bc: 24020400 li v0,1024 +400049c0: 08001237 j 400048dc <__smakebuf_r+0x74> +400049c4: ae02004c sw v0,76(s0) +400049c8: 8605000e lh a1,14(s0) +400049cc: 0c0014eb jal 400053ac <_isatty_r> +400049d0: 02202021 move a0,s1 +400049d4: 1040ffd0 beqz v0,40004918 <__smakebuf_r+0xb0> +400049d8: 00000000 nop +400049dc: 9602000c lhu v0,12(s0) +400049e0: 00000000 nop +400049e4: 34420001 ori v0,v0,0x1 +400049e8: 08001246 j 40004918 <__smakebuf_r+0xb0> +400049ec: a602000c sh v0,12(s0) +400049f0: 8602000c lh v0,12(s0) +400049f4: 00000000 nop +400049f8: 30430200 andi v1,v0,0x200 +400049fc: 1460ffc6 bnez v1,40004918 <__smakebuf_r+0xb0> +40004a00: 34420002 ori v0,v0,0x2 +40004a04: 26030043 addiu v1,s0,67 +40004a08: a602000c sh v0,12(s0) +40004a0c: 24020001 li v0,1 +40004a10: ae030000 sw v1,0(s0) +40004a14: ae030010 sw v1,16(s0) +40004a18: 08001246 j 40004918 <__smakebuf_r+0xb0> +40004a1c: ae020014 sw v0,20(s0) + +40004a20 : +40004a20: 00a4182b sltu v1,a1,a0 +40004a24: 1060000f beqz v1,40004a64 +40004a28: 00801021 move v0,a0 +40004a2c: 00a63821 addu a3,a1,a2 +40004a30: 0087182b sltu v1,a0,a3 +40004a34: 1060000c beqz v1,40004a68 +40004a38: 2cc30010 sltiu v1,a2,16 +40004a3c: 00861821 addu v1,a0,a2 +40004a40: 10c00006 beqz a2,40004a5c +40004a44: 00662823 subu a1,v1,a2 +40004a48: 24e7ffff addiu a3,a3,-1 +40004a4c: 80e40000 lb a0,0(a3) +40004a50: 2463ffff addiu v1,v1,-1 +40004a54: 1465fffc bne v1,a1,40004a48 +40004a58: a0640000 sb a0,0(v1) +40004a5c: 03e00008 jr ra +40004a60: 00000000 nop +40004a64: 2cc30010 sltiu v1,a2,16 +40004a68: 14600037 bnez v1,40004b48 +40004a6c: 00000000 nop +40004a70: 00451825 or v1,v0,a1 +40004a74: 30630003 andi v1,v1,0x3 +40004a78: 1460002b bnez v1,40004b28 +40004a7c: 00401821 move v1,v0 +40004a80: 00a03821 move a3,a1 +40004a84: 00c02021 move a0,a2 +40004a88: 8ce80000 lw t0,0(a3) +40004a8c: 24e70010 addiu a3,a3,16 +40004a90: ac680000 sw t0,0(v1) +40004a94: 8ce8fff4 lw t0,-12(a3) +40004a98: 24630010 addiu v1,v1,16 +40004a9c: ac68fff4 sw t0,-12(v1) +40004aa0: 8ce8fff8 lw t0,-8(a3) +40004aa4: 2484fff0 addiu a0,a0,-16 +40004aa8: ac68fff8 sw t0,-8(v1) +40004aac: 8ce9fffc lw t1,-4(a3) +40004ab0: 2c880010 sltiu t0,a0,16 +40004ab4: 1100fff4 beqz t0,40004a88 +40004ab8: ac69fffc sw t1,-4(v1) +40004abc: 24c4fff0 addiu a0,a2,-16 +40004ac0: 00042102 srl a0,a0,0x4 +40004ac4: 24840001 addiu a0,a0,1 +40004ac8: 30cb000f andi t3,a2,0xf +40004acc: 00042100 sll a0,a0,0x4 +40004ad0: 2d670004 sltiu a3,t3,4 +40004ad4: 00441821 addu v1,v0,a0 +40004ad8: 14e0001f bnez a3,40004b58 +40004adc: 00a42821 addu a1,a1,a0 +40004ae0: 00a04021 move t0,a1 +40004ae4: 00603821 move a3,v1 +40004ae8: 01602021 move a0,t3 +40004aec: 25080004 addiu t0,t0,4 +40004af0: 8d0afffc lw t2,-4(t0) +40004af4: 2484fffc addiu a0,a0,-4 +40004af8: 24e70004 addiu a3,a3,4 +40004afc: 2c890004 sltiu t1,a0,4 +40004b00: 1120fffa beqz t1,40004aec +40004b04: aceafffc sw t2,-4(a3) +40004b08: 2564fffc addiu a0,t3,-4 +40004b0c: 00042082 srl a0,a0,0x2 +40004b10: 24840001 addiu a0,a0,1 +40004b14: 00042080 sll a0,a0,0x2 +40004b18: 30c60003 andi a2,a2,0x3 +40004b1c: 00641821 addu v1,v1,a0 +40004b20: 10c0ffce beqz a2,40004a5c +40004b24: 00a42821 addu a1,a1,a0 +40004b28: 00663021 addu a2,v1,a2 +40004b2c: 24a50001 addiu a1,a1,1 +40004b30: 80a7ffff lb a3,-1(a1) +40004b34: 24630001 addiu v1,v1,1 +40004b38: 1466fffc bne v1,a2,40004b2c +40004b3c: a067ffff sb a3,-1(v1) +40004b40: 03e00008 jr ra +40004b44: 00000000 nop +40004b48: 14c0fff7 bnez a2,40004b28 +40004b4c: 00401821 move v1,v0 +40004b50: 03e00008 jr ra +40004b54: 00000000 nop +40004b58: 01603021 move a2,t3 +40004b5c: 14c0fff2 bnez a2,40004b28 +40004b60: 00000000 nop +40004b64: 080012d4 j 40004b50 +40004b68: 00000000 nop + +40004b6c <_read_r>: +40004b6c: 27bdffe8 addiu sp,sp,-24 +40004b70: afb00010 sw s0,16(sp) +40004b74: 00808021 move s0,a0 +40004b78: 00a02021 move a0,a1 +40004b7c: 00c02821 move a1,a2 +40004b80: 00e03021 move a2,a3 +40004b84: afbf0014 sw ra,20(sp) +40004b88: 0c0002c1 jal 40000b04 +40004b8c: af80802c sw zero,-32724(gp) +40004b90: 2403ffff li v1,-1 +40004b94: 10430005 beq v0,v1,40004bac <_read_r+0x40> +40004b98: 00000000 nop +40004b9c: 8fbf0014 lw ra,20(sp) +40004ba0: 8fb00010 lw s0,16(sp) +40004ba4: 03e00008 jr ra +40004ba8: 27bd0018 addiu sp,sp,24 +40004bac: 8f83802c lw v1,-32724(gp) +40004bb0: 00000000 nop +40004bb4: 1060fff9 beqz v1,40004b9c <_read_r+0x30> +40004bb8: 00000000 nop +40004bbc: 8fbf0014 lw ra,20(sp) +40004bc0: ae030000 sw v1,0(s0) +40004bc4: 8fb00010 lw s0,16(sp) +40004bc8: 03e00008 jr ra +40004bcc: 27bd0018 addiu sp,sp,24 + +40004bd0 <_realloc_r>: +40004bd0: 27bdffc8 addiu sp,sp,-56 +40004bd4: afb40020 sw s4,32(sp) +40004bd8: afb00010 sw s0,16(sp) +40004bdc: afbf0034 sw ra,52(sp) +40004be0: afbe0030 sw s8,48(sp) +40004be4: afb7002c sw s7,44(sp) +40004be8: afb60028 sw s6,40(sp) +40004bec: afb50024 sw s5,36(sp) +40004bf0: afb3001c sw s3,28(sp) +40004bf4: afb20018 sw s2,24(sp) +40004bf8: afb10014 sw s1,20(sp) +40004bfc: 00a08021 move s0,a1 +40004c00: 10a000ad beqz a1,40004eb8 <_realloc_r+0x2e8> +40004c04: 00c0a021 move s4,a2 +40004c08: 0c000d49 jal 40003524 <__malloc_lock> +40004c0c: 0080a821 move s5,a0 +40004c10: 8e03fffc lw v1,-4(s0) +40004c14: 2682000b addiu v0,s4,11 +40004c18: 2411fffc li s1,-4 +40004c1c: 2c440017 sltiu a0,v0,23 +40004c20: 2613fff8 addiu s3,s0,-8 +40004c24: 10800040 beqz a0,40004d28 <_realloc_r+0x158> +40004c28: 00718824 and s1,v1,s1 +40004c2c: 24040010 li a0,16 +40004c30: 24120010 li s2,16 +40004c34: 0254102b sltu v0,s2,s4 +40004c38: 14400040 bnez v0,40004d3c <_realloc_r+0x16c> +40004c3c: 2402000c li v0,12 +40004c40: 0224102a slt v0,s1,a0 +40004c44: 10400040 beqz v0,40004d48 <_realloc_r+0x178> +40004c48: 3c174000 lui s7,0x4000 +40004c4c: 26f77520 addiu s7,s7,29984 +40004c50: 8ee50008 lw a1,8(s7) +40004c54: 02711021 addu v0,s3,s1 +40004c58: 10a200a4 beq a1,v0,40004eec <_realloc_r+0x31c> +40004c5c: 2407fffe li a3,-2 +40004c60: 8c460004 lw a2,4(v0) +40004c64: 00000000 nop +40004c68: 00c73824 and a3,a2,a3 +40004c6c: 00473821 addu a3,v0,a3 +40004c70: 8ce70004 lw a3,4(a3) +40004c74: 00000000 nop +40004c78: 30e70001 andi a3,a3,0x1 +40004c7c: 10e0004d beqz a3,40004db4 <_realloc_r+0x1e4> +40004c80: 2407fffc li a3,-4 +40004c84: 00003021 move a2,zero +40004c88: 00001021 move v0,zero +40004c8c: 30630001 andi v1,v1,0x1 +40004c90: 14600066 bnez v1,40004e2c <_realloc_r+0x25c> +40004c94: 2403fffc li v1,-4 +40004c98: 8e16fff8 lw s6,-8(s0) +40004c9c: 00000000 nop +40004ca0: 0276b023 subu s6,s3,s6 +40004ca4: 8ec70004 lw a3,4(s6) +40004ca8: 104000cc beqz v0,40004fdc <_realloc_r+0x40c> +40004cac: 00e31824 and v1,a3,v1 +40004cb0: 104500cc beq v0,a1,40004fe4 <_realloc_r+0x414> +40004cb4: 00711821 addu v1,v1,s1 +40004cb8: 00c3b821 addu s7,a2,v1 +40004cbc: 02e4282a slt a1,s7,a0 +40004cc0: 14a00056 bnez a1,40004e1c <_realloc_r+0x24c> +40004cc4: 2626fffc addiu a2,s1,-4 +40004cc8: 8c43000c lw v1,12(v0) +40004ccc: 8c420008 lw v0,8(v0) +40004cd0: 00000000 nop +40004cd4: ac43000c sw v1,12(v0) +40004cd8: ac620008 sw v0,8(v1) +40004cdc: 8ec50008 lw a1,8(s6) +40004ce0: 8ec3000c lw v1,12(s6) +40004ce4: 2cc20025 sltiu v0,a2,37 +40004ce8: aca3000c sw v1,12(a1) +40004cec: 26d40008 addiu s4,s6,8 +40004cf0: 104000b3 beqz v0,40004fc0 <_realloc_r+0x3f0> +40004cf4: ac650008 sw a1,8(v1) +40004cf8: 2cc20014 sltiu v0,a2,20 +40004cfc: 14400092 bnez v0,40004f48 <_realloc_r+0x378> +40004d00: 02801821 move v1,s4 +40004d04: 8e030000 lw v1,0(s0) +40004d08: 2cc2001c sltiu v0,a2,28 +40004d0c: aec30008 sw v1,8(s6) +40004d10: 8e030004 lw v1,4(s0) +40004d14: 104000f2 beqz v0,400050e0 <_realloc_r+0x510> +40004d18: aec3000c sw v1,12(s6) +40004d1c: 26c30010 addiu v1,s6,16 +40004d20: 080013d2 j 40004f48 <_realloc_r+0x378> +40004d24: 26100008 addiu s0,s0,8 +40004d28: 2412fff8 li s2,-8 +40004d2c: 00529024 and s2,v0,s2 +40004d30: 0641ffc0 bgez s2,40004c34 <_realloc_r+0x64> +40004d34: 02402021 move a0,s2 +40004d38: 2402000c li v0,12 +40004d3c: aea20000 sw v0,0(s5) +40004d40: 08001361 j 40004d84 <_realloc_r+0x1b4> +40004d44: 00001021 move v0,zero +40004d48: 0200a021 move s4,s0 +40004d4c: 02323023 subu a2,s1,s2 +40004d50: 2cc20010 sltiu v0,a2,16 +40004d54: 10400023 beqz v0,40004de4 <_realloc_r+0x214> +40004d58: 30630001 andi v1,v1,0x1 +40004d5c: 00711825 or v1,v1,s1 +40004d60: ae630004 sw v1,4(s3) +40004d64: 02718821 addu s1,s3,s1 +40004d68: 8e220004 lw v0,4(s1) +40004d6c: 00000000 nop +40004d70: 34420001 ori v0,v0,0x1 +40004d74: ae220004 sw v0,4(s1) +40004d78: 0c000d4b jal 4000352c <__malloc_unlock> +40004d7c: 02a02021 move a0,s5 +40004d80: 02801021 move v0,s4 +40004d84: 8fbf0034 lw ra,52(sp) +40004d88: 8fbe0030 lw s8,48(sp) +40004d8c: 8fb7002c lw s7,44(sp) +40004d90: 8fb60028 lw s6,40(sp) +40004d94: 8fb50024 lw s5,36(sp) +40004d98: 8fb40020 lw s4,32(sp) +40004d9c: 8fb3001c lw s3,28(sp) +40004da0: 8fb20018 lw s2,24(sp) +40004da4: 8fb10014 lw s1,20(sp) +40004da8: 8fb00010 lw s0,16(sp) +40004dac: 03e00008 jr ra +40004db0: 27bd0038 addiu sp,sp,56 +40004db4: 00c73024 and a2,a2,a3 +40004db8: 00d13821 addu a3,a2,s1 +40004dbc: 00e4402a slt t0,a3,a0 +40004dc0: 1500ffb2 bnez t0,40004c8c <_realloc_r+0xbc> +40004dc4: 00000000 nop +40004dc8: 8c44000c lw a0,12(v0) +40004dcc: 8c420008 lw v0,8(v0) +40004dd0: 0200a021 move s4,s0 +40004dd4: ac44000c sw a0,12(v0) +40004dd8: 00e08821 move s1,a3 +40004ddc: 08001353 j 40004d4c <_realloc_r+0x17c> +40004de0: ac820008 sw v0,8(a0) +40004de4: 02722821 addu a1,s3,s2 +40004de8: 34c20001 ori v0,a2,0x1 +40004dec: 00729025 or s2,v1,s2 +40004df0: ae720004 sw s2,4(s3) +40004df4: 00a63021 addu a2,a1,a2 +40004df8: aca20004 sw v0,4(a1) +40004dfc: 8cc20004 lw v0,4(a2) +40004e00: 02a02021 move a0,s5 +40004e04: 34420001 ori v0,v0,0x1 +40004e08: acc20004 sw v0,4(a2) +40004e0c: 0c000932 jal 400024c8 <_free_r> +40004e10: 24a50008 addiu a1,a1,8 +40004e14: 0800135e j 40004d78 <_realloc_r+0x1a8> +40004e18: 00000000 nop +40004e1c: 0060b821 move s7,v1 +40004e20: 02e4202a slt a0,s7,a0 +40004e24: 1080003b beqz a0,40004f14 <_realloc_r+0x344> +40004e28: 00000000 nop +40004e2c: 02802821 move a1,s4 +40004e30: 0c000a51 jal 40002944 <_malloc_r> +40004e34: 02a02021 move a0,s5 +40004e38: 104000d4 beqz v0,4000518c <_realloc_r+0x5bc> +40004e3c: 0040a021 move s4,v0 +40004e40: 8e03fffc lw v1,-4(s0) +40004e44: 2402fffe li v0,-2 +40004e48: 00621024 and v0,v1,v0 +40004e4c: 2684fff8 addiu a0,s4,-8 +40004e50: 02621021 addu v0,s3,v0 +40004e54: 1082009c beq a0,v0,400050c8 <_realloc_r+0x4f8> +40004e58: 2626fffc addiu a2,s1,-4 +40004e5c: 2cc20025 sltiu v0,a2,37 +40004e60: 10400052 beqz v0,40004fac <_realloc_r+0x3dc> +40004e64: 00000000 nop +40004e68: 2cc20014 sltiu v0,a2,20 +40004e6c: 1040002d beqz v0,40004f24 <_realloc_r+0x354> +40004e70: 02801021 move v0,s4 +40004e74: 02001821 move v1,s0 +40004e78: 8c640000 lw a0,0(v1) +40004e7c: 00000000 nop +40004e80: ac440000 sw a0,0(v0) +40004e84: 8c640004 lw a0,4(v1) +40004e88: 00000000 nop +40004e8c: ac440004 sw a0,4(v0) +40004e90: 8c630008 lw v1,8(v1) +40004e94: 00000000 nop +40004e98: ac430008 sw v1,8(v0) +40004e9c: 02a02021 move a0,s5 +40004ea0: 0c000932 jal 400024c8 <_free_r> +40004ea4: 02002821 move a1,s0 +40004ea8: 0c000d4b jal 4000352c <__malloc_unlock> +40004eac: 02a02021 move a0,s5 +40004eb0: 08001361 j 40004d84 <_realloc_r+0x1b4> +40004eb4: 02801021 move v0,s4 +40004eb8: 8fbf0034 lw ra,52(sp) +40004ebc: 8fbe0030 lw s8,48(sp) +40004ec0: 8fb7002c lw s7,44(sp) +40004ec4: 8fb60028 lw s6,40(sp) +40004ec8: 8fb50024 lw s5,36(sp) +40004ecc: 8fb40020 lw s4,32(sp) +40004ed0: 8fb3001c lw s3,28(sp) +40004ed4: 8fb20018 lw s2,24(sp) +40004ed8: 8fb10014 lw s1,20(sp) +40004edc: 8fb00010 lw s0,16(sp) +40004ee0: 00c02821 move a1,a2 +40004ee4: 08000a51 j 40002944 <_malloc_r> +40004ee8: 27bd0038 addiu sp,sp,56 +40004eec: 8ca60004 lw a2,4(a1) +40004ef0: 2402fffc li v0,-4 +40004ef4: 00c23024 and a2,a2,v0 +40004ef8: 00d11021 addu v0,a2,s1 +40004efc: 26470010 addiu a3,s2,16 +40004f00: 0047382a slt a3,v0,a3 +40004f04: 10e0001c beqz a3,40004f78 <_realloc_r+0x3a8> +40004f08: 00000000 nop +40004f0c: 08001323 j 40004c8c <_realloc_r+0xbc> +40004f10: 00a01021 move v0,a1 +40004f14: 8ec3000c lw v1,12(s6) +40004f18: 8ec50008 lw a1,8(s6) +40004f1c: 08001339 j 40004ce4 <_realloc_r+0x114> +40004f20: 2626fffc addiu a2,s1,-4 +40004f24: 8e030000 lw v1,0(s0) +40004f28: 2cc2001c sltiu v0,a2,28 +40004f2c: ae830000 sw v1,0(s4) +40004f30: 8e030004 lw v1,4(s0) +40004f34: 10400058 beqz v0,40005098 <_realloc_r+0x4c8> +40004f38: ae830004 sw v1,4(s4) +40004f3c: 26820008 addiu v0,s4,8 +40004f40: 0800139e j 40004e78 <_realloc_r+0x2a8> +40004f44: 26030008 addiu v1,s0,8 +40004f48: 8e020000 lw v0,0(s0) +40004f4c: 02e08821 move s1,s7 +40004f50: ac620000 sw v0,0(v1) +40004f54: 8e020004 lw v0,4(s0) +40004f58: 00000000 nop +40004f5c: ac620004 sw v0,4(v1) +40004f60: 8e020008 lw v0,8(s0) +40004f64: 00000000 nop +40004f68: ac620008 sw v0,8(v1) +40004f6c: 8ec30004 lw v1,4(s6) +40004f70: 08001353 j 40004d4c <_realloc_r+0x17c> +40004f74: 02c09821 move s3,s6 +40004f78: 00521023 subu v0,v0,s2 +40004f7c: 02729821 addu s3,s3,s2 +40004f80: 34420001 ori v0,v0,0x1 +40004f84: aef30008 sw s3,8(s7) +40004f88: ae620004 sw v0,4(s3) +40004f8c: 8e02fffc lw v0,-4(s0) +40004f90: 02a02021 move a0,s5 +40004f94: 30420001 andi v0,v0,0x1 +40004f98: 02429025 or s2,s2,v0 +40004f9c: 0c000d4b jal 4000352c <__malloc_unlock> +40004fa0: ae12fffc sw s2,-4(s0) +40004fa4: 08001361 j 40004d84 <_realloc_r+0x1b4> +40004fa8: 02001021 move v0,s0 +40004fac: 02802021 move a0,s4 +40004fb0: 0c001288 jal 40004a20 +40004fb4: 02002821 move a1,s0 +40004fb8: 080013a8 j 40004ea0 <_realloc_r+0x2d0> +40004fbc: 02a02021 move a0,s5 +40004fc0: 02802021 move a0,s4 +40004fc4: 0c001288 jal 40004a20 +40004fc8: 02002821 move a1,s0 +40004fcc: 02e08821 move s1,s7 +40004fd0: 8ec30004 lw v1,4(s6) +40004fd4: 08001353 j 40004d4c <_realloc_r+0x17c> +40004fd8: 02c09821 move s3,s6 +40004fdc: 08001388 j 40004e20 <_realloc_r+0x250> +40004fe0: 0071b821 addu s7,v1,s1 +40004fe4: 00c3f021 addu s8,a2,v1 +40004fe8: 26420010 addiu v0,s2,16 +40004fec: 03c2102a slt v0,s8,v0 +40004ff0: 1440ff8a bnez v0,40004e1c <_realloc_r+0x24c> +40004ff4: 2626fffc addiu a2,s1,-4 +40004ff8: 8ec3000c lw v1,12(s6) +40004ffc: 8ec50008 lw a1,8(s6) +40005000: 2cc20025 sltiu v0,a2,37 +40005004: aca3000c sw v1,12(a1) +40005008: 26d10008 addiu s1,s6,8 +4000500c: 1040004e beqz v0,40005148 <_realloc_r+0x578> +40005010: ac650008 sw a1,8(v1) +40005014: 2cc20014 sltiu v0,a2,20 +40005018: 14400009 bnez v0,40005040 <_realloc_r+0x470> +4000501c: 02201821 move v1,s1 +40005020: 8e030000 lw v1,0(s0) +40005024: 2cc2001c sltiu v0,a2,28 +40005028: aec30008 sw v1,8(s6) +4000502c: 8e030004 lw v1,4(s0) +40005030: 1040004a beqz v0,4000515c <_realloc_r+0x58c> +40005034: aec3000c sw v1,12(s6) +40005038: 26c30010 addiu v1,s6,16 +4000503c: 26100008 addiu s0,s0,8 +40005040: 8e020000 lw v0,0(s0) +40005044: 00000000 nop +40005048: ac620000 sw v0,0(v1) +4000504c: 8e020004 lw v0,4(s0) +40005050: 00000000 nop +40005054: ac620004 sw v0,4(v1) +40005058: 8e020008 lw v0,8(s0) +4000505c: 00000000 nop +40005060: ac620008 sw v0,8(v1) +40005064: 03d21023 subu v0,s8,s2 +40005068: 02d21821 addu v1,s6,s2 +4000506c: 34420001 ori v0,v0,0x1 +40005070: aee30008 sw v1,8(s7) +40005074: ac620004 sw v0,4(v1) +40005078: 8ec20004 lw v0,4(s6) +4000507c: 02a02021 move a0,s5 +40005080: 30420001 andi v0,v0,0x1 +40005084: 02429025 or s2,s2,v0 +40005088: 0c000d4b jal 4000352c <__malloc_unlock> +4000508c: aed20004 sw s2,4(s6) +40005090: 08001361 j 40004d84 <_realloc_r+0x1b4> +40005094: 02201021 move v0,s1 +40005098: 8e020008 lw v0,8(s0) +4000509c: 00000000 nop +400050a0: ae820008 sw v0,8(s4) +400050a4: 8e02000c lw v0,12(s0) +400050a8: 00000000 nop +400050ac: ae82000c sw v0,12(s4) +400050b0: 24020024 li v0,36 +400050b4: 10c20016 beq a2,v0,40005110 <_realloc_r+0x540> +400050b8: 00000000 nop +400050bc: 26820010 addiu v0,s4,16 +400050c0: 0800139e j 40004e78 <_realloc_r+0x2a8> +400050c4: 26030010 addiu v1,s0,16 +400050c8: 8e84fffc lw a0,-4(s4) +400050cc: 2402fffc li v0,-4 +400050d0: 00821024 and v0,a0,v0 +400050d4: 02228821 addu s1,s1,v0 +400050d8: 08001353 j 40004d4c <_realloc_r+0x17c> +400050dc: 0200a021 move s4,s0 +400050e0: 8e020008 lw v0,8(s0) +400050e4: 00000000 nop +400050e8: aec20010 sw v0,16(s6) +400050ec: 8e02000c lw v0,12(s0) +400050f0: 00000000 nop +400050f4: aec20014 sw v0,20(s6) +400050f8: 24020024 li v0,36 +400050fc: 10c2000b beq a2,v0,4000512c <_realloc_r+0x55c> +40005100: 00000000 nop +40005104: 26c30018 addiu v1,s6,24 +40005108: 080013d2 j 40004f48 <_realloc_r+0x378> +4000510c: 26100010 addiu s0,s0,16 +40005110: 8e030010 lw v1,16(s0) +40005114: 26820018 addiu v0,s4,24 +40005118: ae830010 sw v1,16(s4) +4000511c: 8e040014 lw a0,20(s0) +40005120: 26030018 addiu v1,s0,24 +40005124: 0800139e j 40004e78 <_realloc_r+0x2a8> +40005128: ae840014 sw a0,20(s4) +4000512c: 8e020010 lw v0,16(s0) +40005130: 26c30020 addiu v1,s6,32 +40005134: aec20018 sw v0,24(s6) +40005138: 8e020014 lw v0,20(s0) +4000513c: 26100018 addiu s0,s0,24 +40005140: 080013d2 j 40004f48 <_realloc_r+0x378> +40005144: aec2001c sw v0,28(s6) +40005148: 02202021 move a0,s1 +4000514c: 0c001288 jal 40004a20 +40005150: 02002821 move a1,s0 +40005154: 0800141a j 40005068 <_realloc_r+0x498> +40005158: 03d21023 subu v0,s8,s2 +4000515c: 8e020008 lw v0,8(s0) +40005160: 00000000 nop +40005164: aec20010 sw v0,16(s6) +40005168: 8e02000c lw v0,12(s0) +4000516c: 00000000 nop +40005170: aec20014 sw v0,20(s6) +40005174: 24020024 li v0,36 +40005178: 10c20008 beq a2,v0,4000519c <_realloc_r+0x5cc> +4000517c: 00000000 nop +40005180: 26c30018 addiu v1,s6,24 +40005184: 08001410 j 40005040 <_realloc_r+0x470> +40005188: 26100010 addiu s0,s0,16 +4000518c: 0c000d4b jal 4000352c <__malloc_unlock> +40005190: 02a02021 move a0,s5 +40005194: 08001361 j 40004d84 <_realloc_r+0x1b4> +40005198: 00001021 move v0,zero +4000519c: 8e020010 lw v0,16(s0) +400051a0: 26c30020 addiu v1,s6,32 +400051a4: aec20018 sw v0,24(s6) +400051a8: 8e020014 lw v0,20(s0) +400051ac: 26100018 addiu s0,s0,24 +400051b0: 08001410 j 40005040 <_realloc_r+0x470> +400051b4: aec2001c sw v0,28(s6) + +400051b8 <__swsetup_r>: +400051b8: 8f828010 lw v0,-32752(gp) +400051bc: 27bdffe0 addiu sp,sp,-32 +400051c0: afb10018 sw s1,24(sp) +400051c4: afb00014 sw s0,20(sp) +400051c8: afbf001c sw ra,28(sp) +400051cc: 00808821 move s1,a0 +400051d0: 10400005 beqz v0,400051e8 <__swsetup_r+0x30> +400051d4: 00a08021 move s0,a1 +400051d8: 8c430038 lw v1,56(v0) +400051dc: 00000000 nop +400051e0: 1060003d beqz v1,400052d8 <__swsetup_r+0x120> +400051e4: 00000000 nop +400051e8: 8606000c lh a2,12(s0) +400051ec: 00000000 nop +400051f0: 30c2ffff andi v0,a2,0xffff +400051f4: 30430008 andi v1,v0,0x8 +400051f8: 10600015 beqz v1,40005250 <__swsetup_r+0x98> +400051fc: 30430010 andi v1,v0,0x10 +40005200: 8e030010 lw v1,16(s0) +40005204: 00000000 nop +40005208: 1060001b beqz v1,40005278 <__swsetup_r+0xc0> +4000520c: 00000000 nop +40005210: 30440001 andi a0,v0,0x1 +40005214: 14800022 bnez a0,400052a0 <__swsetup_r+0xe8> +40005218: 30420002 andi v0,v0,0x2 +4000521c: 14400032 bnez v0,400052e8 <__swsetup_r+0x130> +40005220: 00001021 move v0,zero +40005224: 8e020014 lw v0,20(s0) +40005228: 00000000 nop +4000522c: ae020008 sw v0,8(s0) +40005230: 10600020 beqz v1,400052b4 <__swsetup_r+0xfc> +40005234: 00000000 nop +40005238: 00001021 move v0,zero +4000523c: 8fbf001c lw ra,28(sp) +40005240: 8fb10018 lw s1,24(sp) +40005244: 8fb00014 lw s0,20(sp) +40005248: 03e00008 jr ra +4000524c: 27bd0020 addiu sp,sp,32 +40005250: 10600038 beqz v1,40005334 <__swsetup_r+0x17c> +40005254: 00000000 nop +40005258: 30420004 andi v0,v0,0x4 +4000525c: 14400024 bnez v0,400052f0 <__swsetup_r+0x138> +40005260: 00000000 nop +40005264: 8e030010 lw v1,16(s0) +40005268: 34c20008 ori v0,a2,0x8 +4000526c: a602000c sh v0,12(s0) +40005270: 1460ffe7 bnez v1,40005210 <__swsetup_r+0x58> +40005274: 3042ffff andi v0,v0,0xffff +40005278: 30450280 andi a1,v0,0x280 +4000527c: 24040200 li a0,512 +40005280: 10a4ffe3 beq a1,a0,40005210 <__swsetup_r+0x58> +40005284: 02202021 move a0,s1 +40005288: 0c00121a jal 40004868 <__smakebuf_r> +4000528c: 02002821 move a1,s0 +40005290: 9602000c lhu v0,12(s0) +40005294: 8e030010 lw v1,16(s0) +40005298: 08001485 j 40005214 <__swsetup_r+0x5c> +4000529c: 30440001 andi a0,v0,0x1 +400052a0: 8e020014 lw v0,20(s0) +400052a4: ae000008 sw zero,8(s0) +400052a8: 00021023 negu v0,v0 +400052ac: 1460ffe2 bnez v1,40005238 <__swsetup_r+0x80> +400052b0: ae020018 sw v0,24(s0) +400052b4: 8603000c lh v1,12(s0) +400052b8: 00000000 nop +400052bc: 30640080 andi a0,v1,0x80 +400052c0: 1080ffde beqz a0,4000523c <__swsetup_r+0x84> +400052c4: 00001021 move v0,zero +400052c8: 34630040 ori v1,v1,0x40 +400052cc: a603000c sh v1,12(s0) +400052d0: 0800148f j 4000523c <__swsetup_r+0x84> +400052d4: 2402ffff li v0,-1 +400052d8: 0c000825 jal 40002094 <__sinit> +400052dc: 00402021 move a0,v0 +400052e0: 0800147a j 400051e8 <__swsetup_r+0x30> +400052e4: 00000000 nop +400052e8: 0800148c j 40005230 <__swsetup_r+0x78> +400052ec: ae020008 sw v0,8(s0) +400052f0: 8e050030 lw a1,48(s0) +400052f4: 00000000 nop +400052f8: 10a00008 beqz a1,4000531c <__swsetup_r+0x164> +400052fc: 00000000 nop +40005300: 26020040 addiu v0,s0,64 +40005304: 10a20004 beq a1,v0,40005318 <__swsetup_r+0x160> +40005308: 00000000 nop +4000530c: 0c000932 jal 400024c8 <_free_r> +40005310: 02202021 move a0,s1 +40005314: 8606000c lh a2,12(s0) +40005318: ae000030 sw zero,48(s0) +4000531c: 8e030010 lw v1,16(s0) +40005320: 2402ffdb li v0,-37 +40005324: 00c23024 and a2,a2,v0 +40005328: ae000004 sw zero,4(s0) +4000532c: 0800149a j 40005268 <__swsetup_r+0xb0> +40005330: ae030000 sw v1,0(s0) +40005334: 24020009 li v0,9 +40005338: 34c60040 ori a2,a2,0x40 +4000533c: ae220000 sw v0,0(s1) +40005340: 2402ffff li v0,-1 +40005344: 0800148f j 4000523c <__swsetup_r+0x84> +40005348: a606000c sh a2,12(s0) + +4000534c <_fstat_r>: +4000534c: 27bdffe8 addiu sp,sp,-24 +40005350: afb00010 sw s0,16(sp) +40005354: 00808021 move s0,a0 +40005358: 00a02021 move a0,a1 +4000535c: 00c02821 move a1,a2 +40005360: afbf0014 sw ra,20(sp) +40005364: 0c0002a6 jal 40000a98 +40005368: af80802c sw zero,-32724(gp) +4000536c: 2403ffff li v1,-1 +40005370: 10430005 beq v0,v1,40005388 <_fstat_r+0x3c> +40005374: 00000000 nop +40005378: 8fbf0014 lw ra,20(sp) +4000537c: 8fb00010 lw s0,16(sp) +40005380: 03e00008 jr ra +40005384: 27bd0018 addiu sp,sp,24 +40005388: 8f83802c lw v1,-32724(gp) +4000538c: 00000000 nop +40005390: 1060fff9 beqz v1,40005378 <_fstat_r+0x2c> +40005394: 00000000 nop +40005398: 8fbf0014 lw ra,20(sp) +4000539c: ae030000 sw v1,0(s0) +400053a0: 8fb00010 lw s0,16(sp) +400053a4: 03e00008 jr ra +400053a8: 27bd0018 addiu sp,sp,24 + +400053ac <_isatty_r>: +400053ac: 27bdffe8 addiu sp,sp,-24 +400053b0: afb00010 sw s0,16(sp) +400053b4: 00808021 move s0,a0 +400053b8: 00a02021 move a0,a1 +400053bc: afbf0014 sw ra,20(sp) +400053c0: 0c00032b jal 40000cac +400053c4: af80802c sw zero,-32724(gp) +400053c8: 2403ffff li v1,-1 +400053cc: 10430005 beq v0,v1,400053e4 <_isatty_r+0x38> +400053d0: 00000000 nop +400053d4: 8fbf0014 lw ra,20(sp) +400053d8: 8fb00010 lw s0,16(sp) +400053dc: 03e00008 jr ra +400053e0: 27bd0018 addiu sp,sp,24 +400053e4: 8f83802c lw v1,-32724(gp) +400053e8: 00000000 nop +400053ec: 1060fff9 beqz v1,400053d4 <_isatty_r+0x28> +400053f0: 00000000 nop +400053f4: 8fbf0014 lw ra,20(sp) +400053f8: ae030000 sw v1,0(s0) +400053fc: 8fb00010 lw s0,16(sp) +40005400: 03e00008 jr ra +40005404: 27bd0018 addiu sp,sp,24 + +40005408 <__fixunsdfsi>: +40005408: 27bdffe0 addiu sp,sp,-32 +4000540c: afb20018 sw s2,24(sp) +40005410: 3c124000 lui s2,0x4000 +40005414: 8e4767fc lw a3,26620(s2) +40005418: 8e4667f8 lw a2,26616(s2) +4000541c: afb10014 sw s1,20(sp) +40005420: afb00010 sw s0,16(sp) +40005424: afbf001c sw ra,28(sp) +40005428: 00a08821 move s1,a1 +4000542c: 0c00164c jal 40005930 <__gedf2> +40005430: 00808021 move s0,a0 +40005434: 04410009 bgez v0,4000545c <__fixunsdfsi+0x54> +40005438: 02202821 move a1,s1 +4000543c: 0c00166a jal 400059a8 <__fixdfsi> +40005440: 02002021 move a0,s0 +40005444: 8fbf001c lw ra,28(sp) +40005448: 8fb20018 lw s2,24(sp) +4000544c: 8fb10014 lw s1,20(sp) +40005450: 8fb00010 lw s0,16(sp) +40005454: 03e00008 jr ra +40005458: 27bd0020 addiu sp,sp,32 +4000545c: 8e4767fc lw a3,26620(s2) +40005460: 8e4667f8 lw a2,26616(s2) +40005464: 0c001633 jal 400058cc <__subdf3> +40005468: 02002021 move a0,s0 +4000546c: 00602821 move a1,v1 +40005470: 0c00166a jal 400059a8 <__fixdfsi> +40005474: 00402021 move a0,v0 +40005478: 8fbf001c lw ra,28(sp) +4000547c: 3c038000 lui v1,0x8000 +40005480: 8fb20018 lw s2,24(sp) +40005484: 8fb10014 lw s1,20(sp) +40005488: 8fb00010 lw s0,16(sp) +4000548c: 00431021 addu v0,v0,v1 +40005490: 03e00008 jr ra +40005494: 27bd0020 addiu sp,sp,32 + +40005498 <_fpadd_parts>: +40005498: 8c870000 lw a3,0(a0) +4000549c: 00000000 nop +400054a0: 2ce20002 sltiu v0,a3,2 +400054a4: 1440008c bnez v0,400056d8 <_fpadd_parts+0x240> +400054a8: 00000000 nop +400054ac: 8ca30000 lw v1,0(a1) +400054b0: 00000000 nop +400054b4: 2c620002 sltiu v0,v1,2 +400054b8: 144000ec bnez v0,4000586c <_fpadd_parts+0x3d4> +400054bc: 00a01021 move v0,a1 +400054c0: 24020004 li v0,4 +400054c4: 10e200df beq a3,v0,40005844 <_fpadd_parts+0x3ac> +400054c8: 00000000 nop +400054cc: 106200e7 beq v1,v0,4000586c <_fpadd_parts+0x3d4> +400054d0: 00a01021 move v0,a1 +400054d4: 24020002 li v0,2 +400054d8: 1062007d beq v1,v0,400056d0 <_fpadd_parts+0x238> +400054dc: 00000000 nop +400054e0: 10e200e2 beq a3,v0,4000586c <_fpadd_parts+0x3d4> +400054e4: 00a01021 move v0,a1 +400054e8: 8c880008 lw t0,8(a0) +400054ec: 8caa0008 lw t2,8(a1) +400054f0: 8c8d0010 lw t5,16(a0) +400054f4: 010a1023 subu v0,t0,t2 +400054f8: 8c8c0014 lw t4,20(a0) +400054fc: 8cab0010 lw t3,16(a1) +40005500: 8ca70014 lw a3,20(a1) +40005504: 04400079 bltz v0,400056ec <_fpadd_parts+0x254> +40005508: 00404821 move t1,v0 +4000550c: 29230040 slti v1,t1,64 +40005510: 10600022 beqz v1,4000559c <_fpadd_parts+0x104> +40005514: 00000000 nop +40005518: 184000a7 blez v0,400057b8 <_fpadd_parts+0x320> +4000551c: 00000000 nop +40005520: 31220020 andi v0,t1,0x20 +40005524: 10400077 beqz v0,40005704 <_fpadd_parts+0x26c> +40005528: 00091827 nor v1,zero,t1 +4000552c: 240a0001 li t2,1 +40005530: 012b1806 srlv v1,t3,t1 +40005534: 012a5004 sllv t2,t2,t1 +40005538: 00007021 move t6,zero +4000553c: 00004821 move t1,zero +40005540: 2522ffff addiu v0,t1,-1 +40005544: 0049482b sltu t1,v0,t1 +40005548: 254affff addiu t2,t2,-1 +4000554c: 012a4821 addu t1,t1,t2 +40005550: 012b5824 and t3,t1,t3 +40005554: 00471024 and v0,v0,a3 +40005558: 01623825 or a3,t3,v0 +4000555c: 0007382b sltu a3,zero,a3 +40005560: 00e33825 or a3,a3,v1 +40005564: 8c820004 lw v0,4(a0) +40005568: 8ca30004 lw v1,4(a1) +4000556c: 00000000 nop +40005570: 14430015 bne v0,v1,400055c8 <_fpadd_parts+0x130> +40005574: 01c05821 move t3,t6 +40005578: 00ec1821 addu v1,a3,t4 +4000557c: 0067282b sltu a1,v1,a3 +40005580: 016d5821 addu t3,t3,t5 +40005584: 00ab2821 addu a1,a1,t3 +40005588: acc20004 sw v0,4(a2) +4000558c: acc80008 sw t0,8(a2) +40005590: acc50010 sw a1,16(a2) +40005594: 080015a2 j 40005688 <_fpadd_parts+0x1f0> +40005598: acc30014 sw v1,20(a2) +4000559c: 0148102a slt v0,t2,t0 +400055a0: 1440004f bnez v0,400056e0 <_fpadd_parts+0x248> +400055a4: 00000000 nop +400055a8: 01404021 move t0,t2 +400055ac: 00006821 move t5,zero +400055b0: 00006021 move t4,zero +400055b4: 8c820004 lw v0,4(a0) +400055b8: 8ca30004 lw v1,4(a1) +400055bc: 00000000 nop +400055c0: 1043ffee beq v0,v1,4000557c <_fpadd_parts+0xe4> +400055c4: 00ec1821 addu v1,a3,t4 +400055c8: 1040005b beqz v0,40005738 <_fpadd_parts+0x2a0> +400055cc: 01871823 subu v1,t4,a3 +400055d0: 00ec1823 subu v1,a3,t4 +400055d4: 00e3382b sltu a3,a3,v1 +400055d8: 016d2823 subu a1,t3,t5 +400055dc: 00a72823 subu a1,a1,a3 +400055e0: 04a0005a bltz a1,4000574c <_fpadd_parts+0x2b4> +400055e4: 00000000 nop +400055e8: acc00004 sw zero,4(a2) +400055ec: acc80008 sw t0,8(a2) +400055f0: acc50010 sw a1,16(a2) +400055f4: acc30014 sw v1,20(a2) +400055f8: 2467ffff addiu a3,v1,-1 +400055fc: 00e3202b sltu a0,a3,v1 +40005600: 24a2ffff addiu v0,a1,-1 +40005604: 00821021 addu v0,a0,v0 +40005608: 3c041000 lui a0,0x1000 +4000560c: 0044402b sltu t0,v0,a0 +40005610: 1100001d beqz t0,40005688 <_fpadd_parts+0x1f0> +40005614: 2484ffff addiu a0,a0,-1 +40005618: 1044007b beq v0,a0,40005808 <_fpadd_parts+0x370> +4000561c: 00000000 nop +40005620: 8cc80008 lw t0,8(a2) +40005624: 3c021000 lui v0,0x1000 +40005628: 2508ffff addiu t0,t0,-1 +4000562c: 00a03821 move a3,a1 +40005630: 08001590 j 40005640 <_fpadd_parts+0x1a8> +40005634: 244dffff addiu t5,v0,-1 +40005638: 112d003b beq t1,t5,40005728 <_fpadd_parts+0x290> +4000563c: 2d6bffff sltiu t3,t3,-1 +40005640: 00034fc2 srl t1,v1,0x1f +40005644: 00035040 sll t2,v1,0x1 +40005648: 00072840 sll a1,a3,0x1 +4000564c: 01252825 or a1,t1,a1 +40005650: 254bffff addiu t3,t2,-1 +40005654: 016a602b sltu t4,t3,t2 +40005658: 24a9ffff addiu t1,a1,-1 +4000565c: 01894821 addu t1,t4,t1 +40005660: 0122602b sltu t4,t1,v0 +40005664: 01002021 move a0,t0 +40005668: 01401821 move v1,t2 +4000566c: 00a03821 move a3,a1 +40005670: 1580fff1 bnez t4,40005638 <_fpadd_parts+0x1a0> +40005674: 2508ffff addiu t0,t0,-1 +40005678: acc50010 sw a1,16(a2) +4000567c: acca0014 sw t2,20(a2) +40005680: acc40008 sw a0,8(a2) +40005684: 01401821 move v1,t2 +40005688: 3c022000 lui v0,0x2000 +4000568c: 24040003 li a0,3 +40005690: 00a2102b sltu v0,a1,v0 +40005694: 1440000c bnez v0,400056c8 <_fpadd_parts+0x230> +40005698: acc40000 sw a0,0(a2) +4000569c: 8cc40008 lw a0,8(a2) +400056a0: 00053fc0 sll a3,a1,0x1f +400056a4: 00031042 srl v0,v1,0x1 +400056a8: 00e21025 or v0,a3,v0 +400056ac: 30630001 andi v1,v1,0x1 +400056b0: 00052842 srl a1,a1,0x1 +400056b4: 00621025 or v0,v1,v0 +400056b8: 24840001 addiu a0,a0,1 +400056bc: acc50010 sw a1,16(a2) +400056c0: acc20014 sw v0,20(a2) +400056c4: acc40008 sw a0,8(a2) +400056c8: 03e00008 jr ra +400056cc: 00c01021 move v0,a2 +400056d0: 10e30028 beq a3,v1,40005774 <_fpadd_parts+0x2dc> +400056d4: 00000000 nop +400056d8: 03e00008 jr ra +400056dc: 00801021 move v0,a0 +400056e0: 00005821 move t3,zero +400056e4: 0800156d j 400055b4 <_fpadd_parts+0x11c> +400056e8: 00003821 move a3,zero +400056ec: 00024823 negu t1,v0 +400056f0: 29230040 slti v1,t1,64 +400056f4: 1060ffa9 beqz v1,4000559c <_fpadd_parts+0x104> +400056f8: 00000000 nop +400056fc: 08001546 j 40005518 <_fpadd_parts+0x80> +40005700: 00000000 nop +40005704: 000b1040 sll v0,t3,0x1 +40005708: 00621004 sllv v0,v0,v1 +4000570c: 01271806 srlv v1,a3,t1 +40005710: 00431825 or v1,v0,v1 +40005714: 24020001 li v0,1 +40005718: 012b7006 srlv t6,t3,t1 +4000571c: 00005021 move t2,zero +40005720: 08001550 j 40005540 <_fpadd_parts+0xa8> +40005724: 01224804 sllv t1,v0,t1 +40005728: 1560ffc5 bnez t3,40005640 <_fpadd_parts+0x1a8> +4000572c: 00000000 nop +40005730: 0800159f j 4000567c <_fpadd_parts+0x1e4> +40005734: acc50010 sw a1,16(a2) +40005738: 0183602b sltu t4,t4,v1 +4000573c: 01ab2823 subu a1,t5,t3 +40005740: 00ac2823 subu a1,a1,t4 +40005744: 04a1ffa8 bgez a1,400055e8 <_fpadd_parts+0x150> +40005748: 00000000 nop +4000574c: 00031823 negu v1,v1 +40005750: 0003102b sltu v0,zero,v1 +40005754: 00052823 negu a1,a1 +40005758: 00a22823 subu a1,a1,v0 +4000575c: 24020001 li v0,1 +40005760: acc20004 sw v0,4(a2) +40005764: acc80008 sw t0,8(a2) +40005768: acc50010 sw a1,16(a2) +4000576c: 0800157e j 400055f8 <_fpadd_parts+0x160> +40005770: acc30014 sw v1,20(a2) +40005774: 8c820004 lw v0,4(a0) +40005778: 8c8a0008 lw t2,8(a0) +4000577c: 8c89000c lw t1,12(a0) +40005780: 8c880010 lw t0,16(a0) +40005784: 8c830014 lw v1,20(a0) +40005788: acc20004 sw v0,4(a2) +4000578c: acc70000 sw a3,0(a2) +40005790: 8ca50004 lw a1,4(a1) +40005794: 8c820004 lw v0,4(a0) +40005798: acca0008 sw t2,8(a2) +4000579c: 00a21024 and v0,a1,v0 +400057a0: acc20004 sw v0,4(a2) +400057a4: acc9000c sw t1,12(a2) +400057a8: acc80010 sw t0,16(a2) +400057ac: acc30014 sw v1,20(a2) +400057b0: 03e00008 jr ra +400057b4: 00c01021 move v0,a2 +400057b8: 1040ff7e beqz v0,400055b4 <_fpadd_parts+0x11c> +400057bc: 31220020 andi v0,t1,0x20 +400057c0: 10400016 beqz v0,4000581c <_fpadd_parts+0x384> +400057c4: 01094021 addu t0,t0,t1 +400057c8: 240e0001 li t6,1 +400057cc: 012d1006 srlv v0,t5,t1 +400057d0: 012e7004 sllv t6,t6,t1 +400057d4: 00005021 move t2,zero +400057d8: 00004821 move t1,zero +400057dc: 2523ffff addiu v1,t1,-1 +400057e0: 0069482b sltu t1,v1,t1 +400057e4: 25ceffff addiu t6,t6,-1 +400057e8: 012e4821 addu t1,t1,t6 +400057ec: 012d6824 and t5,t1,t5 +400057f0: 006c1824 and v1,v1,t4 +400057f4: 01a36025 or t4,t5,v1 +400057f8: 000c602b sltu t4,zero,t4 +400057fc: 01406821 move t5,t2 +40005800: 0800156d j 400055b4 <_fpadd_parts+0x11c> +40005804: 01826025 or t4,t4,v0 +40005808: 2ce7ffff sltiu a3,a3,-1 +4000580c: 14e0ff84 bnez a3,40005620 <_fpadd_parts+0x188> +40005810: 00000000 nop +40005814: 080015a3 j 4000568c <_fpadd_parts+0x1f4> +40005818: 3c022000 lui v0,0x2000 +4000581c: 00091027 nor v0,zero,t1 +40005820: 000d1840 sll v1,t5,0x1 +40005824: 00431804 sllv v1,v1,v0 +40005828: 012c1006 srlv v0,t4,t1 +4000582c: 00621025 or v0,v1,v0 +40005830: 24030001 li v1,1 +40005834: 012d5006 srlv t2,t5,t1 +40005838: 00007021 move t6,zero +4000583c: 080015f7 j 400057dc <_fpadd_parts+0x344> +40005840: 01234804 sllv t1,v1,t1 +40005844: 14670009 bne v1,a3,4000586c <_fpadd_parts+0x3d4> +40005848: 00801021 move v0,a0 +4000584c: 8c840004 lw a0,4(a0) +40005850: 8ca30004 lw v1,4(a1) +40005854: 00000000 nop +40005858: 10830004 beq a0,v1,4000586c <_fpadd_parts+0x3d4> +4000585c: 00000000 nop +40005860: 3c024000 lui v0,0x4000 +40005864: 03e00008 jr ra +40005868: 24426800 addiu v0,v0,26624 +4000586c: 03e00008 jr ra +40005870: 00000000 nop + +40005874 <__adddf3>: +40005874: 27bdff90 addiu sp,sp,-112 +40005878: afa50064 sw a1,100(sp) +4000587c: afa40060 sw a0,96(sp) +40005880: 27a50040 addiu a1,sp,64 +40005884: 27a40060 addiu a0,sp,96 +40005888: afbf006c sw ra,108(sp) +4000588c: afa7005c sw a3,92(sp) +40005890: 0c0017ab jal 40005eac <__unpack_d> +40005894: afa60058 sw a2,88(sp) +40005898: 27a50028 addiu a1,sp,40 +4000589c: 0c0017ab jal 40005eac <__unpack_d> +400058a0: 27a40058 addiu a0,sp,88 +400058a4: 27a40040 addiu a0,sp,64 +400058a8: 27a50028 addiu a1,sp,40 +400058ac: 0c001526 jal 40005498 <_fpadd_parts> +400058b0: 27a60010 addiu a2,sp,16 +400058b4: 0c00171d jal 40005c74 <__pack_d> +400058b8: 00402021 move a0,v0 +400058bc: 8fbf006c lw ra,108(sp) +400058c0: 00000000 nop +400058c4: 03e00008 jr ra +400058c8: 27bd0070 addiu sp,sp,112 + +400058cc <__subdf3>: +400058cc: 27bdff90 addiu sp,sp,-112 +400058d0: afa50064 sw a1,100(sp) +400058d4: afa40060 sw a0,96(sp) +400058d8: 27a50040 addiu a1,sp,64 +400058dc: 27a40060 addiu a0,sp,96 +400058e0: afbf006c sw ra,108(sp) +400058e4: afa7005c sw a3,92(sp) +400058e8: 0c0017ab jal 40005eac <__unpack_d> +400058ec: afa60058 sw a2,88(sp) +400058f0: 27a50028 addiu a1,sp,40 +400058f4: 0c0017ab jal 40005eac <__unpack_d> +400058f8: 27a40058 addiu a0,sp,88 +400058fc: 8fa2002c lw v0,44(sp) +40005900: 27a40040 addiu a0,sp,64 +40005904: 27a50028 addiu a1,sp,40 +40005908: 27a60010 addiu a2,sp,16 +4000590c: 38420001 xori v0,v0,0x1 +40005910: 0c001526 jal 40005498 <_fpadd_parts> +40005914: afa2002c sw v0,44(sp) +40005918: 0c00171d jal 40005c74 <__pack_d> +4000591c: 00402021 move a0,v0 +40005920: 8fbf006c lw ra,108(sp) +40005924: 00000000 nop +40005928: 03e00008 jr ra +4000592c: 27bd0070 addiu sp,sp,112 + +40005930 <__gedf2>: +40005930: 27bdffa8 addiu sp,sp,-88 +40005934: afa5004c sw a1,76(sp) +40005938: afa40048 sw a0,72(sp) +4000593c: 27a50028 addiu a1,sp,40 +40005940: 27a40048 addiu a0,sp,72 +40005944: afbf0054 sw ra,84(sp) +40005948: afa70044 sw a3,68(sp) +4000594c: 0c0017ab jal 40005eac <__unpack_d> +40005950: afa60040 sw a2,64(sp) +40005954: 27a40040 addiu a0,sp,64 +40005958: 0c0017ab jal 40005eac <__unpack_d> +4000595c: 27a50010 addiu a1,sp,16 +40005960: 8fa20028 lw v0,40(sp) +40005964: 00000000 nop +40005968: 2c420002 sltiu v0,v0,2 +4000596c: 14400008 bnez v0,40005990 <__gedf2+0x60> +40005970: 2402ffff li v0,-1 +40005974: 8fa20010 lw v0,16(sp) +40005978: 00000000 nop +4000597c: 2c420002 sltiu v0,v0,2 +40005980: 14400007 bnez v0,400059a0 <__gedf2+0x70> +40005984: 27a40028 addiu a0,sp,40 +40005988: 0c0017ea jal 40005fa8 <__fpcmp_parts_d> +4000598c: 27a50010 addiu a1,sp,16 +40005990: 8fbf0054 lw ra,84(sp) +40005994: 00000000 nop +40005998: 03e00008 jr ra +4000599c: 27bd0058 addiu sp,sp,88 +400059a0: 08001664 j 40005990 <__gedf2+0x60> +400059a4: 2402ffff li v0,-1 + +400059a8 <__fixdfsi>: +400059a8: 27bdffc8 addiu sp,sp,-56 +400059ac: afa5002c sw a1,44(sp) +400059b0: afa40028 sw a0,40(sp) +400059b4: 27a50010 addiu a1,sp,16 +400059b8: afbf0034 sw ra,52(sp) +400059bc: 0c0017ab jal 40005eac <__unpack_d> +400059c0: 27a40028 addiu a0,sp,40 +400059c4: 8fa20010 lw v0,16(sp) +400059c8: 00000000 nop +400059cc: 2c430003 sltiu v1,v0,3 +400059d0: 1460002e bnez v1,40005a8c <__fixdfsi+0xe4> +400059d4: 24030004 li v1,4 +400059d8: 10430007 beq v0,v1,400059f8 <__fixdfsi+0x50> +400059dc: 00000000 nop +400059e0: 8fa20018 lw v0,24(sp) +400059e4: 00000000 nop +400059e8: 04400028 bltz v0,40005a8c <__fixdfsi+0xe4> +400059ec: 2843001f slti v1,v0,31 +400059f0: 1460000a bnez v1,40005a1c <__fixdfsi+0x74> +400059f4: 2403003c li v1,60 +400059f8: 8fa20014 lw v0,20(sp) +400059fc: 00000000 nop +40005a00: 1440001e bnez v0,40005a7c <__fixdfsi+0xd4> +40005a04: 3c027fff lui v0,0x7fff +40005a08: 3442ffff ori v0,v0,0xffff +40005a0c: 8fbf0034 lw ra,52(sp) +40005a10: 00000000 nop +40005a14: 03e00008 jr ra +40005a18: 27bd0038 addiu sp,sp,56 +40005a1c: 00621023 subu v0,v1,v0 +40005a20: 30430020 andi v1,v0,0x20 +40005a24: 1060000c beqz v1,40005a58 <__fixdfsi+0xb0> +40005a28: 00022027 nor a0,zero,v0 +40005a2c: 8fa30020 lw v1,32(sp) +40005a30: 00000000 nop +40005a34: 00431006 srlv v0,v1,v0 +40005a38: 8fa30014 lw v1,20(sp) +40005a3c: 00000000 nop +40005a40: 1060fff2 beqz v1,40005a0c <__fixdfsi+0x64> +40005a44: 00000000 nop +40005a48: 8fbf0034 lw ra,52(sp) +40005a4c: 00021023 negu v0,v0 +40005a50: 03e00008 jr ra +40005a54: 27bd0038 addiu sp,sp,56 +40005a58: 8fa30020 lw v1,32(sp) +40005a5c: 00000000 nop +40005a60: 00031840 sll v1,v1,0x1 +40005a64: 00831804 sllv v1,v1,a0 +40005a68: 8fa40024 lw a0,36(sp) +40005a6c: 00000000 nop +40005a70: 00441006 srlv v0,a0,v0 +40005a74: 0800168e j 40005a38 <__fixdfsi+0x90> +40005a78: 00621025 or v0,v1,v0 +40005a7c: 8fbf0034 lw ra,52(sp) +40005a80: 3c028000 lui v0,0x8000 +40005a84: 03e00008 jr ra +40005a88: 27bd0038 addiu sp,sp,56 +40005a8c: 8fbf0034 lw ra,52(sp) +40005a90: 00001021 move v0,zero +40005a94: 03e00008 jr ra +40005a98: 27bd0038 addiu sp,sp,56 + +40005a9c <__floatunsidf>: +40005a9c: 27bdffd0 addiu sp,sp,-48 +40005aa0: afb00028 sw s0,40(sp) +40005aa4: afbf002c sw ra,44(sp) +40005aa8: 00808021 move s0,a0 +40005aac: 10800019 beqz a0,40005b14 <__floatunsidf+0x78> +40005ab0: afa00014 sw zero,20(sp) +40005ab4: 24020003 li v0,3 +40005ab8: afa20010 sw v0,16(sp) +40005abc: 2402003c li v0,60 +40005ac0: 0c0016f1 jal 40005bc4 <__clzsi2> +40005ac4: afa20018 sw v0,24(sp) +40005ac8: 2443001d addiu v1,v0,29 +40005acc: 0460001f bltz v1,40005b4c <__floatunsidf+0xb0> +40005ad0: 00000000 nop +40005ad4: 10600033 beqz v1,40005ba4 <__floatunsidf+0x108> +40005ad8: 30640020 andi a0,v1,0x20 +40005adc: 10800015 beqz a0,40005b34 <__floatunsidf+0x98> +40005ae0: 00102842 srl a1,s0,0x1 +40005ae4: 00708004 sllv s0,s0,v1 +40005ae8: afb00020 sw s0,32(sp) +40005aec: afa00024 sw zero,36(sp) +40005af0: 2403001f li v1,31 +40005af4: 00621023 subu v0,v1,v0 +40005af8: 27a40010 addiu a0,sp,16 +40005afc: 0c00171d jal 40005c74 <__pack_d> +40005b00: afa20018 sw v0,24(sp) +40005b04: 8fbf002c lw ra,44(sp) +40005b08: 8fb00028 lw s0,40(sp) +40005b0c: 03e00008 jr ra +40005b10: 27bd0030 addiu sp,sp,48 +40005b14: 24020002 li v0,2 +40005b18: afa20010 sw v0,16(sp) +40005b1c: 0c00171d jal 40005c74 <__pack_d> +40005b20: 27a40010 addiu a0,sp,16 +40005b24: 8fbf002c lw ra,44(sp) +40005b28: 8fb00028 lw s0,40(sp) +40005b2c: 03e00008 jr ra +40005b30: 27bd0030 addiu sp,sp,48 +40005b34: 00032027 nor a0,zero,v1 +40005b38: 00852006 srlv a0,a1,a0 +40005b3c: 00708004 sllv s0,s0,v1 +40005b40: afa40020 sw a0,32(sp) +40005b44: 080016bc j 40005af0 <__floatunsidf+0x54> +40005b48: afb00024 sw s0,36(sp) +40005b4c: 00031823 negu v1,v1 +40005b50: 30640020 andi a0,v1,0x20 +40005b54: 10800018 beqz a0,40005bb8 <__floatunsidf+0x11c> +40005b58: 00000000 nop +40005b5c: 00002821 move a1,zero +40005b60: 24a5ffff addiu a1,a1,-1 +40005b64: 00b02824 and a1,a1,s0 +40005b68: 10800011 beqz a0,40005bb0 <__floatunsidf+0x114> +40005b6c: 0005282b sltu a1,zero,a1 +40005b70: 00001821 move v1,zero +40005b74: 2404001f li a0,31 +40005b78: 00821023 subu v0,a0,v0 +40005b7c: 00a31825 or v1,a1,v1 +40005b80: 27a40010 addiu a0,sp,16 +40005b84: afa00020 sw zero,32(sp) +40005b88: afa30024 sw v1,36(sp) +40005b8c: 0c00171d jal 40005c74 <__pack_d> +40005b90: afa20018 sw v0,24(sp) +40005b94: 8fbf002c lw ra,44(sp) +40005b98: 8fb00028 lw s0,40(sp) +40005b9c: 03e00008 jr ra +40005ba0: 27bd0030 addiu sp,sp,48 +40005ba4: afa00020 sw zero,32(sp) +40005ba8: 080016c7 j 40005b1c <__floatunsidf+0x80> +40005bac: afb00024 sw s0,36(sp) +40005bb0: 080016dd j 40005b74 <__floatunsidf+0xd8> +40005bb4: 00701806 srlv v1,s0,v1 +40005bb8: 24050001 li a1,1 +40005bbc: 080016d8 j 40005b60 <__floatunsidf+0xc4> +40005bc0: 00652804 sllv a1,a1,v1 + +40005bc4 <__clzsi2>: +40005bc4: 3c020001 lui v0,0x1 +40005bc8: 0082102b sltu v0,a0,v0 +40005bcc: 1040000c beqz v0,40005c00 <__clzsi2+0x3c> +40005bd0: 3c020100 lui v0,0x100 +40005bd4: 2c820100 sltiu v0,a0,256 +40005bd8: 1440001d bnez v0,40005c50 <__clzsi2+0x8c> +40005bdc: 24030018 li v1,24 +40005be0: 24020008 li v0,8 +40005be4: 00442006 srlv a0,a0,v0 +40005be8: 3c024000 lui v0,0x4000 +40005bec: 24426818 addiu v0,v0,26648 +40005bf0: 00822021 addu a0,a0,v0 +40005bf4: 90820000 lbu v0,0(a0) +40005bf8: 03e00008 jr ra +40005bfc: 00621023 subu v0,v1,v0 +40005c00: 0082102b sltu v0,a0,v0 +40005c04: 1040000a beqz v0,40005c30 <__clzsi2+0x6c> +40005c08: 24030008 li v1,8 +40005c0c: 24020010 li v0,16 +40005c10: 00442006 srlv a0,a0,v0 +40005c14: 3c024000 lui v0,0x4000 +40005c18: 24426818 addiu v0,v0,26648 +40005c1c: 00822021 addu a0,a0,v0 +40005c20: 90820000 lbu v0,0(a0) +40005c24: 24030010 li v1,16 +40005c28: 03e00008 jr ra +40005c2c: 00621023 subu v0,v1,v0 +40005c30: 24020018 li v0,24 +40005c34: 00442006 srlv a0,a0,v0 +40005c38: 3c024000 lui v0,0x4000 +40005c3c: 24426818 addiu v0,v0,26648 +40005c40: 00822021 addu a0,a0,v0 +40005c44: 90820000 lbu v0,0(a0) +40005c48: 03e00008 jr ra +40005c4c: 00621023 subu v0,v1,v0 +40005c50: 00001021 move v0,zero +40005c54: 00442006 srlv a0,a0,v0 +40005c58: 3c024000 lui v0,0x4000 +40005c5c: 24426818 addiu v0,v0,26648 +40005c60: 00822021 addu a0,a0,v0 +40005c64: 90820000 lbu v0,0(a0) +40005c68: 24030020 li v1,32 +40005c6c: 03e00008 jr ra +40005c70: 00621023 subu v0,v1,v0 + +40005c74 <__pack_d>: +40005c74: 8c820000 lw v0,0(a0) +40005c78: 27bdffd0 addiu sp,sp,-48 +40005c7c: 2c430002 sltiu v1,v0,2 +40005c80: afb2001c sw s2,28(sp) +40005c84: afbf002c sw ra,44(sp) +40005c88: afb50028 sw s5,40(sp) +40005c8c: afb40024 sw s4,36(sp) +40005c90: afb30020 sw s3,32(sp) +40005c94: afb10018 sw s1,24(sp) +40005c98: afb00014 sw s0,20(sp) +40005c9c: 8c900010 lw s0,16(a0) +40005ca0: 8c910014 lw s1,20(a0) +40005ca4: 8c920004 lw s2,4(a0) +40005ca8: 14600042 bnez v1,40005db4 <__pack_d+0x140> +40005cac: 24030004 li v1,4 +40005cb0: 1043003c beq v0,v1,40005da4 <__pack_d+0x130> +40005cb4: 24030002 li v1,2 +40005cb8: 1043001c beq v0,v1,40005d2c <__pack_d+0xb8> +40005cbc: 02111025 or v0,s0,s1 +40005cc0: 1040001b beqz v0,40005d30 <__pack_d+0xbc> +40005cc4: 00001021 move v0,zero +40005cc8: 8c820008 lw v0,8(a0) +40005ccc: 00000000 nop +40005cd0: 2843fc02 slti v1,v0,-1022 +40005cd4: 14600040 bnez v1,40005dd8 <__pack_d+0x164> +40005cd8: 28430400 slti v1,v0,1024 +40005cdc: 10600031 beqz v1,40005da4 <__pack_d+0x130> +40005ce0: 322400ff andi a0,s1,0xff +40005ce4: 24030080 li v1,128 +40005ce8: 10830026 beq a0,v1,40005d84 <__pack_d+0x110> +40005cec: 2623007f addiu v1,s1,127 +40005cf0: 0071882b sltu s1,v1,s1 +40005cf4: 02308021 addu s0,s1,s0 +40005cf8: 00608821 move s1,v1 +40005cfc: 3c032000 lui v1,0x2000 +40005d00: 0203182b sltu v1,s0,v1 +40005d04: 1060001a beqz v1,40005d70 <__pack_d+0xfc> +40005d08: 001027c0 sll a0,s0,0x1f +40005d0c: 244203ff addiu v0,v0,1023 +40005d10: 00101e00 sll v1,s0,0x18 +40005d14: 00118a02 srl s1,s1,0x8 +40005d18: 00108100 sll s0,s0,0x4 +40005d1c: 00108302 srl s0,s0,0xc +40005d20: 00718825 or s1,v1,s1 +40005d24: 0800174e j 40005d38 <__pack_d+0xc4> +40005d28: 00021500 sll v0,v0,0x14 +40005d2c: 00001021 move v0,zero +40005d30: 00008021 move s0,zero +40005d34: 00008821 move s1,zero +40005d38: 02028025 or s0,s0,v0 +40005d3c: 001297c0 sll s2,s2,0x1f +40005d40: 8fbf002c lw ra,44(sp) +40005d44: 02128025 or s0,s0,s2 +40005d48: 02001021 move v0,s0 +40005d4c: 02201821 move v1,s1 +40005d50: 8fb50028 lw s5,40(sp) +40005d54: 8fb40024 lw s4,36(sp) +40005d58: 8fb30020 lw s3,32(sp) +40005d5c: 8fb2001c lw s2,28(sp) +40005d60: 8fb10018 lw s1,24(sp) +40005d64: 8fb00014 lw s0,20(sp) +40005d68: 03e00008 jr ra +40005d6c: 27bd0030 addiu sp,sp,48 +40005d70: 00111842 srl v1,s1,0x1 +40005d74: 00838825 or s1,a0,v1 +40005d78: 00108042 srl s0,s0,0x1 +40005d7c: 08001744 j 40005d10 <__pack_d+0x9c> +40005d80: 24420400 addiu v0,v0,1024 +40005d84: 32230100 andi v1,s1,0x100 +40005d88: 1060ffdd beqz v1,40005d00 <__pack_d+0x8c> +40005d8c: 3c032000 lui v1,0x2000 +40005d90: 26230080 addiu v1,s1,128 +40005d94: 0071882b sltu s1,v1,s1 +40005d98: 02308021 addu s0,s1,s0 +40005d9c: 0800173f j 40005cfc <__pack_d+0x88> +40005da0: 00608821 move s1,v1 +40005da4: 3c027ff0 lui v0,0x7ff0 +40005da8: 00008021 move s0,zero +40005dac: 0800174e j 40005d38 <__pack_d+0xc4> +40005db0: 00008821 move s1,zero +40005db4: 3c02000f lui v0,0xf +40005db8: 3442ffff ori v0,v0,0xffff +40005dbc: 02028024 and s0,s0,v0 +40005dc0: 3c020007 lui v0,0x7 +40005dc4: 3442ffff ori v0,v0,0xffff +40005dc8: 02028025 or s0,s0,v0 +40005dcc: 2411ffff li s1,-1 +40005dd0: 0800174e j 40005d38 <__pack_d+0xc4> +40005dd4: 3c027ff0 lui v0,0x7ff0 +40005dd8: 2413fc02 li s3,-1022 +40005ddc: 02629823 subu s3,s3,v0 +40005de0: 2a620039 slti v0,s3,57 +40005de4: 1040002b beqz v0,40005e94 <__pack_d+0x220> +40005de8: 00001821 move v1,zero +40005dec: 02002021 move a0,s0 +40005df0: 02202821 move a1,s1 +40005df4: 0c00183a jal 400060e8 <__lshrdi3> +40005df8: 02603021 move a2,s3 +40005dfc: 24050001 li a1,1 +40005e00: 00002021 move a0,zero +40005e04: 02603021 move a2,s3 +40005e08: 0040a021 move s4,v0 +40005e0c: 0c00184a jal 40006128 <__ashldi3> +40005e10: 0060a821 move s5,v1 +40005e14: 2464ffff addiu a0,v1,-1 +40005e18: 0083282b sltu a1,a0,v1 +40005e1c: 2442ffff addiu v0,v0,-1 +40005e20: 00a21821 addu v1,a1,v0 +40005e24: 00912024 and a0,a0,s1 +40005e28: 00701824 and v1,v1,s0 +40005e2c: 00641825 or v1,v1,a0 +40005e30: 0003182b sltu v1,zero,v1 +40005e34: 00751825 or v1,v1,s5 +40005e38: 306500ff andi a1,v1,0xff +40005e3c: 24020080 li v0,128 +40005e40: 14a20015 bne a1,v0,40005e98 <__pack_d+0x224> +40005e44: 02802021 move a0,s4 +40005e48: 30620100 andi v0,v1,0x100 +40005e4c: 10400005 beqz v0,40005e64 <__pack_d+0x1f0> +40005e50: 00000000 nop +40005e54: 24620080 addiu v0,v1,128 +40005e58: 0043182b sltu v1,v0,v1 +40005e5c: 00742021 addu a0,v1,s4 +40005e60: 00401821 move v1,v0 +40005e64: 3c021000 lui v0,0x1000 +40005e68: 00048e00 sll s1,a0,0x18 +40005e6c: 00048100 sll s0,a0,0x4 +40005e70: 00031a02 srl v1,v1,0x8 +40005e74: 0082202b sltu a0,a0,v0 +40005e78: 00108302 srl s0,s0,0xc +40005e7c: 02238825 or s1,s1,v1 +40005e80: 1080ffa8 beqz a0,40005d24 <__pack_d+0xb0> +40005e84: 24020001 li v0,1 +40005e88: 00001021 move v0,zero +40005e8c: 0800174e j 40005d38 <__pack_d+0xc4> +40005e90: 00021500 sll v0,v0,0x14 +40005e94: 00002021 move a0,zero +40005e98: 2462007f addiu v0,v1,127 +40005e9c: 0043182b sltu v1,v0,v1 +40005ea0: 00642021 addu a0,v1,a0 +40005ea4: 08001799 j 40005e64 <__pack_d+0x1f0> +40005ea8: 00401821 move v1,v0 + +40005eac <__unpack_d>: +40005eac: 8c860000 lw a2,0(a0) +40005eb0: 3c02000f lui v0,0xf +40005eb4: 00063d02 srl a3,a2,0x14 +40005eb8: 000647c2 srl t0,a2,0x1f +40005ebc: 3442ffff ori v0,v0,0xffff +40005ec0: 30e707ff andi a3,a3,0x7ff +40005ec4: 8c830004 lw v1,4(a0) +40005ec8: 00c21024 and v0,a2,v0 +40005ecc: 14e00017 bnez a3,40005f2c <__unpack_d+0x80> +40005ed0: aca80004 sw t0,4(a1) +40005ed4: 00432025 or a0,v0,v1 +40005ed8: 10800023 beqz a0,40005f68 <__unpack_d+0xbc> +40005edc: 00032602 srl a0,v1,0x18 +40005ee0: 00021200 sll v0,v0,0x8 +40005ee4: 00821025 or v0,a0,v0 +40005ee8: 24040003 li a0,3 +40005eec: aca40000 sw a0,0(a1) +40005ef0: 00031a00 sll v1,v1,0x8 +40005ef4: 2404fc01 li a0,-1023 +40005ef8: 3c081000 lui t0,0x1000 +40005efc: 000337c2 srl a2,v1,0x1f +40005f00: 00021040 sll v0,v0,0x1 +40005f04: 00c21025 or v0,a2,v0 +40005f08: 0048302b sltu a2,v0,t0 +40005f0c: 00803821 move a3,a0 +40005f10: 00031840 sll v1,v1,0x1 +40005f14: 14c0fff9 bnez a2,40005efc <__unpack_d+0x50> +40005f18: 2484ffff addiu a0,a0,-1 +40005f1c: aca70008 sw a3,8(a1) +40005f20: aca20010 sw v0,16(a1) +40005f24: 03e00008 jr ra +40005f28: aca30014 sw v1,20(a1) +40005f2c: 240407ff li a0,2047 +40005f30: 10e40010 beq a3,a0,40005f74 <__unpack_d+0xc8> +40005f34: 00032602 srl a0,v1,0x18 +40005f38: 00021200 sll v0,v0,0x8 +40005f3c: 00821025 or v0,a0,v0 +40005f40: 3c041000 lui a0,0x1000 +40005f44: 24e7fc01 addiu a3,a3,-1023 +40005f48: 00441025 or v0,v0,a0 +40005f4c: 24040003 li a0,3 +40005f50: 00031a00 sll v1,v1,0x8 +40005f54: aca70008 sw a3,8(a1) +40005f58: aca40000 sw a0,0(a1) +40005f5c: aca20010 sw v0,16(a1) +40005f60: 03e00008 jr ra +40005f64: aca30014 sw v1,20(a1) +40005f68: 24020002 li v0,2 +40005f6c: 03e00008 jr ra +40005f70: aca20000 sw v0,0(a1) +40005f74: 00432025 or a0,v0,v1 +40005f78: 10800006 beqz a0,40005f94 <__unpack_d+0xe8> +40005f7c: 3c040008 lui a0,0x8 +40005f80: 00863024 and a2,a0,a2 +40005f84: 14c00006 bnez a2,40005fa0 <__unpack_d+0xf4> +40005f88: 24040001 li a0,1 +40005f8c: 080017d7 j 40005f5c <__unpack_d+0xb0> +40005f90: aca40000 sw a0,0(a1) +40005f94: 24020004 li v0,4 +40005f98: 03e00008 jr ra +40005f9c: aca20000 sw v0,0(a1) +40005fa0: 080017d7 j 40005f5c <__unpack_d+0xb0> +40005fa4: aca00000 sw zero,0(a1) + +40005fa8 <__fpcmp_parts_d>: +40005fa8: 8c820000 lw v0,0(a0) +40005fac: 00000000 nop +40005fb0: 2c430002 sltiu v1,v0,2 +40005fb4: 14600015 bnez v1,4000600c <__fpcmp_parts_d+0x64> +40005fb8: 00000000 nop +40005fbc: 8ca30000 lw v1,0(a1) +40005fc0: 00000000 nop +40005fc4: 2c660002 sltiu a2,v1,2 +40005fc8: 14c00010 bnez a2,4000600c <__fpcmp_parts_d+0x64> +40005fcc: 24060004 li a2,4 +40005fd0: 1046003f beq v0,a2,400060d0 <__fpcmp_parts_d+0x128> +40005fd4: 00000000 nop +40005fd8: 10660010 beq v1,a2,4000601c <__fpcmp_parts_d+0x74> +40005fdc: 24060002 li a2,2 +40005fe0: 1046000c beq v0,a2,40006014 <__fpcmp_parts_d+0x6c> +40005fe4: 00000000 nop +40005fe8: 10660012 beq v1,a2,40006034 <__fpcmp_parts_d+0x8c> +40005fec: 00000000 nop +40005ff0: 8c820004 lw v0,4(a0) +40005ff4: 8ca30004 lw v1,4(a1) +40005ff8: 00000000 nop +40005ffc: 10430013 beq v0,v1,4000604c <__fpcmp_parts_d+0xa4> +40006000: 00000000 nop +40006004: 14400009 bnez v0,4000602c <__fpcmp_parts_d+0x84> +40006008: 00000000 nop +4000600c: 03e00008 jr ra +40006010: 24020001 li v0,1 +40006014: 1062002c beq v1,v0,400060c8 <__fpcmp_parts_d+0x120> +40006018: 00000000 nop +4000601c: 8ca20004 lw v0,4(a1) +40006020: 00000000 nop +40006024: 1440fff9 bnez v0,4000600c <__fpcmp_parts_d+0x64> +40006028: 00000000 nop +4000602c: 03e00008 jr ra +40006030: 2402ffff li v0,-1 +40006034: 8c820004 lw v0,4(a0) +40006038: 00000000 nop +4000603c: 1440fffb bnez v0,4000602c <__fpcmp_parts_d+0x84> +40006040: 00000000 nop +40006044: 03e00008 jr ra +40006048: 24020001 li v0,1 +4000604c: 8c860008 lw a2,8(a0) +40006050: 8ca30008 lw v1,8(a1) +40006054: 00000000 nop +40006058: 0066382a slt a3,v1,a2 +4000605c: 14e0ffe9 bnez a3,40006004 <__fpcmp_parts_d+0x5c> +40006060: 00c3182a slt v1,a2,v1 +40006064: 14600014 bnez v1,400060b8 <__fpcmp_parts_d+0x110> +40006068: 00000000 nop +4000606c: 8ca60010 lw a2,16(a1) +40006070: 8c830010 lw v1,16(a0) +40006074: 8c870014 lw a3,20(a0) +40006078: 00c3202b sltu a0,a2,v1 +4000607c: 8ca50014 lw a1,20(a1) +40006080: 1480ffe0 bnez a0,40006004 <__fpcmp_parts_d+0x5c> +40006084: 00000000 nop +40006088: 14660005 bne v1,a2,400060a0 <__fpcmp_parts_d+0xf8> +4000608c: 0066202b sltu a0,v1,a2 +40006090: 00a7202b sltu a0,a1,a3 +40006094: 1480ffdb bnez a0,40006004 <__fpcmp_parts_d+0x5c> +40006098: 00000000 nop +4000609c: 0066202b sltu a0,v1,a2 +400060a0: 14800005 bnez a0,400060b8 <__fpcmp_parts_d+0x110> +400060a4: 00000000 nop +400060a8: 14c30007 bne a2,v1,400060c8 <__fpcmp_parts_d+0x120> +400060ac: 00e5282b sltu a1,a3,a1 +400060b0: 10a00005 beqz a1,400060c8 <__fpcmp_parts_d+0x120> +400060b4: 00000000 nop +400060b8: 1040ffdc beqz v0,4000602c <__fpcmp_parts_d+0x84> +400060bc: 00000000 nop +400060c0: 08001803 j 4000600c <__fpcmp_parts_d+0x64> +400060c4: 00000000 nop +400060c8: 03e00008 jr ra +400060cc: 00001021 move v0,zero +400060d0: 1462ffd8 bne v1,v0,40006034 <__fpcmp_parts_d+0x8c> +400060d4: 00000000 nop +400060d8: 8ca30004 lw v1,4(a1) +400060dc: 8c820004 lw v0,4(a0) +400060e0: 03e00008 jr ra +400060e4: 00621023 subu v0,v1,v0 + +400060e8 <__lshrdi3>: +400060e8: 10c00009 beqz a2,40006110 <__lshrdi3+0x28> +400060ec: 00801021 move v0,a0 +400060f0: 24030020 li v1,32 +400060f4: 00661823 subu v1,v1,a2 +400060f8: 18600007 blez v1,40006118 <__lshrdi3+0x30> +400060fc: 00c52806 srlv a1,a1,a2 +40006100: 00641804 sllv v1,a0,v1 +40006104: 00c41006 srlv v0,a0,a2 +40006108: 03e00008 jr ra +4000610c: 00651825 or v1,v1,a1 +40006110: 03e00008 jr ra +40006114: 00a01821 move v1,a1 +40006118: 00031823 negu v1,v1 +4000611c: 00001021 move v0,zero +40006120: 03e00008 jr ra +40006124: 00641806 srlv v1,a0,v1 + +40006128 <__ashldi3>: +40006128: 10c00009 beqz a2,40006150 <__ashldi3+0x28> +4000612c: 00801021 move v0,a0 +40006130: 24020020 li v0,32 +40006134: 00461023 subu v0,v0,a2 +40006138: 18400007 blez v0,40006158 <__ashldi3+0x30> +4000613c: 00c42004 sllv a0,a0,a2 +40006140: 00451006 srlv v0,a1,v0 +40006144: 00c51804 sllv v1,a1,a2 +40006148: 03e00008 jr ra +4000614c: 00441025 or v0,v0,a0 +40006150: 03e00008 jr ra +40006154: 00a01821 move v1,a1 +40006158: 00021023 negu v0,v0 +4000615c: 00001821 move v1,zero +40006160: 03e00008 jr ra +40006164: 00451004 sllv v0,a1,v0 + +40006168 <__do_global_ctors_aux>: +40006168: 3c024000 lui v0,0x4000 +4000616c: 8c427000 lw v0,28672(v0) +40006170: 2403ffff li v1,-1 +40006174: 10430012 beq v0,v1,400061c0 <__do_global_ctors_aux+0x58> +40006178: 00000000 nop +4000617c: 27bdffe0 addiu sp,sp,-32 +40006180: afb00014 sw s0,20(sp) +40006184: 3c104000 lui s0,0x4000 +40006188: afb10018 sw s1,24(sp) +4000618c: afbf001c sw ra,28(sp) +40006190: 26106ffc addiu s0,s0,28668 +40006194: 2411ffff li s1,-1 +40006198: 0040f809 jalr v0 +4000619c: 2610fffc addiu s0,s0,-4 +400061a0: 8e020004 lw v0,4(s0) +400061a4: 00000000 nop +400061a8: 1451fffb bne v0,s1,40006198 <__do_global_ctors_aux+0x30> +400061ac: 00000000 nop +400061b0: 8fbf001c lw ra,28(sp) +400061b4: 8fb10018 lw s1,24(sp) +400061b8: 8fb00014 lw s0,20(sp) +400061bc: 27bd0020 addiu sp,sp,32 +400061c0: 03e00008 jr ra +400061c4: 00000000 nop + +Disassembly of section .fini: + +400061c8 <_fini>: +400061c8: 27bdffe0 addiu sp,sp,-32 +400061cc: afbf0014 sw ra,20(sp) +400061d0: 04110001 bal 400061d8 <_fini+0x10> +400061d4: 00000000 nop +400061d8: 0c0000cc jal 40000330 <__do_global_dtors_aux> +400061dc: 00000000 nop +400061e0: 8fbf0014 lw ra,20(sp) +400061e4: 27bd0020 addiu sp,sp,32 +400061e8: 03e00008 jr ra +400061ec: 00000000 nop diff --git a/projects/mips_sys/sim/hello_sim.elf.flash.bin b/projects/mips_sys/sim/hello_sim.elf.flash.bin new file mode 100644 index 0000000..de625dc Binary files /dev/null and b/projects/mips_sys/sim/hello_sim.elf.flash.bin differ diff --git a/projects/mips_sys/sim/tb_mips_sys.fdo b/projects/mips_sys/sim/tb_mips_sys.fdo index 88b313a..fc4d831 100644 --- a/projects/mips_sys/sim/tb_mips_sys.fdo +++ b/projects/mips_sys/sim/tb_mips_sys.fdo @@ -1,6 +1,10 @@ ## NOTE: Do not edit this file. ## + +if {[file exists work]} {vdel -lib work -all} + vlib work + # Configs vcom -explicit -93 "../src/sdram_config_sim.vhd" @@ -12,6 +16,9 @@ vcom -explicit -93 "../../../lib/SDRAM/ddr_sdr_v1_5/src/sdram_types.vhd" vcom -explicit -93 "../../../lib/misc/utils_pkg.vhd" vcom -explicit -93 "../../../lib/SDRAM/ddr_sdr_v1_5/src/mt46v16m16.vhd" +# Clock Generator +vcom -explicit -93 "../src/sys_clock.vhd" + # RAMs vcom -explicit -93 "../../../lib/rams/dpram_1w1r2c_ro_sim.vhd" vcom -explicit -93 "../../../lib/rams/dpram_2w2r2c_ra_sim.vhd" @@ -37,7 +44,7 @@ vcom -explicit -93 "../../../lib/CPUs/MIPS/src/core/mips_dcache.vhd" vcom -explicit -93 "../../../lib/CPUs/MIPS/src/core/mips_icache.vhd" vcom -explicit -93 "../../../lib/CPUs/MIPS/src/core/mips_biu.vhd" vcom -explicit -93 "../../../lib/CPUs/MIPS/src/core/mips_top.vhd" -vcom -explicit -93 "../src/bootloader.ROM.vhd" +vcom -explicit -93 "../src/bootloader_flash.ROM.vhd" vcom -explicit -93 "../../../lib/misc/rom_wb.vhd" # VGA @@ -78,9 +85,10 @@ vcom -explicit -93 "../../../lib/SSRAM/src/CY7C1354B.vhd" vcom -explicit -93 "../../../lib/SSRAM/src/ssram_port_wb.vhd" # SDRAM +vcom -explicit -93 "../../../lib/misc/clockgen_virtex4.vhd" +vcom -explicit -93 "../../../lib/SDRAM/ddr_sdr_v1_5/src/ddr_phy_virtex4.vhd" vcom -explicit -93 "../../../lib/SDRAM/ddr_sdr_v1_5/src/sdram_ctrl.vhd" vcom -explicit -93 "../../../lib/SDRAM/ddr_sdr_v1_5/src/sdram_cmd.vhd" -vcom -explicit -93 "../../../lib/SDRAM/ddr_sdr_v1_5/src/ddr_phy_virtex4.vhd" vcom -explicit -93 "../../../lib/SDRAM/ddr_sdr_v1_5/src/sdram_ctrl_top.vhd" vcom -explicit -93 "../../../lib/SDRAM/ddr_sdr_v1_5/src/sdram_ctrl_frontend64_wb.vhd" @@ -100,9 +108,6 @@ vcom -explicit -93 "../../../lib/emac/src/emac_rx.vhd" vcom -explicit -93 "../../../lib/emac/src/emac_tx.vhd" vcom -explicit -93 "../../../lib/emac/src/emac_top_jb.vhd" -# Clock Generator -vcom -explicit -93 "../src/clockgen_virtex4.vhd" - # Top and TB vcom -explicit -93 "../src/mips_sys_sim.vhd" vcom -explicit -93 "../src/tb_mips_sys.vhd" diff --git a/projects/mips_sys/src/clockgen_virtex4.vhd b/projects/mips_sys/src/clockgen_virtex4.vhd deleted file mode 100644 index d8bebfd..0000000 --- a/projects/mips_sys/src/clockgen_virtex4.vhd +++ /dev/null @@ -1,363 +0,0 @@ -------------------------------------------------------------------------- --- Project: SDRAM controller --- This file: Clock generator (Virtex-4 specific) --- --- Copyright (C) 2007 J. Ahrensfeld --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . --- --- For questions and ideas, please contact the author at jens@jayfield.org --- --------------------------------------------------------------------------- - -library ieee, work; -USE IEEE.STD_LOGIC_1164.ALL; -USE IEEE.NUMERIC_STD.ALL; - -USE WORK.utils_pkg.ALL; - -Library UNISIM; -use UNISIM.vcomponents.all; - -entity clockgen is - generic - ( - clk_in_freq : real := 100.0; - cpu_clk_out_freq : real := 100.0; - vga_clk_out_freq : real := 100.0; - sdr0_clk_out_phaseshift : integer := 0; - sdr1_clk_out_phaseshift : integer := 0 - ); - port - ( - -- Clocks and Reset - rst_in : in std_logic; -- external async reset, low active - clk_in : in std_logic; -- system clock (e.g. 100MHz), from board - sys_clk_out : out std_logic; - cpu_clk_out : out std_logic; - vga_clk_out : out std_logic; - sdr0_clk_fb_in : in std_logic; -- feedback clock - sdr0_clk0_out : out std_logic; -- System clock #0, dcm#0 output 0° - sdr0_clk270_out : out std_logic; -- System clock #0, dcm#0 output 270° - sdr1_clk0_out : out std_logic; -- System clock #1 (e.g. clock for DDR-SDRAM data capture), dcm#1 output 0° - sdr1_clk270_out : out std_logic; -- System clock #1 (e.g. clock for DDR-SDRAM data capture), dcm#1 output 270° - sys_rst_out : out std_logic -- DCM locked status - ); -end; - -architecture tech of clockgen is - - signal dcm_rst : unsigned(2 downto 0); - signal vga_clk0 : std_logic; - signal vga_clkfx : std_logic; - signal vga_clk0_bufg : std_logic; - signal sys_clk0 : std_logic; - signal sys_clk0_bufg : std_logic; - signal cpu_clkfx : std_logic; - signal cpu_clkfx_bufg : std_logic; - signal sdr0_clk0 : std_logic; - signal sdr0_clk270 : std_logic; - signal sdr1_clk0 : std_logic; - signal sdr1_clk270 : std_logic; - signal sdr1_clk0_bufg : std_logic; - signal reset_cnt : unsigned(4 downto 0); - signal reset_pipe0 : unsigned(19 downto 0); - signal reset_pipe1 : unsigned(19 downto 0); - signal reset_pipe2 : unsigned(19 downto 0); - signal vga_fx_lock : std_logic; - signal sys_fx_lock : std_logic; - signal sdr0_lock : std_logic; - signal sdr1_lock : std_logic; - - -begin - - ------------------------------------------------------------------------------------------------------- - -- Clock generation - ------------------------------------------------------------------------------------------------------- - - -- Compnent instantiation - inst_DCM_VGA_FX : DCM_BASE - generic map - ( - CLKDV_DIVIDE => 2.0, -- Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5 - -- 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 - CLKFX_DIVIDE => UTILS_FREQ_D(clk_in_freq, vga_clk_out_freq), -- Can be any interger from 1 to 32 - CLKFX_MULTIPLY => UTILS_FREQ_M(clk_in_freq, vga_clk_out_freq), -- Can be any integer from 2 to 32 - CLKIN_DIVIDE_BY_2 => FALSE, -- TRUE/FALSE to enable CLKIN divide by two feature - CLKIN_PERIOD => UTILS_PERIOD_NS(clk_in_freq), -- Specify period of input clock in ns from 1.25 to 1000.00 - CLKOUT_PHASE_SHIFT => "NONE", -- Specify phase shift mode of NONE or FIXED - CLK_FEEDBACK => "1X", -- Specify clock feedback of NONE or 1X - DCM_PERFORMANCE_MODE => "MAX_SPEED", -- Can be MAX_SPEED or MAX_RANGE - DESKEW_ADJUST => "SOURCE_SYNCHRONOUS", -- SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or - -- an integer from 0 to 15 - DFS_FREQUENCY_MODE => "LOW", -- LOW or HIGH frequency mode for frequency synthesis - DLL_FREQUENCY_MODE => "LOW", -- LOW, HIGH, or HIGH_SER frequency mode for DLL - DUTY_CYCLE_CORRECTION => TRUE, -- Duty cycle correction, TRUE or FALSE - FACTORY_JF => X"F0F0", -- FACTORY JF Values Suggested to be set to X"F0F0" - PHASE_SHIFT => 0, -- Amount of fixed phase shift from -255 to 1023 - STARTUP_WAIT => FALSE -- Delay configuration DONE until DCM LOCK, TRUE/FALSE - ) - port map - ( - CLK0 => vga_clk0, -- 0 degree DCM CLK ouptput - CLK180 => open, -- 180 degree DCM CLK output - CLK270 => open, -- 270 degree DCM CLK output - CLK2X => open, -- 2X DCM CLK output - CLK2X180 => open, -- 2X, 180 degree DCM CLK out - CLK90 => open, -- 90 degree DCM CLK output - CLKDV => open, -- Divided DCM CLK out (CLKDV_DIVIDE) - CLKFX => vga_clkfx, -- DCM CLK synthesis out (M/D) - CLKFX180 => open, -- 180 degree CLK synthesis out - LOCKED => vga_fx_lock, -- DCM LOCK status output - CLKFB => vga_clk0_bufg, -- DCM clock feedback - CLKIN => clk_in, -- Clock input (from IBUFG, BUFG or DCM) - RST => dcm_rst(0) -- DCM asynchronous reset input - ); - -BUFG_vga_clk0 : BUFG - port map - ( - O => vga_clk0_bufg, -- Clock buffer output - I => vga_clk0 -- Clock buffer input - ); - -BUFG_vga_clkfx : BUFG - port map - ( - O => vga_clk_out, -- Clock buffer output - I => vga_clkfx -- Clock buffer input - ); - - -- Compnent instantiation - inst_DCM_CPU_FX : DCM_BASE - generic map - ( - CLKDV_DIVIDE => 2.0, -- Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5 - -- 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 - CLKFX_DIVIDE => UTILS_FREQ_D(clk_in_freq, cpu_clk_out_freq), -- Can be any interger from 1 to 32 - CLKFX_MULTIPLY => UTILS_FREQ_M(clk_in_freq, cpu_clk_out_freq), -- Can be any integer from 2 to 32 - CLKIN_DIVIDE_BY_2 => FALSE, -- TRUE/FALSE to enable CLKIN divide by two feature - CLKIN_PERIOD => UTILS_PERIOD_NS(clk_in_freq), -- Specify period of input clock in ns from 1.25 to 1000.00 - CLKOUT_PHASE_SHIFT => "NONE", -- Specify phase shift mode of NONE or FIXED - CLK_FEEDBACK => "1X", -- Specify clock feedback of NONE or 1X - DCM_PERFORMANCE_MODE => "MAX_SPEED", -- Can be MAX_SPEED or MAX_RANGE - DESKEW_ADJUST => "SOURCE_SYNCHRONOUS", -- SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or - -- an integer from 0 to 15 - DFS_FREQUENCY_MODE => "LOW", -- LOW or HIGH frequency mode for frequency synthesis - DLL_FREQUENCY_MODE => "LOW", -- LOW, HIGH, or HIGH_SER frequency mode for DLL - DUTY_CYCLE_CORRECTION => TRUE, -- Duty cycle correction, TRUE or FALSE - FACTORY_JF => X"F0F0", -- FACTORY JF Values Suggested to be set to X"F0F0" - PHASE_SHIFT => 0, -- Amount of fixed phase shift from -255 to 1023 - STARTUP_WAIT => FALSE -- Delay configuration DONE until DCM LOCK, TRUE/FALSE - ) - port map - ( - CLK0 => sys_clk0, -- 0 degree DCM CLK ouptput - CLK180 => open, -- 180 degree DCM CLK output - CLK270 => open, -- 270 degree DCM CLK output - CLK2X => open, -- 2X DCM CLK output - CLK2X180 => open, -- 2X, 180 degree DCM CLK out - CLK90 => open, -- 90 degree DCM CLK output - CLKDV => open, -- Divided DCM CLK out (CLKDV_DIVIDE) - CLKFX => cpu_clkfx, -- DCM CLK synthesis out (M/D) - CLKFX180 => open, -- 180 degree CLK synthesis out - LOCKED => sys_fx_lock, -- DCM LOCK status output - CLKFB => sys_clk0_bufg, -- DCM clock feedback - CLKIN => clk_in, -- Clock input (from IBUFG, BUFG or DCM) - RST => dcm_rst(0) -- DCM asynchronous reset input - ); - -BUFG_sys_clk0 : BUFG - port map - ( - O => sys_clk0_bufg, -- Clock buffer output - I => sys_clk0 -- Clock buffer input - ); - -BUFG_sys_clkfx : BUFG - port map - ( - O => cpu_clkfx_bufg, -- Clock buffer output - I => cpu_clkfx -- Clock buffer input - ); - - sys_clk_out <= sys_clk0_bufg; - cpu_clk_out <= cpu_clkfx_bufg; - -inst_DCM_SDRCLK_0 : DCM_BASE - generic map - ( - CLKDV_DIVIDE => 2.0, -- Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5 - -- 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 - CLKFX_DIVIDE => 1, -- Can be any interger from 1 to 32 - CLKFX_MULTIPLY => 4, -- Can be any integer from 2 to 32 - CLKIN_DIVIDE_BY_2 => FALSE, -- TRUE/FALSE to enable CLKIN divide by two feature - CLKIN_PERIOD => UTILS_PERIOD_NS(clk_in_freq), -- Specify period of input clock in ns from 1.25 to 1000.00 - CLKOUT_PHASE_SHIFT => "FIXED", -- Specify phase shift mode of NONE or FIXED - CLK_FEEDBACK => "1X", -- Specify clock feedback of NONE or 1X - DCM_AUTOCALIBRATION => TRUE, -- DCM calibrartion circuitry TRUE/FALSE - DCM_PERFORMANCE_MODE => "MAX_SPEED", -- Can be MAX_SPEED or MAX_RANGE - DESKEW_ADJUST => "SOURCE_SYNCHRONOUS", -- SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or - -- an integer from 0 to 15 - DFS_FREQUENCY_MODE => "LOW", -- LOW or HIGH frequency mode for frequency synthesis - DLL_FREQUENCY_MODE => "LOW", -- LOW, HIGH, or HIGH_SER frequency mode for DLL - DUTY_CYCLE_CORRECTION => TRUE, -- Duty cycle correction, TRUE or FALSE - FACTORY_JF => X"F0F0", -- FACTORY JF Values Suggested to be set to X"F0F0" - PHASE_SHIFT => sdr0_clk_out_phaseshift, -- Amount of fixed phase shift from -255 to 1023 - STARTUP_WAIT => FALSE -- Delay configuration DONE until DCM LOCK, TRUE/FALSE - ) - port map - ( - CLK0 => sdr0_clk0, -- 0 degree DCM CLK ouptput - CLK180 => open, -- 180 degree DCM CLK output - CLK270 => sdr0_clk270, -- 270 degree DCM CLK output - CLK2X => open, -- 2X DCM CLK output - CLK2X180 => open, -- 2X, 180 degree DCM CLK out - CLK90 => open, -- 90 degree DCM CLK output - CLKDV => open, -- Divided DCM CLK out (CLKDV_DIVIDE) - CLKFX => open, -- DCM CLK synthesis out (M/D) - CLKFX180 => open, -- 180 degree CLK synthesis out - LOCKED => sdr0_lock, -- DCM LOCK status output - CLKFB => sdr0_clk_fb_in, -- DCM clock feedback - CLKIN => sys_clk0_bufg, -- Clock input (from IBUFG, BUFG or DCM) - RST => dcm_rst(1) -- DCM asynchronous reset input - ); - -bufg_sdr0_clk0: bufg - port map - ( - o => sdr0_clk0_out, - i => sdr0_clk0 - ); - -bufg_sdr0_clk270: bufg - port map ( - o => sdr0_clk270_out, - i => sdr0_clk270 - ); - - inst_DCM_SDRCLK_1 : DCM_BASE - generic map - ( - CLKDV_DIVIDE => 2.0, -- Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5 - -- 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 - CLKFX_DIVIDE => 1, -- Can be any interger from 1 to 32 - CLKFX_MULTIPLY => 4, -- Can be any integer from 2 to 32 - CLKIN_DIVIDE_BY_2 => FALSE, -- TRUE/FALSE to enable CLKIN divide by two feature - CLKIN_PERIOD => UTILS_PERIOD_NS(clk_in_freq), -- Specify period of input clock in ns from 1.25 to 1000.00 - CLKOUT_PHASE_SHIFT => "FIXED", -- Specify phase shift mode of NONE or FIXED - CLK_FEEDBACK => "1X", -- Specify clock feedback of NONE or 1X - DCM_AUTOCALIBRATION => TRUE, -- DCM calibrartion circuitry TRUE/FALSE - DCM_PERFORMANCE_MODE => "MAX_SPEED", -- Can be MAX_SPEED or MAX_RANGE - DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS", -- SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or - -- an integer from 0 to 15 - DFS_FREQUENCY_MODE => "LOW", -- LOW or HIGH frequency mode for frequency synthesis - DLL_FREQUENCY_MODE => "LOW", -- LOW, HIGH, or HIGH_SER frequency mode for DLL - DUTY_CYCLE_CORRECTION => TRUE, -- Duty cycle correction, TRUE or FALSE - FACTORY_JF => X"F0F0", -- FACTORY JF Values Suggested to be set to X"F0F0" - PHASE_SHIFT => sdr1_clk_out_phaseshift, -- Amount of fixed phase shift from -255 to 1023 - STARTUP_WAIT => FALSE -- Delay configuration DONE until DCM LOCK, TRUE/FALSE - ) - port map - ( - CLK0 => sdr1_clk0, -- 0 degree DCM CLK ouptput - CLK180 => open, -- 180 degree DCM CLK output - CLK270 => sdr1_clk270, -- 270 degree DCM CLK output - CLK2X => open, -- 2X DCM CLK output - CLK2X180 => open, -- 2X, 180 degree DCM CLK out - CLK90 => open, -- 90 degree DCM CLK output - CLKDV => open, -- Divided DCM CLK out (CLKDV_DIVIDE) - CLKFX => open, -- DCM CLK synthesis out (M/D) - CLKFX180 => open, -- 180 degree CLK synthesis out - LOCKED => sdr1_lock, -- DCM LOCK status output - CLKFB => sdr1_clk0_bufg, -- DCM clock feedback - CLKIN => sdr0_clk_fb_in, -- Clock input (from IBUFG, BUFG or DCM) - RST => dcm_rst(2) -- DCM asynchronous reset input - ); - - sdr1_clk0_out <= sdr1_clk0_bufg; - -bufg_sdr1_clk0: bufg - port map - ( - o => sdr1_clk0_bufg, - i => sdr1_clk0 - ); - - -bufg_sdr1_clk270: bufg - port map ( - o => sdr1_clk270_out, - i => sdr1_clk270 - ); - - dcm_rst(0) <= reset_pipe0(reset_pipe0'left); - -dcm_reset0: - process(rst_in, clk_in) - begin - if rst_in = '1' then - reset_pipe0 <= (others => '1'); - elsif rising_edge(clk_in) then - reset_pipe0 <= reset_pipe0(reset_pipe0'left-1 downto 0) & '0'; - end if; - - end process; - - dcm_rst(1) <= reset_pipe1(reset_pipe1'left); - -dcm_reset1: - process(vga_fx_lock, clk_in) - begin - if vga_fx_lock = '0' then - reset_pipe1 <= (others => '1'); - elsif rising_edge(clk_in) then - reset_pipe1 <= reset_pipe1(reset_pipe1'left-1 downto 0) & '0'; - end if; - - end process; - - dcm_rst(2) <= reset_pipe2(reset_pipe2'left); - -dcm_reset2: - process(sdr0_lock, clk_in) - begin - if sdr0_lock = '0' then - reset_pipe2 <= (others => '1'); - elsif rising_edge(clk_in) then - reset_pipe2 <= reset_pipe2(reset_pipe2'left-1 downto 0) & '0'; - end if; - - end process; - -reset_out_logic: - process(rst_in, clk_in, sdr0_lock, sdr1_lock, sys_fx_lock, vga_fx_lock) - begin - if rst_in = '1' or sdr0_lock = '0' or sdr1_lock = '0' or sys_fx_lock = '0' or vga_fx_lock = '0' then - sys_rst_out <= '1'; - reset_cnt <= (reset_cnt'left downto reset_cnt'right => '1'); - elsif rising_edge(clk_in) then - if reset_cnt /= (reset_cnt'left downto reset_cnt'right => '0') then - reset_cnt <= reset_cnt - 1; - else - sys_rst_out <= '0'; - end if; - end if; - - end process; - -end architecture tech; - - diff --git a/projects/mips_sys/src/mips_sys_sim.vhd b/projects/mips_sys/src/mips_sys_sim.vhd index 41a143a..19da287 100644 --- a/projects/mips_sys/src/mips_sys_sim.vhd +++ b/projects/mips_sys/src/mips_sys_sim.vhd @@ -44,7 +44,6 @@ GENERIC ( sys_freq_in : real := 100.0; cpu_freq : real := 100.0; - sdram_phaseshift : integer := 0; tsvga : vga_timespec_t := ts_vga_800_600_72 ); @@ -159,14 +158,12 @@ END mips_sys; ARCHITECTURE behavior OF mips_sys IS - signal cpu_clk : std_logic; signal nmi : std_logic; signal eb : std_logic; - signal sdram_clk0 : std_logic; - signal sdram_clk270 : std_logic; - signal sdram_clk270var : std_logic; - signal vga_clk : std_logic; - signal vga_ce : std_logic; + signal vga_clk : std_logic; + signal vga_rst : std_logic; + + signal vga_ce : std_logic; signal rst_in : std_logic; signal int_timer : std_logic; signal int_uart0 : std_logic; @@ -373,7 +370,7 @@ BEGIN SEL_I_sdram <= "0000" & SEL_O; sys_flash_ac97_rstn <= ac97_rstn and flash_rstn; - vga_ce <= not RST_O; + vga_ce <= not vga_rst; sys_flash_ssram_out: process(CLK_O) @@ -574,7 +571,7 @@ inst_mips_top: entity work.mips_top debug => debug, eb => eb, nmi => nmi, - cpu_clk => cpu_clk, + cpu_clk => CLK_O, RST_I => RST_O, CLK_I => CLK_O, ACK_I => ACK_I_cpu, @@ -813,29 +810,22 @@ inst_ssram_port_wb : entity work.ssram_port_wb ssram_bw_n => sys_ssram_bw_n ); -inst_clockgen : entity work.clockgen +inst_sys_clock : entity work.sys_clock GENERIC MAP ( clk_in_freq => sys_freq_in, cpu_clk_out_freq => cpu_freq, - vga_clk_out_freq => vga_freq, - sdr0_clk_out_phaseshift => 0, - sdr1_clk_out_phaseshift => 0 + vga_clk_out_freq => vga_freq ) PORT MAP ( -- Clocks and Reset rst_in => rst_in, -- external async reset, low active clk_in => sys_clk_in, -- system clock (e.g. 100MHz), from board - sys_rst_out => RST_O, - sys_clk_out => CLK_O, + cpu_clk_out => CLK_O, + cpu_rst_out => RST_O, vga_clk_out => vga_clk, - cpu_clk_out => cpu_clk, - sdr0_clk_fb_in => sys_sdr_clk_fb, -- feedback clock - sdr0_clk0_out => sdram_clk0, -- System clock #0, dcm#0 output 0° - sdr0_clk270_out => sdram_clk270, -- System clock #0, dcm#0 output 270° - sdr1_clk0_out => open, -- System clock #1 (e.g. clock for DDR-SDRAM data capture), dcm#1 output 0° - sdr1_clk270_out => sdram_clk270var -- System clock #1 (e.g. clock for DDR-SDRAM data capture), dcm#1 output 270° + vga_rst_out => vga_rst ); @@ -852,9 +842,8 @@ inst_sdram_ctrl_frontend_wb : entity work.sdram_ctrl_frontend64_wb RST_I => RST_O, CLK_I => CLK_O, - SDRAM_CLK0_I => sdram_clk0, - SDRAM_CLK270_I => sdram_clk270, - SDRAM_CLK270VAR_I => sdram_clk270var, + SDRAM_CLK_I => sys_clk_in, + SDRAM_CLK_FB_I => sys_sdr_clk_fb, CYC_I => CYC_I_sdram, STB_I => STB_O, diff --git a/projects/mips_sys/src/sys_clock.vhd b/projects/mips_sys/src/sys_clock.vhd new file mode 100644 index 0000000..3175a3d --- /dev/null +++ b/projects/mips_sys/src/sys_clock.vhd @@ -0,0 +1,183 @@ +------------------------------------------------------------------------- +-- Project: SDRAM controller +-- This file: Clock generator (Virtex-4 specific) +-- +-- Copyright (C) 2007 J. Ahrensfeld +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- For questions and ideas, please contact the author at jens@jayfield.org +-- +-------------------------------------------------------------------------- + +library ieee, work; +USE IEEE.STD_LOGIC_1164.ALL; +USE IEEE.NUMERIC_STD.ALL; + +USE WORK.utils_pkg.ALL; + +Library UNISIM; +use UNISIM.vcomponents.all; + +entity sys_clock is + generic + ( + clk_in_freq : real := 100.0; + cpu_clk_out_freq : real := 100.0; + vga_clk_out_freq : real := 100.0 + ); + port + ( + -- Clocks and Reset + rst_in : in std_logic; -- external async reset, low active + clk_in : in std_logic; -- system clock (e.g. 100MHz), from board + cpu_clk_out : out std_logic; + cpu_rst_out : out std_logic; + vga_clk_out : out std_logic; + vga_rst_out : out std_logic + ); +end; + +architecture tech of sys_clock is + + signal vga_clk0 : std_logic; + signal vga_clkfx : std_logic; + signal vga_clk0_bufg : std_logic; + signal cpu_clk0 : std_logic; + signal cpu_clk0_bufg : std_logic; + signal cpu_clkfx : std_logic; + signal vga_fx_lock : std_logic; + signal cpu_fx_lock : std_logic; + + +begin + + ------------------------------------------------------------------------------------------------------- + -- Clock generation + ------------------------------------------------------------------------------------------------------- + + -- Compnent instantiation + inst_DCM_VGA_FX : DCM_BASE + generic map + ( + CLKDV_DIVIDE => 2.0, -- Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5 + -- 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 + CLKFX_DIVIDE => UTILS_FREQ_D(clk_in_freq, vga_clk_out_freq), -- Can be any interger from 1 to 32 + CLKFX_MULTIPLY => UTILS_FREQ_M(clk_in_freq, vga_clk_out_freq), -- Can be any integer from 2 to 32 + CLKIN_DIVIDE_BY_2 => FALSE, -- TRUE/FALSE to enable CLKIN divide by two feature + CLKIN_PERIOD => UTILS_PERIOD_NS(clk_in_freq), -- Specify period of input clock in ns from 1.25 to 1000.00 + CLKOUT_PHASE_SHIFT => "NONE", -- Specify phase shift mode of NONE or FIXED + CLK_FEEDBACK => "1X", -- Specify clock feedback of NONE or 1X + DCM_PERFORMANCE_MODE => "MAX_SPEED", -- Can be MAX_SPEED or MAX_RANGE + DESKEW_ADJUST => "SOURCE_SYNCHRONOUS", -- SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or + -- an integer from 0 to 15 + DFS_FREQUENCY_MODE => "LOW", -- LOW or HIGH frequency mode for frequency synthesis + DLL_FREQUENCY_MODE => "LOW", -- LOW, HIGH, or HIGH_SER frequency mode for DLL + DUTY_CYCLE_CORRECTION => TRUE, -- Duty cycle correction, TRUE or FALSE + FACTORY_JF => X"F0F0", -- FACTORY JF Values Suggested to be set to X"F0F0" + PHASE_SHIFT => 0, -- Amount of fixed phase shift from -255 to 1023 + STARTUP_WAIT => FALSE -- Delay configuration DONE until DCM LOCK, TRUE/FALSE + ) + port map + ( + CLK0 => vga_clk0, -- 0 degree DCM CLK ouptput + CLK180 => open, -- 180 degree DCM CLK output + CLK270 => open, -- 270 degree DCM CLK output + CLK2X => open, -- 2X DCM CLK output + CLK2X180 => open, -- 2X, 180 degree DCM CLK out + CLK90 => open, -- 90 degree DCM CLK output + CLKDV => open, -- Divided DCM CLK out (CLKDV_DIVIDE) + CLKFX => vga_clkfx, -- DCM CLK synthesis out (M/D) + CLKFX180 => open, -- 180 degree CLK synthesis out + LOCKED => vga_fx_lock, -- DCM LOCK status output + CLKFB => vga_clk0_bufg, -- DCM clock feedback + CLKIN => clk_in, -- Clock input (from IBUFG, BUFG or DCM) + RST => rst_in -- DCM asynchronous reset input + ); + +BUFG_vga_clk0 : BUFG + port map + ( + O => vga_clk0_bufg, -- Clock buffer output + I => vga_clk0 -- Clock buffer input + ); + + -- Compnent instantiation + inst_DCM_CPU_FX : DCM_BASE + generic map + ( + CLKDV_DIVIDE => 2.0, -- Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5 + -- 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 + CLKFX_DIVIDE => UTILS_FREQ_D(clk_in_freq, cpu_clk_out_freq), -- Can be any interger from 1 to 32 + CLKFX_MULTIPLY => UTILS_FREQ_M(clk_in_freq, cpu_clk_out_freq), -- Can be any integer from 2 to 32 + CLKIN_DIVIDE_BY_2 => FALSE, -- TRUE/FALSE to enable CLKIN divide by two feature + CLKIN_PERIOD => UTILS_PERIOD_NS(clk_in_freq), -- Specify period of input clock in ns from 1.25 to 1000.00 + CLKOUT_PHASE_SHIFT => "NONE", -- Specify phase shift mode of NONE or FIXED + CLK_FEEDBACK => "1X", -- Specify clock feedback of NONE or 1X + DCM_PERFORMANCE_MODE => "MAX_SPEED", -- Can be MAX_SPEED or MAX_RANGE + DESKEW_ADJUST => "SOURCE_SYNCHRONOUS", -- SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or + -- an integer from 0 to 15 + DFS_FREQUENCY_MODE => "LOW", -- LOW or HIGH frequency mode for frequency synthesis + DLL_FREQUENCY_MODE => "LOW", -- LOW, HIGH, or HIGH_SER frequency mode for DLL + DUTY_CYCLE_CORRECTION => TRUE, -- Duty cycle correction, TRUE or FALSE + FACTORY_JF => X"F0F0", -- FACTORY JF Values Suggested to be set to X"F0F0" + PHASE_SHIFT => 0, -- Amount of fixed phase shift from -255 to 1023 + STARTUP_WAIT => FALSE -- Delay configuration DONE until DCM LOCK, TRUE/FALSE + ) + port map + ( + CLK0 => cpu_clk0, -- 0 degree DCM CLK ouptput + CLK180 => open, -- 180 degree DCM CLK output + CLK270 => open, -- 270 degree DCM CLK output + CLK2X => open, -- 2X DCM CLK output + CLK2X180 => open, -- 2X, 180 degree DCM CLK out + CLK90 => open, -- 90 degree DCM CLK output + CLKDV => open, -- Divided DCM CLK out (CLKDV_DIVIDE) + CLKFX => cpu_clkfx, -- DCM CLK synthesis out (M/D) + CLKFX180 => open, -- 180 degree CLK synthesis out + LOCKED => cpu_fx_lock, -- DCM LOCK status output + CLKFB => cpu_clk0_bufg, -- DCM clock feedback + CLKIN => clk_in, -- Clock input (from IBUFG, BUFG or DCM) + RST => rst_in -- DCM asynchronous reset input + ); + +BUFG_cpu_clk0 : BUFG + port map + ( + O => cpu_clk0_bufg, -- Clock buffer output + I => cpu_clk0 -- Clock buffer input + ); + + vga_clk_out <= vga_clkfx; + cpu_clk_out <= cpu_clkfx; + +cpu_rst_out_reg: + process(cpu_clkfx) + begin + if rising_edge(cpu_clkfx) then + cpu_rst_out <= not cpu_fx_lock; + end if; + end process; + +vga_rst_out_reg: + process(vga_clkfx) + begin + if rising_edge(vga_clkfx) then + vga_rst_out <= not vga_fx_lock; + end if; + end process; + +end architecture tech; + + diff --git a/projects/mips_sys/src/tb_mips_sys.vhd b/projects/mips_sys/src/tb_mips_sys.vhd index a2317b7..fee2a92 100644 --- a/projects/mips_sys/src/tb_mips_sys.vhd +++ b/projects/mips_sys/src/tb_mips_sys.vhd @@ -42,8 +42,6 @@ ARCHITECTURE behavior OF tb_mips_sys IS constant AC97_CLK_PERIOD : time := 83 ns; constant ETH_CLK_PERIOD : time := 7.7 ns; constant LOOP_BACK_EN : std_logic := '1'; - constant WITH_TLB : boolean := true; - constant KSEG_01_TRANSLATED : boolean := true; signal sys_rst_n_in : std_logic := '0'; signal sys_clk_in : std_logic := '1'; signal dip : unsigned(7 downto 0) := (others => '0'); @@ -149,7 +147,6 @@ uut: entity work.mips_sys ( sys_freq_in => 100.000, cpu_freq => 100.000, - sdram_phaseshift => 0, tsvga => ts_vga_800_600_72 ) PORT MAP @@ -271,8 +268,8 @@ inst_ssram : entity work.cy7c1354 -- MICRON DDR SDRAM Simulation Model i_mt46v16m16_0 : entity work.mt46v16m16 port map ( - dq => std_logic_vector(sys_sdr_data(15 downto 0)), - dqs => std_logic_vector(sys_sdr_dqs_q(1 downto 0)), + unsigned(dq) => std_logic_vector(sys_sdr_data(15 downto 0)), + unsigned(dqs) => std_logic_vector(sys_sdr_dqs_q(1 downto 0)), addr => std_logic_vector(sys_sdr_a_q), ba => std_logic_vector(sys_sdr_ba_q), clk => sys_sdr_clk_p, @@ -288,8 +285,8 @@ i_mt46v16m16_0 : entity work.mt46v16m16 -- MICRON DDR SDRAM Simulation Model i_mt46v16m16_1 : entity work.mt46v16m16 port map ( - dq => std_logic_vector(sys_sdr_data(31 downto 16)), - dqs => std_logic_vector(sys_sdr_dqs_q(3 downto 2)), + unsigned(dq) => std_logic_vector(sys_sdr_data(31 downto 16)), + unsigned(dqs) => std_logic_vector(sys_sdr_dqs_q(3 downto 2)), addr => std_logic_vector(sys_sdr_a_q), ba => std_logic_vector(sys_sdr_ba_q), clk => sys_sdr_clk_p, @@ -367,7 +364,7 @@ ac97_clk_gen : PROCESS FLASH_READ: process(sys_rst_n_in, sys_flash_ce, sys_flash_ssram_oe_n, sys_flash_ssram_a) type file_t is file of integer; - file load_flash : file_t open read_mode is "dhry.elf.flash.bin"; + file load_flash : file_t open read_mode is "hello_sim.elf.flash.bin"; variable instr : integer; variable index : natural; variable temp : signed(31 downto 0);