Files
SpaghettiKart/asm/non_matchings/code_80071F00/func_800801FC.s
T
Tyler McGavran 782ed71f61 Massive data relocation (#295)
Mostly relocating rodata from data/* files to the appropriate
 asm/nonmatching/* files, although there is some plain data
 relocating to be found in here too.

Big change to note is the addition of the code_802AAA70.c file,
 split from memory.c. Based on some padding in the ro/data for
 memory it seems clear that a split is needed, although it is
 not clear that exact spot chosen for the split is correct.
 Still, it gets the file padding for the ro/data and text segments
 correct so it can't be too wrong.

Also included is an update to the asm_processor tool to support
 the .hword directive. I made a PR to the main repo of that
 project with an identical change and it was accepted.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-29 18:52:15 -06:00

65 lines
2.7 KiB
ArmAsm

.section .late_rodata
glabel jpt_800EF088
.word L80080294, L80080248, L80080258, L8008026C
.word L80080280
.section .text
glabel func_800801FC
/* 080DFC 800801FC 000470C0 */ sll $t6, $a0, 3
/* 080E00 80080200 01C47023 */ subu $t6, $t6, $a0
/* 080E04 80080204 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 080E08 80080208 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 080E0C 8008020C 000E7140 */ sll $t6, $t6, 5
/* 080E10 80080210 01CF1021 */ addu $v0, $t6, $t7
/* 080E14 80080214 945800A6 */ lhu $t8, 0xa6($v0)
/* 080E18 80080218 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 080E1C 8008021C AFB00018 */ sw $s0, 0x18($sp)
/* 080E20 80080220 2F010005 */ sltiu $at, $t8, 5
/* 080E24 80080224 00808025 */ move $s0, $a0
/* 080E28 80080228 1020001A */ beqz $at, .L80080294
/* 080E2C 8008022C AFBF001C */ sw $ra, 0x1c($sp)
/* 080E30 80080230 0018C080 */ sll $t8, $t8, 2
/* 080E34 80080234 3C01800F */ lui $at, %hi(jpt_800EF088)
/* 080E38 80080238 00380821 */ addu $at, $at, $t8
/* 080E3C 8008023C 8C38F088 */ lw $t8, %lo(jpt_800EF088)($at)
/* 080E40 80080240 03000008 */ jr $t8
/* 080E44 80080244 00000000 */ nop
glabel L80080248
/* 080E48 80080248 0C02001E */ jal func_80080078
/* 080E4C 8008024C 02002025 */ move $a0, $s0
/* 080E50 80080250 10000010 */ b .L80080294
/* 080E54 80080254 00000000 */ nop
glabel L80080258
/* 080E58 80080258 02002025 */ move $a0, $s0
/* 080E5C 8008025C 0C01C9E3 */ jal func_8007278C
/* 080E60 80080260 8C450050 */ lw $a1, 0x50($v0)
/* 080E64 80080264 1000000B */ b .L80080294
/* 080E68 80080268 00000000 */ nop
glabel L8008026C
/* 080E6C 8008026C 02002025 */ move $a0, $s0
/* 080E70 80080270 0C01C95A */ jal func_80072568
/* 080E74 80080274 24050032 */ li $a1, 50
/* 080E78 80080278 10000006 */ b .L80080294
/* 080E7C 8008027C 00000000 */ nop
glabel L80080280
/* 080E80 80080280 2419003C */ li $t9, 60
/* 080E84 80080284 AC590050 */ sw $t9, 0x50($v0)
/* 080E88 80080288 02002025 */ move $a0, $s0
/* 080E8C 8008028C 0C01C9B3 */ jal func_800726CC
/* 080E90 80080290 24050002 */ li $a1, 2
.L80080294:
glabel L80080294
/* 080E94 80080294 0C01F98F */ jal func_8007E63C
/* 080E98 80080298 02002025 */ move $a0, $s0
/* 080E9C 8008029C 0C022FC6 */ jal func_8008BF18
/* 080EA0 800802A0 02002025 */ move $a0, $s0
/* 080EA4 800802A4 0C01CD45 */ jal func_80073514
/* 080EA8 800802A8 02002025 */ move $a0, $s0
/* 080EAC 800802AC 8FBF001C */ lw $ra, 0x1c($sp)
/* 080EB0 800802B0 8FB00018 */ lw $s0, 0x18($sp)
/* 080EB4 800802B4 27BD0020 */ addiu $sp, $sp, 0x20
/* 080EB8 800802B8 03E00008 */ jr $ra
/* 080EBC 800802BC 00000000 */ nop