mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
38 lines
1.5 KiB
ArmAsm
38 lines
1.5 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
|
||
|
glabel si_handle_switch
|
||
|
/* 0E9924 802C4F74 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||
|
/* 0E9928 802C4F78 AFB00010 */ sw $s0, 0x10($sp)
|
||
|
/* 0E992C 802C4F7C 0080802D */ daddu $s0, $a0, $zero
|
||
|
/* 0E9930 802C4F80 AFBF0014 */ sw $ra, 0x14($sp)
|
||
|
/* 0E9934 802C4F84 8E02000C */ lw $v0, 0xc($s0)
|
||
|
/* 0E9938 802C4F88 0C0B1EAF */ jal get_variable
|
||
|
/* 0E993C 802C4F8C 8C450000 */ lw $a1, ($v0)
|
||
|
/* 0E9940 802C4F90 92030007 */ lbu $v1, 7($s0)
|
||
|
/* 0E9944 802C4F94 0040282D */ daddu $a1, $v0, $zero
|
||
|
/* 0E9948 802C4F98 24630001 */ addiu $v1, $v1, 1
|
||
|
/* 0E994C 802C4F9C A2030007 */ sb $v1, 7($s0)
|
||
|
/* 0E9950 802C4FA0 00031E00 */ sll $v1, $v1, 0x18
|
||
|
/* 0E9954 802C4FA4 00032603 */ sra $a0, $v1, 0x18
|
||
|
/* 0E9958 802C4FA8 28820008 */ slti $v0, $a0, 8
|
||
|
/* 0E995C 802C4FAC 14400003 */ bnez $v0, .L802C4FBC
|
||
|
/* 0E9960 802C4FB0 24020002 */ addiu $v0, $zero, 2
|
||
|
.L802C4FB4:
|
||
|
/* 0E9964 802C4FB4 080B13ED */ j .L802C4FB4
|
||
|
/* 0E9968 802C4FB8 00000000 */ nop
|
||
|
|
||
|
.L802C4FBC:
|
||
|
/* 0E996C 802C4FBC 00441804 */ sllv $v1, $a0, $v0
|
||
|
/* 0E9970 802C4FC0 02031821 */ addu $v1, $s0, $v1
|
||
|
/* 0E9974 802C4FC4 02042021 */ addu $a0, $s0, $a0
|
||
|
/* 0E9978 802C4FC8 AC650118 */ sw $a1, 0x118($v1)
|
||
|
/* 0E997C 802C4FCC 24030001 */ addiu $v1, $zero, 1
|
||
|
/* 0E9980 802C4FD0 A0830110 */ sb $v1, 0x110($a0)
|
||
|
/* 0E9984 802C4FD4 8FBF0014 */ lw $ra, 0x14($sp)
|
||
|
/* 0E9988 802C4FD8 8FB00010 */ lw $s0, 0x10($sp)
|
||
|
/* 0E998C 802C4FDC 03E00008 */ jr $ra
|
||
|
/* 0E9990 802C4FE0 27BD0018 */ addiu $sp, $sp, 0x18
|
||
|
|