Disassemble func0f165360

This commit is contained in:
Ryan Dwyer
2021-10-12 18:44:31 +10:00
parent 0fa9d1b8e0
commit 7a05e49d38
2 changed files with 171 additions and 172 deletions
-172
View File
@@ -1,172 +0,0 @@
#include <ultra64.h>
#include "constants.h"
#include "bss.h"
#include "data.h"
#include "types.h"
const u32 var7f1b76d0[] = {0xbf666666};
const u32 var7f1b76d4[] = {0x00000000};
const u32 var7f1b76d8[] = {0x00000000};
const u32 var7f1b76dc[] = {0x00000000};
GLOBAL_ASM(
glabel func0f165360
/* f165360: 440fa000 */ mfc1 $t7,$f20
/* f165364: 3c07800a */ lui $a3,%hi(g_Vars)
/* f165368: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars)
/* f16536c: 8ce70284 */ lw $a3,0x284($a3)
/* f165370: 8ce71740 */ lw $a3,0x1740($a3)
/* f165374: 3c08800a */ lui $t0,%hi(var800a4cf0)
/* f165378: 25084cf0 */ addiu $t0,$t0,%lo(var800a4cf0)
/* f16537c: 3c017f1b */ lui $at,%hi(var7f1b76d0)
/* f165380: c42d76d0 */ lwc1 $f13,%lo(var7f1b76d0)($at)
/* f165384: c50c000c */ lwc1 $f12,0xc($t0)
/* f165388: 3c08800a */ lui $t0,%hi(g_BgPortals)
/* f16538c: 25084cc8 */ addiu $t0,$t0,%lo(g_BgPortals)
/* f165390: 8d080000 */ lw $t0,0x0($t0)
/* f165394: 000448c0 */ sll $t1,$a0,0x3
/* f165398: 01284820 */ add $t1,$t1,$t0
/* f16539c: 95290000 */ lhu $t1,0x0($t1)
/* f1653a0: 01092020 */ add $a0,$t0,$t1
/* f1653a4: 90890000 */ lbu $t1,0x0($a0)
/* f1653a8: 00096820 */ add $t5,$zero,$t1
/* f1653ac: 24ce0270 */ addiu $t6,$a2,0x270
/* f1653b0: 460d6302 */ mul.s $f12,$f12,$f13
/* f1653b4: c4e00000 */ lwc1 $f0,0x0($a3)
/* f1653b8: c4e30004 */ lwc1 $f3,0x4($a3)
/* f1653bc: c4e60008 */ lwc1 $f6,0x8($a3)
/* f1653c0: c4e10010 */ lwc1 $f1,0x10($a3)
/* f1653c4: c4e40014 */ lwc1 $f4,0x14($a3)
/* f1653c8: c4e70018 */ lwc1 $f7,0x18($a3)
/* f1653cc: c4e20020 */ lwc1 $f2,0x20($a3)
/* f1653d0: c4e50024 */ lwc1 $f5,0x24($a3)
/* f1653d4: c4e80028 */ lwc1 $f8,0x28($a3)
/* f1653d8: c4e90030 */ lwc1 $f9,0x30($a3)
/* f1653dc: c4ea0034 */ lwc1 $f10,0x34($a3)
/* f1653e0: c4eb0038 */ lwc1 $f11,0x38($a3)
/* f1653e4: 20840004 */ addi $a0,$a0,0x4
/* f1653e8: 4480a000 */ mtc1 $zero,$f20
/* f1653ec: 200a0001 */ addi $t2,$zero,0x1
/* f1653f0: 200b0000 */ addi $t3,$zero,0x0
/* f1653f4: 00091020 */ add $v0,$zero,$t1
/* f1653f8: c48d0000 */ lwc1 $f13,0x0($a0)
.L0f1653fc:
/* f1653fc: 460d0402 */ mul.s $f16,$f0,$f13
/* f165400: c48e0004 */ lwc1 $f14,0x4($a0)
/* f165404: 460e0c42 */ mul.s $f17,$f1,$f14
/* f165408: c48f0008 */ lwc1 $f15,0x8($a0)
/* f16540c: 460f1482 */ mul.s $f18,$f2,$f15
/* f165410: 46118400 */ add.s $f16,$f16,$f17
/* f165414: 460d1c42 */ mul.s $f17,$f3,$f13
/* f165418: 46128400 */ add.s $f16,$f16,$f18
/* f16541c: 460e2482 */ mul.s $f18,$f4,$f14
/* f165420: 46098400 */ add.s $f16,$f16,$f9
/* f165424: 460f2cc2 */ mul.s $f19,$f5,$f15
/* f165428: 46128c40 */ add.s $f17,$f17,$f18
/* f16542c: 460d3482 */ mul.s $f18,$f6,$f13
/* f165430: e5d00000 */ swc1 $f16,0x0($t6)
/* f165434: 460e3c02 */ mul.s $f16,$f7,$f14
/* f165438: 46138c40 */ add.s $f17,$f17,$f19
/* f16543c: 460f44c2 */ mul.s $f19,$f8,$f15
/* f165440: 460a8c40 */ add.s $f17,$f17,$f10
/* f165444: 46109400 */ add.s $f16,$f18,$f16
/* f165448: e5d10004 */ swc1 $f17,0x4($t6)
/* f16544c: 46138400 */ add.s $f16,$f16,$f19
/* f165450: 2484000c */ addiu $a0,$a0,0xc
/* f165454: 460b8400 */ add.s $f16,$f16,$f11
/* f165458: 2129ffff */ addi $t1,$t1,-1
/* f16545c: 4614803c */ c.lt.s $f16,$f20
/* f165460: e5d00008 */ swc1 $f16,0x8($t6)
/* f165464: 45010003 */ bc1t .L0f165474
/* f165468: 240c0000 */ addiu $t4,$zero,0x0
/* f16546c: 240b0001 */ addiu $t3,$zero,0x1
/* f165470: 240c0001 */ addiu $t4,$zero,0x1
.L0f165474:
/* f165474: adcc000c */ sw $t4,0xc($t6)
/* f165478: 25cefff0 */ addiu $t6,$t6,-16
/* f16547c: 1520ffdf */ bnez $t1,.L0f1653fc
/* f165480: c48d0000 */ lwc1 $f13,0x0($a0)
/* f165484: 11600048 */ beqz $t3,.L0f1655a8
/* f165488: 00000000 */ nop
/* f16548c: 24c80270 */ addiu $t0,$a2,0x270
/* f165490: 24020000 */ addiu $v0,$zero,0x0
/* f165494: 8d090000 */ lw $t1,0x0($t0)
/* f165498: 8d0a0004 */ lw $t2,0x4($t0)
/* f16549c: 8d0b0008 */ lw $t3,0x8($t0)
/* f1654a0: 8d0c000c */ lw $t4,0xc($t0)
/* f1654a4: adc90000 */ sw $t1,0x0($t6)
/* f1654a8: adca0004 */ sw $t2,0x4($t6)
/* f1654ac: adcb0008 */ sw $t3,0x8($t6)
/* f1654b0: adcc000c */ sw $t4,0xc($t6)
.L0f1654b4:
/* f1654b4: 8dc9000c */ lw $t1,0xc($t6)
/* f1654b8: 11200025 */ beqz $t1,.L0f165550
/* f1654bc: 8dc9001c */ lw $t1,0x1c($t6)
/* f1654c0: 15200033 */ bnez $t1,.L0f165590
/* f1654c4: 00000000 */ nop
/* f1654c8: 8dc90010 */ lw $t1,0x10($t6)
/* f1654cc: 8dca0014 */ lw $t2,0x14($t6)
/* f1654d0: 8dcb0018 */ lw $t3,0x18($t6)
/* f1654d4: acc90000 */ sw $t1,0x0($a2)
/* f1654d8: acca0004 */ sw $t2,0x4($a2)
/* f1654dc: accb0008 */ sw $t3,0x8($a2)
/* f1654e0: 24c60010 */ addiu $a2,$a2,0x10
/* f1654e4: 24420001 */ addiu $v0,$v0,0x1
.L0f1654e8:
/* f1654e8: c5c00008 */ lwc1 $f0,0x8($t6)
/* f1654ec: c5c10018 */ lwc1 $f1,0x18($t6)
/* f1654f0: 24c60010 */ addiu $a2,$a2,0x10
/* f1654f4: 46000841 */ sub.s $f1,$f1,$f0
/* f1654f8: 46000087 */ neg.s $f2,$f0
/* f1654fc: c5c30000 */ lwc1 $f3,0x0($t6)
/* f165500: 46011003 */ div.s $f0,$f2,$f1
/* f165504: c5c20010 */ lwc1 $f2,0x10($t6)
/* f165508: 46031041 */ sub.s $f1,$f2,$f3
/* f16550c: 46000842 */ mul.s $f1,$f1,$f0
/* f165510: c5c20004 */ lwc1 $f2,0x4($t6)
/* f165514: 46011840 */ add.s $f1,$f3,$f1
/* f165518: c5c30014 */ lwc1 $f3,0x14($t6)
/* f16551c: e4c1fff0 */ swc1 $f1,-0x10($a2)
/* f165520: 460218c1 */ sub.s $f3,$f3,$f2
/* f165524: 24420001 */ addiu $v0,$v0,0x1
/* f165528: 46001842 */ mul.s $f1,$f3,$f0
/* f16552c: acc0fff8 */ sw $zero,-0x8($a2)
/* f165530: 46011040 */ add.s $f1,$f2,$f1
/* f165534: 21adffff */ addi $t5,$t5,-1
/* f165538: e4c1fff4 */ swc1 $f1,-0xc($a2)
/* f16553c: 15a0ffdd */ bnez $t5,.L0f1654b4
/* f165540: 25ce0010 */ addiu $t6,$t6,0x10
/* f165544: aca00000 */ sw $zero,0x0($a1)
/* f165548: 03e00008 */ jr $ra
/* f16554c: 448fa000 */ mtc1 $t7,$f20
.L0f165550:
/* f165550: 1520ffe5 */ bnez $t1,.L0f1654e8
/* f165554: 00000000 */ nop
/* f165558: 8dc90010 */ lw $t1,0x10($t6)
/* f16555c: 8dca0014 */ lw $t2,0x14($t6)
/* f165560: 8dcb0018 */ lw $t3,0x18($t6)
/* f165564: acc90000 */ sw $t1,0x0($a2)
/* f165568: acca0004 */ sw $t2,0x4($a2)
/* f16556c: accb0008 */ sw $t3,0x8($a2)
/* f165570: 21adffff */ addi $t5,$t5,-1
/* f165574: 24420001 */ addiu $v0,$v0,0x1
/* f165578: 24c60010 */ addiu $a2,$a2,0x10
/* f16557c: 15a0ffcd */ bnez $t5,.L0f1654b4
/* f165580: 25ce0010 */ addiu $t6,$t6,0x10
/* f165584: aca00000 */ sw $zero,0x0($a1)
/* f165588: 03e00008 */ jr $ra
/* f16558c: 448fa000 */ mtc1 $t7,$f20
.L0f165590:
/* f165590: 21adffff */ addi $t5,$t5,-1
/* f165594: 15a0ffc7 */ bnez $t5,.L0f1654b4
/* f165598: 25ce0010 */ addiu $t6,$t6,0x10
/* f16559c: aca00000 */ sw $zero,0x0($a1)
/* f1655a0: 03e00008 */ jr $ra
/* f1655a4: 448fa000 */ mtc1 $t7,$f20
.L0f1655a8:
/* f1655a8: 24080028 */ addiu $t0,$zero,0x28
/* f1655ac: 01024022 */ sub $t0,$t0,$v0
/* f1655b0: aca80000 */ sw $t0,0x0($a1)
/* f1655b4: 03e00008 */ jr $ra
/* f1655b8: 448fa000 */ mtc1 $t7,$f20
);
+171
View File
@@ -0,0 +1,171 @@
#include "asm_helper.h"
#include "macros.inc"
.set noat
.set noreorder
.rdata
glabel var7f1b76d0
.float -0.9
.text
glabel func0f165360
mfc1 $t7, $f20
lui $a3, %hi(g_Vars)
addiu $a3, $a3, %lo(g_Vars)
lw $a3, 0x284($a3)
lw $a3, 0x1740($a3)
lui $t0, %hi(var800a4cf0)
addiu $t0, $t0, %lo(var800a4cf0)
lui $at, %hi(var7f1b76d0)
lwc1 $f13, %lo(var7f1b76d0)($at)
lwc1 $f12, 0xc($t0)
lui $t0, %hi(g_BgPortals)
addiu $t0, $t0, %lo(g_BgPortals)
lw $t0, 0x0($t0)
sll $t1, $a0, 0x3
add $t1, $t1, $t0
lhu $t1, 0x0($t1)
add $a0, $t0, $t1
lbu $t1, 0x0($a0)
add $t5, $zero, $t1
addiu $t6, $a2, 0x270
mul.s $f12, $f12, $f13
lwc1 $f0, 0x0($a3)
lwc1 $f3, 0x4($a3)
lwc1 $f6, 0x8($a3)
lwc1 $f1, 0x10($a3)
lwc1 $f4, 0x14($a3)
lwc1 $f7, 0x18($a3)
lwc1 $f2, 0x20($a3)
lwc1 $f5, 0x24($a3)
lwc1 $f8, 0x28($a3)
lwc1 $f9, 0x30($a3)
lwc1 $f10, 0x34($a3)
lwc1 $f11, 0x38($a3)
addi $a0, $a0, 0x4
mtc1 $zero, $f20
addi $t2, $zero, 0x1
addi $t3, $zero, 0x0
add $v0, $zero, $t1
lwc1 $f13, 0x0($a0)
.L0f1653fc:
mul.s $f16, $f0, $f13
lwc1 $f14, 0x4($a0)
mul.s $f17, $f1, $f14
lwc1 $f15, 0x8($a0)
mul.s $f18, $f2, $f15
add.s $f16, $f16, $f17
mul.s $f17, $f3, $f13
add.s $f16, $f16, $f18
mul.s $f18, $f4, $f14
add.s $f16, $f16, $f9
mul.s $f19, $f5, $f15
add.s $f17, $f17, $f18
mul.s $f18, $f6, $f13
swc1 $f16, 0x0($t6)
mul.s $f16, $f7, $f14
add.s $f17, $f17, $f19
mul.s $f19, $f8, $f15
add.s $f17, $f17, $f10
add.s $f16, $f18, $f16
swc1 $f17, 0x4($t6)
add.s $f16, $f16, $f19
addiu $a0, $a0, 0xc
add.s $f16, $f16, $f11
addi $t1, $t1, -1
c.lt.s $f16, $f20
swc1 $f16, 0x8($t6)
bc1t .L0f165474
addiu $t4, $zero, 0x0
addiu $t3, $zero, 0x1
addiu $t4, $zero, 0x1
.L0f165474:
sw $t4, 0xc($t6)
addiu $t6, $t6, -16
bnez $t1, .L0f1653fc
lwc1 $f13, 0x0($a0)
beqz $t3, .L0f1655a8
nop
addiu $t0, $a2, 0x270
addiu $v0, $zero, 0x0
lw $t1, 0x0($t0)
lw $t2, 0x4($t0)
lw $t3, 0x8($t0)
lw $t4, 0xc($t0)
sw $t1, 0x0($t6)
sw $t2, 0x4($t6)
sw $t3, 0x8($t6)
sw $t4, 0xc($t6)
.L0f1654b4:
lw $t1, 0xc($t6)
beqz $t1, .L0f165550
lw $t1, 0x1c($t6)
bnez $t1, .L0f165590
nop
lw $t1, 0x10($t6)
lw $t2, 0x14($t6)
lw $t3, 0x18($t6)
sw $t1, 0x0($a2)
sw $t2, 0x4($a2)
sw $t3, 0x8($a2)
addiu $a2, $a2, 0x10
addiu $v0, $v0, 0x1
.L0f1654e8:
lwc1 $f0, 0x8($t6)
lwc1 $f1, 0x18($t6)
addiu $a2, $a2, 0x10
sub.s $f1, $f1, $f0
neg.s $f2, $f0
lwc1 $f3, 0x0($t6)
div.s $f0, $f2, $f1
lwc1 $f2, 0x10($t6)
sub.s $f1, $f2, $f3
mul.s $f1, $f1, $f0
lwc1 $f2, 0x4($t6)
add.s $f1, $f3, $f1
lwc1 $f3, 0x14($t6)
swc1 $f1, -0x10($a2)
sub.s $f3, $f3, $f2
addiu $v0, $v0, 0x1
mul.s $f1, $f3, $f0
sw $zero, -0x8($a2)
add.s $f1, $f2, $f1
addi $t5, $t5, -1
swc1 $f1, -0xc($a2)
bnez $t5, .L0f1654b4
addiu $t6, $t6, 0x10
sw $zero, 0x0($a1)
jr $ra
mtc1 $t7, $f20
.L0f165550:
bnez $t1, .L0f1654e8
nop
lw $t1, 0x10($t6)
lw $t2, 0x14($t6)
lw $t3, 0x18($t6)
sw $t1, 0x0($a2)
sw $t2, 0x4($a2)
sw $t3, 0x8($a2)
addi $t5, $t5, -1
addiu $v0, $v0, 0x1
addiu $a2, $a2, 0x10
bnez $t5, .L0f1654b4
addiu $t6, $t6, 0x10
sw $zero, 0x0($a1)
jr $ra
mtc1 $t7, $f20
.L0f165590:
addi $t5, $t5, -1
bnez $t5, .L0f1654b4
addiu $t6, $t6, 0x10
sw $zero, 0x0($a1)
jr $ra
mtc1 $t7, $f20
.L0f1655a8:
addiu $t0, $zero, 0x28
sub $t0, $t0, $v0
sw $t0, 0x0($a1)
jr $ra
mtc1 $t7, $f20