mirror of
https://github.com/pmret/papermario.git
synced 2024-11-19 09:22:30 +01:00
45 lines
2.2 KiB
ArmAsm
45 lines
2.2 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
glabel func_80054FE0
|
||
|
/* 303E0 80054FE0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||
|
/* 303E4 80054FE4 0080582D */ daddu $t3, $a0, $zero
|
||
|
/* 303E8 80054FE8 00C0502D */ daddu $t2, $a2, $zero
|
||
|
/* 303EC 80054FEC 00E0402D */ daddu $t0, $a3, $zero
|
||
|
/* 303F0 80054FF0 0100382D */ daddu $a3, $t0, $zero
|
||
|
/* 303F4 80054FF4 30A500FF */ andi $a1, $a1, 0xff
|
||
|
/* 303F8 80054FF8 00051A00 */ sll $v1, $a1, 8
|
||
|
/* 303FC 80054FFC 3C04800A */ lui $a0, %hi(D_8009A620)
|
||
|
/* 30400 80055000 8C84A620 */ lw $a0, %lo(D_8009A620)($a0)
|
||
|
/* 30404 80055004 0060482D */ daddu $t1, $v1, $zero
|
||
|
/* 30408 80055008 10A00002 */ beqz $a1, .L80055014
|
||
|
/* 3040C 8005500C AFBF0018 */ sw $ra, 0x18($sp)
|
||
|
/* 30410 80055010 346900FF */ ori $t1, $v1, 0xff
|
||
|
.L80055014:
|
||
|
/* 30414 80055014 00061600 */ sll $v0, $a2, 0x18
|
||
|
/* 30418 80055018 04420001 */ bltzl $v0, .L80055020
|
||
|
/* 3041C 8005501C 240A007F */ addiu $t2, $zero, 0x7f
|
||
|
.L80055020:
|
||
|
/* 30420 80055020 00081400 */ sll $v0, $t0, 0x10
|
||
|
/* 30424 80055024 00021C03 */ sra $v1, $v0, 0x10
|
||
|
/* 30428 80055028 28620961 */ slti $v0, $v1, 0x961
|
||
|
/* 3042C 8005502C 14400003 */ bnez $v0, .L8005503C
|
||
|
/* 30430 80055030 2862F6A0 */ slti $v0, $v1, -0x960
|
||
|
/* 30434 80055034 08015411 */ j .L80055044
|
||
|
/* 30438 80055038 24070960 */ addiu $a3, $zero, 0x960
|
||
|
.L8005503C:
|
||
|
/* 3043C 8005503C 54400001 */ bnel $v0, $zero, .L80055044
|
||
|
/* 30440 80055040 2407F6A0 */ addiu $a3, $zero, -0x960
|
||
|
.L80055044:
|
||
|
/* 30444 80055044 314200FF */ andi $v0, $t2, 0xff
|
||
|
/* 30448 80055048 00093400 */ sll $a2, $t1, 0x10
|
||
|
/* 3044C 8005504C 00073C00 */ sll $a3, $a3, 0x10
|
||
|
/* 30450 80055050 35651000 */ ori $a1, $t3, 0x1000
|
||
|
/* 30454 80055054 00063403 */ sra $a2, $a2, 0x10
|
||
|
/* 30458 80055058 00073C03 */ sra $a3, $a3, 0x10
|
||
|
/* 3045C 8005505C 0C012CE2 */ jal func_8004B388
|
||
|
/* 30460 80055060 AFA20010 */ sw $v0, 0x10($sp)
|
||
|
/* 30464 80055064 8FBF0018 */ lw $ra, 0x18($sp)
|
||
|
/* 30468 80055068 03E00008 */ jr $ra
|
||
|
/* 3046C 8005506C 27BD0020 */ addiu $sp, $sp, 0x20
|