papermario/asm/nonmatchings/os/code_3f6d0_len_320/guRotateAnglesF.s
2020-09-23 23:16:13 -04:00

103 lines
5.1 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guRotateAnglesF
/* 3F6D0 800642D0 3C018009 */ lui $at, 0x8009
/* 3F6D4 800642D4 C4203DD0 */ lwc1 $f0, 0x3dd0($at)
/* 3F6D8 800642D8 44854000 */ mtc1 $a1, $f8
/* 3F6DC 800642DC 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3F6E0 800642E0 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 3F6E4 800642E4 46004502 */ mul.s $f20, $f8, $f0
/* 3F6E8 800642E8 44864000 */ mtc1 $a2, $f8
/* 3F6EC 800642EC AFB00018 */ sw $s0, 0x18($sp)
/* 3F6F0 800642F0 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 3F6F4 800642F4 46004582 */ mul.s $f22, $f8, $f0
/* 3F6F8 800642F8 44874000 */ mtc1 $a3, $f8
/* 3F6FC 800642FC 00808021 */ addu $s0, $a0, $zero
/* 3F700 80064300 AFBF0020 */ sw $ra, 0x20($sp)
/* 3F704 80064304 AFB1001C */ sw $s1, 0x1c($sp)
/* 3F708 80064308 F7BE0050 */ sdc1 $f30, 0x50($sp)
/* 3F70C 8006430C F7BC0048 */ sdc1 $f28, 0x48($sp)
/* 3F710 80064310 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* 3F714 80064314 F7B80038 */ sdc1 $f24, 0x38($sp)
/* 3F718 80064318 46004602 */ mul.s $f24, $f8, $f0
/* 3F71C 8006431C 0C00A85B */ jal sin_rad
/* 3F720 80064320 4600A306 */ mov.s $f12, $f20
/* 3F724 80064324 44110000 */ mfc1 $s1, $f0
/* 3F728 80064328 00000000 */ nop
/* 3F72C 8006432C 0C00A874 */ jal cos_rad
/* 3F730 80064330 4600A306 */ mov.s $f12, $f20
/* 3F734 80064334 46000786 */ mov.s $f30, $f0
/* 3F738 80064338 0C00A85B */ jal sin_rad
/* 3F73C 8006433C 4600B306 */ mov.s $f12, $f22
/* 3F740 80064340 4600B306 */ mov.s $f12, $f22
/* 3F744 80064344 0C00A874 */ jal cos_rad
/* 3F748 80064348 46000706 */ mov.s $f28, $f0
/* 3F74C 8006434C 46000686 */ mov.s $f26, $f0
/* 3F750 80064350 0C00A85B */ jal sin_rad
/* 3F754 80064354 4600C306 */ mov.s $f12, $f24
/* 3F758 80064358 4600C306 */ mov.s $f12, $f24
/* 3F75C 8006435C 0C00A874 */ jal cos_rad
/* 3F760 80064360 46000506 */ mov.s $f20, $f0
/* 3F764 80064364 46000586 */ mov.s $f22, $f0
/* 3F768 80064368 0C019D28 */ jal guMtxIdentF
/* 3F76C 8006436C 02002021 */ addu $a0, $s0, $zero
/* 3F770 80064370 00000000 */ nop
/* 3F774 80064374 4616D402 */ mul.s $f16, $f26, $f22
/* 3F778 80064378 00000000 */ nop
/* 3F77C 8006437C 4614D482 */ mul.s $f18, $f26, $f20
/* 3F780 80064380 00000000 */ nop
/* 3F784 80064384 4616F282 */ mul.s $f10, $f30, $f22
/* 3F788 80064388 00000000 */ nop
/* 3F78C 8006438C 461CF002 */ mul.s $f0, $f30, $f28
/* 3F790 80064390 44914000 */ mtc1 $s1, $f8
/* 3F794 80064394 00000000 */ nop
/* 3F798 80064398 461C4082 */ mul.s $f2, $f8, $f28
/* 3F79C 8006439C 00000000 */ nop
/* 3F7A0 800643A0 4614F202 */ mul.s $f8, $f30, $f20
/* 3F7A4 800643A4 00000000 */ nop
/* 3F7A8 800643A8 461AF782 */ mul.s $f30, $f30, $f26
/* 3F7AC 800643AC 00000000 */ nop
/* 3F7B0 800643B0 46160102 */ mul.s $f4, $f0, $f22
/* 3F7B4 800643B4 00000000 */ nop
/* 3F7B8 800643B8 46161182 */ mul.s $f6, $f2, $f22
/* 3F7BC 800643BC 00000000 */ nop
/* 3F7C0 800643C0 46141082 */ mul.s $f2, $f2, $f20
/* 3F7C4 800643C4 E7A80014 */ swc1 $f8, 0x14($sp)
/* 3F7C8 800643C8 44914000 */ mtc1 $s1, $f8
/* 3F7CC 800643CC 00000000 */ nop
/* 3F7D0 800643D0 461A4382 */ mul.s $f14, $f8, $f26
/* 3F7D4 800643D4 00000000 */ nop
/* 3F7D8 800643D8 46144302 */ mul.s $f12, $f8, $f20
/* 3F7DC 800643DC C7A80014 */ lwc1 $f8, 0x14($sp)
/* 3F7E0 800643E0 46083181 */ sub.s $f6, $f6, $f8
/* 3F7E4 800643E4 44914000 */ mtc1 $s1, $f8
/* 3F7E8 800643E8 00000000 */ nop
/* 3F7EC 800643EC 46164202 */ mul.s $f8, $f8, $f22
/* 3F7F0 800643F0 4600E707 */ neg.s $f28, $f28
/* 3F7F4 800643F4 46140002 */ mul.s $f0, $f0, $f20
/* 3F7F8 800643F8 460A1080 */ add.s $f2, $f2, $f10
/* 3F7FC 800643FC E61C0008 */ swc1 $f28, 8($s0)
/* 3F800 80064400 E6100000 */ swc1 $f16, ($s0)
/* 3F804 80064404 44114000 */ mfc1 $s1, $f8
/* 3F808 80064408 460C2100 */ add.s $f4, $f4, $f12
/* 3F80C 8006440C E6120004 */ swc1 $f18, 4($s0)
/* 3F810 80064410 E61E0028 */ swc1 $f30, 0x28($s0)
/* 3F814 80064414 E60E0018 */ swc1 $f14, 0x18($s0)
/* 3F818 80064418 46080001 */ sub.s $f0, $f0, $f8
/* 3F81C 8006441C E6060010 */ swc1 $f6, 0x10($s0)
/* 3F820 80064420 E6020014 */ swc1 $f2, 0x14($s0)
/* 3F824 80064424 E6040020 */ swc1 $f4, 0x20($s0)
/* 3F828 80064428 E6000024 */ swc1 $f0, 0x24($s0)
/* 3F82C 8006442C 8FBF0020 */ lw $ra, 0x20($sp)
/* 3F830 80064430 8FB1001C */ lw $s1, 0x1c($sp)
/* 3F834 80064434 8FB00018 */ lw $s0, 0x18($sp)
/* 3F838 80064438 D7BE0050 */ ldc1 $f30, 0x50($sp)
/* 3F83C 8006443C D7BC0048 */ ldc1 $f28, 0x48($sp)
/* 3F840 80064440 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* 3F844 80064444 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 3F848 80064448 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 3F84C 8006444C D7B40028 */ ldc1 $f20, 0x28($sp)
/* 3F850 80064450 03E00008 */ jr $ra
/* 3F854 80064454 27BD0058 */ addiu $sp, $sp, 0x58