Files
SpaghettiKart/asm/non_matchings/code_80280650/func_8028088C.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

55 lines
2.4 KiB
ArmAsm

.section .late_rodata
glabel D_80286B70
.float 0.8
.section .text
glabel func_8028088C
/* 123ECC 8028088C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 123ED0 80280890 AFB00018 */ sw $s0, 0x18($sp)
/* 123ED4 80280894 00808025 */ move $s0, $a0
/* 123ED8 80280898 AFBF001C */ sw $ra, 0x1c($sp)
/* 123EDC 8028089C 8607002C */ lh $a3, 0x2c($s0)
/* 123EE0 802808A0 8606002E */ lh $a2, 0x2e($s0)
/* 123EE4 802808A4 24840010 */ addiu $a0, $a0, 0x10
/* 123EE8 802808A8 0C01AECD */ jal func_8006BB34
/* 123EEC 802808AC 3C053F80 */ lui $a1, 0x3f80
/* 123EF0 802808B0 3C018028 */ lui $at, %hi(D_80286B70) # $at, 0x8028
/* 123EF4 802808B4 C4266B70 */ lwc1 $f6, %lo(D_80286B70)($at)
/* 123EF8 802808B8 C6040014 */ lwc1 $f4, 0x14($s0)
/* 123EFC 802808BC 96040030 */ lhu $a0, 0x30($s0)
/* 123F00 802808C0 46062200 */ add.s $f8, $f4, $f6
/* 123F04 802808C4 0C0AE006 */ jal sins
/* 123F08 802808C8 E6080014 */ swc1 $f8, 0x14($s0)
/* 123F0C 802808CC 860E0034 */ lh $t6, 0x34($s0)
/* 123F10 802808D0 8E0A003C */ lw $t2, 0x3c($s0)
/* 123F14 802808D4 86190030 */ lh $t9, 0x30($s0)
/* 123F18 802808D8 448E5000 */ mtc1 $t6, $f10
/* 123F1C 802808DC 86080032 */ lh $t0, 0x32($s0)
/* 123F20 802808E0 254B0001 */ addiu $t3, $t2, 1
/* 123F24 802808E4 46805420 */ cvt.s.w $f16, $f10
/* 123F28 802808E8 29610321 */ slti $at, $t3, 0x321
/* 123F2C 802808EC 03284821 */ addu $t1, $t9, $t0
/* 123F30 802808F0 A6090030 */ sh $t1, 0x30($s0)
/* 123F34 802808F4 AE0B003C */ sw $t3, 0x3c($s0)
/* 123F38 802808F8 3C0D8028 */ lui $t5, %hi(D_802874CA) # $t5, 0x8028
/* 123F3C 802808FC 46100482 */ mul.s $f18, $f0, $f16
/* 123F40 80280900 4600910D */ trunc.w.s $f4, $f18
/* 123F44 80280904 44182000 */ mfc1 $t8, $f4
/* 123F48 80280908 14200002 */ bnez $at, .L80280914
/* 123F4C 8028090C A618002E */ sh $t8, 0x2e($s0)
/* 123F50 80280910 AE000000 */ sw $zero, ($s0)
.L80280914:
/* 123F54 80280914 85AD74CA */ lh $t5, %lo(D_802874CA)($t5)
/* 123F58 80280918 24010001 */ li $at, 1
/* 123F5C 8028091C 55A10003 */ bnel $t5, $at, .L8028092C
/* 123F60 80280920 8FBF001C */ lw $ra, 0x1c($sp)
/* 123F64 80280924 AE000000 */ sw $zero, ($s0)
/* 123F68 80280928 8FBF001C */ lw $ra, 0x1c($sp)
.L8028092C:
/* 123F6C 8028092C 8FB00018 */ lw $s0, 0x18($sp)
/* 123F70 80280930 27BD0020 */ addiu $sp, $sp, 0x20
/* 123F74 80280934 03E00008 */ jr $ra
/* 123F78 80280938 00000000 */ nop