mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
69 lines
2.9 KiB
ArmAsm
69 lines
2.9 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_8024C38C
|
|
/* 13F6CC 8024C38C 3C020004 */ lui $v0, 4
|
|
/* 13F6D0 8024C390 00621024 */ and $v0, $v1, $v0
|
|
/* 13F6D4 8024C394 10400002 */ beqz $v0, .L8024C3A0
|
|
/* 13F6D8 8024C398 0000802D */ daddu $s0, $zero, $zero
|
|
/* 13F6DC 8024C39C 2410FFFF */ addiu $s0, $zero, -1
|
|
.L8024C3A0:
|
|
/* 13F6E0 8024C3A0 3C020008 */ lui $v0, 8
|
|
/* 13F6E4 8024C3A4 00621024 */ and $v0, $v1, $v0
|
|
/* 13F6E8 8024C3A8 54400001 */ bnezl $v0, .L8024C3B0
|
|
/* 13F6EC 8024C3AC 26100001 */ addiu $s0, $s0, 1
|
|
.L8024C3B0:
|
|
/* 13F6F0 8024C3B0 30622000 */ andi $v0, $v1, 0x2000
|
|
/* 13F6F4 8024C3B4 54400001 */ bnezl $v0, .L8024C3BC
|
|
/* 13F6F8 8024C3B8 2610FFFF */ addiu $s0, $s0, -1
|
|
.L8024C3BC:
|
|
/* 13F6FC 8024C3BC 30620010 */ andi $v0, $v1, 0x10
|
|
/* 13F700 8024C3C0 54400001 */ bnezl $v0, .L8024C3C8
|
|
/* 13F704 8024C3C4 26100001 */ addiu $s0, $s0, 1
|
|
.L8024C3C8:
|
|
/* 13F708 8024C3C8 1200002B */ beqz $s0, .L8024C478
|
|
/* 13F70C 8024C3CC 00000000 */ nop
|
|
/* 13F710 8024C3D0 0C05272D */ jal play_sound
|
|
/* 13F714 8024C3D4 240400C7 */ addiu $a0, $zero, 0xc7
|
|
/* 13F718 8024C3D8 3C048027 */ lui $a0, 0x8027
|
|
/* 13F71C 8024C3DC 248406A0 */ addiu $a0, $a0, 0x6a0
|
|
/* 13F720 8024C3E0 8C820000 */ lw $v0, ($a0)
|
|
/* 13F724 8024C3E4 00501821 */ addu $v1, $v0, $s0
|
|
/* 13F728 8024C3E8 0461000F */ bgez $v1, .L8024C428
|
|
/* 13F72C 8024C3EC AC830000 */ sw $v1, ($a0)
|
|
/* 13F730 8024C3F0 3C038027 */ lui $v1, 0x8027
|
|
/* 13F734 8024C3F4 246306A8 */ addiu $v1, $v1, 0x6a8
|
|
/* 13F738 8024C3F8 C4600000 */ lwc1 $f0, ($v1)
|
|
/* 13F73C 8024C3FC 8E220000 */ lw $v0, ($s1)
|
|
/* 13F740 8024C400 3C0143B4 */ lui $at, 0x43b4
|
|
/* 13F744 8024C404 44811000 */ mtc1 $at, $f2
|
|
/* 13F748 8024C408 2442FFFF */ addiu $v0, $v0, -1
|
|
/* 13F74C 8024C40C 4602003C */ c.lt.s $f0, $f2
|
|
/* 13F750 8024C410 00000000 */ nop
|
|
/* 13F754 8024C414 45000016 */ bc1f .L8024C470
|
|
/* 13F758 8024C418 AC820000 */ sw $v0, ($a0)
|
|
/* 13F75C 8024C41C 46020000 */ add.s $f0, $f0, $f2
|
|
/* 13F760 8024C420 0809311C */ j func_8024C470
|
|
/* 13F764 8024C424 E4600000 */ swc1 $f0, ($v1)
|
|
|
|
.L8024C428:
|
|
/* 13F768 8024C428 8E220000 */ lw $v0, ($s1)
|
|
/* 13F76C 8024C42C 0062102A */ slt $v0, $v1, $v0
|
|
/* 13F770 8024C430 1440000F */ bnez $v0, .L8024C470
|
|
/* 13F774 8024C434 00000000 */ nop
|
|
/* 13F778 8024C438 3C028027 */ lui $v0, 0x8027
|
|
/* 13F77C 8024C43C 244206A8 */ addiu $v0, $v0, 0x6a8
|
|
/* 13F780 8024C440 C4420000 */ lwc1 $f2, ($v0)
|
|
/* 13F784 8024C444 44800000 */ mtc1 $zero, $f0
|
|
/* 13F788 8024C448 00000000 */ nop
|
|
/* 13F78C 8024C44C 4602003C */ c.lt.s $f0, $f2
|
|
/* 13F790 8024C450 00000000 */ nop
|
|
/* 13F794 8024C454 45000006 */ bc1f .L8024C470
|
|
/* 13F798 8024C458 AC800000 */ sw $zero, ($a0)
|
|
/* 13F79C 8024C45C 3C0143B4 */ lui $at, 0x43b4
|
|
/* 13F7A0 8024C460 44810000 */ mtc1 $at, $f0
|
|
/* 13F7A4 8024C464 00000000 */ nop
|
|
/* 13F7A8 8024C468 46001001 */ sub.s $f0, $f2, $f0
|
|
/* 13F7AC 8024C46C E4400000 */ swc1 $f0, ($v0)
|