papermario/asm/nonmatchings/code_135EE0/func_80243238.s
Ethan Roseman 84f211a2ae First pass
2020-10-14 22:56:47 -04:00

51 lines
2.5 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80243238
/* 136578 80243238 3C028016 */ lui $v0, %hi(D_80159D50)
/* 13657C 8024323C 24429D50 */ addiu $v0, $v0, %lo(D_80159D50)
/* 136580 80243240 00042140 */ sll $a0, $a0, 5
/* 136584 80243244 00822021 */ addu $a0, $a0, $v0
/* 136588 80243248 9083001C */ lbu $v1, 0x1c($a0)
/* 13658C 8024324C 8FA6001C */ lw $a2, 0x1c($sp)
/* 136590 80243250 14600005 */ bnez $v1, .L80243268
/* 136594 80243254 28620007 */ slti $v0, $v1, 7
/* 136598 80243258 90820000 */ lbu $v0, ($a0)
/* 13659C 8024325C 304200FB */ andi $v0, $v0, 0xfb
/* 1365A0 80243260 A0820000 */ sb $v0, ($a0)
/* 1365A4 80243264 28620007 */ slti $v0, $v1, 7
.L80243268:
/* 1365A8 80243268 10400010 */ beqz $v0, .L802432AC
/* 1365AC 8024326C 00000000 */ nop
/* 1365B0 80243270 3C028025 */ lui $v0, 0x8025
/* 1365B4 80243274 00431021 */ addu $v0, $v0, $v1
/* 1365B8 80243278 9042EFC4 */ lbu $v0, -0x103c($v0)
/* 1365BC 8024327C ACA20000 */ sw $v0, ($a1)
/* 1365C0 80243280 00031040 */ sll $v0, $v1, 1
/* 1365C4 80243284 3C018025 */ lui $at, 0x8025
/* 1365C8 80243288 00220821 */ addu $at, $at, $v0
/* 1365CC 8024328C 8422EFD8 */ lh $v0, -0x1028($at)
/* 1365D0 80243290 C4C00000 */ lwc1 $f0, ($a2)
/* 1365D4 80243294 44821000 */ mtc1 $v0, $f2
/* 1365D8 80243298 00000000 */ nop
/* 1365DC 8024329C 468010A0 */ cvt.s.w $f2, $f2
/* 1365E0 802432A0 46020000 */ add.s $f0, $f0, $f2
/* 1365E4 802432A4 03E00008 */ jr $ra
/* 1365E8 802432A8 E4C00000 */ swc1 $f0, ($a2)
.L802432AC:
/* 1365EC 802432AC 3C028025 */ lui $v0, 0x8025
/* 1365F0 802432B0 9042EFC9 */ lbu $v0, -0x1037($v0)
/* 1365F4 802432B4 ACA20000 */ sw $v0, ($a1)
/* 1365F8 802432B8 3C028025 */ lui $v0, 0x8025
/* 1365FC 802432BC 8442EFE4 */ lh $v0, -0x101c($v0)
/* 136600 802432C0 C4C00000 */ lwc1 $f0, ($a2)
/* 136604 802432C4 44821000 */ mtc1 $v0, $f2
/* 136608 802432C8 00000000 */ nop
/* 13660C 802432CC 468010A0 */ cvt.s.w $f2, $f2
/* 136610 802432D0 46020000 */ add.s $f0, $f0, $f2
/* 136614 802432D4 E4C00000 */ swc1 $f0, ($a2)
/* 136618 802432D8 90820000 */ lbu $v0, ($a0)
/* 13661C 802432DC 304200F7 */ andi $v0, $v0, 0xf7
/* 136620 802432E0 03E00008 */ jr $ra
/* 136624 802432E4 A0820000 */ sb $v0, ($a0)