mirror of
https://github.com/pmret/papermario.git
synced 2024-11-19 01:12:28 +01:00
112 lines
5.4 KiB
ArmAsm
112 lines
5.4 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_80218758_5ECBE8
|
|
/* 5ECBE8 80218758 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 5ECBEC 8021875C F7B60020 */ sdc1 $f22, 0x20($sp)
|
|
/* 5ECBF0 80218760 46006586 */ mov.s $f22, $f12
|
|
/* 5ECBF4 80218764 F7B40018 */ sdc1 $f20, 0x18($sp)
|
|
/* 5ECBF8 80218768 AFBF0010 */ sw $ra, 0x10($sp)
|
|
/* 5ECBFC 8021876C 0C00A3FC */ jal length2D
|
|
/* 5ECC00 80218770 46007506 */ mov.s $f20, $f14
|
|
/* 5ECC04 80218774 4600A18D */ trunc.w.s $f6, $f20
|
|
/* 5ECC08 80218778 44023000 */ mfc1 $v0, $f6
|
|
/* 5ECC0C 8021877C 00000000 */ nop
|
|
/* 5ECC10 80218780 04420001 */ bltzl $v0, .L80218788
|
|
/* 5ECC14 80218784 00021023 */ negu $v0, $v0
|
|
.L80218788:
|
|
/* 5ECC18 80218788 44821000 */ mtc1 $v0, $f2
|
|
/* 5ECC1C 8021878C 00000000 */ nop
|
|
/* 5ECC20 80218790 468010A0 */ cvt.s.w $f2, $f2
|
|
/* 5ECC24 80218794 46001103 */ div.s $f4, $f2, $f0
|
|
/* 5ECC28 80218798 0000202D */ daddu $a0, $zero, $zero
|
|
/* 5ECC2C 8021879C 2406005A */ addiu $a2, $zero, 0x5a
|
|
/* 5ECC30 802187A0 0080282D */ daddu $a1, $a0, $zero
|
|
/* 5ECC34 802187A4 3C078022 */ lui $a3, %hi(D_80227B7C)
|
|
/* 5ECC38 802187A8 24E77B7C */ addiu $a3, $a3, %lo(D_80227B7C)
|
|
/* 5ECC3C 802187AC 30C2FFFF */ andi $v0, $a2, 0xffff
|
|
.L802187B0:
|
|
/* 5ECC40 802187B0 3083FFFF */ andi $v1, $a0, 0xffff
|
|
/* 5ECC44 802187B4 00431023 */ subu $v0, $v0, $v1
|
|
/* 5ECC48 802187B8 00021FC2 */ srl $v1, $v0, 0x1f
|
|
/* 5ECC4C 802187BC 00431021 */ addu $v0, $v0, $v1
|
|
/* 5ECC50 802187C0 00021043 */ sra $v0, $v0, 1
|
|
/* 5ECC54 802187C4 00821821 */ addu $v1, $a0, $v0
|
|
/* 5ECC58 802187C8 3062FFFF */ andi $v0, $v1, 0xffff
|
|
/* 5ECC5C 802187CC 00021080 */ sll $v0, $v0, 2
|
|
/* 5ECC60 802187D0 00471021 */ addu $v0, $v0, $a3
|
|
/* 5ECC64 802187D4 C4400000 */ lwc1 $f0, ($v0)
|
|
/* 5ECC68 802187D8 4604003C */ c.lt.s $f0, $f4
|
|
/* 5ECC6C 802187DC 00000000 */ nop
|
|
/* 5ECC70 802187E0 45020002 */ bc1fl .L802187EC
|
|
/* 5ECC74 802187E4 0060302D */ daddu $a2, $v1, $zero
|
|
/* 5ECC78 802187E8 0060202D */ daddu $a0, $v1, $zero
|
|
.L802187EC:
|
|
/* 5ECC7C 802187EC 24A50001 */ addiu $a1, $a1, 1
|
|
/* 5ECC80 802187F0 30A2FFFF */ andi $v0, $a1, 0xffff
|
|
/* 5ECC84 802187F4 2C420007 */ sltiu $v0, $v0, 7
|
|
/* 5ECC88 802187F8 1440FFED */ bnez $v0, .L802187B0
|
|
/* 5ECC8C 802187FC 30C2FFFF */ andi $v0, $a2, 0xffff
|
|
/* 5ECC90 80218800 3082FFFF */ andi $v0, $a0, 0xffff
|
|
/* 5ECC94 80218804 00021080 */ sll $v0, $v0, 2
|
|
/* 5ECC98 80218808 30C3FFFF */ andi $v1, $a2, 0xffff
|
|
/* 5ECC9C 8021880C 3C018022 */ lui $at, %hi(D_80227B7C)
|
|
/* 5ECCA0 80218810 00220821 */ addu $at, $at, $v0
|
|
/* 5ECCA4 80218814 C4227B7C */ lwc1 $f2, %lo(D_80227B7C)($at)
|
|
/* 5ECCA8 80218818 00031880 */ sll $v1, $v1, 2
|
|
/* 5ECCAC 8021881C 46041081 */ sub.s $f2, $f2, $f4
|
|
/* 5ECCB0 80218820 3C018022 */ lui $at, %hi(D_80227B7C)
|
|
/* 5ECCB4 80218824 00230821 */ addu $at, $at, $v1
|
|
/* 5ECCB8 80218828 C4207B7C */ lwc1 $f0, %lo(D_80227B7C)($at)
|
|
/* 5ECCBC 8021882C 46040001 */ sub.s $f0, $f0, $f4
|
|
/* 5ECCC0 80218830 46001085 */ abs.s $f2, $f2
|
|
/* 5ECCC4 80218834 46000005 */ abs.s $f0, $f0
|
|
/* 5ECCC8 80218838 4600103C */ c.lt.s $f2, $f0
|
|
/* 5ECCCC 8021883C 00000000 */ nop
|
|
/* 5ECCD0 80218840 45000002 */ bc1f .L8021884C
|
|
/* 5ECCD4 80218844 00C0182D */ daddu $v1, $a2, $zero
|
|
/* 5ECCD8 80218848 0080182D */ daddu $v1, $a0, $zero
|
|
.L8021884C:
|
|
/* 5ECCDC 8021884C 44800000 */ mtc1 $zero, $f0
|
|
/* 5ECCE0 80218850 00000000 */ nop
|
|
/* 5ECCE4 80218854 4600B03C */ c.lt.s $f22, $f0
|
|
/* 5ECCE8 80218858 00000000 */ nop
|
|
/* 5ECCEC 8021885C 4500000A */ bc1f .L80218888
|
|
/* 5ECCF0 80218860 00000000 */ nop
|
|
/* 5ECCF4 80218864 4614003E */ c.le.s $f0, $f20
|
|
/* 5ECCF8 80218868 00000000 */ nop
|
|
/* 5ECCFC 8021886C 45000004 */ bc1f .L80218880
|
|
/* 5ECD00 80218870 240200B4 */ addiu $v0, $zero, 0xb4
|
|
/* 5ECD04 80218874 00431823 */ subu $v1, $v0, $v1
|
|
/* 5ECD08 80218878 44800000 */ mtc1 $zero, $f0
|
|
/* 5ECD0C 8021887C 00000000 */ nop
|
|
.L80218880:
|
|
/* 5ECD10 80218880 4600B03C */ c.lt.s $f22, $f0
|
|
/* 5ECD14 80218884 00000000 */ nop
|
|
.L80218888:
|
|
/* 5ECD18 80218888 45000005 */ bc1f .L802188A0
|
|
/* 5ECD1C 8021888C 00000000 */ nop
|
|
/* 5ECD20 80218890 4600A03C */ c.lt.s $f20, $f0
|
|
/* 5ECD24 80218894 00000000 */ nop
|
|
/* 5ECD28 80218898 45030001 */ bc1tl .L802188A0
|
|
/* 5ECD2C 8021889C 246300B4 */ addiu $v1, $v1, 0xb4
|
|
.L802188A0:
|
|
/* 5ECD30 802188A0 44800000 */ mtc1 $zero, $f0
|
|
/* 5ECD34 802188A4 00000000 */ nop
|
|
/* 5ECD38 802188A8 4616003E */ c.le.s $f0, $f22
|
|
/* 5ECD3C 802188AC 00000000 */ nop
|
|
/* 5ECD40 802188B0 45000006 */ bc1f .L802188CC
|
|
/* 5ECD44 802188B4 00000000 */ nop
|
|
/* 5ECD48 802188B8 4600A03C */ c.lt.s $f20, $f0
|
|
/* 5ECD4C 802188BC 00000000 */ nop
|
|
/* 5ECD50 802188C0 45000002 */ bc1f .L802188CC
|
|
/* 5ECD54 802188C4 24020168 */ addiu $v0, $zero, 0x168
|
|
/* 5ECD58 802188C8 00431823 */ subu $v1, $v0, $v1
|
|
.L802188CC:
|
|
/* 5ECD5C 802188CC 8FBF0010 */ lw $ra, 0x10($sp)
|
|
/* 5ECD60 802188D0 D7B60020 */ ldc1 $f22, 0x20($sp)
|
|
/* 5ECD64 802188D4 D7B40018 */ ldc1 $f20, 0x18($sp)
|
|
/* 5ECD68 802188D8 3062FFFF */ andi $v0, $v1, 0xffff
|
|
/* 5ECD6C 802188DC 03E00008 */ jr $ra
|
|
/* 5ECD70 802188E0 27BD0028 */ addiu $sp, $sp, 0x28
|