Files
SpaghettiKart/asm/non_matchings/code_80005FD0/func_80010CB0.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

71 lines
3.3 KiB
ArmAsm

glabel func_80010CB0
/* 0118B0 80010CB0 00045040 */ sll $t2, $a0, 1
/* 0118B4 80010CB4 3C0B8016 */ lui $t3, %hi(D_801645C8) # 0x8016
/* 0118B8 80010CB8 016A5821 */ addu $t3, $t3, $t2
/* 0118BC 80010CBC 956B45C8 */ lhu $t3, %lo(D_801645C8)($t3) # 0x45c8($t3)
/* 0118C0 80010CC0 24A90001 */ addiu $t1, $a1, 1
/* 0118C4 80010CC4 00047080 */ sll $t6, $a0, 2
/* 0118C8 80010CC8 012B001A */ div $zero, $t1, $t3
/* 0118CC 80010CCC 3C038016 */ lui $v1, %hi(D_80164550) # 0x8016
/* 0118D0 80010CD0 006E1821 */ addu $v1, $v1, $t6
/* 0118D4 80010CD4 8C634550 */ lw $v1, %lo(D_80164550)($v1) # 0x4550($v1)
/* 0118D8 80010CD8 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0118DC 80010CDC 000578C0 */ sll $t7, $a1, 3
/* 0118E0 80010CE0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0118E4 80010CE4 006F1021 */ addu $v0, $v1, $t7
/* 0118E8 80010CE8 84580000 */ lh $t8, ($v0)
/* 0118EC 80010CEC 00006010 */ mfhi $t4
/* 0118F0 80010CF0 000C68C0 */ sll $t5, $t4, 3
/* 0118F4 80010CF4 44982000 */ mtc1 $t8, $f4
/* 0118F8 80010CF8 00803025 */ move $a2, $a0
/* 0118FC 80010CFC 00A03825 */ move $a3, $a1
/* 011900 80010D00 468021A0 */ cvt.s.w $f6, $f4
/* 011904 80010D04 27A50024 */ addiu $a1, $sp, 0x24
/* 011908 80010D08 27A40030 */ addiu $a0, $sp, 0x30
/* 01190C 80010D0C E7A60030 */ swc1 $f6, 0x30($sp)
/* 011910 80010D10 84590002 */ lh $t9, 2($v0)
/* 011914 80010D14 44994000 */ mtc1 $t9, $f8
/* 011918 80010D18 00000000 */ nop
/* 01191C 80010D1C 468042A0 */ cvt.s.w $f10, $f8
/* 011920 80010D20 E7AA0034 */ swc1 $f10, 0x34($sp)
/* 011924 80010D24 84480004 */ lh $t0, 4($v0)
/* 011928 80010D28 01A31021 */ addu $v0, $t5, $v1
/* 01192C 80010D2C 44888000 */ mtc1 $t0, $f16
/* 011930 80010D30 00000000 */ nop
/* 011934 80010D34 468084A0 */ cvt.s.w $f18, $f16
/* 011938 80010D38 E7B20038 */ swc1 $f18, 0x38($sp)
/* 01193C 80010D3C 844E0000 */ lh $t6, ($v0)
/* 011940 80010D40 15600002 */ bnez $t3, .L80010D4C
/* 011944 80010D44 00000000 */ nop
/* 011948 80010D48 0007000D */ break 7
.L80010D4C:
/* 01194C 80010D4C 2401FFFF */ li $at, -1
/* 011950 80010D50 15610004 */ bne $t3, $at, .L80010D64
/* 011954 80010D54 3C018000 */ lui $at, 0x8000
/* 011958 80010D58 15210002 */ bne $t1, $at, .L80010D64
/* 01195C 80010D5C 00000000 */ nop
/* 011960 80010D60 0006000D */ break 6
.L80010D64:
/* 011964 80010D64 448E2000 */ mtc1 $t6, $f4
/* 011968 80010D68 00000000 */ nop
/* 01196C 80010D6C 468021A0 */ cvt.s.w $f6, $f4
/* 011970 80010D70 E7A60024 */ swc1 $f6, 0x24($sp)
/* 011974 80010D74 844F0002 */ lh $t7, 2($v0)
/* 011978 80010D78 448F4000 */ mtc1 $t7, $f8
/* 01197C 80010D7C 00000000 */ nop
/* 011980 80010D80 468042A0 */ cvt.s.w $f10, $f8
/* 011984 80010D84 E7AA0028 */ swc1 $f10, 0x28($sp)
/* 011988 80010D88 84580004 */ lh $t8, 4($v0)
/* 01198C 80010D8C 44988000 */ mtc1 $t8, $f16
/* 011990 80010D90 00000000 */ nop
/* 011994 80010D94 468084A0 */ cvt.s.w $f18, $f16
/* 011998 80010D98 0C0AD489 */ jal func_802B5224
/* 01199C 80010D9C E7B2002C */ swc1 $f18, 0x2c($sp)
/* 0119A0 80010DA0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0119A4 80010DA4 00404025 */ move $t0, $v0
/* 0119A8 80010DA8 00081023 */ negu $v0, $t0
/* 0119AC 80010DAC 00025400 */ sll $t2, $v0, 0x10
/* 0119B0 80010DB0 000A1403 */ sra $v0, $t2, 0x10
/* 0119B4 80010DB4 03E00008 */ jr $ra
/* 0119B8 80010DB8 27BD0040 */ addiu $sp, $sp, 0x40