mirror of https://github.com/pmret/papermario.git
135 lines
6.8 KiB
ArmAsm
135 lines
6.8 KiB
ArmAsm
.include "macro.inc"
|
|
|
|
/* assembler directives */
|
|
.set noat /* allow manual use of $at */
|
|
.set noreorder /* don't insert nops after branches */
|
|
.set gp=64 /* allow use of 64-bit general purpose registers */
|
|
|
|
.section .text, "ax"
|
|
|
|
/* Generated by spimdisasm 1.11.1 */
|
|
|
|
glabel guPositionF
|
|
/* 3D860 80062460 3C018009 */ lui $at, %hi(position_800929e0)
|
|
/* 3D864 80062464 C42229E0 */ lwc1 $f2, %lo(position_800929e0)($at)
|
|
/* 3D868 80062468 44859000 */ mtc1 $a1, $f18
|
|
/* 3D86C 8006246C 27BDFFB0 */ addiu $sp, $sp, -0x50
|
|
/* 3D870 80062470 F7B80030 */ sdc1 $f24, 0x30($sp)
|
|
/* 3D874 80062474 C7B80060 */ lwc1 $f24, 0x60($sp)
|
|
/* 3D878 80062478 F7B40020 */ sdc1 $f20, 0x20($sp)
|
|
/* 3D87C 8006247C 46029502 */ mul.s $f20, $f18, $f2
|
|
/* 3D880 80062480 44869000 */ mtc1 $a2, $f18
|
|
/* 3D884 80062484 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 3D888 80062488 F7BA0038 */ sdc1 $f26, 0x38($sp)
|
|
/* 3D88C 8006248C 46029682 */ mul.s $f26, $f18, $f2
|
|
/* 3D890 80062490 44879000 */ mtc1 $a3, $f18
|
|
/* 3D894 80062494 00808021 */ addu $s0, $a0, $zero
|
|
/* 3D898 80062498 AFBF001C */ sw $ra, 0x1C($sp)
|
|
/* 3D89C 8006249C F7BE0048 */ sdc1 $f30, 0x48($sp)
|
|
/* 3D8A0 800624A0 F7BC0040 */ sdc1 $f28, 0x40($sp)
|
|
/* 3D8A4 800624A4 F7B60028 */ sdc1 $f22, 0x28($sp)
|
|
/* 3D8A8 800624A8 46029782 */ mul.s $f30, $f18, $f2
|
|
/* 3D8AC 800624AC 0C00A78F */ jal sin_rad
|
|
/* 3D8B0 800624B0 4600A306 */ mov.s $f12, $f20
|
|
/* 3D8B4 800624B4 4600A306 */ mov.s $f12, $f20
|
|
/* 3D8B8 800624B8 0C00A7A8 */ jal cos_rad
|
|
/* 3D8BC 800624BC E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* 3D8C0 800624C0 46000586 */ mov.s $f22, $f0
|
|
/* 3D8C4 800624C4 0C00A78F */ jal sin_rad
|
|
/* 3D8C8 800624C8 4600D306 */ mov.s $f12, $f26
|
|
/* 3D8CC 800624CC 4600D306 */ mov.s $f12, $f26
|
|
/* 3D8D0 800624D0 0C00A7A8 */ jal cos_rad
|
|
/* 3D8D4 800624D4 46000506 */ mov.s $f20, $f0
|
|
/* 3D8D8 800624D8 46000706 */ mov.s $f28, $f0
|
|
/* 3D8DC 800624DC 0C00A78F */ jal sin_rad
|
|
/* 3D8E0 800624E0 4600F306 */ mov.s $f12, $f30
|
|
/* 3D8E4 800624E4 4600F306 */ mov.s $f12, $f30
|
|
/* 3D8E8 800624E8 0C00A7A8 */ jal cos_rad
|
|
/* 3D8EC 800624EC 46000686 */ mov.s $f26, $f0
|
|
/* 3D8F0 800624F0 4600E382 */ mul.s $f14, $f28, $f0
|
|
/* 3D8F4 800624F4 461AE402 */ mul.s $f16, $f28, $f26
|
|
/* 3D8F8 800624F8 4600A307 */ neg.s $f12, $f20
|
|
/* 3D8FC 800624FC 46186302 */ mul.s $f12, $f12, $f24
|
|
/* 3D900 80062500 461AB082 */ mul.s $f2, $f22, $f26
|
|
/* 3D904 80062504 4600B182 */ mul.s $f6, $f22, $f0
|
|
/* 3D908 80062508 C7B20010 */ lwc1 $f18, 0x10($sp)
|
|
/* 3D90C 8006250C 46149102 */ mul.s $f4, $f18, $f20
|
|
/* 3D910 80062510 4614B502 */ mul.s $f20, $f22, $f20
|
|
/* 3D914 80062514 461C9202 */ mul.s $f8, $f18, $f28
|
|
/* 3D918 80062518 461CB582 */ mul.s $f22, $f22, $f28
|
|
/* 3D91C 8006251C 46187382 */ mul.s $f14, $f14, $f24
|
|
/* 3D920 80062520 46188402 */ mul.s $f16, $f16, $f24
|
|
/* 3D924 80062524 46002282 */ mul.s $f10, $f4, $f0
|
|
/* 3D928 80062528 461A2102 */ mul.s $f4, $f4, $f26
|
|
/* 3D92C 8006252C 46184202 */ mul.s $f8, $f8, $f24
|
|
/* 3D930 80062530 4618B582 */ mul.s $f22, $f22, $f24
|
|
/* 3D934 80062534 46062100 */ add.s $f4, $f4, $f6
|
|
/* 3D938 80062538 4600A182 */ mul.s $f6, $f20, $f0
|
|
/* 3D93C 8006253C 46025281 */ sub.s $f10, $f10, $f2
|
|
/* 3D940 80062540 461A9082 */ mul.s $f2, $f18, $f26
|
|
/* 3D944 80062544 461AA502 */ mul.s $f20, $f20, $f26
|
|
/* 3D948 80062548 46009002 */ mul.s $f0, $f18, $f0
|
|
/* 3D94C 8006254C 46185282 */ mul.s $f10, $f10, $f24
|
|
/* 3D950 80062550 8FBF001C */ lw $ra, 0x1C($sp)
|
|
/* 3D954 80062554 D7BE0048 */ ldc1 $f30, 0x48($sp)
|
|
/* 3D958 80062558 D7BC0040 */ ldc1 $f28, 0x40($sp)
|
|
/* 3D95C 8006255C 46182102 */ mul.s $f4, $f4, $f24
|
|
/* 3D960 80062560 E7A00014 */ swc1 $f0, 0x14($sp)
|
|
/* 3D964 80062564 AE00000C */ sw $zero, 0xC($s0)
|
|
/* 3D968 80062568 AE00001C */ sw $zero, 0x1C($s0)
|
|
/* 3D96C 8006256C AE00002C */ sw $zero, 0x2C($s0)
|
|
/* 3D970 80062570 C7B20064 */ lwc1 $f18, 0x64($sp)
|
|
/* 3D974 80062574 3C013F80 */ lui $at, (0x3F800000 >> 16)
|
|
/* 3D978 80062578 44810000 */ mtc1 $at, $f0
|
|
/* 3D97C 8006257C E6120030 */ swc1 $f18, 0x30($s0)
|
|
/* 3D980 80062580 C7B20068 */ lwc1 $f18, 0x68($sp)
|
|
/* 3D984 80062584 46023180 */ add.s $f6, $f6, $f2
|
|
/* 3D988 80062588 E6120034 */ swc1 $f18, 0x34($s0)
|
|
/* 3D98C 8006258C C7B2006C */ lwc1 $f18, 0x6C($sp)
|
|
/* 3D990 80062590 46183182 */ mul.s $f6, $f6, $f24
|
|
/* 3D994 80062594 E6120038 */ swc1 $f18, 0x38($s0)
|
|
/* 3D998 80062598 E600003C */ swc1 $f0, 0x3C($s0)
|
|
/* 3D99C 8006259C E60C0008 */ swc1 $f12, 0x8($s0)
|
|
/* 3D9A0 800625A0 E60E0000 */ swc1 $f14, 0x0($s0)
|
|
/* 3D9A4 800625A4 C7B20014 */ lwc1 $f18, 0x14($sp)
|
|
/* 3D9A8 800625A8 D7BA0038 */ ldc1 $f26, 0x38($sp)
|
|
/* 3D9AC 800625AC 4612A501 */ sub.s $f20, $f20, $f18
|
|
/* 3D9B0 800625B0 E6160028 */ swc1 $f22, 0x28($s0)
|
|
/* 3D9B4 800625B4 D7B60028 */ ldc1 $f22, 0x28($sp)
|
|
/* 3D9B8 800625B8 4618A502 */ mul.s $f20, $f20, $f24
|
|
/* 3D9BC 800625BC D7B80030 */ ldc1 $f24, 0x30($sp)
|
|
/* 3D9C0 800625C0 E6100004 */ swc1 $f16, 0x4($s0)
|
|
/* 3D9C4 800625C4 E6080018 */ swc1 $f8, 0x18($s0)
|
|
/* 3D9C8 800625C8 E60A0010 */ swc1 $f10, 0x10($s0)
|
|
/* 3D9CC 800625CC E6040014 */ swc1 $f4, 0x14($s0)
|
|
/* 3D9D0 800625D0 E6060020 */ swc1 $f6, 0x20($s0)
|
|
/* 3D9D4 800625D4 E6140024 */ swc1 $f20, 0x24($s0)
|
|
/* 3D9D8 800625D8 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 3D9DC 800625DC D7B40020 */ ldc1 $f20, 0x20($sp)
|
|
/* 3D9E0 800625E0 03E00008 */ jr $ra
|
|
/* 3D9E4 800625E4 27BD0050 */ addiu $sp, $sp, 0x50
|
|
|
|
glabel guPosition
|
|
/* 3D9E8 800625E8 27BDFF98 */ addiu $sp, $sp, -0x68
|
|
/* 3D9EC 800625EC AFB00060 */ sw $s0, 0x60($sp)
|
|
/* 3D9F0 800625F0 00808021 */ addu $s0, $a0, $zero
|
|
/* 3D9F4 800625F4 C7A00078 */ lwc1 $f0, 0x78($sp)
|
|
/* 3D9F8 800625F8 C7A2007C */ lwc1 $f2, 0x7C($sp)
|
|
/* 3D9FC 800625FC C7A40080 */ lwc1 $f4, 0x80($sp)
|
|
/* 3DA00 80062600 C7A60084 */ lwc1 $f6, 0x84($sp)
|
|
/* 3DA04 80062604 27A40020 */ addiu $a0, $sp, 0x20
|
|
/* 3DA08 80062608 AFBF0064 */ sw $ra, 0x64($sp)
|
|
/* 3DA0C 8006260C E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* 3DA10 80062610 E7A20014 */ swc1 $f2, 0x14($sp)
|
|
/* 3DA14 80062614 E7A40018 */ swc1 $f4, 0x18($sp)
|
|
/* 3DA18 80062618 0C018918 */ jal guPositionF
|
|
/* 3DA1C 8006261C E7A6001C */ swc1 $f6, 0x1C($sp)
|
|
/* 3DA20 80062620 27A40020 */ addiu $a0, $sp, 0x20
|
|
/* 3DA24 80062624 0C0196B0 */ jal guMtxF2L
|
|
/* 3DA28 80062628 02002821 */ addu $a1, $s0, $zero
|
|
/* 3DA2C 8006262C 8FBF0064 */ lw $ra, 0x64($sp)
|
|
/* 3DA30 80062630 8FB00060 */ lw $s0, 0x60($sp)
|
|
/* 3DA34 80062634 03E00008 */ jr $ra
|
|
/* 3DA38 80062638 27BD0068 */ addiu $sp, $sp, 0x68
|
|
/* 3DA3C 8006263C 00000000 */ nop
|