mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
81 lines
3.5 KiB
ArmAsm
81 lines
3.5 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
|
||
|
glabel func_80246C9C
|
||
|
.L80246C9C:
|
||
|
/* 139FDC 80246C9C 3C028027 */ lui $v0, 0x8027
|
||
|
/* 139FE0 80246CA0 8C4200C0 */ lw $v0, 0xc0($v0)
|
||
|
/* 139FE4 80246CA4 3C030001 */ lui $v1, 1
|
||
|
/* 139FE8 80246CA8 00431024 */ and $v0, $v0, $v1
|
||
|
/* 139FEC 80246CAC 1040001D */ beqz $v0, .L80246D24
|
||
|
/* 139FF0 80246CB0 00000000 */ nop
|
||
|
.L80246CB4:
|
||
|
/* 139FF4 80246CB4 92020002 */ lbu $v0, 2($s0)
|
||
|
/* 139FF8 80246CB8 2442FFFF */ addiu $v0, $v0, -1
|
||
|
/* 139FFC 80246CBC A2020002 */ sb $v0, 2($s0)
|
||
|
/* 13A000 80246CC0 00021600 */ sll $v0, $v0, 0x18
|
||
|
/* 13A004 80246CC4 00022603 */ sra $a0, $v0, 0x18
|
||
|
/* 13A008 80246CC8 04820016 */ bltzl $a0, .L80246D24
|
||
|
/* 13A00C 80246CCC A2000002 */ sb $zero, 2($s0)
|
||
|
/* 13A010 80246CD0 82020004 */ lb $v0, 4($s0)
|
||
|
/* 13A014 80246CD4 82030005 */ lb $v1, 5($s0)
|
||
|
/* 13A018 80246CD8 00430018 */ mult $v0, $v1
|
||
|
/* 13A01C 80246CDC 00003012 */ mflo $a2
|
||
|
/* 13A020 80246CE0 82020006 */ lb $v0, 6($s0)
|
||
|
/* 13A024 80246CE4 00000000 */ nop
|
||
|
/* 13A028 80246CE8 00C20018 */ mult $a2, $v0
|
||
|
/* 13A02C 80246CEC 00001012 */ mflo $v0
|
||
|
/* 13A030 80246CF0 00000000 */ nop
|
||
|
/* 13A034 80246CF4 00000000 */ nop
|
||
|
/* 13A038 80246CF8 00640018 */ mult $v1, $a0
|
||
|
/* 13A03C 80246CFC 82040001 */ lb $a0, 1($s0)
|
||
|
/* 13A040 80246D00 00001812 */ mflo $v1
|
||
|
/* 13A044 80246D04 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 13A048 80246D08 00441021 */ addu $v0, $v0, $a0
|
||
|
/* 13A04C 80246D0C 8E030008 */ lw $v1, 8($s0)
|
||
|
/* 13A050 80246D10 92040003 */ lbu $a0, 3($s0)
|
||
|
/* 13A054 80246D14 00621821 */ addu $v1, $v1, $v0
|
||
|
/* 13A058 80246D18 90620000 */ lbu $v0, ($v1)
|
||
|
/* 13A05C 80246D1C 1082FFE5 */ beq $a0, $v0, .L80246CB4
|
||
|
/* 13A060 80246D20 00000000 */ nop
|
||
|
.L80246D24:
|
||
|
/* 13A064 80246D24 3C028027 */ lui $v0, 0x8027
|
||
|
/* 13A068 80246D28 8C4200C0 */ lw $v0, 0xc0($v0)
|
||
|
/* 13A06C 80246D2C 3C030002 */ lui $v1, 2
|
||
|
/* 13A070 80246D30 00431024 */ and $v0, $v0, $v1
|
||
|
/* 13A074 80246D34 10400020 */ beqz $v0, .L80246DB8
|
||
|
/* 13A078 80246D38 00000000 */ nop
|
||
|
/* 13A07C 80246D3C 92060006 */ lbu $a2, 6($s0)
|
||
|
/* 13A080 80246D40 82050006 */ lb $a1, 6($s0)
|
||
|
.L80246D44:
|
||
|
/* 13A084 80246D44 92020002 */ lbu $v0, 2($s0)
|
||
|
/* 13A088 80246D48 24420001 */ addiu $v0, $v0, 1
|
||
|
/* 13A08C 80246D4C A2020002 */ sb $v0, 2($s0)
|
||
|
/* 13A090 80246D50 00021600 */ sll $v0, $v0, 0x18
|
||
|
/* 13A094 80246D54 00022603 */ sra $a0, $v0, 0x18
|
||
|
/* 13A098 80246D58 0085102A */ slt $v0, $a0, $a1
|
||
|
/* 13A09C 80246D5C 1040005B */ beqz $v0, .L80246ECC
|
||
|
/* 13A0A0 80246D60 24C2FFFF */ addiu $v0, $a2, -1
|
||
|
/* 13A0A4 80246D64 82020004 */ lb $v0, 4($s0)
|
||
|
/* 13A0A8 80246D68 82030005 */ lb $v1, 5($s0)
|
||
|
/* 13A0AC 80246D6C 00430018 */ mult $v0, $v1
|
||
|
/* 13A0B0 80246D70 00004812 */ mflo $t1
|
||
|
/* 13A0B4 80246D74 00000000 */ nop
|
||
|
/* 13A0B8 80246D78 00000000 */ nop
|
||
|
/* 13A0BC 80246D7C 01250018 */ mult $t1, $a1
|
||
|
/* 13A0C0 80246D80 00001012 */ mflo $v0
|
||
|
/* 13A0C4 80246D84 00000000 */ nop
|
||
|
/* 13A0C8 80246D88 00000000 */ nop
|
||
|
/* 13A0CC 80246D8C 00640018 */ mult $v1, $a0
|
||
|
/* 13A0D0 80246D90 82040001 */ lb $a0, 1($s0)
|
||
|
/* 13A0D4 80246D94 00001812 */ mflo $v1
|
||
|
/* 13A0D8 80246D98 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 13A0DC 80246D9C 00441021 */ addu $v0, $v0, $a0
|
||
|
/* 13A0E0 80246DA0 8E030008 */ lw $v1, 8($s0)
|
||
|
/* 13A0E4 80246DA4 92040003 */ lbu $a0, 3($s0)
|
||
|
/* 13A0E8 80246DA8 00621821 */ addu $v1, $v1, $v0
|
||
|
/* 13A0EC 80246DAC 90620000 */ lbu $v0, ($v1)
|
||
|
/* 13A0F0 80246DB0 1082FFE4 */ beq $a0, $v0, .L80246D44
|
||
|
/* 13A0F4 80246DB4 00000000 */ nop
|