Files
SpaghettiKart/asm/non_matchings/code_80057C60/func_80064DEC.s
T
CoderStig 8ab4557b39 Split asm using autodecompiler (#49)
* Split asm using autodecompiler

* Placed libultra bss and linked more C
2021-11-05 05:17:09 -06:00

50 lines
2.4 KiB
ArmAsm

glabel func_80064DEC
/* 0659EC 80064DEC 00077600 */ sll $t6, $a3, 0x18
/* 0659F0 80064DF0 000E7E03 */ sra $t7, $t6, 0x18
/* 0659F4 80064DF4 000FC0C0 */ sll $t8, $t7, 3
/* 0659F8 80064DF8 030FC021 */ addu $t8, $t8, $t7
/* 0659FC 80064DFC 0018C0C0 */ sll $t8, $t8, 3
/* 065A00 80064E00 AFA50004 */ sw $a1, 4($sp)
/* 065A04 80064E04 AFA60008 */ sw $a2, 8($sp)
/* 065A08 80064E08 AFA7000C */ sw $a3, 0xc($sp)
/* 065A0C 80064E0C 00981021 */ addu $v0, $a0, $t8
/* 065A10 80064E10 84590816 */ lh $t9, 0x816($v0)
/* 065A14 80064E14 C4840018 */ lwc1 $f4, 0x18($a0)
/* 065A18 80064E18 24010009 */ li $at, 9
/* 065A1C 80064E1C 27280001 */ addiu $t0, $t9, 1
/* 065A20 80064E20 A4480816 */ sh $t0, 0x816($v0)
/* 065A24 80064E24 84490816 */ lh $t1, 0x816($v0)
/* 065A28 80064E28 E44407FC */ swc1 $f4, 0x7fc($v0)
/* 065A2C 80064E2C 55210008 */ bnel $t1, $at, .L80064E50
/* 065A30 80064E30 C4460804 */ lwc1 $f6, 0x804($v0)
/* 065A34 80064E34 948A00B6 */ lhu $t2, 0xb6($a0)
/* 065A38 80064E38 314BFFBF */ andi $t3, $t2, 0xffbf
/* 065A3C 80064E3C A48B00B6 */ sh $t3, 0xb6($a0)
/* 065A40 80064E40 A4400814 */ sh $zero, 0x814($v0)
/* 065A44 80064E44 A4400816 */ sh $zero, 0x816($v0)
/* 065A48 80064E48 A440080A */ sh $zero, 0x80a($v0)
/* 065A4C 80064E4C C4460804 */ lwc1 $f6, 0x804($v0)
.L80064E50:
/* 065A50 80064E50 3C01800F */ lui $at, %hi(D_800EE758)
/* 065A54 80064E54 D42AE758 */ ldc1 $f10, %lo(D_800EE758)($at)
/* 065A58 80064E58 46003221 */ cvt.d.s $f8, $f6
/* 065A5C 80064E5C 3C014004 */ li $at, 0x40040000 # 2.062500
/* 065A60 80064E60 462A4400 */ add.d $f16, $f8, $f10
/* 065A64 80064E64 44804000 */ mtc1 $zero, $f8
/* 065A68 80064E68 44814800 */ mtc1 $at, $f9
/* 065A6C 80064E6C 3C014020 */ li $at, 0x40200000 # 2.500000
/* 065A70 80064E70 462084A0 */ cvt.s.d $f18, $f16
/* 065A74 80064E74 E4520804 */ swc1 $f18, 0x804($v0)
/* 065A78 80064E78 C4440804 */ lwc1 $f4, 0x804($v0)
/* 065A7C 80064E7C 460021A1 */ cvt.d.s $f6, $f4
/* 065A80 80064E80 4626403E */ c.le.d $f8, $f6
/* 065A84 80064E84 00000000 */ nop
/* 065A88 80064E88 45000004 */ bc1f .L80064E9C
/* 065A8C 80064E8C 00000000 */ nop
/* 065A90 80064E90 44815000 */ mtc1 $at, $f10
/* 065A94 80064E94 00000000 */ nop
/* 065A98 80064E98 E44A0804 */ swc1 $f10, 0x804($v0)
.L80064E9C:
/* 065A9C 80064E9C 03E00008 */ jr $ra
/* 065AA0 80064EA0 00000000 */ nop