mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
43 lines
1.9 KiB
ArmAsm
43 lines
1.9 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_8004D1B4
|
|
/* 285B4 8004D1B4 8CA20000 */ lw $v0, ($a1)
|
|
/* 285B8 8004D1B8 90470002 */ lbu $a3, 2($v0)
|
|
/* 285BC 8004D1BC 90430000 */ lbu $v1, ($v0)
|
|
/* 285C0 8004D1C0 90440001 */ lbu $a0, 1($v0)
|
|
/* 285C4 8004D1C4 24420003 */ addiu $v0, $v0, 3
|
|
/* 285C8 8004D1C8 ACA20000 */ sw $v0, ($a1)
|
|
/* 285CC 8004D1CC 00031A00 */ sll $v1, $v1, 8
|
|
/* 285D0 8004D1D0 00832021 */ addu $a0, $a0, $v1
|
|
/* 285D4 8004D1D4 10E00003 */ beqz $a3, .L8004D1E4
|
|
/* 285D8 8004D1D8 0080302D */ daddu $a2, $a0, $zero
|
|
/* 285DC 8004D1DC 00071200 */ sll $v0, $a3, 8
|
|
/* 285E0 8004D1E0 344700FF */ ori $a3, $v0, 0xff
|
|
.L8004D1E4:
|
|
/* 285E4 8004D1E4 00041400 */ sll $v0, $a0, 0x10
|
|
/* 285E8 8004D1E8 58400001 */ blezl $v0, .L8004D1F0
|
|
/* 285EC 8004D1EC 24060001 */ addiu $a2, $zero, 1
|
|
.L8004D1F0:
|
|
/* 285F0 8004D1F0 8CA2006C */ lw $v0, 0x6c($a1)
|
|
/* 285F4 8004D1F4 00071C00 */ sll $v1, $a3, 0x10
|
|
/* 285F8 8004D1F8 00621823 */ subu $v1, $v1, $v0
|
|
/* 285FC 8004D1FC 00061400 */ sll $v0, $a2, 0x10
|
|
/* 28600 8004D200 00021403 */ sra $v0, $v0, 0x10
|
|
/* 28604 8004D204 14400002 */ bnez $v0, .L8004D210
|
|
/* 28608 8004D208 0062001A */ div $zero, $v1, $v0
|
|
/* 2860C 8004D20C 0007000D */ break 7
|
|
.L8004D210:
|
|
/* 28610 8004D210 2401FFFF */ addiu $at, $zero, -1
|
|
/* 28614 8004D214 14410004 */ bne $v0, $at, .L8004D228
|
|
/* 28618 8004D218 3C018000 */ lui $at, 0x8000
|
|
/* 2861C 8004D21C 14610002 */ bne $v1, $at, .L8004D228
|
|
/* 28620 8004D220 00000000 */ nop
|
|
/* 28624 8004D224 0006000D */ break 6
|
|
.L8004D228:
|
|
/* 28628 8004D228 00001812 */ mflo $v1
|
|
/* 2862C 8004D22C A4A60074 */ sh $a2, 0x74($a1)
|
|
/* 28630 8004D230 A4A70076 */ sh $a3, 0x76($a1)
|
|
/* 28634 8004D234 03E00008 */ jr $ra
|
|
/* 28638 8004D238 ACA30070 */ sw $v1, 0x70($a1)
|