papermario/ver/jp/asm/os/decode_yay0.s
Marijn van der Werf 0d70e3ecac
Build main segment in JP (#939)
* Remove JP dump

* Add new JP dump

* Fix sort_symbol_addrs to only look at one version

* Deduplicate and sort symbol_addrs

* Clean up JP rom if conditions

* Use /current dir for diffing

* Fix state_step_logos

* Add todo comments for unsplitted segments

* Fix draw_merlee_message

* rename background_gfx

* Fix background_gfx

* Fix JP build

* Set unused data offsets to auto
2023-02-17 11:06:56 +09:00

64 lines
3.1 KiB
ArmAsm

.include "macro.inc"
/* assembler directives */
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
.set gp=64 /* allow use of 64-bit general purpose registers */
.section .text, "ax"
/* Generated by spimdisasm 1.11.1 */
# Handwritten function
glabel decode_yay0
/* 4A1D0 8006EDD0 8C980004 */ lw $t8, 0x4($a0)
/* 4A1D4 8006EDD4 8C870008 */ lw $a3, 0x8($a0)
/* 4A1D8 8006EDD8 8C99000C */ lw $t9, 0xC($a0)
/* 4A1DC 8006EDDC 0000302D */ daddu $a2, $zero, $zero
/* 4A1E0 8006EDE0 0305C020 */ add $t8, $t8, $a1 # handwritten instruction
/* 4A1E4 8006EDE4 00E43820 */ add $a3, $a3, $a0 # handwritten instruction
/* 4A1E8 8006EDE8 0324C820 */ add $t9, $t9, $a0 # handwritten instruction
/* 4A1EC 8006EDEC 20840010 */ addi $a0, $a0, 0x10 # handwritten instruction
.LJP_8006EDF0:
/* 4A1F0 8006EDF0 14C00004 */ bnez $a2, .LJP_8006EE04
/* 4A1F4 8006EDF4 00000000 */ nop
/* 4A1F8 8006EDF8 8C880000 */ lw $t0, 0x0($a0)
/* 4A1FC 8006EDFC 24060020 */ addiu $a2, $zero, 0x20
/* 4A200 8006EE00 20840004 */ addi $a0, $a0, 0x4 # handwritten instruction
.LJP_8006EE04:
/* 4A204 8006EE04 0100482A */ slt $t1, $t0, $zero
/* 4A208 8006EE08 11200006 */ beqz $t1, .LJP_8006EE24
/* 4A20C 8006EE0C 00000000 */ nop
/* 4A210 8006EE10 832A0000 */ lb $t2, 0x0($t9)
/* 4A214 8006EE14 23390001 */ addi $t9, $t9, 0x1 # handwritten instruction
/* 4A218 8006EE18 A0AA0000 */ sb $t2, 0x0($a1)
/* 4A21C 8006EE1C 1000000E */ b .LJP_8006EE58
/* 4A220 8006EE20 20A50001 */ addi $a1, $a1, 0x1 # handwritten instruction
.LJP_8006EE24:
/* 4A224 8006EE24 94EA0000 */ lhu $t2, 0x0($a3)
/* 4A228 8006EE28 20E70002 */ addi $a3, $a3, 0x2 # handwritten instruction
/* 4A22C 8006EE2C 000A5B02 */ srl $t3, $t2, 12
/* 4A230 8006EE30 314A0FFF */ andi $t2, $t2, 0xFFF
/* 4A234 8006EE34 1160000D */ beqz $t3, .LJP_8006EE6C
/* 4A238 8006EE38 00AA4822 */ sub $t1, $a1, $t2
/* 4A23C 8006EE3C 216B0002 */ addi $t3, $t3, 0x2 # handwritten instruction
.LJP_8006EE40:
/* 4A240 8006EE40 812AFFFF */ lb $t2, -0x1($t1)
/* 4A244 8006EE44 216BFFFF */ addi $t3, $t3, -0x1 # handwritten instruction
/* 4A248 8006EE48 21290001 */ addi $t1, $t1, 0x1 # handwritten instruction
/* 4A24C 8006EE4C A0AA0000 */ sb $t2, 0x0($a1)
/* 4A250 8006EE50 1560FFFB */ bnez $t3, .LJP_8006EE40
/* 4A254 8006EE54 20A50001 */ addi $a1, $a1, 0x1 # handwritten instruction
.LJP_8006EE58:
/* 4A258 8006EE58 00084040 */ sll $t0, $t0, 1
/* 4A25C 8006EE5C 14B8FFE4 */ bne $a1, $t8, .LJP_8006EDF0
/* 4A260 8006EE60 20C6FFFF */ addi $a2, $a2, -0x1 # handwritten instruction
/* 4A264 8006EE64 03E00008 */ jr $ra
/* 4A268 8006EE68 00000000 */ nop
.LJP_8006EE6C:
/* 4A26C 8006EE6C 932B0000 */ lbu $t3, 0x0($t9)
/* 4A270 8006EE70 23390001 */ addi $t9, $t9, 0x1 # handwritten instruction
/* 4A274 8006EE74 1000FFF2 */ b .LJP_8006EE40
/* 4A278 8006EE78 216B0012 */ addi $t3, $t3, 0x12 # handwritten instruction
/* 4A27C 8006EE7C 00000000 */ nop