mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
79 lines
3.1 KiB
ArmAsm
79 lines
3.1 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_80054E90
|
|
/* 030290 80054E90 10A0000A */ beqz $a1, .L80054EBC
|
|
/* 030294 80054E94 28A20400 */ slti $v0, $a1, 0x400
|
|
/* 030298 80054E98 1040000A */ beqz $v0, .L80054EC4
|
|
/* 03029C 80054E9C 00A0102D */ daddu $v0, $a1, $zero
|
|
/* 0302A0 80054EA0 10400006 */ beqz $v0, .L80054EBC
|
|
/* 0302A4 80054EA4 24A5FFFF */ addiu $a1, $a1, -1
|
|
.L80054EA8:
|
|
/* 0302A8 80054EA8 A0860000 */ sb $a2, ($a0)
|
|
/* 0302AC 80054EAC 24840001 */ addiu $a0, $a0, 1
|
|
/* 0302B0 80054EB0 00A0102D */ daddu $v0, $a1, $zero
|
|
/* 0302B4 80054EB4 1440FFFC */ bnez $v0, .L80054EA8
|
|
/* 0302B8 80054EB8 24A5FFFF */ addiu $a1, $a1, -1
|
|
.L80054EBC:
|
|
/* 0302BC 80054EBC 03E00008 */ jr $ra
|
|
/* 0302C0 80054EC0 00000000 */ nop
|
|
|
|
.L80054EC4:
|
|
/* 0302C4 80054EC4 30870003 */ andi $a3, $a0, 3
|
|
/* 0302C8 80054EC8 10E00009 */ beqz $a3, .L80054EF0
|
|
/* 0302CC 80054ECC 24020004 */ addiu $v0, $zero, 4
|
|
/* 0302D0 80054ED0 00473823 */ subu $a3, $v0, $a3
|
|
/* 0302D4 80054ED4 080153B9 */ j .L80054EE4
|
|
/* 0302D8 80054ED8 00A72823 */ subu $a1, $a1, $a3
|
|
|
|
.L80054EDC:
|
|
/* 0302DC 80054EDC A0860000 */ sb $a2, ($a0)
|
|
/* 0302E0 80054EE0 24840001 */ addiu $a0, $a0, 1
|
|
.L80054EE4:
|
|
/* 0302E4 80054EE4 00E0102D */ daddu $v0, $a3, $zero
|
|
/* 0302E8 80054EE8 1440FFFC */ bnez $v0, .L80054EDC
|
|
/* 0302EC 80054EEC 24E7FFFF */ addiu $a3, $a3, -1
|
|
.L80054EF0:
|
|
/* 0302F0 80054EF0 00053883 */ sra $a3, $a1, 2
|
|
/* 0302F4 80054EF4 30C300FF */ andi $v1, $a2, 0xff
|
|
/* 0302F8 80054EF8 00031200 */ sll $v0, $v1, 8
|
|
/* 0302FC 80054EFC 00431821 */ addu $v1, $v0, $v1
|
|
/* 030300 80054F00 00031400 */ sll $v0, $v1, 0x10
|
|
/* 030304 80054F04 080153C5 */ j .L80054F14
|
|
/* 030308 80054F08 00621821 */ addu $v1, $v1, $v0
|
|
|
|
.L80054F0C:
|
|
/* 03030C 80054F0C AC830000 */ sw $v1, ($a0)
|
|
/* 030310 80054F10 24840004 */ addiu $a0, $a0, 4
|
|
.L80054F14:
|
|
/* 030314 80054F14 00E0102D */ daddu $v0, $a3, $zero
|
|
/* 030318 80054F18 1440FFFC */ bnez $v0, .L80054F0C
|
|
/* 03031C 80054F1C 24E7FFFF */ addiu $a3, $a3, -1
|
|
/* 030320 80054F20 30A70003 */ andi $a3, $a1, 3
|
|
/* 030324 80054F24 10E0FFE5 */ beqz $a3, .L80054EBC
|
|
/* 030328 80054F28 24E7FFFF */ addiu $a3, $a3, -1
|
|
.L80054F2C:
|
|
/* 03032C 80054F2C A0860000 */ sb $a2, ($a0)
|
|
/* 030330 80054F30 24840001 */ addiu $a0, $a0, 1
|
|
/* 030334 80054F34 00E0102D */ daddu $v0, $a3, $zero
|
|
/* 030338 80054F38 1440FFFC */ bnez $v0, .L80054F2C
|
|
/* 03033C 80054F3C 24E7FFFF */ addiu $a3, $a3, -1
|
|
/* 030340 80054F40 03E00008 */ jr $ra
|
|
/* 030344 80054F44 00000000 */ nop
|
|
|
|
/* 030348 80054F48 18C00008 */ blez $a2, .L80054F6C
|
|
/* 03034C 80054F4C 24C6FFFF */ addiu $a2, $a2, -1
|
|
.L80054F50:
|
|
/* 030350 80054F50 90820000 */ lbu $v0, ($a0)
|
|
/* 030354 80054F54 24840001 */ addiu $a0, $a0, 1
|
|
/* 030358 80054F58 00C0182D */ daddu $v1, $a2, $zero
|
|
/* 03035C 80054F5C 24C6FFFF */ addiu $a2, $a2, -1
|
|
/* 030360 80054F60 A0A20000 */ sb $v0, ($a1)
|
|
/* 030364 80054F64 1460FFFA */ bnez $v1, .L80054F50
|
|
/* 030368 80054F68 24A50001 */ addiu $a1, $a1, 1
|
|
.L80054F6C:
|
|
/* 03036C 80054F6C 03E00008 */ jr $ra
|
|
/* 030370 80054F70 00000000 */ nop
|
|
|