mirror of
https://github.com/n64decomp/mk64
synced 2026-08-18 13:12:55 -04:00
8ab4557b39
* Split asm using autodecompiler * Placed libultra bss and linked more C
104 lines
5.3 KiB
ArmAsm
104 lines
5.3 KiB
ArmAsm
glabel func_8008629C
|
|
/* 086E9C 8008629C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 086EA0 800862A0 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 086EA4 800862A4 00808025 */ move $s0, $a0
|
|
/* 086EA8 800862A8 10A0000E */ beqz $a1, .L800862E4
|
|
/* 086EAC 800862AC AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 086EB0 800862B0 24010001 */ li $at, 1
|
|
/* 086EB4 800862B4 10A10017 */ beq $a1, $at, .L80086314
|
|
/* 086EB8 800862B8 001050C0 */ sll $t2, $s0, 3
|
|
/* 086EBC 800862BC 24010002 */ li $at, 2
|
|
/* 086EC0 800862C0 10A1001F */ beq $a1, $at, .L80086340
|
|
/* 086EC4 800862C4 001070C0 */ sll $t6, $s0, 3
|
|
/* 086EC8 800862C8 000470C0 */ sll $t6, $a0, 3
|
|
/* 086ECC 800862CC 01C47023 */ subu $t6, $t6, $a0
|
|
/* 086ED0 800862D0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
|
|
/* 086ED4 800862D4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
|
|
/* 086ED8 800862D8 000E7140 */ sll $t6, $t6, 5
|
|
/* 086EDC 800862DC 10000022 */ b .L80086368
|
|
/* 086EE0 800862E0 01CF1021 */ addu $v0, $t6, $t7
|
|
.L800862E4:
|
|
/* 086EE4 800862E4 0010C0C0 */ sll $t8, $s0, 3
|
|
/* 086EE8 800862E8 0310C023 */ subu $t8, $t8, $s0
|
|
/* 086EEC 800862EC 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016
|
|
/* 086EF0 800862F0 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18
|
|
/* 086EF4 800862F4 0018C140 */ sll $t8, $t8, 5
|
|
/* 086EF8 800862F8 3C080B00 */ lui $t0, %hi(D_0B0075F0) # $t0, 0xb00
|
|
/* 086EFC 800862FC 250875F0 */ addiu $t0, %lo(D_0B0075F0) # addiu $t0, $t0, 0x75f0
|
|
/* 086F00 80086300 03191021 */ addu $v0, $t8, $t9
|
|
/* 086F04 80086304 24090038 */ li $t1, 56
|
|
/* 086F08 80086308 AC480070 */ sw $t0, 0x70($v0)
|
|
/* 086F0C 8008630C 10000016 */ b .L80086368
|
|
/* 086F10 80086310 AC49004C */ sw $t1, 0x4c($v0)
|
|
.L80086314:
|
|
/* 086F14 80086314 01505023 */ subu $t2, $t2, $s0
|
|
/* 086F18 80086318 3C0B8016 */ lui $t3, %hi(D_80165C18) # $t3, 0x8016
|
|
/* 086F1C 8008631C 256B5C18 */ addiu $t3, %lo(D_80165C18) # addiu $t3, $t3, 0x5c18
|
|
/* 086F20 80086320 000A5140 */ sll $t2, $t2, 5
|
|
/* 086F24 80086324 3C0C0B01 */ lui $t4, %hi(D_0B008040) # $t4, 0xb01
|
|
/* 086F28 80086328 258C8040 */ addiu $t4, %lo(D_0B008040) # addiu $t4, $t4, -0x7fc0
|
|
/* 086F2C 8008632C 014B1021 */ addu $v0, $t2, $t3
|
|
/* 086F30 80086330 240D002B */ li $t5, 43
|
|
/* 086F34 80086334 AC4C0070 */ sw $t4, 0x70($v0)
|
|
/* 086F38 80086338 1000000B */ b .L80086368
|
|
/* 086F3C 8008633C AC4D004C */ sw $t5, 0x4c($v0)
|
|
.L80086340:
|
|
/* 086F40 80086340 01D07023 */ subu $t6, $t6, $s0
|
|
/* 086F44 80086344 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
|
|
/* 086F48 80086348 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
|
|
/* 086F4C 8008634C 000E7140 */ sll $t6, $t6, 5
|
|
/* 086F50 80086350 01CF1021 */ addu $v0, $t6, $t7
|
|
/* 086F54 80086354 3C180B01 */ lui $t8, %hi(D_0B008A90) # $t8, 0xb01
|
|
/* 086F58 80086358 27188A90 */ addiu $t8, %lo(D_0B008A90) # addiu $t8, $t8, -0x7570
|
|
/* 086F5C 8008635C 2419001E */ li $t9, 30
|
|
/* 086F60 80086360 AC580070 */ sw $t8, 0x70($v0)
|
|
/* 086F64 80086364 AC59004C */ sw $t9, 0x4c($v0)
|
|
.L80086368:
|
|
/* 086F68 80086368 3C03800E */ lui $v1, %hi(D_800E634C) # $v1, 0x800e
|
|
/* 086F6C 8008636C 2463634C */ addiu $v1, %lo(D_800E634C) # addiu $v1, $v1, 0x634c
|
|
/* 086F70 80086370 84680000 */ lh $t0, ($v1)
|
|
/* 086F74 80086374 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 086F78 80086378 44812000 */ mtc1 $at, $f4
|
|
/* 086F7C 8008637C 44883000 */ mtc1 $t0, $f6
|
|
/* 086F80 80086380 84690002 */ lh $t1, 2($v1)
|
|
/* 086F84 80086384 846A0004 */ lh $t2, 4($v1)
|
|
/* 086F88 80086388 46803221 */ cvt.d.w $f8, $f6
|
|
/* 086F8C 8008638C 3C013FF8 */ li $at, 0x3FF80000 # 1.937500
|
|
/* 086F90 80086390 44815800 */ mtc1 $at, $f11
|
|
/* 086F94 80086394 44805000 */ mtc1 $zero, $f10
|
|
/* 086F98 80086398 E4440000 */ swc1 $f4, ($v0)
|
|
/* 086F9C 8008639C 44892000 */ mtc1 $t1, $f4
|
|
/* 086FA0 800863A0 448A3000 */ mtc1 $t2, $f6
|
|
/* 086FA4 800863A4 462A4401 */ sub.d $f16, $f8, $f10
|
|
/* 086FA8 800863A8 02002025 */ move $a0, $s0
|
|
/* 086FAC 800863AC AFA20020 */ sw $v0, 0x20($sp)
|
|
/* 086FB0 800863B0 46802120 */ cvt.s.w $f4, $f4
|
|
/* 086FB4 800863B4 468031A0 */ cvt.s.w $f6, $f6
|
|
/* 086FB8 800863B8 44062000 */ mfc1 $a2, $f4
|
|
/* 086FBC 800863BC 462084A0 */ cvt.s.d $f18, $f16
|
|
/* 086FC0 800863C0 44073000 */ mfc1 $a3, $f6
|
|
/* 086FC4 800863C4 44059000 */ mfc1 $a1, $f18
|
|
/* 086FC8 800863C8 0C022DF5 */ jal func_8008B7D4
|
|
/* 086FCC 800863CC 00000000 */ nop
|
|
/* 086FD0 800863D0 44800000 */ mtc1 $zero, $f0
|
|
/* 086FD4 800863D4 02002025 */ move $a0, $s0
|
|
/* 086FD8 800863D8 3C06C120 */ lui $a2, 0xc120
|
|
/* 086FDC 800863DC 44050000 */ mfc1 $a1, $f0
|
|
/* 086FE0 800863E0 44070000 */ mfc1 $a3, $f0
|
|
/* 086FE4 800863E4 0C022E03 */ jal func_8008B80C
|
|
/* 086FE8 800863E8 00000000 */ nop
|
|
/* 086FEC 800863EC 02002025 */ move $a0, $s0
|
|
/* 086FF0 800863F0 00002825 */ move $a1, $zero
|
|
/* 086FF4 800863F4 3406F8E4 */ li $a2, 63716
|
|
/* 086FF8 800863F8 0C022E22 */ jal func_8008B888
|
|
/* 086FFC 800863FC 00003825 */ move $a3, $zero
|
|
/* 087000 80086400 8FA20020 */ lw $v0, 0x20($sp)
|
|
/* 087004 80086404 02002025 */ move $a0, $s0
|
|
/* 087008 80086408 0C01C922 */ jal func_80072488
|
|
/* 08700C 8008640C AC400048 */ sw $zero, 0x48($v0)
|
|
/* 087010 80086410 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 087014 80086414 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 087018 80086418 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 08701C 8008641C 03E00008 */ jr $ra
|
|
/* 087020 80086420 00000000 */ nop
|