papermario/asm/nonmatchings/code_26840_len_20d0/func_8004D428.s
2020-08-12 22:37:16 -04:00

32 lines
1.2 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004D428
/* 028828 8004D428 000419C3 */ sra $v1, $a0, 7
/* 02882C 8004D42C 3063000F */ andi $v1, $v1, 0xf
/* 028830 8004D430 000410C0 */ sll $v0, $a0, 3
/* 028834 8004D434 304200F0 */ andi $v0, $v0, 0xf0
/* 028838 8004D438 00621821 */ addu $v1, $v1, $v0
/* 02883C 8004D43C 00041143 */ sra $v0, $a0, 5
/* 028840 8004D440 00042083 */ sra $a0, $a0, 2
/* 028844 8004D444 00441021 */ addu $v0, $v0, $a0
/* 028848 8004D448 30420001 */ andi $v0, $v0, 1
/* 02884C 8004D44C 14400007 */ bnez $v0, .L8004D46C
/* 028850 8004D450 00031080 */ sll $v0, $v1, 2
/* 028854 8004D454 00431021 */ addu $v0, $v0, $v1
/* 028858 8004D458 00A20018 */ mult $a1, $v0
/* 02885C 8004D45C 00003812 */ mflo $a3
/* 028860 8004D460 00071203 */ sra $v0, $a3, 8
/* 028864 8004D464 03E00008 */ jr $ra
/* 028868 8004D468 00C21023 */ subu $v0, $a2, $v0
.L8004D46C:
/* 02886C 8004D46C 00431021 */ addu $v0, $v0, $v1
/* 028870 8004D470 00A20018 */ mult $a1, $v0
/* 028874 8004D474 00003812 */ mflo $a3
/* 028878 8004D478 00071203 */ sra $v0, $a3, 8
/* 02887C 8004D47C 03E00008 */ jr $ra
/* 028880 8004D480 00C21021 */ addu $v0, $a2, $v0