mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
42253 lines
2.2 MiB
Plaintext
42253 lines
2.2 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_024FEFA4 @ 0x24fefa4
|
|
void Gambit_fn_024FEFA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FEFA4: ; // 0x24fefa4
|
|
/* 024FEFA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FEFA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FEFA4 */ cpu->r[1] = _t0;
|
|
/* 024FEFA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FEFA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FEFAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FEFAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FEFB0 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FEFB0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FEFB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FEFB8 */ /* nop */
|
|
/* 024FEFBC */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FEFC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FEFC4 */ Gambit_fn_024FF89C(cpu);
|
|
/* 024FEFC8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FEFC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FEFCC */ cpu->lr = cpu->r[0];
|
|
/* 024FEFD0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FEFD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FEFD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FEFD8 */ return;
|
|
}
|
|
|
|
// fn_024FEFDC @ 0x24fefdc
|
|
void Gambit_fn_024FEFDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FEFDC: ; // 0x24fefdc
|
|
/* 024FEFDC */ cpu->r[0] = cpu->lr;
|
|
/* 024FEFE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FEFE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FEFE0 */ cpu->r[1] = _t0;
|
|
/* 024FEFE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FEFE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FEFE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FEFE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FEFEC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FEFEC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FEFF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FEFF4 */ /* nop */
|
|
/* 024FEFF8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FEFFC */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF000 */ Gambit_fn_024FFB1C(cpu);
|
|
/* 024FF004 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF008 */ cpu->lr = cpu->r[0];
|
|
/* 024FF00C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF00C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF010 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF014 */ return;
|
|
}
|
|
|
|
// fn_024FEFE0 @ 0x24fefe0
|
|
void Gambit_fn_024FEFE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FEFE0: ; // 0x24fefe0
|
|
/* 024FEFE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FEFE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FEFE0 */ cpu->r[1] = _t0;
|
|
/* 024FEFE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FEFE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FEFE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FEFE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FEFEC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FEFEC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FEFF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FEFF4 */ /* nop */
|
|
/* 024FEFF8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FEFFC */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF000 */ Gambit_fn_024FFB1C(cpu);
|
|
/* 024FF004 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF008 */ cpu->lr = cpu->r[0];
|
|
/* 024FF00C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF00C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF010 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF014 */ return;
|
|
}
|
|
|
|
// fn_024FF018 @ 0x24ff018
|
|
void Gambit_fn_024FF018(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF018: ; // 0x24ff018
|
|
/* 024FF018 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF01C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF01C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF01C */ cpu->r[1] = _t0;
|
|
/* 024FF020 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF020 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF024 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF024 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF028 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF028 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF02C */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF030 */ /* nop */
|
|
/* 024FF034 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF038 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF03C */ Gambit_fn_024FFD9C(cpu);
|
|
/* 024FF040 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF044 */ cpu->lr = cpu->r[0];
|
|
/* 024FF048 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF04C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF050 */ return;
|
|
}
|
|
|
|
// fn_024FF01C @ 0x24ff01c
|
|
void Gambit_fn_024FF01C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF01C: ; // 0x24ff01c
|
|
/* 024FF01C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF01C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF01C */ cpu->r[1] = _t0;
|
|
/* 024FF020 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF020 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF024 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF024 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF028 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF028 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF02C */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF030 */ /* nop */
|
|
/* 024FF034 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF038 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF03C */ Gambit_fn_024FFD9C(cpu);
|
|
/* 024FF040 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF044 */ cpu->lr = cpu->r[0];
|
|
/* 024FF048 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF04C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF050 */ return;
|
|
}
|
|
|
|
// fn_024FF054 @ 0x24ff054
|
|
void Gambit_fn_024FF054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF054: ; // 0x24ff054
|
|
/* 024FF054 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF058 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF058 */ cpu->r[1] = _t0;
|
|
/* 024FF05C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF05C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF060 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF060 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF064 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF064 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF068 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF06C */ /* nop */
|
|
/* 024FF070 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF074 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF078 */ Gambit_fn_0250001C(cpu);
|
|
/* 024FF07C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF080 */ cpu->lr = cpu->r[0];
|
|
/* 024FF084 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF084 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF088 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF08C */ return;
|
|
}
|
|
|
|
// fn_024FF058 @ 0x24ff058
|
|
void Gambit_fn_024FF058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF058: ; // 0x24ff058
|
|
/* 024FF058 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF058 */ cpu->r[1] = _t0;
|
|
/* 024FF05C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF05C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF060 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF060 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF064 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF064 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF068 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF06C */ /* nop */
|
|
/* 024FF070 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF074 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF078 */ Gambit_fn_0250001C(cpu);
|
|
/* 024FF07C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF080 */ cpu->lr = cpu->r[0];
|
|
/* 024FF084 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF084 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF088 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF08C */ return;
|
|
}
|
|
|
|
// fn_024FF090 @ 0x24ff090
|
|
void Gambit_fn_024FF090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF090: ; // 0x24ff090
|
|
/* 024FF090 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF094 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF094 */ cpu->r[1] = _t0;
|
|
/* 024FF098 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF09C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF09C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF0A0 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF0A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF0A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF0A8 */ /* nop */
|
|
/* 024FF0AC */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF0B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF0B4 */ Gambit_fn_0250029C(cpu);
|
|
/* 024FF0B8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF0BC */ cpu->lr = cpu->r[0];
|
|
/* 024FF0C0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF0C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF0C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF0C8 */ return;
|
|
}
|
|
|
|
// fn_024FF094 @ 0x24ff094
|
|
void Gambit_fn_024FF094(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF094: ; // 0x24ff094
|
|
/* 024FF094 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF094 */ cpu->r[1] = _t0;
|
|
/* 024FF098 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF09C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF09C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF0A0 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF0A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF0A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF0A8 */ /* nop */
|
|
/* 024FF0AC */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF0B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF0B4 */ Gambit_fn_0250029C(cpu);
|
|
/* 024FF0B8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF0BC */ cpu->lr = cpu->r[0];
|
|
/* 024FF0C0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF0C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF0C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF0C8 */ return;
|
|
}
|
|
|
|
// fn_024FF0CC @ 0x24ff0cc
|
|
void Gambit_fn_024FF0CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF0CC: ; // 0x24ff0cc
|
|
/* 024FF0CC */ cpu->r[0] = cpu->lr;
|
|
/* 024FF0D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF0D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF0D0 */ cpu->r[1] = _t0;
|
|
/* 024FF0D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF0D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF0D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF0DC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF0DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF0E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF0E4 */ /* nop */
|
|
/* 024FF0E8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF0EC */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF0F0 */ Gambit_fn_0250051C(cpu);
|
|
/* 024FF0F4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF0F8 */ cpu->lr = cpu->r[0];
|
|
/* 024FF0FC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF0FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF100 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF104 */ return;
|
|
}
|
|
|
|
// fn_024FF0D0 @ 0x24ff0d0
|
|
void Gambit_fn_024FF0D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF0D0: ; // 0x24ff0d0
|
|
/* 024FF0D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF0D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF0D0 */ cpu->r[1] = _t0;
|
|
/* 024FF0D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF0D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF0D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF0DC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF0DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF0E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF0E4 */ /* nop */
|
|
/* 024FF0E8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF0EC */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF0F0 */ Gambit_fn_0250051C(cpu);
|
|
/* 024FF0F4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF0F8 */ cpu->lr = cpu->r[0];
|
|
/* 024FF0FC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF0FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF100 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF104 */ return;
|
|
}
|
|
|
|
// fn_024FF108 @ 0x24ff108
|
|
void Gambit_fn_024FF108(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF108: ; // 0x24ff108
|
|
/* 024FF108 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF10C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF10C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF10C */ cpu->r[1] = _t0;
|
|
/* 024FF110 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF110 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF114 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF114 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF118 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF118 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF11C */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF120 */ /* nop */
|
|
/* 024FF124 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF128 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF12C */ Gambit_fn_0250079C(cpu);
|
|
/* 024FF130 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF134 */ cpu->lr = cpu->r[0];
|
|
/* 024FF138 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF13C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF140 */ return;
|
|
}
|
|
|
|
// fn_024FF10C @ 0x24ff10c
|
|
void Gambit_fn_024FF10C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF10C: ; // 0x24ff10c
|
|
/* 024FF10C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF10C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF10C */ cpu->r[1] = _t0;
|
|
/* 024FF110 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF110 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF114 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF114 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF118 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 024FF118 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF11C */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF120 */ /* nop */
|
|
/* 024FF124 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF128 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF12C */ Gambit_fn_0250079C(cpu);
|
|
/* 024FF130 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF134 */ cpu->lr = cpu->r[0];
|
|
/* 024FF138 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF13C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF140 */ return;
|
|
}
|
|
|
|
// fn_024FF144 @ 0x24ff144
|
|
void Gambit_fn_024FF144(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF144: ; // 0x24ff144
|
|
/* 024FF144 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF148 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024FF14C */ cpu->r[7] = 0x02500000u;
|
|
/* 024FF150 */ cpu->r[6] = 0x02500000u;
|
|
/* 024FF154 */ cpu->r[10] = 0x101C0000u;
|
|
/* 024FF158 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF14u;
|
|
/* 024FF15C */ cpu->r[6] = cpu->r[6] + 0xFFFFEF14u;
|
|
/* 024FF160 */ cpu->r[10] = cpu->r[10] + 0x000065C0u;
|
|
/* 024FF164 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024FF164 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024FF168 */ cpu->r[0] = 0x101C0000u;
|
|
/* 024FF16C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF16C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024FF16C */ cpu->r[1] = _t1;
|
|
/* 024FF170 */ cpu->r[0] = cpu->r[0] + 0x000065BCu;
|
|
/* 024FF174 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF174 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF178 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF17C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF17C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF180 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF184 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF184 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 024FF188 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF18C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF190 */ cpu->lr = cpu->r[0];
|
|
/* 024FF194 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF198 */ return;
|
|
}
|
|
|
|
// fn_024FF16C @ 0x24ff16c
|
|
void Gambit_fn_024FF16C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024FF16C: ; // 0x24ff16c
|
|
/* 024FF16C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF16C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF16C */ cpu->r[1] = _t0;
|
|
/* 024FF170 */ cpu->r[0] = cpu->r[0] + 0x000065BCu;
|
|
/* 024FF174 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF174 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF178 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF17C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF17C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF180 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF184 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF184 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 024FF188 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF18C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF190 */ cpu->lr = cpu->r[0];
|
|
/* 024FF194 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF198 */ return;
|
|
}
|
|
|
|
// fn_024FF19C @ 0x24ff19c
|
|
void Gambit_fn_024FF19C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF19C: ; // 0x24ff19c
|
|
/* 024FF19C */ cpu->r[0] = cpu->lr;
|
|
/* 024FF1A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024FF1A4 */ cpu->r[7] = 0x02500000u;
|
|
/* 024FF1A8 */ cpu->r[6] = 0x02500000u;
|
|
/* 024FF1AC */ cpu->r[10] = 0x101C0000u;
|
|
/* 024FF1B0 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF1Cu;
|
|
/* 024FF1B4 */ cpu->r[6] = cpu->r[6] + 0xFFFFEF1Cu;
|
|
/* 024FF1B8 */ cpu->r[10] = cpu->r[10] + 0x00006970u;
|
|
/* 024FF1BC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024FF1BC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024FF1C0 */ cpu->r[0] = 0x101C0000u;
|
|
/* 024FF1C4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF1C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024FF1C4 */ cpu->r[1] = _t1;
|
|
/* 024FF1C8 */ cpu->r[0] = cpu->r[0] + 0x0000696Cu;
|
|
/* 024FF1CC */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF1CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF1D0 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF1D4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF1D8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF1DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF1DC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 024FF1E0 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF1E4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF1E8 */ cpu->lr = cpu->r[0];
|
|
/* 024FF1EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF1F0 */ return;
|
|
}
|
|
|
|
// fn_024FF1C4 @ 0x24ff1c4
|
|
void Gambit_fn_024FF1C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024FF1C4: ; // 0x24ff1c4
|
|
/* 024FF1C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF1C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF1C4 */ cpu->r[1] = _t0;
|
|
/* 024FF1C8 */ cpu->r[0] = cpu->r[0] + 0x0000696Cu;
|
|
/* 024FF1CC */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF1CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF1D0 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF1D4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF1D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF1D8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF1DC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF1DC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 024FF1E0 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF1E4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF1E8 */ cpu->lr = cpu->r[0];
|
|
/* 024FF1EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF1F0 */ return;
|
|
}
|
|
|
|
// fn_024FF1F4 @ 0x24ff1f4
|
|
void Gambit_fn_024FF1F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF1F4: ; // 0x24ff1f4
|
|
/* 024FF1F4 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF1F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024FF1FC */ cpu->r[7] = 0x02500000u;
|
|
/* 024FF200 */ cpu->r[6] = 0x02500000u;
|
|
/* 024FF204 */ cpu->r[10] = 0x101C0000u;
|
|
/* 024FF208 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF24u;
|
|
/* 024FF20C */ cpu->r[6] = cpu->r[6] + 0xFFFFEF24u;
|
|
/* 024FF210 */ cpu->r[10] = cpu->r[10] + 0x00006B34u;
|
|
/* 024FF214 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024FF214 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024FF218 */ cpu->r[0] = 0x101C0000u;
|
|
/* 024FF21C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF21C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024FF21C */ cpu->r[1] = _t1;
|
|
/* 024FF220 */ cpu->r[0] = cpu->r[0] + 0x00006B30u;
|
|
/* 024FF224 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF228 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF22C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF22C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF230 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF234 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF234 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 024FF238 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF23C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF240 */ cpu->lr = cpu->r[0];
|
|
/* 024FF244 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF248 */ return;
|
|
}
|
|
|
|
// fn_024FF21C @ 0x24ff21c
|
|
void Gambit_fn_024FF21C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024FF21C: ; // 0x24ff21c
|
|
/* 024FF21C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF21C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF21C */ cpu->r[1] = _t0;
|
|
/* 024FF220 */ cpu->r[0] = cpu->r[0] + 0x00006B30u;
|
|
/* 024FF224 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF228 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF22C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF22C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF230 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF234 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF234 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 024FF238 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF23C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF240 */ cpu->lr = cpu->r[0];
|
|
/* 024FF244 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF248 */ return;
|
|
}
|
|
|
|
// fn_024FF24C @ 0x24ff24c
|
|
void Gambit_fn_024FF24C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF24C: ; // 0x24ff24c
|
|
/* 024FF24C */ cpu->r[0] = cpu->lr;
|
|
/* 024FF250 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024FF254 */ cpu->r[7] = 0x02500000u;
|
|
/* 024FF258 */ cpu->r[6] = 0x02500000u;
|
|
/* 024FF25C */ cpu->r[10] = 0x101C0000u;
|
|
/* 024FF260 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF2Cu;
|
|
/* 024FF264 */ cpu->r[6] = cpu->r[6] + 0xFFFFEF2Cu;
|
|
/* 024FF268 */ cpu->r[10] = cpu->r[10] + 0x000069F4u;
|
|
/* 024FF26C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024FF26C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024FF270 */ cpu->r[0] = 0x101C0000u;
|
|
/* 024FF274 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF274 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024FF274 */ cpu->r[1] = _t1;
|
|
/* 024FF278 */ cpu->r[0] = cpu->r[0] + 0x000069F0u;
|
|
/* 024FF27C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF27C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF280 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF284 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF284 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF288 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF28C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF28C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 024FF290 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF294 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF298 */ cpu->lr = cpu->r[0];
|
|
/* 024FF29C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF2A0 */ return;
|
|
}
|
|
|
|
// fn_024FF274 @ 0x24ff274
|
|
void Gambit_fn_024FF274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024FF274: ; // 0x24ff274
|
|
/* 024FF274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF274 */ cpu->r[1] = _t0;
|
|
/* 024FF278 */ cpu->r[0] = cpu->r[0] + 0x000069F0u;
|
|
/* 024FF27C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF27C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF280 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF284 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF284 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF288 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF28C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF28C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 024FF290 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF294 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF298 */ cpu->lr = cpu->r[0];
|
|
/* 024FF29C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF2A0 */ return;
|
|
}
|
|
|
|
// fn_024FF2A4 @ 0x24ff2a4
|
|
void Gambit_fn_024FF2A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF2A4: ; // 0x24ff2a4
|
|
/* 024FF2A4 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF2A8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024FF2AC */ cpu->r[7] = 0x02500000u;
|
|
/* 024FF2B0 */ cpu->r[6] = 0x02500000u;
|
|
/* 024FF2B4 */ cpu->r[10] = 0x101C0000u;
|
|
/* 024FF2B8 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF34u;
|
|
/* 024FF2BC */ cpu->r[6] = cpu->r[6] + 0xFFFFEF34u;
|
|
/* 024FF2C0 */ cpu->r[10] = cpu->r[10] + 0x0000678Cu;
|
|
/* 024FF2C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024FF2C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024FF2C8 */ cpu->r[0] = 0x101C0000u;
|
|
/* 024FF2CC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF2CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024FF2CC */ cpu->r[1] = _t1;
|
|
/* 024FF2D0 */ cpu->r[0] = cpu->r[0] + 0x00006788u;
|
|
/* 024FF2D4 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF2D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF2D8 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF2DC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF2DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF2E0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF2E4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF2E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 024FF2E8 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF2EC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF2EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF2F0 */ cpu->lr = cpu->r[0];
|
|
/* 024FF2F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF2F8 */ return;
|
|
}
|
|
|
|
// fn_024FF2CC @ 0x24ff2cc
|
|
void Gambit_fn_024FF2CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024FF2CC: ; // 0x24ff2cc
|
|
/* 024FF2CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF2CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF2CC */ cpu->r[1] = _t0;
|
|
/* 024FF2D0 */ cpu->r[0] = cpu->r[0] + 0x00006788u;
|
|
/* 024FF2D4 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF2D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF2D8 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF2DC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF2DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF2E0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF2E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF2E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 024FF2E8 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF2EC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF2EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF2F0 */ cpu->lr = cpu->r[0];
|
|
/* 024FF2F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF2F8 */ return;
|
|
}
|
|
|
|
// fn_024FF2FC @ 0x24ff2fc
|
|
void Gambit_fn_024FF2FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF2FC: ; // 0x24ff2fc
|
|
/* 024FF2FC */ cpu->r[0] = cpu->lr;
|
|
/* 024FF300 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024FF304 */ cpu->r[7] = 0x02500000u;
|
|
/* 024FF308 */ cpu->r[6] = 0x02500000u;
|
|
/* 024FF30C */ cpu->r[10] = 0x101C0000u;
|
|
/* 024FF310 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF3Cu;
|
|
/* 024FF314 */ cpu->r[6] = cpu->r[6] + 0xFFFFEF3Cu;
|
|
/* 024FF318 */ cpu->r[10] = cpu->r[10] + 0x00007D38u;
|
|
/* 024FF31C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024FF31C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024FF320 */ cpu->r[0] = 0x101C0000u;
|
|
/* 024FF324 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF324 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024FF324 */ cpu->r[1] = _t1;
|
|
/* 024FF328 */ cpu->r[0] = cpu->r[0] + 0x00007D34u;
|
|
/* 024FF32C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF32C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF330 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF334 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF334 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF338 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF33C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF33C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 024FF340 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF344 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF348 */ cpu->lr = cpu->r[0];
|
|
/* 024FF34C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF350 */ return;
|
|
}
|
|
|
|
// fn_024FF324 @ 0x24ff324
|
|
void Gambit_fn_024FF324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024FF324: ; // 0x24ff324
|
|
/* 024FF324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF324 */ cpu->r[1] = _t0;
|
|
/* 024FF328 */ cpu->r[0] = cpu->r[0] + 0x00007D34u;
|
|
/* 024FF32C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF32C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF330 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF334 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF334 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF338 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF33C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF33C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 024FF340 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF344 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF348 */ cpu->lr = cpu->r[0];
|
|
/* 024FF34C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF350 */ return;
|
|
}
|
|
|
|
// fn_024FF354 @ 0x24ff354
|
|
void Gambit_fn_024FF354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024FF354: ; // 0x24ff354
|
|
/* 024FF354 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF358 */ cpu->r[12] = 0x101D0000u;
|
|
/* 024FF35C */ cpu->r[7] = 0x02500000u;
|
|
/* 024FF360 */ cpu->r[6] = 0x02500000u;
|
|
/* 024FF364 */ cpu->r[10] = 0x101C0000u;
|
|
/* 024FF368 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF44u;
|
|
/* 024FF36C */ cpu->r[6] = cpu->r[6] + 0xFFFFEF44u;
|
|
/* 024FF370 */ cpu->r[10] = cpu->r[10] + 0x00007BC0u;
|
|
/* 024FF374 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024FF374 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024FF378 */ cpu->r[0] = 0x101C0000u;
|
|
/* 024FF37C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF37C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024FF37C */ cpu->r[1] = _t1;
|
|
/* 024FF380 */ cpu->r[0] = cpu->r[0] + 0x00007BBCu;
|
|
/* 024FF384 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF388 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF38C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF38C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF390 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF394 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF394 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 024FF398 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF39C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF39C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024FF3A0 */ cpu->lr = cpu->r[0];
|
|
/* 024FF3A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF3A8 */ return;
|
|
}
|
|
|
|
// fn_024FF37C @ 0x24ff37c
|
|
void Gambit_fn_024FF37C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024FF37C: ; // 0x24ff37c
|
|
/* 024FF37C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF37C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF37C */ cpu->r[1] = _t0;
|
|
/* 024FF380 */ cpu->r[0] = cpu->r[0] + 0x00007BBCu;
|
|
/* 024FF384 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 024FF384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF388 */ cpu->r[8] = 0x00000000u;
|
|
/* 024FF38C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF38C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF390 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF394 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF394 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 024FF398 */ Gambit_fn_02791B10(cpu);
|
|
/* 024FF39C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF39C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024FF3A0 */ cpu->lr = cpu->r[0];
|
|
/* 024FF3A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF3A8 */ return;
|
|
}
|
|
|
|
// fn_024FF3B0 @ 0x24ff3b0
|
|
void Gambit_fn_024FF3B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_024FF3B0: ; // 0x24ff3b0
|
|
/* 024FF3B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024FF3B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF3B0 */ cpu->r[1] = _t0;
|
|
/* 024FF3B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF3B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 024FF3B8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 024FF3B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 024FF3BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF3BC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 024FF3C0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[4]);
|
|
/* 024FF3C4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024FF3C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 024FF3C8 */ cpu->r[0] = cpu->r[4] + 0x00000001u;
|
|
/* 024FF3CC */ cpu->r[29] = 0x00000000u;
|
|
/* 024FF3D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[0]);
|
|
/* 024FF3D4 */ cpu->r[30] = cpu->r[29];
|
|
/* 024FF3D8 */ cpu->r[31] = cpu->r[29];
|
|
/* 024FF3DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 024FF3E0 */ cpu->r[5] = cpu->r[0] - cpu->r[8];
|
|
/* 024FF3E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF3E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FF3E4 */ if (_t6) goto L_024FF47C; else goto L_024FF3E8;
|
|
L_024FF3E8: ; // 0x24ff3e8
|
|
/* 024FF3E8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 024FF3EC */ _t7 = cpu->r[12] + 0x000065BCu;
|
|
/* 024FF3EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FF3F0 */ _t8 = cpu->r[3] + 0x00000030u;
|
|
/* 024FF3F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FF3F4 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 024FF3F8 */ cpu->ctr = cpu->r[5];
|
|
/* 024FF3FC */ _t9 = cpu->r[12] + 0x00000104u;
|
|
/* 024FF3FC */ cpu->r[7] = rbrew_read8(cpu->mem, _t9);
|
|
/* 024FF400 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_024FF404: ; // 0x24ff404
|
|
/* 024FF404 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024FF408 */ _t10 = cpu->r[5] + cpu->r[9];
|
|
/* 024FF408 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FF40C */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 024FF40C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF410 */ _t12 = cpu->r[11] + cpu->r[8];
|
|
/* 024FF410 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FF414 */ _t13 = cpu->r[5] + 0x0000001Cu;
|
|
/* 024FF414 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FF418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 024FF41C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF41C */ _t15 = _t14 & 0x00000001u;
|
|
/* 024FF41C */ if (_t15) goto L_024FF428; else goto L_024FF420;
|
|
L_024FF420: ; // 0x24ff420
|
|
/* 024FF420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 024FF424 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF424 */ _t17 = _t16 & 0x00000001u;
|
|
/* 024FF424 */ if (_t17) goto L_024FF428; else goto L_024FF448;
|
|
L_024FF428: ; // 0x24ff428
|
|
/* 024FF428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024FF42C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 024FF430 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF430 */ _t19 = _t18 & 0x00000001u;
|
|
/* 024FF430 */ if (_t19) goto L_024FF444; else goto L_024FF434;
|
|
L_024FF434: ; // 0x24ff434
|
|
/* 024FF434 */ _t20 = cpu->r[5] + 0x000001C4u;
|
|
/* 024FF434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 024FF438 */ _t21 = cpu->r[31] + 0x000001C4u;
|
|
/* 024FF438 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 024FF43C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 024FF440 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF440 */ _t23 = _t22 & 0x00000001u;
|
|
/* 024FF440 */ if (_t23) goto L_024FF444; else goto L_024FF448;
|
|
L_024FF444: ; // 0x24ff444
|
|
/* 024FF444 */ cpu->r[31] = cpu->r[5];
|
|
L_024FF448: ; // 0x24ff448
|
|
/* 024FF448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 024FF44C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF44C */ _t25 = _t24 & 0x00000001u;
|
|
/* 024FF44C */ if (_t25) goto L_024FF474; else goto L_024FF450;
|
|
L_024FF450: ; // 0x24ff450
|
|
/* 024FF450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 024FF454 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF454 */ _t27 = _t26 & 0x00000001u;
|
|
/* 024FF454 */ if (_t27) goto L_024FF474; else goto L_024FF458;
|
|
L_024FF458: ; // 0x24ff458
|
|
/* 024FF458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024FF45C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF45C */ _t29 = _t28 & 0x00000001u;
|
|
/* 024FF45C */ if (_t29) goto L_024FF470; else goto L_024FF460;
|
|
L_024FF460: ; // 0x24ff460
|
|
/* 024FF460 */ _t30 = cpu->r[5] + 0x000001C4u;
|
|
/* 024FF460 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024FF464 */ _t31 = cpu->r[30] + 0x000001C4u;
|
|
/* 024FF464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024FF468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 024FF46C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF46C */ _t33 = _t32 & 0x00000001u;
|
|
/* 024FF46C */ if (_t33) goto L_024FF470; else goto L_024FF474;
|
|
L_024FF470: ; // 0x24ff470
|
|
/* 024FF470 */ cpu->r[30] = cpu->r[5];
|
|
L_024FF474: ; // 0x24ff474
|
|
/* 024FF474 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 024FF478 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024FF478 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024FF478 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 024FF478 */ _t36 = _t35 & 0x00000001u;
|
|
/* 024FF478 */ if (_t36) goto L_024FF404; else goto L_024FF47C;
|
|
L_024FF47C: ; // 0x24ff47c
|
|
/* 024FF47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 024FF480 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF480 */ _t38 = _t37 & 0x00000001u;
|
|
/* 024FF480 */ if (_t38) goto L_024FF494; else goto L_024FF484;
|
|
L_024FF484: ; // 0x24ff484
|
|
/* 024FF484 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF488 */ Gambit_fn_02790488(cpu);
|
|
/* 024FF48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024FF490 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF490 */ _t40 = _t39 & 0x00000001u;
|
|
/* 024FF490 */ if (_t40) goto L_024FF4BC; else goto L_024FF494;
|
|
L_024FF494: ; // 0x24ff494
|
|
/* 024FF494 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF498 */ Gambit_fn_02790458(cpu);
|
|
/* 024FF49C */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF49C */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 024FF4A0 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024FF4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 024FF4A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF4A8 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 024FF4A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 024FF4AC */ cpu->lr = cpu->r[0];
|
|
/* 024FF4B0 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF4B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 024FF4B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024FF4B8 */ return;
|
|
L_024FF4BC: ; // 0x24ff4bc
|
|
/* 024FF4BC */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF4C0 */ Gambit_fn_02790458(cpu);
|
|
/* 024FF4C4 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF4C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 024FF4C8 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024FF4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 024FF4CC */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF4D0 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 024FF4D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 024FF4D4 */ cpu->lr = cpu->r[0];
|
|
/* 024FF4D8 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF4D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 024FF4DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024FF4E0 */ return;
|
|
}
|
|
|
|
// fn_024FF4E8 @ 0x24ff4e8
|
|
void Gambit_fn_024FF4E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_024FF4E8: ; // 0x24ff4e8
|
|
/* 024FF4E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024FF4E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF4E8 */ cpu->r[1] = _t0;
|
|
/* 024FF4EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF4EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 024FF4F0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 024FF4F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 024FF4F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF4F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 024FF4F8 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[4]);
|
|
/* 024FF4FC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024FF4FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 024FF500 */ cpu->r[0] = cpu->r[4] + 0x00000001u;
|
|
/* 024FF504 */ cpu->r[29] = 0x00000000u;
|
|
/* 024FF508 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[0]);
|
|
/* 024FF50C */ cpu->r[30] = cpu->r[29];
|
|
/* 024FF510 */ cpu->r[31] = cpu->r[29];
|
|
/* 024FF514 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 024FF518 */ cpu->r[5] = cpu->r[0] - cpu->r[8];
|
|
/* 024FF51C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF51C */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FF51C */ if (_t6) goto L_024FF5B4; else goto L_024FF520;
|
|
L_024FF520: ; // 0x24ff520
|
|
/* 024FF520 */ cpu->r[12] = 0x101C0000u;
|
|
/* 024FF524 */ _t7 = cpu->r[12] + 0x000069F0u;
|
|
/* 024FF524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FF528 */ _t8 = cpu->r[3] + 0x00000030u;
|
|
/* 024FF528 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FF52C */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 024FF530 */ cpu->ctr = cpu->r[5];
|
|
/* 024FF534 */ _t9 = cpu->r[12] + 0x00000104u;
|
|
/* 024FF534 */ cpu->r[7] = rbrew_read8(cpu->mem, _t9);
|
|
/* 024FF538 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_024FF53C: ; // 0x24ff53c
|
|
/* 024FF53C */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024FF540 */ _t10 = cpu->r[5] + cpu->r[9];
|
|
/* 024FF540 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FF544 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 024FF544 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF548 */ _t12 = cpu->r[11] + cpu->r[8];
|
|
/* 024FF548 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FF54C */ _t13 = cpu->r[5] + 0x0000001Cu;
|
|
/* 024FF54C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FF550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 024FF554 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF554 */ _t15 = _t14 & 0x00000001u;
|
|
/* 024FF554 */ if (_t15) goto L_024FF560; else goto L_024FF558;
|
|
L_024FF558: ; // 0x24ff558
|
|
/* 024FF558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 024FF55C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF55C */ _t17 = _t16 & 0x00000001u;
|
|
/* 024FF55C */ if (_t17) goto L_024FF560; else goto L_024FF580;
|
|
L_024FF560: ; // 0x24ff560
|
|
/* 024FF560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024FF564 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 024FF568 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF568 */ _t19 = _t18 & 0x00000001u;
|
|
/* 024FF568 */ if (_t19) goto L_024FF57C; else goto L_024FF56C;
|
|
L_024FF56C: ; // 0x24ff56c
|
|
/* 024FF56C */ _t20 = cpu->r[5] + 0x000001ECu;
|
|
/* 024FF56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 024FF570 */ _t21 = cpu->r[31] + 0x000001ECu;
|
|
/* 024FF570 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 024FF574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 024FF578 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF578 */ _t23 = _t22 & 0x00000001u;
|
|
/* 024FF578 */ if (_t23) goto L_024FF57C; else goto L_024FF580;
|
|
L_024FF57C: ; // 0x24ff57c
|
|
/* 024FF57C */ cpu->r[31] = cpu->r[5];
|
|
L_024FF580: ; // 0x24ff580
|
|
/* 024FF580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 024FF584 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF584 */ _t25 = _t24 & 0x00000001u;
|
|
/* 024FF584 */ if (_t25) goto L_024FF5AC; else goto L_024FF588;
|
|
L_024FF588: ; // 0x24ff588
|
|
/* 024FF588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 024FF58C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF58C */ _t27 = _t26 & 0x00000001u;
|
|
/* 024FF58C */ if (_t27) goto L_024FF5AC; else goto L_024FF590;
|
|
L_024FF590: ; // 0x24ff590
|
|
/* 024FF590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024FF594 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF594 */ _t29 = _t28 & 0x00000001u;
|
|
/* 024FF594 */ if (_t29) goto L_024FF5A8; else goto L_024FF598;
|
|
L_024FF598: ; // 0x24ff598
|
|
/* 024FF598 */ _t30 = cpu->r[5] + 0x000001ECu;
|
|
/* 024FF598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024FF59C */ _t31 = cpu->r[30] + 0x000001ECu;
|
|
/* 024FF59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 024FF5A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 024FF5A4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF5A4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 024FF5A4 */ if (_t33) goto L_024FF5A8; else goto L_024FF5AC;
|
|
L_024FF5A8: ; // 0x24ff5a8
|
|
/* 024FF5A8 */ cpu->r[30] = cpu->r[5];
|
|
L_024FF5AC: ; // 0x24ff5ac
|
|
/* 024FF5AC */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 024FF5B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024FF5B0 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024FF5B0 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 024FF5B0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 024FF5B0 */ if (_t36) goto L_024FF53C; else goto L_024FF5B4;
|
|
L_024FF5B4: ; // 0x24ff5b4
|
|
/* 024FF5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 024FF5B8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF5B8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 024FF5B8 */ if (_t38) goto L_024FF5CC; else goto L_024FF5BC;
|
|
L_024FF5BC: ; // 0x24ff5bc
|
|
/* 024FF5BC */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF5C0 */ Gambit_fn_02790488(cpu);
|
|
/* 024FF5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024FF5C8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF5C8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 024FF5C8 */ if (_t40) goto L_024FF5F4; else goto L_024FF5CC;
|
|
L_024FF5CC: ; // 0x24ff5cc
|
|
/* 024FF5CC */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF5D0 */ Gambit_fn_02790458(cpu);
|
|
/* 024FF5D4 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF5D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 024FF5D8 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024FF5D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 024FF5DC */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF5E0 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 024FF5E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 024FF5E4 */ cpu->lr = cpu->r[0];
|
|
/* 024FF5E8 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF5E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 024FF5EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024FF5F0 */ return;
|
|
L_024FF5F4: ; // 0x24ff5f4
|
|
/* 024FF5F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF5F8 */ Gambit_fn_02790458(cpu);
|
|
/* 024FF5FC */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF5FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 024FF600 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024FF600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 024FF604 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF608 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 024FF608 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 024FF60C */ cpu->lr = cpu->r[0];
|
|
/* 024FF610 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF610 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 024FF614 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024FF618 */ return;
|
|
}
|
|
|
|
// fn_024FF61C @ 0x24ff61c
|
|
void Gambit_fn_024FF61C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FF61C: ; // 0x24ff61c
|
|
/* 024FF61C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FF61C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FF620 */ /* nop */
|
|
/* 024FF624 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 024FF624 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF628 */ cpu->r[8] = cpu->r[0];
|
|
/* 024FF62C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024FF630 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 024FF630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF634 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF634 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FF634 */ if (_t4) goto L_024FF638; else goto L_024FF650;
|
|
L_024FF638: ; // 0x24ff638
|
|
/* 024FF638 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF63C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 024FF640 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FF640 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FF644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FF648 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF648 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FF648 */ if (_t7) goto L_024FF64C; else goto L_024FF65C;
|
|
L_024FF64C: ; // 0x24ff64c
|
|
/* 024FF64C */ return;
|
|
L_024FF650: ; // 0x24ff650
|
|
/* 024FF650 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF650 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FF654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FF658 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF658 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FF658 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FF658 */ goto L_024FF65C;
|
|
L_024FF65C: ; // 0x24ff65c
|
|
/* 024FF65C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024FF660 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FF660 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF664 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF664 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FF664 */ if (_t13) goto L_024FF668; else goto L_024FF670;
|
|
L_024FF668: ; // 0x24ff668
|
|
/* 024FF668 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF66C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FF670: ; // 0x24ff670
|
|
/* 024FF670 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF670 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FF674 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FF674 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FF678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FF67C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF67C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FF680 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024FF684 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF684 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FF684 */ if (_t18) goto L_024FF69C; else goto L_024FF688;
|
|
L_024FF688: ; // 0x24ff688
|
|
/* 024FF688 */ /* nop */
|
|
/* 024FF68C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FF68C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FF690 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF694 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024FF698 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF698 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FF69C: ; // 0x24ff69c
|
|
/* 024FF69C */ cpu->ctr = cpu->r[11];
|
|
/* 024FF6A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FF6A4 @ 0x24ff6a4
|
|
void Gambit_fn_024FF6A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FF6A4: ; // 0x24ff6a4
|
|
/* 024FF6A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FF6A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FF6A8 */ /* nop */
|
|
/* 024FF6AC */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 024FF6AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF6B0 */ cpu->r[8] = cpu->r[0];
|
|
/* 024FF6B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024FF6B8 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 024FF6B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF6BC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF6BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FF6BC */ if (_t4) goto L_024FF6C0; else goto L_024FF6D8;
|
|
L_024FF6C0: ; // 0x24ff6c0
|
|
/* 024FF6C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF6C4 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 024FF6C8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FF6C8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FF6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FF6D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF6D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FF6D0 */ if (_t7) goto L_024FF6D4; else goto L_024FF6E4;
|
|
L_024FF6D4: ; // 0x24ff6d4
|
|
/* 024FF6D4 */ return;
|
|
L_024FF6D8: ; // 0x24ff6d8
|
|
/* 024FF6D8 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF6D8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FF6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FF6E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF6E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FF6E0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FF6E0 */ goto L_024FF6E4;
|
|
L_024FF6E4: ; // 0x24ff6e4
|
|
/* 024FF6E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024FF6E8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FF6E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF6EC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF6EC */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FF6EC */ if (_t13) goto L_024FF6F0; else goto L_024FF6F8;
|
|
L_024FF6F0: ; // 0x24ff6f0
|
|
/* 024FF6F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF6F4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FF6F8: ; // 0x24ff6f8
|
|
/* 024FF6F8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF6F8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FF6FC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FF6FC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FF700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FF704 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FF708 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024FF70C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF70C */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FF70C */ if (_t18) goto L_024FF724; else goto L_024FF710;
|
|
L_024FF710: ; // 0x24ff710
|
|
/* 024FF710 */ /* nop */
|
|
/* 024FF714 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FF714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FF718 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF71C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024FF720 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF720 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FF724: ; // 0x24ff724
|
|
/* 024FF724 */ cpu->ctr = cpu->r[11];
|
|
/* 024FF728 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FF72C @ 0x24ff72c
|
|
void Gambit_fn_024FF72C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FF72C: ; // 0x24ff72c
|
|
/* 024FF72C */ cpu->r[0] = cpu->lr;
|
|
/* 024FF730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF730 */ cpu->r[1] = _t0;
|
|
/* 024FF734 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF734 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF738 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF73C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF73C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF740 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FF740 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF744 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FF748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FF74C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FF74C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FF750 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF750 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FF750 */ if (_t6) goto L_024FF778; else goto L_024FF754;
|
|
L_024FF754: ; // 0x24ff754
|
|
/* 024FF754 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FF754 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FF758 */ /* nop */
|
|
/* 024FF75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FF760 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF760 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FF760 */ if (_t9) goto L_024FF764; else goto L_024FF778;
|
|
L_024FF764: ; // 0x24ff764
|
|
/* 024FF764 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FF764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FF768 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FF768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF76C */ cpu->ctr = cpu->r[0];
|
|
/* 024FF770 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FF778: ; // 0x24ff778
|
|
/* 024FF778 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF77C */ Gambit_fn_024FF6A4(cpu);
|
|
/* 024FF780 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF784 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FF788 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FF78C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF78C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FF790 */ cpu->lr = cpu->r[0];
|
|
/* 024FF794 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF798 */ return;
|
|
}
|
|
|
|
// fn_024FF730 @ 0x24ff730
|
|
void Gambit_fn_024FF730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FF730: ; // 0x24ff730
|
|
/* 024FF730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF730 */ cpu->r[1] = _t0;
|
|
/* 024FF734 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF734 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF738 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF73C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF73C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF740 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FF740 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF744 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FF748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FF74C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FF74C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FF750 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF750 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FF750 */ if (_t6) goto L_024FF778; else goto L_024FF754;
|
|
L_024FF754: ; // 0x24ff754
|
|
/* 024FF754 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FF754 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FF758 */ /* nop */
|
|
/* 024FF75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FF760 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF760 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FF760 */ if (_t9) goto L_024FF764; else goto L_024FF778;
|
|
L_024FF764: ; // 0x24ff764
|
|
/* 024FF764 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FF764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FF768 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FF768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF76C */ cpu->ctr = cpu->r[0];
|
|
/* 024FF770 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FF778: ; // 0x24ff778
|
|
/* 024FF778 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF77C */ Gambit_fn_024FF6A4(cpu);
|
|
/* 024FF780 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF784 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FF788 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FF78C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF78C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FF790 */ cpu->lr = cpu->r[0];
|
|
/* 024FF794 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF798 */ return;
|
|
}
|
|
|
|
// fn_024FF79C @ 0x24ff79c
|
|
void Gambit_fn_024FF79C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FF79C: ; // 0x24ff79c
|
|
/* 024FF79C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FF79C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FF7A0 */ /* nop */
|
|
/* 024FF7A4 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 024FF7A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF7A8 */ cpu->r[7] = cpu->r[0];
|
|
/* 024FF7AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 024FF7B0 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 024FF7B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF7B4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF7B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FF7B4 */ if (_t4) goto L_024FF7B8; else goto L_024FF7D0;
|
|
L_024FF7B8: ; // 0x24ff7b8
|
|
/* 024FF7B8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF7BC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 024FF7C0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FF7C0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FF7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024FF7C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF7C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FF7C8 */ if (_t7) goto L_024FF7CC; else goto L_024FF7DC;
|
|
L_024FF7CC: ; // 0x24ff7cc
|
|
/* 024FF7CC */ return;
|
|
L_024FF7D0: ; // 0x24ff7d0
|
|
/* 024FF7D0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF7D0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FF7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024FF7D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF7D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FF7D8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FF7D8 */ goto L_024FF7DC;
|
|
L_024FF7DC: ; // 0x24ff7dc
|
|
/* 024FF7DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 024FF7E0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FF7E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF7E4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF7E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FF7E4 */ if (_t13) goto L_024FF7E8; else goto L_024FF7F0;
|
|
L_024FF7E8: ; // 0x24ff7e8
|
|
/* 024FF7E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF7EC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FF7F0: ; // 0x24ff7f0
|
|
/* 024FF7F0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF7F0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FF7F4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FF7F4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FF7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024FF7FC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF7FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FF800 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 024FF804 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF804 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FF804 */ if (_t18) goto L_024FF81C; else goto L_024FF808;
|
|
L_024FF808: ; // 0x24ff808
|
|
/* 024FF808 */ /* nop */
|
|
/* 024FF80C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FF80C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FF810 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF814 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 024FF818 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FF81C: ; // 0x24ff81c
|
|
/* 024FF81C */ cpu->ctr = cpu->r[11];
|
|
/* 024FF820 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FF824 @ 0x24ff824
|
|
void Gambit_fn_024FF824(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024FF824: ; // 0x24ff824
|
|
/* 024FF824 */ cpu->r[0] = cpu->lr;
|
|
/* 024FF828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF828 */ cpu->r[1] = _t0;
|
|
/* 024FF82C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF82C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024FF830 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF830 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024FF834 */ cpu->r[30] = cpu->r[3];
|
|
/* 024FF838 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF838 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF83C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024FF83C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 024FF840 */ /* nop */
|
|
/* 024FF844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 024FF848 */ cpu->r[31] = cpu->r[4];
|
|
/* 024FF84C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF84C */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FF84C */ if (_t6) goto L_024FF850; else goto L_024FF864;
|
|
L_024FF850: ; // 0x24ff850
|
|
/* 024FF850 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024FF850 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FF854 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 024FF854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FF858 */ cpu->ctr = cpu->r[0];
|
|
/* 024FF85C */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FF864: ; // 0x24ff864
|
|
/* 024FF864 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF868 */ cpu->r[4] = cpu->r[31];
|
|
/* 024FF86C */ Gambit_fn_024FF79C(cpu);
|
|
/* 024FF870 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF874 */ /* nop */
|
|
/* 024FF878 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF87C */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF880 */ Gambit_fn_024FF61C(cpu);
|
|
/* 024FF884 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024FF888 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FF88C */ cpu->lr = cpu->r[0];
|
|
/* 024FF890 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF894 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF898 */ return;
|
|
}
|
|
|
|
// fn_024FF828 @ 0x24ff828
|
|
void Gambit_fn_024FF828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024FF828: ; // 0x24ff828
|
|
/* 024FF828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF828 */ cpu->r[1] = _t0;
|
|
/* 024FF82C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF82C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024FF830 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF830 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024FF834 */ cpu->r[30] = cpu->r[3];
|
|
/* 024FF838 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF838 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FF83C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024FF83C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 024FF840 */ /* nop */
|
|
/* 024FF844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 024FF848 */ cpu->r[31] = cpu->r[4];
|
|
/* 024FF84C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF84C */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FF84C */ if (_t6) goto L_024FF850; else goto L_024FF864;
|
|
L_024FF850: ; // 0x24ff850
|
|
/* 024FF850 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024FF850 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FF854 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 024FF854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FF858 */ cpu->ctr = cpu->r[0];
|
|
/* 024FF85C */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FF864: ; // 0x24ff864
|
|
/* 024FF864 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF868 */ cpu->r[4] = cpu->r[31];
|
|
/* 024FF86C */ Gambit_fn_024FF79C(cpu);
|
|
/* 024FF870 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF874 */ /* nop */
|
|
/* 024FF878 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FF87C */ cpu->r[3] = cpu->r[30];
|
|
/* 024FF880 */ Gambit_fn_024FF61C(cpu);
|
|
/* 024FF884 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024FF888 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024FF888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FF88C */ cpu->lr = cpu->r[0];
|
|
/* 024FF890 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF894 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FF898 */ return;
|
|
}
|
|
|
|
// fn_024FF89C @ 0x24ff89c
|
|
void Gambit_fn_024FF89C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FF89C: ; // 0x24ff89c
|
|
/* 024FF89C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FF89C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FF8A0 */ /* nop */
|
|
/* 024FF8A4 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 024FF8A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF8A8 */ cpu->r[8] = cpu->r[0];
|
|
/* 024FF8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024FF8B0 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 024FF8B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF8B4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF8B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FF8B4 */ if (_t4) goto L_024FF8B8; else goto L_024FF8D0;
|
|
L_024FF8B8: ; // 0x24ff8b8
|
|
/* 024FF8B8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF8BC */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 024FF8C0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FF8C0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FF8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FF8C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF8C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FF8C8 */ if (_t7) goto L_024FF8CC; else goto L_024FF8DC;
|
|
L_024FF8CC: ; // 0x24ff8cc
|
|
/* 024FF8CC */ return;
|
|
L_024FF8D0: ; // 0x24ff8d0
|
|
/* 024FF8D0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF8D0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FF8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FF8D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF8D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FF8D8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FF8D8 */ goto L_024FF8DC;
|
|
L_024FF8DC: ; // 0x24ff8dc
|
|
/* 024FF8DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024FF8E0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FF8E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF8E4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF8E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FF8E4 */ if (_t13) goto L_024FF8E8; else goto L_024FF8F0;
|
|
L_024FF8E8: ; // 0x24ff8e8
|
|
/* 024FF8E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF8EC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FF8F0: ; // 0x24ff8f0
|
|
/* 024FF8F0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF8F0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FF8F4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FF8F4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FF8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FF8FC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF8FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FF900 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024FF904 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF904 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FF904 */ if (_t18) goto L_024FF91C; else goto L_024FF908;
|
|
L_024FF908: ; // 0x24ff908
|
|
/* 024FF908 */ /* nop */
|
|
/* 024FF90C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FF90C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FF910 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF914 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024FF918 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF918 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FF91C: ; // 0x24ff91c
|
|
/* 024FF91C */ cpu->ctr = cpu->r[11];
|
|
/* 024FF920 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FF924 @ 0x24ff924
|
|
void Gambit_fn_024FF924(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FF924: ; // 0x24ff924
|
|
/* 024FF924 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FF924 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FF928 */ /* nop */
|
|
/* 024FF92C */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 024FF92C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FF930 */ cpu->r[8] = cpu->r[0];
|
|
/* 024FF934 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024FF938 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 024FF938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FF93C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF93C */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FF93C */ if (_t4) goto L_024FF940; else goto L_024FF958;
|
|
L_024FF940: ; // 0x24ff940
|
|
/* 024FF940 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF944 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 024FF948 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FF948 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FF94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FF950 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF950 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FF950 */ if (_t7) goto L_024FF954; else goto L_024FF964;
|
|
L_024FF954: ; // 0x24ff954
|
|
/* 024FF954 */ return;
|
|
L_024FF958: ; // 0x24ff958
|
|
/* 024FF958 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF958 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FF95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FF960 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF960 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FF960 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FF960 */ goto L_024FF964;
|
|
L_024FF964: ; // 0x24ff964
|
|
/* 024FF964 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024FF968 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FF968 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF96C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF96C */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FF96C */ if (_t13) goto L_024FF970; else goto L_024FF978;
|
|
L_024FF970: ; // 0x24ff970
|
|
/* 024FF970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF974 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FF978: ; // 0x24ff978
|
|
/* 024FF978 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FF978 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FF97C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FF97C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FF980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FF984 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF984 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FF988 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024FF98C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FF98C */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FF98C */ if (_t18) goto L_024FF9A4; else goto L_024FF990;
|
|
L_024FF990: ; // 0x24ff990
|
|
/* 024FF990 */ /* nop */
|
|
/* 024FF994 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FF994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FF998 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FF99C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024FF9A0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FF9A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FF9A4: ; // 0x24ff9a4
|
|
/* 024FF9A4 */ cpu->ctr = cpu->r[11];
|
|
/* 024FF9A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FF9AC @ 0x24ff9ac
|
|
void Gambit_fn_024FF9AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FF9AC: ; // 0x24ff9ac
|
|
/* 024FF9AC */ cpu->r[0] = cpu->lr;
|
|
/* 024FF9B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF9B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF9B0 */ cpu->r[1] = _t0;
|
|
/* 024FF9B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF9B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF9B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF9BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF9BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF9C0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FF9C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF9C4 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FF9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FF9CC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FF9CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FF9D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF9D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FF9D0 */ if (_t6) goto L_024FF9F8; else goto L_024FF9D4;
|
|
L_024FF9D4: ; // 0x24ff9d4
|
|
/* 024FF9D4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FF9D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FF9D8 */ /* nop */
|
|
/* 024FF9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FF9E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF9E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FF9E0 */ if (_t9) goto L_024FF9E4; else goto L_024FF9F8;
|
|
L_024FF9E4: ; // 0x24ff9e4
|
|
/* 024FF9E4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FF9E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FF9E8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FF9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF9EC */ cpu->ctr = cpu->r[0];
|
|
/* 024FF9F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF9F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FF9F8: ; // 0x24ff9f8
|
|
/* 024FF9F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF9FC */ Gambit_fn_024FF924(cpu);
|
|
/* 024FFA00 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFA04 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FFA08 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFA08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FFA0C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFA0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FFA10 */ cpu->lr = cpu->r[0];
|
|
/* 024FFA14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFA18 */ return;
|
|
}
|
|
|
|
// fn_024FF9B0 @ 0x24ff9b0
|
|
void Gambit_fn_024FF9B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FF9B0: ; // 0x24ff9b0
|
|
/* 024FF9B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FF9B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FF9B0 */ cpu->r[1] = _t0;
|
|
/* 024FF9B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FF9B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FF9B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FF9BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FF9BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FF9C0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FF9C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FF9C4 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FF9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FF9CC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FF9CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FF9D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF9D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FF9D0 */ if (_t6) goto L_024FF9F8; else goto L_024FF9D4;
|
|
L_024FF9D4: ; // 0x24ff9d4
|
|
/* 024FF9D4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FF9D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FF9D8 */ /* nop */
|
|
/* 024FF9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FF9E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FF9E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FF9E0 */ if (_t9) goto L_024FF9E4; else goto L_024FF9F8;
|
|
L_024FF9E4: ; // 0x24ff9e4
|
|
/* 024FF9E4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FF9E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FF9E8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FF9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FF9EC */ cpu->ctr = cpu->r[0];
|
|
/* 024FF9F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF9F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FF9F8: ; // 0x24ff9f8
|
|
/* 024FF9F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FF9FC */ Gambit_fn_024FF924(cpu);
|
|
/* 024FFA00 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFA04 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FFA08 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFA08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FFA0C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFA0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FFA10 */ cpu->lr = cpu->r[0];
|
|
/* 024FFA14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFA18 */ return;
|
|
}
|
|
|
|
// fn_024FFA1C @ 0x24ffa1c
|
|
void Gambit_fn_024FFA1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FFA1C: ; // 0x24ffa1c
|
|
/* 024FFA1C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FFA1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FFA20 */ /* nop */
|
|
/* 024FFA24 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 024FFA24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FFA28 */ cpu->r[7] = cpu->r[0];
|
|
/* 024FFA2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 024FFA30 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 024FFA30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FFA34 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFA34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FFA34 */ if (_t4) goto L_024FFA38; else goto L_024FFA50;
|
|
L_024FFA38: ; // 0x24ffa38
|
|
/* 024FFA38 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFA3C */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 024FFA40 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FFA40 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FFA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024FFA48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFA48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FFA48 */ if (_t7) goto L_024FFA4C; else goto L_024FFA5C;
|
|
L_024FFA4C: ; // 0x24ffa4c
|
|
/* 024FFA4C */ return;
|
|
L_024FFA50: ; // 0x24ffa50
|
|
/* 024FFA50 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFA50 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FFA54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024FFA58 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFA58 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FFA58 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FFA58 */ goto L_024FFA5C;
|
|
L_024FFA5C: ; // 0x24ffa5c
|
|
/* 024FFA5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 024FFA60 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FFA60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFA64 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFA64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FFA64 */ if (_t13) goto L_024FFA68; else goto L_024FFA70;
|
|
L_024FFA68: ; // 0x24ffa68
|
|
/* 024FFA68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFA6C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FFA70: ; // 0x24ffa70
|
|
/* 024FFA70 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFA70 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FFA74 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FFA74 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FFA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024FFA7C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFA7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FFA80 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 024FFA84 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFA84 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FFA84 */ if (_t18) goto L_024FFA9C; else goto L_024FFA88;
|
|
L_024FFA88: ; // 0x24ffa88
|
|
/* 024FFA88 */ /* nop */
|
|
/* 024FFA8C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FFA8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FFA90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFA94 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 024FFA98 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFA98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FFA9C: ; // 0x24ffa9c
|
|
/* 024FFA9C */ cpu->ctr = cpu->r[11];
|
|
/* 024FFAA0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FFAA4 @ 0x24ffaa4
|
|
void Gambit_fn_024FFAA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024FFAA4: ; // 0x24ffaa4
|
|
/* 024FFAA4 */ cpu->r[0] = cpu->lr;
|
|
/* 024FFAA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFAA8 */ cpu->r[1] = _t0;
|
|
/* 024FFAAC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFAAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024FFAB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFAB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024FFAB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024FFAB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFAB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FFABC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024FFABC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 024FFAC0 */ /* nop */
|
|
/* 024FFAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 024FFAC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 024FFACC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFACC */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFACC */ if (_t6) goto L_024FFAD0; else goto L_024FFAE4;
|
|
L_024FFAD0: ; // 0x24ffad0
|
|
/* 024FFAD0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024FFAD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FFAD4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 024FFAD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FFAD8 */ cpu->ctr = cpu->r[0];
|
|
/* 024FFADC */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFAE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFAE4: ; // 0x24ffae4
|
|
/* 024FFAE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFAE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 024FFAEC */ Gambit_fn_024FFA1C(cpu);
|
|
/* 024FFAF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFAF4 */ /* nop */
|
|
/* 024FFAF8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FFAFC */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFB00 */ Gambit_fn_024FF89C(cpu);
|
|
/* 024FFB04 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024FFB08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFB08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFB0C */ cpu->lr = cpu->r[0];
|
|
/* 024FFB10 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFB10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFB14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFB18 */ return;
|
|
}
|
|
|
|
// fn_024FFAA8 @ 0x24ffaa8
|
|
void Gambit_fn_024FFAA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024FFAA8: ; // 0x24ffaa8
|
|
/* 024FFAA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFAA8 */ cpu->r[1] = _t0;
|
|
/* 024FFAAC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFAAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024FFAB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFAB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024FFAB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024FFAB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFAB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FFABC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024FFABC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 024FFAC0 */ /* nop */
|
|
/* 024FFAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 024FFAC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 024FFACC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFACC */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFACC */ if (_t6) goto L_024FFAD0; else goto L_024FFAE4;
|
|
L_024FFAD0: ; // 0x24ffad0
|
|
/* 024FFAD0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024FFAD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FFAD4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 024FFAD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FFAD8 */ cpu->ctr = cpu->r[0];
|
|
/* 024FFADC */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFAE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFAE4: ; // 0x24ffae4
|
|
/* 024FFAE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFAE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 024FFAEC */ Gambit_fn_024FFA1C(cpu);
|
|
/* 024FFAF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFAF4 */ /* nop */
|
|
/* 024FFAF8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FFAFC */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFB00 */ Gambit_fn_024FF89C(cpu);
|
|
/* 024FFB04 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024FFB08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFB08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFB0C */ cpu->lr = cpu->r[0];
|
|
/* 024FFB10 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFB10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFB14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFB18 */ return;
|
|
}
|
|
|
|
// fn_024FFB1C @ 0x24ffb1c
|
|
void Gambit_fn_024FFB1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FFB1C: ; // 0x24ffb1c
|
|
/* 024FFB1C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FFB1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FFB20 */ /* nop */
|
|
/* 024FFB24 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 024FFB24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FFB28 */ cpu->r[8] = cpu->r[0];
|
|
/* 024FFB2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024FFB30 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 024FFB30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FFB34 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFB34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FFB34 */ if (_t4) goto L_024FFB38; else goto L_024FFB50;
|
|
L_024FFB38: ; // 0x24ffb38
|
|
/* 024FFB38 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFB3C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 024FFB40 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FFB40 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FFB44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FFB48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFB48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FFB48 */ if (_t7) goto L_024FFB4C; else goto L_024FFB5C;
|
|
L_024FFB4C: ; // 0x24ffb4c
|
|
/* 024FFB4C */ return;
|
|
L_024FFB50: ; // 0x24ffb50
|
|
/* 024FFB50 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFB50 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FFB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FFB58 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFB58 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FFB58 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FFB58 */ goto L_024FFB5C;
|
|
L_024FFB5C: ; // 0x24ffb5c
|
|
/* 024FFB5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024FFB60 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FFB60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFB64 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFB64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FFB64 */ if (_t13) goto L_024FFB68; else goto L_024FFB70;
|
|
L_024FFB68: ; // 0x24ffb68
|
|
/* 024FFB68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFB6C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FFB70: ; // 0x24ffb70
|
|
/* 024FFB70 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFB70 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FFB74 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FFB74 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FFB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFB7C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFB7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FFB80 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024FFB84 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFB84 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FFB84 */ if (_t18) goto L_024FFB9C; else goto L_024FFB88;
|
|
L_024FFB88: ; // 0x24ffb88
|
|
/* 024FFB88 */ /* nop */
|
|
/* 024FFB8C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FFB8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FFB90 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFB94 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024FFB98 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFB98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FFB9C: ; // 0x24ffb9c
|
|
/* 024FFB9C */ cpu->ctr = cpu->r[11];
|
|
/* 024FFBA0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FFBA4 @ 0x24ffba4
|
|
void Gambit_fn_024FFBA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FFBA4: ; // 0x24ffba4
|
|
/* 024FFBA4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FFBA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FFBA8 */ /* nop */
|
|
/* 024FFBAC */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 024FFBAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FFBB0 */ cpu->r[8] = cpu->r[0];
|
|
/* 024FFBB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024FFBB8 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 024FFBB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FFBBC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFBBC */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FFBBC */ if (_t4) goto L_024FFBC0; else goto L_024FFBD8;
|
|
L_024FFBC0: ; // 0x24ffbc0
|
|
/* 024FFBC0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFBC4 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 024FFBC8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FFBC8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FFBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FFBD0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFBD0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FFBD0 */ if (_t7) goto L_024FFBD4; else goto L_024FFBE4;
|
|
L_024FFBD4: ; // 0x24ffbd4
|
|
/* 024FFBD4 */ return;
|
|
L_024FFBD8: ; // 0x24ffbd8
|
|
/* 024FFBD8 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFBD8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FFBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FFBE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFBE0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FFBE0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FFBE0 */ goto L_024FFBE4;
|
|
L_024FFBE4: ; // 0x24ffbe4
|
|
/* 024FFBE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024FFBE8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FFBE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFBEC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFBEC */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FFBEC */ if (_t13) goto L_024FFBF0; else goto L_024FFBF8;
|
|
L_024FFBF0: ; // 0x24ffbf0
|
|
/* 024FFBF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFBF4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FFBF8: ; // 0x24ffbf8
|
|
/* 024FFBF8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFBF8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FFBFC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FFBFC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FFC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFC04 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFC04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FFC08 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024FFC0C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFC0C */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FFC0C */ if (_t18) goto L_024FFC24; else goto L_024FFC10;
|
|
L_024FFC10: ; // 0x24ffc10
|
|
/* 024FFC10 */ /* nop */
|
|
/* 024FFC14 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FFC14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FFC18 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFC1C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024FFC20 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFC20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FFC24: ; // 0x24ffc24
|
|
/* 024FFC24 */ cpu->ctr = cpu->r[11];
|
|
/* 024FFC28 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FFC2C @ 0x24ffc2c
|
|
void Gambit_fn_024FFC2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FFC2C: ; // 0x24ffc2c
|
|
/* 024FFC2C */ cpu->r[0] = cpu->lr;
|
|
/* 024FFC30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFC30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFC30 */ cpu->r[1] = _t0;
|
|
/* 024FFC34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFC34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FFC38 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FFC3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FFC40 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FFC40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FFC44 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FFC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFC4C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FFC4C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FFC50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFC50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFC50 */ if (_t6) goto L_024FFC78; else goto L_024FFC54;
|
|
L_024FFC54: ; // 0x24ffc54
|
|
/* 024FFC54 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FFC54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FFC58 */ /* nop */
|
|
/* 024FFC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FFC60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFC60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FFC60 */ if (_t9) goto L_024FFC64; else goto L_024FFC78;
|
|
L_024FFC64: ; // 0x24ffc64
|
|
/* 024FFC64 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FFC64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFC68 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FFC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFC6C */ cpu->ctr = cpu->r[0];
|
|
/* 024FFC70 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFC74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFC78: ; // 0x24ffc78
|
|
/* 024FFC78 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFC7C */ Gambit_fn_024FFBA4(cpu);
|
|
/* 024FFC80 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFC84 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FFC88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FFC8C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FFC90 */ cpu->lr = cpu->r[0];
|
|
/* 024FFC94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFC98 */ return;
|
|
}
|
|
|
|
// fn_024FFC30 @ 0x24ffc30
|
|
void Gambit_fn_024FFC30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FFC30: ; // 0x24ffc30
|
|
/* 024FFC30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFC30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFC30 */ cpu->r[1] = _t0;
|
|
/* 024FFC34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFC34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FFC38 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FFC3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FFC40 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FFC40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FFC44 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FFC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFC4C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FFC4C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FFC50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFC50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFC50 */ if (_t6) goto L_024FFC78; else goto L_024FFC54;
|
|
L_024FFC54: ; // 0x24ffc54
|
|
/* 024FFC54 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FFC54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FFC58 */ /* nop */
|
|
/* 024FFC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FFC60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFC60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FFC60 */ if (_t9) goto L_024FFC64; else goto L_024FFC78;
|
|
L_024FFC64: ; // 0x24ffc64
|
|
/* 024FFC64 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FFC64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFC68 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FFC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFC6C */ cpu->ctr = cpu->r[0];
|
|
/* 024FFC70 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFC74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFC78: ; // 0x24ffc78
|
|
/* 024FFC78 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFC7C */ Gambit_fn_024FFBA4(cpu);
|
|
/* 024FFC80 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFC84 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FFC88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FFC8C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FFC90 */ cpu->lr = cpu->r[0];
|
|
/* 024FFC94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFC98 */ return;
|
|
}
|
|
|
|
// fn_024FFC9C @ 0x24ffc9c
|
|
void Gambit_fn_024FFC9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FFC9C: ; // 0x24ffc9c
|
|
/* 024FFC9C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FFC9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FFCA0 */ /* nop */
|
|
/* 024FFCA4 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 024FFCA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FFCA8 */ cpu->r[7] = cpu->r[0];
|
|
/* 024FFCAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 024FFCB0 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 024FFCB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FFCB4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFCB4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FFCB4 */ if (_t4) goto L_024FFCB8; else goto L_024FFCD0;
|
|
L_024FFCB8: ; // 0x24ffcb8
|
|
/* 024FFCB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFCBC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 024FFCC0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FFCC0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FFCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024FFCC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFCC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FFCC8 */ if (_t7) goto L_024FFCCC; else goto L_024FFCDC;
|
|
L_024FFCCC: ; // 0x24ffccc
|
|
/* 024FFCCC */ return;
|
|
L_024FFCD0: ; // 0x24ffcd0
|
|
/* 024FFCD0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFCD0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FFCD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024FFCD8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFCD8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FFCD8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FFCD8 */ goto L_024FFCDC;
|
|
L_024FFCDC: ; // 0x24ffcdc
|
|
/* 024FFCDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 024FFCE0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FFCE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFCE4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFCE4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FFCE4 */ if (_t13) goto L_024FFCE8; else goto L_024FFCF0;
|
|
L_024FFCE8: ; // 0x24ffce8
|
|
/* 024FFCE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFCEC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FFCF0: ; // 0x24ffcf0
|
|
/* 024FFCF0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFCF0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FFCF4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FFCF4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FFCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024FFCFC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFCFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FFD00 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 024FFD04 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFD04 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FFD04 */ if (_t18) goto L_024FFD1C; else goto L_024FFD08;
|
|
L_024FFD08: ; // 0x24ffd08
|
|
/* 024FFD08 */ /* nop */
|
|
/* 024FFD0C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FFD0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FFD10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFD14 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 024FFD18 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFD18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FFD1C: ; // 0x24ffd1c
|
|
/* 024FFD1C */ cpu->ctr = cpu->r[11];
|
|
/* 024FFD20 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FFD24 @ 0x24ffd24
|
|
void Gambit_fn_024FFD24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024FFD24: ; // 0x24ffd24
|
|
/* 024FFD24 */ cpu->r[0] = cpu->lr;
|
|
/* 024FFD28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFD28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFD28 */ cpu->r[1] = _t0;
|
|
/* 024FFD2C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFD2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024FFD30 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFD30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024FFD34 */ cpu->r[30] = cpu->r[3];
|
|
/* 024FFD38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFD38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FFD3C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024FFD3C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 024FFD40 */ /* nop */
|
|
/* 024FFD44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 024FFD48 */ cpu->r[31] = cpu->r[4];
|
|
/* 024FFD4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFD4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFD4C */ if (_t6) goto L_024FFD50; else goto L_024FFD64;
|
|
L_024FFD50: ; // 0x24ffd50
|
|
/* 024FFD50 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024FFD50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FFD54 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 024FFD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FFD58 */ cpu->ctr = cpu->r[0];
|
|
/* 024FFD5C */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFD60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFD64: ; // 0x24ffd64
|
|
/* 024FFD64 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFD68 */ cpu->r[4] = cpu->r[31];
|
|
/* 024FFD6C */ Gambit_fn_024FFC9C(cpu);
|
|
/* 024FFD70 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFD74 */ /* nop */
|
|
/* 024FFD78 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FFD7C */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFD80 */ Gambit_fn_024FFB1C(cpu);
|
|
/* 024FFD84 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFD84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024FFD88 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFD88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFD8C */ cpu->lr = cpu->r[0];
|
|
/* 024FFD90 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFD98 */ return;
|
|
}
|
|
|
|
// fn_024FFD28 @ 0x24ffd28
|
|
void Gambit_fn_024FFD28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024FFD28: ; // 0x24ffd28
|
|
/* 024FFD28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFD28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFD28 */ cpu->r[1] = _t0;
|
|
/* 024FFD2C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFD2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024FFD30 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFD30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024FFD34 */ cpu->r[30] = cpu->r[3];
|
|
/* 024FFD38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFD38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FFD3C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024FFD3C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 024FFD40 */ /* nop */
|
|
/* 024FFD44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 024FFD48 */ cpu->r[31] = cpu->r[4];
|
|
/* 024FFD4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFD4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFD4C */ if (_t6) goto L_024FFD50; else goto L_024FFD64;
|
|
L_024FFD50: ; // 0x24ffd50
|
|
/* 024FFD50 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024FFD50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FFD54 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 024FFD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FFD58 */ cpu->ctr = cpu->r[0];
|
|
/* 024FFD5C */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFD60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFD64: ; // 0x24ffd64
|
|
/* 024FFD64 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFD68 */ cpu->r[4] = cpu->r[31];
|
|
/* 024FFD6C */ Gambit_fn_024FFC9C(cpu);
|
|
/* 024FFD70 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFD74 */ /* nop */
|
|
/* 024FFD78 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FFD7C */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFD80 */ Gambit_fn_024FFB1C(cpu);
|
|
/* 024FFD84 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFD84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024FFD88 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFD88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFD8C */ cpu->lr = cpu->r[0];
|
|
/* 024FFD90 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFD98 */ return;
|
|
}
|
|
|
|
// fn_024FFD9C @ 0x24ffd9c
|
|
void Gambit_fn_024FFD9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FFD9C: ; // 0x24ffd9c
|
|
/* 024FFD9C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FFD9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FFDA0 */ /* nop */
|
|
/* 024FFDA4 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 024FFDA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FFDA8 */ cpu->r[8] = cpu->r[0];
|
|
/* 024FFDAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024FFDB0 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 024FFDB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FFDB4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFDB4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FFDB4 */ if (_t4) goto L_024FFDB8; else goto L_024FFDD0;
|
|
L_024FFDB8: ; // 0x24ffdb8
|
|
/* 024FFDB8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFDBC */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 024FFDC0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FFDC0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FFDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FFDC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFDC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FFDC8 */ if (_t7) goto L_024FFDCC; else goto L_024FFDDC;
|
|
L_024FFDCC: ; // 0x24ffdcc
|
|
/* 024FFDCC */ return;
|
|
L_024FFDD0: ; // 0x24ffdd0
|
|
/* 024FFDD0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFDD0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FFDD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FFDD8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFDD8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FFDD8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FFDD8 */ goto L_024FFDDC;
|
|
L_024FFDDC: ; // 0x24ffddc
|
|
/* 024FFDDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024FFDE0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FFDE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFDE4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFDE4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FFDE4 */ if (_t13) goto L_024FFDE8; else goto L_024FFDF0;
|
|
L_024FFDE8: ; // 0x24ffde8
|
|
/* 024FFDE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFDEC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FFDF0: ; // 0x24ffdf0
|
|
/* 024FFDF0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFDF0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FFDF4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FFDF4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FFDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFDFC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFDFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FFE00 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024FFE04 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFE04 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FFE04 */ if (_t18) goto L_024FFE1C; else goto L_024FFE08;
|
|
L_024FFE08: ; // 0x24ffe08
|
|
/* 024FFE08 */ /* nop */
|
|
/* 024FFE0C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FFE0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FFE10 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFE14 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024FFE18 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFE18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FFE1C: ; // 0x24ffe1c
|
|
/* 024FFE1C */ cpu->ctr = cpu->r[11];
|
|
/* 024FFE20 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FFE24 @ 0x24ffe24
|
|
void Gambit_fn_024FFE24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FFE24: ; // 0x24ffe24
|
|
/* 024FFE24 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FFE24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FFE28 */ /* nop */
|
|
/* 024FFE2C */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 024FFE2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FFE30 */ cpu->r[8] = cpu->r[0];
|
|
/* 024FFE34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 024FFE38 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 024FFE38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FFE3C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFE3C */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FFE3C */ if (_t4) goto L_024FFE40; else goto L_024FFE58;
|
|
L_024FFE40: ; // 0x24ffe40
|
|
/* 024FFE40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFE44 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 024FFE48 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FFE48 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FFE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FFE50 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFE50 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FFE50 */ if (_t7) goto L_024FFE54; else goto L_024FFE64;
|
|
L_024FFE54: ; // 0x24ffe54
|
|
/* 024FFE54 */ return;
|
|
L_024FFE58: ; // 0x24ffe58
|
|
/* 024FFE58 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFE58 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FFE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024FFE60 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFE60 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FFE60 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FFE60 */ goto L_024FFE64;
|
|
L_024FFE64: ; // 0x24ffe64
|
|
/* 024FFE64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 024FFE68 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FFE68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFE6C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFE6C */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FFE6C */ if (_t13) goto L_024FFE70; else goto L_024FFE78;
|
|
L_024FFE70: ; // 0x24ffe70
|
|
/* 024FFE70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFE74 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FFE78: ; // 0x24ffe78
|
|
/* 024FFE78 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFE78 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FFE7C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FFE7C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FFE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFE84 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFE84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FFE88 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 024FFE8C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFE8C */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FFE8C */ if (_t18) goto L_024FFEA4; else goto L_024FFE90;
|
|
L_024FFE90: ; // 0x24ffe90
|
|
/* 024FFE90 */ /* nop */
|
|
/* 024FFE94 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FFE94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FFE98 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFE9C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 024FFEA0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFEA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FFEA4: ; // 0x24ffea4
|
|
/* 024FFEA4 */ cpu->ctr = cpu->r[11];
|
|
/* 024FFEA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FFEAC @ 0x24ffeac
|
|
void Gambit_fn_024FFEAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FFEAC: ; // 0x24ffeac
|
|
/* 024FFEAC */ cpu->r[0] = cpu->lr;
|
|
/* 024FFEB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFEB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFEB0 */ cpu->r[1] = _t0;
|
|
/* 024FFEB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFEB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FFEB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FFEBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFEBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FFEC0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FFEC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FFEC4 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FFEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFECC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FFECC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FFED0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFED0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFED0 */ if (_t6) goto L_024FFEF8; else goto L_024FFED4;
|
|
L_024FFED4: ; // 0x24ffed4
|
|
/* 024FFED4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FFED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FFED8 */ /* nop */
|
|
/* 024FFEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FFEE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFEE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FFEE0 */ if (_t9) goto L_024FFEE4; else goto L_024FFEF8;
|
|
L_024FFEE4: ; // 0x24ffee4
|
|
/* 024FFEE4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FFEE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFEE8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FFEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFEEC */ cpu->ctr = cpu->r[0];
|
|
/* 024FFEF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFEF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFEF8: ; // 0x24ffef8
|
|
/* 024FFEF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFEFC */ Gambit_fn_024FFE24(cpu);
|
|
/* 024FFF00 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFF04 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FFF08 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FFF0C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FFF10 */ cpu->lr = cpu->r[0];
|
|
/* 024FFF14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFF18 */ return;
|
|
}
|
|
|
|
// fn_024FFEB0 @ 0x24ffeb0
|
|
void Gambit_fn_024FFEB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FFEB0: ; // 0x24ffeb0
|
|
/* 024FFEB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFEB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFEB0 */ cpu->r[1] = _t0;
|
|
/* 024FFEB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFEB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FFEB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FFEBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFEBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FFEC0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FFEC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FFEC4 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FFEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFECC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FFECC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FFED0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFED0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFED0 */ if (_t6) goto L_024FFEF8; else goto L_024FFED4;
|
|
L_024FFED4: ; // 0x24ffed4
|
|
/* 024FFED4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FFED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FFED8 */ /* nop */
|
|
/* 024FFEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FFEE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFEE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FFEE0 */ if (_t9) goto L_024FFEE4; else goto L_024FFEF8;
|
|
L_024FFEE4: ; // 0x24ffee4
|
|
/* 024FFEE4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FFEE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFEE8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FFEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFEEC */ cpu->ctr = cpu->r[0];
|
|
/* 024FFEF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFEF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFEF8: ; // 0x24ffef8
|
|
/* 024FFEF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFEFC */ Gambit_fn_024FFE24(cpu);
|
|
/* 024FFF00 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFF04 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FFF08 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FFF0C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FFF10 */ cpu->lr = cpu->r[0];
|
|
/* 024FFF14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFF18 */ return;
|
|
}
|
|
|
|
// fn_024FFF1C @ 0x24fff1c
|
|
void Gambit_fn_024FFF1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_024FFF1C: ; // 0x24fff1c
|
|
/* 024FFF1C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024FFF1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 024FFF20 */ /* nop */
|
|
/* 024FFF24 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 024FFF24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024FFF28 */ cpu->r[7] = cpu->r[0];
|
|
/* 024FFF2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 024FFF30 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 024FFF30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FFF34 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFF34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024FFF34 */ if (_t4) goto L_024FFF38; else goto L_024FFF50;
|
|
L_024FFF38: ; // 0x24fff38
|
|
/* 024FFF38 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFF3C */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 024FFF40 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 024FFF40 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 024FFF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024FFF48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFF48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024FFF48 */ if (_t7) goto L_024FFF4C; else goto L_024FFF5C;
|
|
L_024FFF4C: ; // 0x24fff4c
|
|
/* 024FFF4C */ return;
|
|
L_024FFF50: ; // 0x24fff50
|
|
/* 024FFF50 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFF50 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 024FFF54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024FFF58 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFF58 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024FFF58 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024FFF58 */ goto L_024FFF5C;
|
|
L_024FFF5C: ; // 0x24fff5c
|
|
/* 024FFF5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 024FFF60 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 024FFF60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFF64 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFF64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 024FFF64 */ if (_t13) goto L_024FFF68; else goto L_024FFF70;
|
|
L_024FFF68: ; // 0x24fff68
|
|
/* 024FFF68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFF6C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_024FFF70: ; // 0x24fff70
|
|
/* 024FFF70 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 024FFF70 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 024FFF74 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 024FFF74 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 024FFF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024FFF7C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFF7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024FFF80 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 024FFF84 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024FFF84 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024FFF84 */ if (_t18) goto L_024FFF9C; else goto L_024FFF88;
|
|
L_024FFF88: ; // 0x24fff88
|
|
/* 024FFF88 */ /* nop */
|
|
/* 024FFF8C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 024FFF8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024FFF90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 024FFF94 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 024FFF98 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 024FFF98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_024FFF9C: ; // 0x24fff9c
|
|
/* 024FFF9C */ cpu->ctr = cpu->r[11];
|
|
/* 024FFFA0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024FFFA4 @ 0x24fffa4
|
|
void Gambit_fn_024FFFA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024FFFA4: ; // 0x24fffa4
|
|
/* 024FFFA4 */ cpu->r[0] = cpu->lr;
|
|
/* 024FFFA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFFA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFFA8 */ cpu->r[1] = _t0;
|
|
/* 024FFFAC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFFAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024FFFB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFFB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024FFFB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024FFFB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFFB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FFFBC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024FFFBC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 024FFFC0 */ /* nop */
|
|
/* 024FFFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 024FFFC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 024FFFCC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFFCC */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFFCC */ if (_t6) goto L_024FFFD0; else goto L_024FFFE4;
|
|
L_024FFFD0: ; // 0x24fffd0
|
|
/* 024FFFD0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024FFFD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FFFD4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 024FFFD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FFFD8 */ cpu->ctr = cpu->r[0];
|
|
/* 024FFFDC */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFFE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFFE4: ; // 0x24fffe4
|
|
/* 024FFFE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFFE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 024FFFEC */ Gambit_fn_024FFF1C(cpu);
|
|
/* 024FFFF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFFF4 */ /* nop */
|
|
/* 024FFFF8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FFFFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02500000 */ Gambit_fn_024FFD9C(cpu);
|
|
/* 02500004 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500008 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250000C */ cpu->lr = cpu->r[0];
|
|
/* 02500010 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500014 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500018 */ return;
|
|
}
|
|
|
|
// fn_024FFFA8 @ 0x24fffa8
|
|
void Gambit_fn_024FFFA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024FFFA8: ; // 0x24fffa8
|
|
/* 024FFFA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFFA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFFA8 */ cpu->r[1] = _t0;
|
|
/* 024FFFAC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024FFFAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024FFFB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFFB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024FFFB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 024FFFB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFFB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024FFFBC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024FFFBC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 024FFFC0 */ /* nop */
|
|
/* 024FFFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 024FFFC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 024FFFCC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFFCC */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFFCC */ if (_t6) goto L_024FFFD0; else goto L_024FFFE4;
|
|
L_024FFFD0: ; // 0x24fffd0
|
|
/* 024FFFD0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024FFFD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024FFFD4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 024FFFD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FFFD8 */ cpu->ctr = cpu->r[0];
|
|
/* 024FFFDC */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFFE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFFE4: ; // 0x24fffe4
|
|
/* 024FFFE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFFE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 024FFFEC */ Gambit_fn_024FFF1C(cpu);
|
|
/* 024FFFF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 024FFFF4 */ /* nop */
|
|
/* 024FFFF8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024FFFFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02500000 */ Gambit_fn_024FFD9C(cpu);
|
|
/* 02500004 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500008 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250000C */ cpu->lr = cpu->r[0];
|
|
/* 02500010 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500014 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500018 */ return;
|
|
}
|
|
|
|
// fn_0250001C @ 0x250001c
|
|
void Gambit_fn_0250001C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0250001C: ; // 0x250001c
|
|
/* 0250001C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250001C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02500020 */ /* nop */
|
|
/* 02500024 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02500024 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02500028 */ cpu->r[8] = cpu->r[0];
|
|
/* 0250002C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02500030 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02500030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02500034 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500034 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02500034 */ if (_t4) goto L_02500038; else goto L_02500050;
|
|
L_02500038: ; // 0x2500038
|
|
/* 02500038 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250003C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02500040 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02500040 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02500044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02500048 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500048 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02500048 */ if (_t7) goto L_0250004C; else goto L_0250005C;
|
|
L_0250004C: ; // 0x250004c
|
|
/* 0250004C */ return;
|
|
L_02500050: ; // 0x2500050
|
|
/* 02500050 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02500050 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02500054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02500058 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500058 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02500058 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02500058 */ goto L_0250005C;
|
|
L_0250005C: ; // 0x250005c
|
|
/* 0250005C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02500060 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02500060 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500064 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500064 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02500064 */ if (_t13) goto L_02500068; else goto L_02500070;
|
|
L_02500068: ; // 0x2500068
|
|
/* 02500068 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250006C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02500070: ; // 0x2500070
|
|
/* 02500070 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02500070 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02500074 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02500074 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02500078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250007C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0250007C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500080 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02500084 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500084 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02500084 */ if (_t18) goto L_0250009C; else goto L_02500088;
|
|
L_02500088: ; // 0x2500088
|
|
/* 02500088 */ /* nop */
|
|
/* 0250008C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0250008C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500090 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500094 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02500098 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500098 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0250009C: ; // 0x250009c
|
|
/* 0250009C */ cpu->ctr = cpu->r[11];
|
|
/* 025000A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025000A4 @ 0x25000a4
|
|
void Gambit_fn_025000A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_025000A4: ; // 0x25000a4
|
|
/* 025000A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025000A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025000A8 */ /* nop */
|
|
/* 025000AC */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 025000AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025000B0 */ cpu->r[8] = cpu->r[0];
|
|
/* 025000B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 025000B8 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 025000B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025000BC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025000BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 025000BC */ if (_t4) goto L_025000C0; else goto L_025000D8;
|
|
L_025000C0: ; // 0x25000c0
|
|
/* 025000C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025000C4 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 025000C8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 025000C8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 025000CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025000D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025000D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025000D0 */ if (_t7) goto L_025000D4; else goto L_025000E4;
|
|
L_025000D4: ; // 0x25000d4
|
|
/* 025000D4 */ return;
|
|
L_025000D8: ; // 0x25000d8
|
|
/* 025000D8 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 025000D8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 025000DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025000E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025000E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025000E0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025000E0 */ goto L_025000E4;
|
|
L_025000E4: ; // 0x25000e4
|
|
/* 025000E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 025000E8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 025000E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025000EC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025000EC */ _t13 = _t12 & 0x00000001u;
|
|
/* 025000EC */ if (_t13) goto L_025000F0; else goto L_025000F8;
|
|
L_025000F0: ; // 0x25000f0
|
|
/* 025000F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025000F4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_025000F8: ; // 0x25000f8
|
|
/* 025000F8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 025000F8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 025000FC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 025000FC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02500100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02500104 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02500104 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500108 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0250010C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250010C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250010C */ if (_t18) goto L_02500124; else goto L_02500110;
|
|
L_02500110: ; // 0x2500110
|
|
/* 02500110 */ /* nop */
|
|
/* 02500114 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02500114 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500118 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250011C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02500120 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500120 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02500124: ; // 0x2500124
|
|
/* 02500124 */ cpu->ctr = cpu->r[11];
|
|
/* 02500128 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250012C @ 0x250012c
|
|
void Gambit_fn_0250012C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0250012C: ; // 0x250012c
|
|
/* 0250012C */ cpu->r[0] = cpu->lr;
|
|
/* 02500130 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02500130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500130 */ cpu->r[1] = _t0;
|
|
/* 02500134 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500134 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02500138 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250013C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250013C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02500140 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02500140 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02500144 */ cpu->r[12] = 0x00000000u;
|
|
/* 02500148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250014C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0250014C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02500150 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500150 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02500150 */ if (_t6) goto L_02500178; else goto L_02500154;
|
|
L_02500154: ; // 0x2500154
|
|
/* 02500154 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02500154 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02500158 */ /* nop */
|
|
/* 0250015C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02500160 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500160 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02500160 */ if (_t9) goto L_02500164; else goto L_02500178;
|
|
L_02500164: ; // 0x2500164
|
|
/* 02500164 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02500164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02500168 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02500168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250016C */ cpu->ctr = cpu->r[0];
|
|
/* 02500170 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500174 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02500178: ; // 0x2500178
|
|
/* 02500178 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250017C */ Gambit_fn_025000A4(cpu);
|
|
/* 02500180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500184 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02500188 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02500188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250018C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250018C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02500190 */ cpu->lr = cpu->r[0];
|
|
/* 02500194 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500198 */ return;
|
|
}
|
|
|
|
// fn_02500130 @ 0x2500130
|
|
void Gambit_fn_02500130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02500130: ; // 0x2500130
|
|
/* 02500130 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02500130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500130 */ cpu->r[1] = _t0;
|
|
/* 02500134 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500134 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02500138 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250013C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250013C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02500140 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02500140 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02500144 */ cpu->r[12] = 0x00000000u;
|
|
/* 02500148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250014C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0250014C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02500150 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500150 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02500150 */ if (_t6) goto L_02500178; else goto L_02500154;
|
|
L_02500154: ; // 0x2500154
|
|
/* 02500154 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02500154 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02500158 */ /* nop */
|
|
/* 0250015C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02500160 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500160 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02500160 */ if (_t9) goto L_02500164; else goto L_02500178;
|
|
L_02500164: ; // 0x2500164
|
|
/* 02500164 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02500164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02500168 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02500168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250016C */ cpu->ctr = cpu->r[0];
|
|
/* 02500170 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500174 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02500178: ; // 0x2500178
|
|
/* 02500178 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250017C */ Gambit_fn_025000A4(cpu);
|
|
/* 02500180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500184 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02500188 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02500188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250018C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250018C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02500190 */ cpu->lr = cpu->r[0];
|
|
/* 02500194 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500198 */ return;
|
|
}
|
|
|
|
// fn_0250019C @ 0x250019c
|
|
void Gambit_fn_0250019C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0250019C: ; // 0x250019c
|
|
/* 0250019C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250019C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025001A0 */ /* nop */
|
|
/* 025001A4 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 025001A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025001A8 */ cpu->r[7] = cpu->r[0];
|
|
/* 025001AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 025001B0 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 025001B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025001B4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025001B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 025001B4 */ if (_t4) goto L_025001B8; else goto L_025001D0;
|
|
L_025001B8: ; // 0x25001b8
|
|
/* 025001B8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025001BC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 025001C0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 025001C0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 025001C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025001C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025001C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025001C8 */ if (_t7) goto L_025001CC; else goto L_025001DC;
|
|
L_025001CC: ; // 0x25001cc
|
|
/* 025001CC */ return;
|
|
L_025001D0: ; // 0x25001d0
|
|
/* 025001D0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 025001D0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 025001D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025001D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025001D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025001D8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025001D8 */ goto L_025001DC;
|
|
L_025001DC: ; // 0x25001dc
|
|
/* 025001DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 025001E0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 025001E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025001E4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025001E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025001E4 */ if (_t13) goto L_025001E8; else goto L_025001F0;
|
|
L_025001E8: ; // 0x25001e8
|
|
/* 025001E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025001EC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_025001F0: ; // 0x25001f0
|
|
/* 025001F0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 025001F0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 025001F4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 025001F4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 025001F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 025001FC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 025001FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500200 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02500204 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500204 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02500204 */ if (_t18) goto L_0250021C; else goto L_02500208;
|
|
L_02500208: ; // 0x2500208
|
|
/* 02500208 */ /* nop */
|
|
/* 0250020C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0250020C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500210 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500214 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02500218 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500218 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0250021C: ; // 0x250021c
|
|
/* 0250021C */ cpu->ctr = cpu->r[11];
|
|
/* 02500220 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02500224 @ 0x2500224
|
|
void Gambit_fn_02500224(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02500224: ; // 0x2500224
|
|
/* 02500224 */ cpu->r[0] = cpu->lr;
|
|
/* 02500228 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02500228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500228 */ cpu->r[1] = _t0;
|
|
/* 0250022C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250022C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02500230 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500230 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02500234 */ cpu->r[30] = cpu->r[3];
|
|
/* 02500238 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02500238 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250023C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250023C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02500240 */ /* nop */
|
|
/* 02500244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02500248 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250024C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250024C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250024C */ if (_t6) goto L_02500250; else goto L_02500264;
|
|
L_02500250: ; // 0x2500250
|
|
/* 02500250 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02500250 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02500254 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02500254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02500258 */ cpu->ctr = cpu->r[0];
|
|
/* 0250025C */ cpu->r[3] = cpu->r[30];
|
|
/* 02500260 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02500264: ; // 0x2500264
|
|
/* 02500264 */ cpu->r[3] = cpu->r[30];
|
|
/* 02500268 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250026C */ Gambit_fn_0250019C(cpu);
|
|
/* 02500270 */ cpu->r[3] = cpu->r[30];
|
|
/* 02500274 */ /* nop */
|
|
/* 02500278 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0250027C */ cpu->r[3] = cpu->r[30];
|
|
/* 02500280 */ Gambit_fn_0250001C(cpu);
|
|
/* 02500284 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500288 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250028C */ cpu->lr = cpu->r[0];
|
|
/* 02500290 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500294 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500298 */ return;
|
|
}
|
|
|
|
// fn_02500228 @ 0x2500228
|
|
void Gambit_fn_02500228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02500228: ; // 0x2500228
|
|
/* 02500228 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02500228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500228 */ cpu->r[1] = _t0;
|
|
/* 0250022C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250022C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02500230 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500230 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02500234 */ cpu->r[30] = cpu->r[3];
|
|
/* 02500238 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02500238 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250023C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250023C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02500240 */ /* nop */
|
|
/* 02500244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02500248 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250024C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250024C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250024C */ if (_t6) goto L_02500250; else goto L_02500264;
|
|
L_02500250: ; // 0x2500250
|
|
/* 02500250 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02500250 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02500254 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02500254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02500258 */ cpu->ctr = cpu->r[0];
|
|
/* 0250025C */ cpu->r[3] = cpu->r[30];
|
|
/* 02500260 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02500264: ; // 0x2500264
|
|
/* 02500264 */ cpu->r[3] = cpu->r[30];
|
|
/* 02500268 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250026C */ Gambit_fn_0250019C(cpu);
|
|
/* 02500270 */ cpu->r[3] = cpu->r[30];
|
|
/* 02500274 */ /* nop */
|
|
/* 02500278 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0250027C */ cpu->r[3] = cpu->r[30];
|
|
/* 02500280 */ Gambit_fn_0250001C(cpu);
|
|
/* 02500284 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500288 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250028C */ cpu->lr = cpu->r[0];
|
|
/* 02500290 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500294 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500298 */ return;
|
|
}
|
|
|
|
// fn_0250029C @ 0x250029c
|
|
void Gambit_fn_0250029C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0250029C: ; // 0x250029c
|
|
/* 0250029C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250029C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025002A0 */ /* nop */
|
|
/* 025002A4 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 025002A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025002A8 */ cpu->r[8] = cpu->r[0];
|
|
/* 025002AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 025002B0 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 025002B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025002B4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025002B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 025002B4 */ if (_t4) goto L_025002B8; else goto L_025002D0;
|
|
L_025002B8: ; // 0x25002b8
|
|
/* 025002B8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025002BC */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 025002C0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 025002C0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 025002C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025002C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025002C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025002C8 */ if (_t7) goto L_025002CC; else goto L_025002DC;
|
|
L_025002CC: ; // 0x25002cc
|
|
/* 025002CC */ return;
|
|
L_025002D0: ; // 0x25002d0
|
|
/* 025002D0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 025002D0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 025002D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025002D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025002D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025002D8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025002D8 */ goto L_025002DC;
|
|
L_025002DC: ; // 0x25002dc
|
|
/* 025002DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 025002E0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 025002E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025002E4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025002E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025002E4 */ if (_t13) goto L_025002E8; else goto L_025002F0;
|
|
L_025002E8: ; // 0x25002e8
|
|
/* 025002E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025002EC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_025002F0: ; // 0x25002f0
|
|
/* 025002F0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 025002F0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 025002F4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 025002F4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 025002F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025002FC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 025002FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500300 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02500304 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500304 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02500304 */ if (_t18) goto L_0250031C; else goto L_02500308;
|
|
L_02500308: ; // 0x2500308
|
|
/* 02500308 */ /* nop */
|
|
/* 0250030C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0250030C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500310 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500314 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02500318 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0250031C: ; // 0x250031c
|
|
/* 0250031C */ cpu->ctr = cpu->r[11];
|
|
/* 02500320 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02500324 @ 0x2500324
|
|
void Gambit_fn_02500324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02500324: ; // 0x2500324
|
|
/* 02500324 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02500324 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02500328 */ /* nop */
|
|
/* 0250032C */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0250032C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02500330 */ cpu->r[8] = cpu->r[0];
|
|
/* 02500334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02500338 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02500338 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250033C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250033C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0250033C */ if (_t4) goto L_02500340; else goto L_02500358;
|
|
L_02500340: ; // 0x2500340
|
|
/* 02500340 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500344 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02500348 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02500348 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0250034C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02500350 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500350 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02500350 */ if (_t7) goto L_02500354; else goto L_02500364;
|
|
L_02500354: ; // 0x2500354
|
|
/* 02500354 */ return;
|
|
L_02500358: ; // 0x2500358
|
|
/* 02500358 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02500358 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0250035C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02500360 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500360 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02500360 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02500360 */ goto L_02500364;
|
|
L_02500364: ; // 0x2500364
|
|
/* 02500364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02500368 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02500368 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250036C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250036C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250036C */ if (_t13) goto L_02500370; else goto L_02500378;
|
|
L_02500370: ; // 0x2500370
|
|
/* 02500370 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500374 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02500378: ; // 0x2500378
|
|
/* 02500378 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02500378 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0250037C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0250037C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02500380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02500384 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02500384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500388 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0250038C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250038C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250038C */ if (_t18) goto L_025003A4; else goto L_02500390;
|
|
L_02500390: ; // 0x2500390
|
|
/* 02500390 */ /* nop */
|
|
/* 02500394 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02500394 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500398 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250039C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 025003A0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 025003A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_025003A4: ; // 0x25003a4
|
|
/* 025003A4 */ cpu->ctr = cpu->r[11];
|
|
/* 025003A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025003AC @ 0x25003ac
|
|
void Gambit_fn_025003AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_025003AC: ; // 0x25003ac
|
|
/* 025003AC */ cpu->r[0] = cpu->lr;
|
|
/* 025003B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025003B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025003B0 */ cpu->r[1] = _t0;
|
|
/* 025003B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025003B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025003B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025003BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025003BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025003C0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 025003C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025003C4 */ cpu->r[12] = 0x00000000u;
|
|
/* 025003C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025003CC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 025003CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 025003D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025003D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025003D0 */ if (_t6) goto L_025003F8; else goto L_025003D4;
|
|
L_025003D4: ; // 0x25003d4
|
|
/* 025003D4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 025003D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 025003D8 */ /* nop */
|
|
/* 025003DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 025003E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025003E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025003E0 */ if (_t9) goto L_025003E4; else goto L_025003F8;
|
|
L_025003E4: ; // 0x25003e4
|
|
/* 025003E4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 025003E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025003E8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 025003E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025003EC */ cpu->ctr = cpu->r[0];
|
|
/* 025003F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025003F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025003F8: ; // 0x25003f8
|
|
/* 025003F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025003FC */ Gambit_fn_02500324(cpu);
|
|
/* 02500400 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500404 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02500408 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02500408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250040C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250040C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02500410 */ cpu->lr = cpu->r[0];
|
|
/* 02500414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500418 */ return;
|
|
}
|
|
|
|
// fn_025003B0 @ 0x25003b0
|
|
void Gambit_fn_025003B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_025003B0: ; // 0x25003b0
|
|
/* 025003B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025003B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025003B0 */ cpu->r[1] = _t0;
|
|
/* 025003B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025003B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025003B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025003BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025003BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025003C0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 025003C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025003C4 */ cpu->r[12] = 0x00000000u;
|
|
/* 025003C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025003CC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 025003CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 025003D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025003D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025003D0 */ if (_t6) goto L_025003F8; else goto L_025003D4;
|
|
L_025003D4: ; // 0x25003d4
|
|
/* 025003D4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 025003D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 025003D8 */ /* nop */
|
|
/* 025003DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 025003E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025003E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025003E0 */ if (_t9) goto L_025003E4; else goto L_025003F8;
|
|
L_025003E4: ; // 0x25003e4
|
|
/* 025003E4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 025003E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025003E8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 025003E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025003EC */ cpu->ctr = cpu->r[0];
|
|
/* 025003F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025003F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025003F8: ; // 0x25003f8
|
|
/* 025003F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025003FC */ Gambit_fn_02500324(cpu);
|
|
/* 02500400 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500404 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02500408 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02500408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250040C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250040C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02500410 */ cpu->lr = cpu->r[0];
|
|
/* 02500414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500418 */ return;
|
|
}
|
|
|
|
// fn_0250041C @ 0x250041c
|
|
void Gambit_fn_0250041C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0250041C: ; // 0x250041c
|
|
/* 0250041C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250041C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02500420 */ /* nop */
|
|
/* 02500424 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 02500424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02500428 */ cpu->r[7] = cpu->r[0];
|
|
/* 0250042C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02500430 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 02500430 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02500434 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500434 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02500434 */ if (_t4) goto L_02500438; else goto L_02500450;
|
|
L_02500438: ; // 0x2500438
|
|
/* 02500438 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250043C */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02500440 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02500440 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02500444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02500448 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500448 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02500448 */ if (_t7) goto L_0250044C; else goto L_0250045C;
|
|
L_0250044C: ; // 0x250044c
|
|
/* 0250044C */ return;
|
|
L_02500450: ; // 0x2500450
|
|
/* 02500450 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02500450 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02500454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02500458 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500458 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02500458 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02500458 */ goto L_0250045C;
|
|
L_0250045C: ; // 0x250045c
|
|
/* 0250045C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02500460 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02500460 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500464 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500464 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02500464 */ if (_t13) goto L_02500468; else goto L_02500470;
|
|
L_02500468: ; // 0x2500468
|
|
/* 02500468 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250046C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02500470: ; // 0x2500470
|
|
/* 02500470 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02500470 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02500474 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02500474 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02500478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0250047C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0250047C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500480 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02500484 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500484 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02500484 */ if (_t18) goto L_0250049C; else goto L_02500488;
|
|
L_02500488: ; // 0x2500488
|
|
/* 02500488 */ /* nop */
|
|
/* 0250048C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0250048C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500490 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500494 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02500498 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0250049C: ; // 0x250049c
|
|
/* 0250049C */ cpu->ctr = cpu->r[11];
|
|
/* 025004A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025004A4 @ 0x25004a4
|
|
void Gambit_fn_025004A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025004A4: ; // 0x25004a4
|
|
/* 025004A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025004A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025004A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025004A8 */ cpu->r[1] = _t0;
|
|
/* 025004AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025004AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025004B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025004B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025004B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025004B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025004B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025004BC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 025004BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 025004C0 */ /* nop */
|
|
/* 025004C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 025004C8 */ cpu->r[31] = cpu->r[4];
|
|
/* 025004CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025004CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 025004CC */ if (_t6) goto L_025004D0; else goto L_025004E4;
|
|
L_025004D0: ; // 0x25004d0
|
|
/* 025004D0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 025004D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025004D4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 025004D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025004D8 */ cpu->ctr = cpu->r[0];
|
|
/* 025004DC */ cpu->r[3] = cpu->r[30];
|
|
/* 025004E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025004E4: ; // 0x25004e4
|
|
/* 025004E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025004E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 025004EC */ Gambit_fn_0250041C(cpu);
|
|
/* 025004F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025004F4 */ /* nop */
|
|
/* 025004F8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025004FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02500500 */ Gambit_fn_0250029C(cpu);
|
|
/* 02500504 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500508 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250050C */ cpu->lr = cpu->r[0];
|
|
/* 02500510 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500510 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500514 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500518 */ return;
|
|
}
|
|
|
|
// fn_025004A8 @ 0x25004a8
|
|
void Gambit_fn_025004A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025004A8: ; // 0x25004a8
|
|
/* 025004A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025004A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025004A8 */ cpu->r[1] = _t0;
|
|
/* 025004AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025004AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025004B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025004B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025004B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025004B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025004B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025004BC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 025004BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 025004C0 */ /* nop */
|
|
/* 025004C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 025004C8 */ cpu->r[31] = cpu->r[4];
|
|
/* 025004CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025004CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 025004CC */ if (_t6) goto L_025004D0; else goto L_025004E4;
|
|
L_025004D0: ; // 0x25004d0
|
|
/* 025004D0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 025004D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025004D4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 025004D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025004D8 */ cpu->ctr = cpu->r[0];
|
|
/* 025004DC */ cpu->r[3] = cpu->r[30];
|
|
/* 025004E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025004E4: ; // 0x25004e4
|
|
/* 025004E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025004E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 025004EC */ Gambit_fn_0250041C(cpu);
|
|
/* 025004F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025004F4 */ /* nop */
|
|
/* 025004F8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025004FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02500500 */ Gambit_fn_0250029C(cpu);
|
|
/* 02500504 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500508 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250050C */ cpu->lr = cpu->r[0];
|
|
/* 02500510 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500510 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500514 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500518 */ return;
|
|
}
|
|
|
|
// fn_0250051C @ 0x250051c
|
|
void Gambit_fn_0250051C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0250051C: ; // 0x250051c
|
|
/* 0250051C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250051C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02500520 */ /* nop */
|
|
/* 02500524 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02500524 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02500528 */ cpu->r[8] = cpu->r[0];
|
|
/* 0250052C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02500530 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02500530 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02500534 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500534 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02500534 */ if (_t4) goto L_02500538; else goto L_02500550;
|
|
L_02500538: ; // 0x2500538
|
|
/* 02500538 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250053C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02500540 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02500540 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02500544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02500548 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500548 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02500548 */ if (_t7) goto L_0250054C; else goto L_0250055C;
|
|
L_0250054C: ; // 0x250054c
|
|
/* 0250054C */ return;
|
|
L_02500550: ; // 0x2500550
|
|
/* 02500550 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02500550 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02500554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02500558 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500558 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02500558 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02500558 */ goto L_0250055C;
|
|
L_0250055C: ; // 0x250055c
|
|
/* 0250055C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02500560 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02500560 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500564 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500564 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02500564 */ if (_t13) goto L_02500568; else goto L_02500570;
|
|
L_02500568: ; // 0x2500568
|
|
/* 02500568 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250056C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02500570: ; // 0x2500570
|
|
/* 02500570 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02500570 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02500574 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02500574 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02500578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250057C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0250057C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500580 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02500584 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500584 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02500584 */ if (_t18) goto L_0250059C; else goto L_02500588;
|
|
L_02500588: ; // 0x2500588
|
|
/* 02500588 */ /* nop */
|
|
/* 0250058C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0250058C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500590 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500594 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02500598 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0250059C: ; // 0x250059c
|
|
/* 0250059C */ cpu->ctr = cpu->r[11];
|
|
/* 025005A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025005A4 @ 0x25005a4
|
|
void Gambit_fn_025005A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_025005A4: ; // 0x25005a4
|
|
/* 025005A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025005A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025005A8 */ /* nop */
|
|
/* 025005AC */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 025005AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025005B0 */ cpu->r[8] = cpu->r[0];
|
|
/* 025005B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 025005B8 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 025005B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025005BC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025005BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 025005BC */ if (_t4) goto L_025005C0; else goto L_025005D8;
|
|
L_025005C0: ; // 0x25005c0
|
|
/* 025005C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025005C4 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 025005C8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 025005C8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 025005CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025005D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025005D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025005D0 */ if (_t7) goto L_025005D4; else goto L_025005E4;
|
|
L_025005D4: ; // 0x25005d4
|
|
/* 025005D4 */ return;
|
|
L_025005D8: ; // 0x25005d8
|
|
/* 025005D8 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 025005D8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 025005DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025005E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025005E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025005E0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025005E0 */ goto L_025005E4;
|
|
L_025005E4: ; // 0x25005e4
|
|
/* 025005E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 025005E8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 025005E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025005EC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025005EC */ _t13 = _t12 & 0x00000001u;
|
|
/* 025005EC */ if (_t13) goto L_025005F0; else goto L_025005F8;
|
|
L_025005F0: ; // 0x25005f0
|
|
/* 025005F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025005F4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_025005F8: ; // 0x25005f8
|
|
/* 025005F8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 025005F8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 025005FC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 025005FC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02500600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02500604 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02500604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500608 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0250060C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250060C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250060C */ if (_t18) goto L_02500624; else goto L_02500610;
|
|
L_02500610: ; // 0x2500610
|
|
/* 02500610 */ /* nop */
|
|
/* 02500614 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02500614 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500618 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250061C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02500620 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02500624: ; // 0x2500624
|
|
/* 02500624 */ cpu->ctr = cpu->r[11];
|
|
/* 02500628 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250062C @ 0x250062c
|
|
void Gambit_fn_0250062C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0250062C: ; // 0x250062c
|
|
/* 0250062C */ cpu->r[0] = cpu->lr;
|
|
/* 02500630 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02500630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500630 */ cpu->r[1] = _t0;
|
|
/* 02500634 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500634 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02500638 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250063C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250063C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02500640 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02500640 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02500644 */ cpu->r[12] = 0x00000000u;
|
|
/* 02500648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250064C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0250064C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02500650 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500650 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02500650 */ if (_t6) goto L_02500678; else goto L_02500654;
|
|
L_02500654: ; // 0x2500654
|
|
/* 02500654 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02500654 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02500658 */ /* nop */
|
|
/* 0250065C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02500660 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500660 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02500660 */ if (_t9) goto L_02500664; else goto L_02500678;
|
|
L_02500664: ; // 0x2500664
|
|
/* 02500664 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02500664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02500668 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02500668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250066C */ cpu->ctr = cpu->r[0];
|
|
/* 02500670 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500674 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02500678: ; // 0x2500678
|
|
/* 02500678 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250067C */ Gambit_fn_025005A4(cpu);
|
|
/* 02500680 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500684 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02500688 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02500688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250068C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250068C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02500690 */ cpu->lr = cpu->r[0];
|
|
/* 02500694 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500698 */ return;
|
|
}
|
|
|
|
// fn_02500630 @ 0x2500630
|
|
void Gambit_fn_02500630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02500630: ; // 0x2500630
|
|
/* 02500630 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02500630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500630 */ cpu->r[1] = _t0;
|
|
/* 02500634 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500634 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02500638 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250063C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250063C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02500640 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02500640 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02500644 */ cpu->r[12] = 0x00000000u;
|
|
/* 02500648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250064C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0250064C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02500650 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500650 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02500650 */ if (_t6) goto L_02500678; else goto L_02500654;
|
|
L_02500654: ; // 0x2500654
|
|
/* 02500654 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02500654 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02500658 */ /* nop */
|
|
/* 0250065C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02500660 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500660 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02500660 */ if (_t9) goto L_02500664; else goto L_02500678;
|
|
L_02500664: ; // 0x2500664
|
|
/* 02500664 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02500664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02500668 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02500668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250066C */ cpu->ctr = cpu->r[0];
|
|
/* 02500670 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500674 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02500678: ; // 0x2500678
|
|
/* 02500678 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250067C */ Gambit_fn_025005A4(cpu);
|
|
/* 02500680 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500684 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02500688 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02500688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250068C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250068C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02500690 */ cpu->lr = cpu->r[0];
|
|
/* 02500694 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500698 */ return;
|
|
}
|
|
|
|
// fn_0250069C @ 0x250069c
|
|
void Gambit_fn_0250069C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0250069C: ; // 0x250069c
|
|
/* 0250069C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250069C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025006A0 */ /* nop */
|
|
/* 025006A4 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 025006A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025006A8 */ cpu->r[7] = cpu->r[0];
|
|
/* 025006AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 025006B0 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 025006B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025006B4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025006B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 025006B4 */ if (_t4) goto L_025006B8; else goto L_025006D0;
|
|
L_025006B8: ; // 0x25006b8
|
|
/* 025006B8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025006BC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 025006C0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 025006C0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 025006C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025006C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025006C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025006C8 */ if (_t7) goto L_025006CC; else goto L_025006DC;
|
|
L_025006CC: ; // 0x25006cc
|
|
/* 025006CC */ return;
|
|
L_025006D0: ; // 0x25006d0
|
|
/* 025006D0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 025006D0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 025006D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025006D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025006D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025006D8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025006D8 */ goto L_025006DC;
|
|
L_025006DC: ; // 0x25006dc
|
|
/* 025006DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 025006E0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 025006E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025006E4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025006E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025006E4 */ if (_t13) goto L_025006E8; else goto L_025006F0;
|
|
L_025006E8: ; // 0x25006e8
|
|
/* 025006E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025006EC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_025006F0: ; // 0x25006f0
|
|
/* 025006F0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 025006F0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 025006F4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 025006F4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 025006F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 025006FC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 025006FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500700 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02500704 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500704 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02500704 */ if (_t18) goto L_0250071C; else goto L_02500708;
|
|
L_02500708: ; // 0x2500708
|
|
/* 02500708 */ /* nop */
|
|
/* 0250070C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0250070C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500710 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500714 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02500718 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0250071C: ; // 0x250071c
|
|
/* 0250071C */ cpu->ctr = cpu->r[11];
|
|
/* 02500720 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02500724 @ 0x2500724
|
|
void Gambit_fn_02500724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02500724: ; // 0x2500724
|
|
/* 02500724 */ cpu->r[0] = cpu->lr;
|
|
/* 02500728 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02500728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500728 */ cpu->r[1] = _t0;
|
|
/* 0250072C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250072C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02500730 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500730 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02500734 */ cpu->r[30] = cpu->r[3];
|
|
/* 02500738 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02500738 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250073C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250073C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02500740 */ /* nop */
|
|
/* 02500744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02500748 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250074C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250074C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250074C */ if (_t6) goto L_02500750; else goto L_02500764;
|
|
L_02500750: ; // 0x2500750
|
|
/* 02500750 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02500750 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02500754 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02500754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02500758 */ cpu->ctr = cpu->r[0];
|
|
/* 0250075C */ cpu->r[3] = cpu->r[30];
|
|
/* 02500760 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02500764: ; // 0x2500764
|
|
/* 02500764 */ cpu->r[3] = cpu->r[30];
|
|
/* 02500768 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250076C */ Gambit_fn_0250069C(cpu);
|
|
/* 02500770 */ cpu->r[3] = cpu->r[30];
|
|
/* 02500774 */ /* nop */
|
|
/* 02500778 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0250077C */ cpu->r[3] = cpu->r[30];
|
|
/* 02500780 */ Gambit_fn_0250051C(cpu);
|
|
/* 02500784 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500788 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500788 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250078C */ cpu->lr = cpu->r[0];
|
|
/* 02500790 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500790 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500794 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500798 */ return;
|
|
}
|
|
|
|
// fn_02500728 @ 0x2500728
|
|
void Gambit_fn_02500728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02500728: ; // 0x2500728
|
|
/* 02500728 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02500728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500728 */ cpu->r[1] = _t0;
|
|
/* 0250072C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250072C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02500730 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500730 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02500734 */ cpu->r[30] = cpu->r[3];
|
|
/* 02500738 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02500738 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250073C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250073C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02500740 */ /* nop */
|
|
/* 02500744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02500748 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250074C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250074C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250074C */ if (_t6) goto L_02500750; else goto L_02500764;
|
|
L_02500750: ; // 0x2500750
|
|
/* 02500750 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02500750 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02500754 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02500754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02500758 */ cpu->ctr = cpu->r[0];
|
|
/* 0250075C */ cpu->r[3] = cpu->r[30];
|
|
/* 02500760 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02500764: ; // 0x2500764
|
|
/* 02500764 */ cpu->r[3] = cpu->r[30];
|
|
/* 02500768 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250076C */ Gambit_fn_0250069C(cpu);
|
|
/* 02500770 */ cpu->r[3] = cpu->r[30];
|
|
/* 02500774 */ /* nop */
|
|
/* 02500778 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0250077C */ cpu->r[3] = cpu->r[30];
|
|
/* 02500780 */ Gambit_fn_0250051C(cpu);
|
|
/* 02500784 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500788 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500788 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250078C */ cpu->lr = cpu->r[0];
|
|
/* 02500790 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500790 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500794 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500798 */ return;
|
|
}
|
|
|
|
// fn_0250079C @ 0x250079c
|
|
void Gambit_fn_0250079C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0250079C: ; // 0x250079c
|
|
/* 0250079C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250079C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025007A0 */ /* nop */
|
|
/* 025007A4 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 025007A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025007A8 */ cpu->r[8] = cpu->r[0];
|
|
/* 025007AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 025007B0 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 025007B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025007B4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025007B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 025007B4 */ if (_t4) goto L_025007B8; else goto L_025007D0;
|
|
L_025007B8: ; // 0x25007b8
|
|
/* 025007B8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025007BC */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 025007C0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 025007C0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 025007C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025007C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025007C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025007C8 */ if (_t7) goto L_025007CC; else goto L_025007DC;
|
|
L_025007CC: ; // 0x25007cc
|
|
/* 025007CC */ return;
|
|
L_025007D0: ; // 0x25007d0
|
|
/* 025007D0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 025007D0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 025007D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025007D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025007D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025007D8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025007D8 */ goto L_025007DC;
|
|
L_025007DC: ; // 0x25007dc
|
|
/* 025007DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 025007E0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 025007E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025007E4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025007E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025007E4 */ if (_t13) goto L_025007E8; else goto L_025007F0;
|
|
L_025007E8: ; // 0x25007e8
|
|
/* 025007E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025007EC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_025007F0: ; // 0x25007f0
|
|
/* 025007F0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 025007F0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 025007F4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 025007F4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 025007F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025007FC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 025007FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500800 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02500804 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500804 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02500804 */ if (_t18) goto L_0250081C; else goto L_02500808;
|
|
L_02500808: ; // 0x2500808
|
|
/* 02500808 */ /* nop */
|
|
/* 0250080C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0250080C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500810 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500814 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02500818 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0250081C: ; // 0x250081c
|
|
/* 0250081C */ cpu->ctr = cpu->r[11];
|
|
/* 02500820 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02500824 @ 0x2500824
|
|
void Gambit_fn_02500824(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02500824: ; // 0x2500824
|
|
/* 02500824 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02500824 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02500828 */ /* nop */
|
|
/* 0250082C */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0250082C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02500830 */ cpu->r[8] = cpu->r[0];
|
|
/* 02500834 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02500838 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02500838 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250083C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250083C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0250083C */ if (_t4) goto L_02500840; else goto L_02500858;
|
|
L_02500840: ; // 0x2500840
|
|
/* 02500840 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500844 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02500848 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02500848 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0250084C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02500850 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500850 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02500850 */ if (_t7) goto L_02500854; else goto L_02500864;
|
|
L_02500854: ; // 0x2500854
|
|
/* 02500854 */ return;
|
|
L_02500858: ; // 0x2500858
|
|
/* 02500858 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02500858 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0250085C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02500860 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500860 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02500860 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02500860 */ goto L_02500864;
|
|
L_02500864: ; // 0x2500864
|
|
/* 02500864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02500868 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02500868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250086C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250086C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250086C */ if (_t13) goto L_02500870; else goto L_02500878;
|
|
L_02500870: ; // 0x2500870
|
|
/* 02500870 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500874 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02500878: ; // 0x2500878
|
|
/* 02500878 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02500878 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0250087C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0250087C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02500880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02500884 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02500884 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500888 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0250088C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250088C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250088C */ if (_t18) goto L_025008A4; else goto L_02500890;
|
|
L_02500890: ; // 0x2500890
|
|
/* 02500890 */ /* nop */
|
|
/* 02500894 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02500894 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500898 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250089C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 025008A0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 025008A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_025008A4: ; // 0x25008a4
|
|
/* 025008A4 */ cpu->ctr = cpu->r[11];
|
|
/* 025008A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025008AC @ 0x25008ac
|
|
void Gambit_fn_025008AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_025008AC: ; // 0x25008ac
|
|
/* 025008AC */ cpu->r[0] = cpu->lr;
|
|
/* 025008B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025008B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025008B0 */ cpu->r[1] = _t0;
|
|
/* 025008B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025008B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025008B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025008BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025008BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025008C0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 025008C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025008C4 */ cpu->r[12] = 0x00000000u;
|
|
/* 025008C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025008CC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 025008CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 025008D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025008D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025008D0 */ if (_t6) goto L_025008F8; else goto L_025008D4;
|
|
L_025008D4: ; // 0x25008d4
|
|
/* 025008D4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 025008D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 025008D8 */ /* nop */
|
|
/* 025008DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 025008E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025008E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025008E0 */ if (_t9) goto L_025008E4; else goto L_025008F8;
|
|
L_025008E4: ; // 0x25008e4
|
|
/* 025008E4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 025008E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025008E8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 025008E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025008EC */ cpu->ctr = cpu->r[0];
|
|
/* 025008F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025008F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025008F8: ; // 0x25008f8
|
|
/* 025008F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025008FC */ Gambit_fn_02500824(cpu);
|
|
/* 02500900 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500904 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02500908 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02500908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250090C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250090C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02500910 */ cpu->lr = cpu->r[0];
|
|
/* 02500914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500918 */ return;
|
|
}
|
|
|
|
// fn_025008B0 @ 0x25008b0
|
|
void Gambit_fn_025008B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_025008B0: ; // 0x25008b0
|
|
/* 025008B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025008B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025008B0 */ cpu->r[1] = _t0;
|
|
/* 025008B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025008B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025008B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025008BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025008BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025008C0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 025008C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025008C4 */ cpu->r[12] = 0x00000000u;
|
|
/* 025008C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025008CC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 025008CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 025008D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025008D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025008D0 */ if (_t6) goto L_025008F8; else goto L_025008D4;
|
|
L_025008D4: ; // 0x25008d4
|
|
/* 025008D4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 025008D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 025008D8 */ /* nop */
|
|
/* 025008DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 025008E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025008E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025008E0 */ if (_t9) goto L_025008E4; else goto L_025008F8;
|
|
L_025008E4: ; // 0x25008e4
|
|
/* 025008E4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 025008E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025008E8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 025008E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025008EC */ cpu->ctr = cpu->r[0];
|
|
/* 025008F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025008F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025008F8: ; // 0x25008f8
|
|
/* 025008F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025008FC */ Gambit_fn_02500824(cpu);
|
|
/* 02500900 */ cpu->r[3] = cpu->r[31];
|
|
/* 02500904 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02500908 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02500908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250090C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250090C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02500910 */ cpu->lr = cpu->r[0];
|
|
/* 02500914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500918 */ return;
|
|
}
|
|
|
|
// fn_0250091C @ 0x250091c
|
|
void Gambit_fn_0250091C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0250091C: ; // 0x250091c
|
|
/* 0250091C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250091C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02500920 */ /* nop */
|
|
/* 02500924 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 02500924 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02500928 */ cpu->r[7] = cpu->r[0];
|
|
/* 0250092C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02500930 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 02500930 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02500934 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500934 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02500934 */ if (_t4) goto L_02500938; else goto L_02500950;
|
|
L_02500938: ; // 0x2500938
|
|
/* 02500938 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250093C */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02500940 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02500940 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02500944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02500948 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500948 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02500948 */ if (_t7) goto L_0250094C; else goto L_0250095C;
|
|
L_0250094C: ; // 0x250094c
|
|
/* 0250094C */ return;
|
|
L_02500950: ; // 0x2500950
|
|
/* 02500950 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02500950 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02500954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02500958 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500958 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02500958 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02500958 */ goto L_0250095C;
|
|
L_0250095C: ; // 0x250095c
|
|
/* 0250095C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02500960 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02500960 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500964 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500964 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02500964 */ if (_t13) goto L_02500968; else goto L_02500970;
|
|
L_02500968: ; // 0x2500968
|
|
/* 02500968 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250096C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02500970: ; // 0x2500970
|
|
/* 02500970 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02500970 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02500974 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02500974 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02500978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0250097C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0250097C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02500980 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02500984 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500984 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02500984 */ if (_t18) goto L_0250099C; else goto L_02500988;
|
|
L_02500988: ; // 0x2500988
|
|
/* 02500988 */ /* nop */
|
|
/* 0250098C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0250098C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02500990 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02500994 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02500998 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02500998 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0250099C: ; // 0x250099c
|
|
/* 0250099C */ cpu->ctr = cpu->r[11];
|
|
/* 025009A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025009A4 @ 0x25009a4
|
|
void Gambit_fn_025009A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025009A4: ; // 0x25009a4
|
|
/* 025009A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025009A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025009A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025009A8 */ cpu->r[1] = _t0;
|
|
/* 025009AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025009AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025009B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025009B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025009B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025009B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025009B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025009BC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 025009BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 025009C0 */ /* nop */
|
|
/* 025009C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 025009C8 */ cpu->r[31] = cpu->r[4];
|
|
/* 025009CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025009CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 025009CC */ if (_t6) goto L_025009D0; else goto L_025009E4;
|
|
L_025009D0: ; // 0x25009d0
|
|
/* 025009D0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 025009D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025009D4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 025009D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025009D8 */ cpu->ctr = cpu->r[0];
|
|
/* 025009DC */ cpu->r[3] = cpu->r[30];
|
|
/* 025009E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025009E4: ; // 0x25009e4
|
|
/* 025009E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025009E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 025009EC */ Gambit_fn_0250091C(cpu);
|
|
/* 025009F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025009F4 */ /* nop */
|
|
/* 025009F8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025009FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02500A00 */ Gambit_fn_0250079C(cpu);
|
|
/* 02500A04 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500A08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500A08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02500A0C */ cpu->lr = cpu->r[0];
|
|
/* 02500A10 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500A10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500A14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500A18 */ return;
|
|
}
|
|
|
|
// fn_025009A8 @ 0x25009a8
|
|
void Gambit_fn_025009A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025009A8: ; // 0x25009a8
|
|
/* 025009A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025009A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025009A8 */ cpu->r[1] = _t0;
|
|
/* 025009AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025009AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025009B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025009B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025009B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025009B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025009B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025009BC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 025009BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 025009C0 */ /* nop */
|
|
/* 025009C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 025009C8 */ cpu->r[31] = cpu->r[4];
|
|
/* 025009CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025009CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 025009CC */ if (_t6) goto L_025009D0; else goto L_025009E4;
|
|
L_025009D0: ; // 0x25009d0
|
|
/* 025009D0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 025009D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025009D4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 025009D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025009D8 */ cpu->ctr = cpu->r[0];
|
|
/* 025009DC */ cpu->r[3] = cpu->r[30];
|
|
/* 025009E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025009E4: ; // 0x25009e4
|
|
/* 025009E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025009E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 025009EC */ Gambit_fn_0250091C(cpu);
|
|
/* 025009F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025009F4 */ /* nop */
|
|
/* 025009F8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025009FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02500A00 */ Gambit_fn_0250079C(cpu);
|
|
/* 02500A04 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02500A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02500A08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02500A08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02500A0C */ cpu->lr = cpu->r[0];
|
|
/* 02500A10 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02500A10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02500A14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02500A18 */ return;
|
|
}
|
|
|
|
// fn_02500A1C @ 0x2500a1c
|
|
void Gambit_fn_02500A1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404;
|
|
|
|
L_02500A1C: ; // 0x2500a1c
|
|
/* 02500A1C */ cpu->r[0] = cpu->lr;
|
|
/* 02500A20 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02500A20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500A20 */ cpu->r[1] = _t0;
|
|
/* 02500A24 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02500A24 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02500A28 */ /* nop */
|
|
/* 02500A2C */ cpu->r[26] = cpu->r[3];
|
|
/* 02500A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02500A30 */ cpu->r[31] = 0x10110000u;
|
|
/* 02500A34 */ cpu->r[27] = cpu->r[4];
|
|
/* 02500A38 */ cpu->r[23] = cpu->r[26];
|
|
/* 02500A3C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A3C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02500A3C */ if (_t3) goto L_02500A40; else goto L_02500A6C;
|
|
L_02500A40: ; // 0x2500a40
|
|
/* 02500A40 */ cpu->r[3] = 0x00000324u;
|
|
/* 02500A44 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500A48 */ cpu->r[23] = cpu->r[3];
|
|
/* 02500A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02500A4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02500A4C */ if (_t5) goto L_02500A50; else goto L_02500A6C;
|
|
L_02500A50: ; // 0x2500a50
|
|
/* 02500A50 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02500A54 */ cpu->r[29] = cpu->r[29] + 0xFFFF93FCu;
|
|
/* 02500A58 */ cpu->r[25] = cpu->r[29] + 0x00000020u;
|
|
/* 02500A5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02500A60 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02500A60 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02500A64 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A64 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02500A64 */ if (_t8) goto L_02500DEC; else goto L_02500A68;
|
|
L_02500A68: ; // 0x2500a68
|
|
/* 02500A68 */ goto L_02500C28;
|
|
L_02500A6C: ; // 0x2500a6c
|
|
/* 02500A6C */ cpu->r[29] = 0x100C0000u;
|
|
/* 02500A70 */ cpu->r[28] = 0x100C0000u;
|
|
/* 02500A74 */ cpu->r[30] = 0x100C0000u;
|
|
/* 02500A78 */ cpu->r[24] = cpu->r[23];
|
|
/* 02500A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500A7C */ cpu->r[28] = cpu->r[28] + 0xFFFFD7D4u;
|
|
/* 02500A80 */ cpu->r[29] = cpu->r[29] + 0xFFFFD7BCu;
|
|
/* 02500A84 */ cpu->r[30] = cpu->r[30] + 0xFFFFD7A4u;
|
|
/* 02500A88 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A88 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02500A88 */ if (_t10) goto L_02500A8C; else goto L_02500AAC;
|
|
L_02500A8C: ; // 0x2500a8c
|
|
/* 02500A8C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500A90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500A94 */ cpu->r[24] = cpu->r[3];
|
|
/* 02500A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500A98 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A98 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02500A98 */ if (_t12) goto L_02500A9C; else goto L_02500AAC;
|
|
L_02500A9C: ; // 0x2500a9c
|
|
/* 02500A9C */ cpu->r[24] = cpu->r[23] + 0x0000010Cu;
|
|
/* 02500A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500AA0 */ _t13 = cpu->r[31] + 0x00007399u;
|
|
/* 02500AA0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02500AA4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AA4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02500AA4 */ if (_t15) goto L_02500B3C; else goto L_02500AA8;
|
|
L_02500AA8: ; // 0x2500aa8
|
|
/* 02500AA8 */ goto L_02500B4C;
|
|
L_02500AAC: ; // 0x2500aac
|
|
/* 02500AAC */ cpu->r[25] = cpu->r[24];
|
|
/* 02500AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500AB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02500AB0 */ if (_t17) goto L_02500AB4; else goto L_02500AD8;
|
|
L_02500AB4: ; // 0x2500ab4
|
|
/* 02500AB4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500AB8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500ABC */ cpu->r[25] = cpu->r[3];
|
|
/* 02500ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500AC0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AC0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02500AC0 */ if (_t19) goto L_02500AC4; else goto L_02500AD8;
|
|
L_02500AC4: ; // 0x2500ac4
|
|
/* 02500AC4 */ _t20 = cpu->r[31] + 0x00007399u;
|
|
/* 02500AC4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02500AC8 */ _t21 = cpu->r[24] + 0x00000004u;
|
|
/* 02500AC8 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02500ACC */ cpu->r[24] = cpu->r[23] + 0x0000010Cu;
|
|
/* 02500ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500AD0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AD0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02500AD0 */ if (_t23) goto L_02500B3C; else goto L_02500AD4;
|
|
L_02500AD4: ; // 0x2500ad4
|
|
/* 02500AD4 */ goto L_02500B4C;
|
|
L_02500AD8: ; // 0x2500ad8
|
|
/* 02500AD8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02500AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500ADC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500ADC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02500ADC */ if (_t25) goto L_02500AE0; else goto L_02500B08;
|
|
L_02500AE0: ; // 0x2500ae0
|
|
/* 02500AE0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02500AE4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500AEC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AEC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02500AEC */ if (_t27) goto L_02500AF0; else goto L_02500B08;
|
|
L_02500AF0: ; // 0x2500af0
|
|
/* 02500AF0 */ _t28 = cpu->r[25] + 0x00000000u;
|
|
/* 02500AF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02500AF4 */ _t29 = cpu->r[31] + 0x00007399u;
|
|
/* 02500AF4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02500AF8 */ _t30 = cpu->r[25] + 0x00000004u;
|
|
/* 02500AF8 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02500AFC */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 02500AFC */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 02500B00 */ _t32 = cpu->r[24] + 0x00000004u;
|
|
/* 02500B00 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 02500B04 */ goto L_02500B34;
|
|
L_02500B08: ; // 0x2500b08
|
|
/* 02500B08 */ cpu->r[9] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02500B0C */ _t33 = cpu->r[3] + 0x00000004u;
|
|
/* 02500B0C */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 02500B10 */ cpu->r[0] = 0x00000100u;
|
|
/* 02500B14 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02500B14 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02500B18 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 02500B18 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02500B1C */ _t36 = cpu->r[31] + 0x00007399u;
|
|
/* 02500B1C */ cpu->r[31] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02500B20 */ _t37 = cpu->r[25] + 0x00000004u;
|
|
/* 02500B20 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 02500B24 */ _t38 = cpu->r[25] + 0x00000000u;
|
|
/* 02500B24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02500B28 */ _t39 = cpu->r[25] + 0x0000010Bu;
|
|
/* 02500B28 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[31]);
|
|
/* 02500B2C */ _t40 = cpu->r[12] + 0x00000000u;
|
|
/* 02500B2C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
|
|
/* 02500B30 */ _t41 = cpu->r[24] + 0x00000004u;
|
|
/* 02500B30 */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
L_02500B34: ; // 0x2500b34
|
|
/* 02500B34 */ cpu->r[24] = cpu->r[23] + 0x0000010Cu;
|
|
/* 02500B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500B38 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B38 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02500B38 */ if (_t43) goto L_02500B3C; else goto L_02500B4C;
|
|
L_02500B3C: ; // 0x2500b3c
|
|
/* 02500B3C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500B40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500B44 */ cpu->r[24] = cpu->r[3];
|
|
/* 02500B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500B48 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B48 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02500B48 */ if (_t45) goto L_02500BA4; else goto L_02500B4C;
|
|
L_02500B4C: ; // 0x2500b4c
|
|
/* 02500B4C */ cpu->r[25] = cpu->r[24];
|
|
/* 02500B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500B50 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B50 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02500B50 */ if (_t47) goto L_02500B54; else goto L_02500B64;
|
|
L_02500B54: ; // 0x2500b54
|
|
/* 02500B54 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500B58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500B5C */ cpu->r[25] = cpu->r[3];
|
|
/* 02500B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500B60 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B60 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02500B60 */ if (_t49) goto L_02500BA0; else goto L_02500B64;
|
|
L_02500B64: ; // 0x2500b64
|
|
/* 02500B64 */ cpu->r[3] = cpu->r[25];
|
|
/* 02500B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500B68 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B68 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02500B68 */ if (_t51) goto L_02500B6C; else goto L_02500B7C;
|
|
L_02500B6C: ; // 0x2500b6c
|
|
/* 02500B6C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02500B70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500B78 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B78 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02500B78 */ if (_t53) goto L_02500B94; else goto L_02500B7C;
|
|
L_02500B7C: ; // 0x2500b7c
|
|
/* 02500B7C */ cpu->r[4] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02500B80 */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 02500B80 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 02500B84 */ cpu->r[5] = 0x00000100u;
|
|
/* 02500B88 */ _t55 = cpu->r[3] + 0x00000000u;
|
|
/* 02500B88 */ rbrew_write32(cpu->mem, _t55, cpu->r[4]);
|
|
/* 02500B8C */ _t56 = cpu->r[3] + 0x00000008u;
|
|
/* 02500B8C */ rbrew_write32(cpu->mem, _t56, cpu->r[5]);
|
|
/* 02500B90 */ _t57 = cpu->r[25] + 0x0000010Bu;
|
|
/* 02500B90 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[31]);
|
|
L_02500B94: ; // 0x2500b94
|
|
/* 02500B94 */ _t58 = cpu->r[25] + 0x00000000u;
|
|
/* 02500B94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02500B98 */ _t59 = cpu->r[25] + 0x00000004u;
|
|
/* 02500B98 */ rbrew_write32(cpu->mem, _t59, cpu->r[29]);
|
|
/* 02500B9C */ _t60 = cpu->r[6] + 0x00000000u;
|
|
/* 02500B9C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[31]);
|
|
L_02500BA0: ; // 0x2500ba0
|
|
/* 02500BA0 */ _t61 = cpu->r[24] + 0x00000004u;
|
|
/* 02500BA0 */ rbrew_write32(cpu->mem, _t61, cpu->r[28]);
|
|
L_02500BA4: ; // 0x2500ba4
|
|
/* 02500BA4 */ cpu->r[24] = cpu->r[23] + 0x00000218u;
|
|
/* 02500BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500BA8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BA8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02500BA8 */ if (_t63) goto L_02500BAC; else goto L_02500BBC;
|
|
L_02500BAC: ; // 0x2500bac
|
|
/* 02500BAC */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500BB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500BB4 */ cpu->r[24] = cpu->r[3];
|
|
/* 02500BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500BB8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BB8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02500BB8 */ if (_t65) goto L_02500C14; else goto L_02500BBC;
|
|
L_02500BBC: ; // 0x2500bbc
|
|
/* 02500BBC */ cpu->r[25] = cpu->r[24];
|
|
/* 02500BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500BC0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BC0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02500BC0 */ if (_t67) goto L_02500BC4; else goto L_02500BD4;
|
|
L_02500BC4: ; // 0x2500bc4
|
|
/* 02500BC4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500BC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500BCC */ cpu->r[25] = cpu->r[3];
|
|
/* 02500BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500BD0 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BD0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02500BD0 */ if (_t69) goto L_02500C10; else goto L_02500BD4;
|
|
L_02500BD4: ; // 0x2500bd4
|
|
/* 02500BD4 */ cpu->r[3] = cpu->r[25];
|
|
/* 02500BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500BD8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BD8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02500BD8 */ if (_t71) goto L_02500BDC; else goto L_02500BEC;
|
|
L_02500BDC: ; // 0x2500bdc
|
|
/* 02500BDC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02500BE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500BE8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BE8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02500BE8 */ if (_t73) goto L_02500C04; else goto L_02500BEC;
|
|
L_02500BEC: ; // 0x2500bec
|
|
/* 02500BEC */ cpu->r[7] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02500BF0 */ _t74 = cpu->r[3] + 0x00000004u;
|
|
/* 02500BF0 */ rbrew_write32(cpu->mem, _t74, cpu->r[30]);
|
|
/* 02500BF4 */ cpu->r[8] = 0x00000100u;
|
|
/* 02500BF8 */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 02500BF8 */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 02500BFC */ _t76 = cpu->r[3] + 0x00000008u;
|
|
/* 02500BFC */ rbrew_write32(cpu->mem, _t76, cpu->r[8]);
|
|
/* 02500C00 */ _t77 = cpu->r[25] + 0x0000010Bu;
|
|
/* 02500C00 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[31]);
|
|
L_02500C04: ; // 0x2500c04
|
|
/* 02500C04 */ _t78 = cpu->r[25] + 0x00000000u;
|
|
/* 02500C04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02500C08 */ _t79 = cpu->r[25] + 0x00000004u;
|
|
/* 02500C08 */ rbrew_write32(cpu->mem, _t79, cpu->r[29]);
|
|
/* 02500C0C */ _t80 = cpu->r[9] + 0x00000000u;
|
|
/* 02500C0C */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[31]);
|
|
L_02500C10: ; // 0x2500c10
|
|
/* 02500C10 */ _t81 = cpu->r[24] + 0x00000004u;
|
|
/* 02500C10 */ rbrew_write32(cpu->mem, _t81, cpu->r[28]);
|
|
L_02500C14: ; // 0x2500c14
|
|
/* 02500C14 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02500C18 */ cpu->r[29] = cpu->r[29] + 0xFFFF93FCu;
|
|
/* 02500C1C */ cpu->r[25] = cpu->r[29] + 0x00000020u;
|
|
/* 02500C20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02500C24 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500C24 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02500C24 */ if (_t83) goto L_02500DEC; else goto L_02500C28;
|
|
L_02500C28: ; // 0x2500c28
|
|
/* 02500C28 */ cpu->r[28] = cpu->r[31];
|
|
L_02500C2C: ; // 0x2500c2c
|
|
/* 02500C2C */ _t84 = cpu->r[26] + 0x00000004u;
|
|
/* 02500C2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02500C30 */ _t85 = cpu->r[10] + 0x00000014u;
|
|
/* 02500C30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02500C34 */ cpu->ctr = cpu->r[11];
|
|
/* 02500C38 */ cpu->r[3] = cpu->r[26];
|
|
/* 02500C3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500C40 */ _t86 = cpu->r[26] + 0x00000000u;
|
|
/* 02500C40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02500C44 */ _t87 = cpu->r[11] + 0x00000000u;
|
|
/* 02500C44 */ cpu->r[12] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02500C48 */ cpu->r[30] = 0x00000000u;
|
|
/* 02500C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 02500C50 */ cpu->r[4] = 0x00080000u;
|
|
/* 02500C54 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500C54 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02500C54 */ if (_t89) goto L_02500CA8; else goto L_02500C58;
|
|
L_02500C58: ; // 0x2500c58
|
|
/* 02500C58 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02500C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 02500C60 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02500C64 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500C64 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02500C64 */ if (_t91) goto L_02500CA4; else goto L_02500C68;
|
|
L_02500C68: ; // 0x2500c68
|
|
/* 02500C68 */ _t92 = cpu->r[11] + 0x00000000u;
|
|
/* 02500C68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02500C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02500C70 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500C70 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02500C70 */ if (_t94) goto L_02500C74; else goto L_02500C58;
|
|
L_02500C74: ; // 0x2500c74
|
|
/* 02500C74 */ _t95 = cpu->r[29] + 0x00000004u;
|
|
/* 02500C74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02500C78 */ _t96 = cpu->r[5] + 0x00000014u;
|
|
/* 02500C78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02500C7C */ cpu->ctr = cpu->r[6];
|
|
/* 02500C80 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500C84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500C88 */ _t97 = cpu->r[29] + 0x00000000u;
|
|
/* 02500C88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02500C8C */ _t98 = cpu->r[9] + 0x00000000u;
|
|
/* 02500C8C */ cpu->r[7] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02500C90 */ cpu->r[12] = 0x00000000u;
|
|
/* 02500C94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 02500C98 */ cpu->r[0] = 0x00080000u;
|
|
/* 02500C9C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500C9C */ _t100 = _t99 & 0x00000001u;
|
|
/* 02500C9C */ if (_t100) goto L_02500CA0; else goto L_02500CD4;
|
|
L_02500CA0: ; // 0x2500ca0
|
|
/* 02500CA0 */ goto L_02500D00;
|
|
L_02500CA4: ; // 0x2500ca4
|
|
/* 02500CA4 */ cpu->r[30] = 0x00000000u;
|
|
L_02500CA8: ; // 0x2500ca8
|
|
/* 02500CA8 */ _t101 = cpu->r[29] + 0x00000004u;
|
|
/* 02500CA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02500CAC */ _t102 = cpu->r[5] + 0x00000014u;
|
|
/* 02500CAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02500CB0 */ cpu->ctr = cpu->r[6];
|
|
/* 02500CB4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500CB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500CBC */ _t103 = cpu->r[29] + 0x00000000u;
|
|
/* 02500CBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02500CC0 */ _t104 = cpu->r[9] + 0x00000000u;
|
|
/* 02500CC0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02500CC4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02500CC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 02500CCC */ cpu->r[0] = 0x00080000u;
|
|
/* 02500CD0 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500CD0 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02500CD0 */ if (_t106) goto L_02500D00; else goto L_02500CD4;
|
|
L_02500CD4: ; // 0x2500cd4
|
|
/* 02500CD4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02500CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02500CDC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02500CE0 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500CE0 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02500CE0 */ if (_t108) goto L_02500CFC; else goto L_02500CE4;
|
|
L_02500CE4: ; // 0x2500ce4
|
|
/* 02500CE4 */ _t109 = cpu->r[9] + 0x00000000u;
|
|
/* 02500CE4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t109);
|
|
/* 02500CE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[28]);
|
|
/* 02500CEC */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500CEC */ _t111 = _t110 & 0x00000001u;
|
|
/* 02500CEC */ if (_t111) goto L_02500CF0; else goto L_02500CD4;
|
|
L_02500CF0: ; // 0x2500cf0
|
|
/* 02500CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02500CF4 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500CF4 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02500CF4 */ if (_t113) goto L_02500CF8; else goto L_02500D08;
|
|
L_02500CF8: ; // 0x2500cf8
|
|
/* 02500CF8 */ goto L_02500DE0;
|
|
L_02500CFC: ; // 0x2500cfc
|
|
/* 02500CFC */ cpu->r[12] = 0x00000000u;
|
|
L_02500D00: ; // 0x2500d00
|
|
/* 02500D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02500D04 */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500D04 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02500D04 */ if (_t115) goto L_02500DE0; else goto L_02500D08;
|
|
L_02500D08: ; // 0x2500d08
|
|
/* 02500D08 */ _t116 = cpu->r[29] + 0x00000000u;
|
|
/* 02500D08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02500D0C */ _t117 = cpu->r[8] + 0x00000000u;
|
|
/* 02500D0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t117);
|
|
/* 02500D10 */ _t118 = cpu->r[27] + 0x00000000u;
|
|
/* 02500D10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02500D14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02500D18 */ cpu->r[10] = 0x00000000u;
|
|
/* 02500D1C */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D1C */ _t120 = _t119 & 0x00000001u;
|
|
/* 02500D1C */ if (_t120) goto L_02500D3C; else goto L_02500D20;
|
|
L_02500D20: ; // 0x2500d20
|
|
/* 02500D20 */ _t121 = cpu->r[7] + cpu->r[10];
|
|
/* 02500D20 */ cpu->r[9] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02500D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02500D28 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D28 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02500D28 */ if (_t123) goto L_02500D2C; else goto L_02500DE0;
|
|
L_02500D2C: ; // 0x2500d2c
|
|
/* 02500D2C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02500D30 */ _t124 = cpu->r[8] + cpu->r[10];
|
|
/* 02500D30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02500D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02500D38 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D38 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02500D38 */ if (_t126) goto L_02500D3C; else goto L_02500D20;
|
|
L_02500D3C: ; // 0x2500d3c
|
|
/* 02500D3C */ _t127 = cpu->r[29] + 0x00000004u;
|
|
/* 02500D3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02500D40 */ _t128 = cpu->r[10] + 0x00000014u;
|
|
/* 02500D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02500D44 */ cpu->ctr = cpu->r[0];
|
|
/* 02500D48 */ _t129 = cpu->r[26] + 0x00000000u;
|
|
/* 02500D48 */ cpu->r[24] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02500D4C */ cpu->r[3] = cpu->r[29];
|
|
/* 02500D50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500D54 */ _t130 = cpu->r[29] + 0x00000000u;
|
|
/* 02500D54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02500D58 */ _t131 = cpu->r[7] + 0x00000000u;
|
|
/* 02500D58 */ cpu->r[12] = rbrew_read8(cpu->mem, _t131);
|
|
/* 02500D5C */ cpu->r[30] = 0x00000000u;
|
|
/* 02500D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 02500D64 */ cpu->r[8] = 0x00080000u;
|
|
/* 02500D68 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D68 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02500D68 */ if (_t133) goto L_02500DA4; else goto L_02500D6C;
|
|
L_02500D6C: ; // 0x2500d6c
|
|
/* 02500D6C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02500D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02500D74 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02500D78 */ _t134 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500D78 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02500D78 */ if (_t135) goto L_02500DA0; else goto L_02500D7C;
|
|
L_02500D7C: ; // 0x2500d7c
|
|
/* 02500D7C */ _t136 = cpu->r[7] + 0x00000000u;
|
|
/* 02500D7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t136);
|
|
/* 02500D80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02500D84 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D84 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02500D84 */ if (_t138) goto L_02500D88; else goto L_02500D6C;
|
|
L_02500D88: ; // 0x2500d88
|
|
/* 02500D88 */ _t139 = cpu->r[26] + 0x00000008u;
|
|
/* 02500D88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02500D8C */ _t140 = cpu->r[29] + 0x00000004u;
|
|
/* 02500D8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02500D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02500D94 */ _t141 = cpu->r[4] + 0x00000014u;
|
|
/* 02500D94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02500D98 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500D98 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02500D98 */ if (_t143) goto L_02500DBC; else goto L_02500D9C;
|
|
L_02500D9C: ; // 0x2500d9c
|
|
/* 02500D9C */ goto L_02500DB8;
|
|
L_02500DA0: ; // 0x2500da0
|
|
/* 02500DA0 */ cpu->r[30] = 0x00000000u;
|
|
L_02500DA4: ; // 0x2500da4
|
|
/* 02500DA4 */ _t144 = cpu->r[26] + 0x00000008u;
|
|
/* 02500DA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02500DA8 */ _t145 = cpu->r[29] + 0x00000004u;
|
|
/* 02500DA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02500DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02500DB0 */ _t146 = cpu->r[4] + 0x00000014u;
|
|
/* 02500DB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02500DB4 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500DB4 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02500DB4 */ if (_t148) goto L_02500DBC; else goto L_02500DB8;
|
|
L_02500DB8: ; // 0x2500db8
|
|
/* 02500DB8 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02500DBC: ; // 0x2500dbc
|
|
/* 02500DBC */ cpu->ctr = cpu->r[5];
|
|
/* 02500DC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500DC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500DC8 */ _t149 = cpu->r[29] + 0x00000000u;
|
|
/* 02500DC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02500DCC */ cpu->r[6] = 0x00000000u;
|
|
/* 02500DD0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02500DD4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02500DD8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02500DDC */ _t150 = cpu->r[24] + cpu->r[30];
|
|
/* 02500DDC */ rbrew_write8(cpu->mem, _t150, (uint8_t)cpu->r[28]);
|
|
L_02500DE0: ; // 0x2500de0
|
|
/* 02500DE0 */ cpu->r[29] = cpu->r[29] + 0x00000008u;
|
|
/* 02500DE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02500DE8 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500DE8 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02500DE8 */ if (_t152) goto L_02500DEC; else goto L_02500C2C;
|
|
L_02500DEC: ; // 0x2500dec
|
|
/* 02500DEC */ _t153 = cpu->r[26] + 0x00000000u;
|
|
/* 02500DEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02500DF0 */ _t154 = cpu->r[6] + 0x00000000u;
|
|
/* 02500DF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t154);
|
|
/* 02500DF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02500DF8 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500DF8 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02500DF8 */ if (_t156) goto L_02500DFC; else goto L_02500F58;
|
|
L_02500DFC: ; // 0x2500dfc
|
|
/* 02500DFC */ _t157 = cpu->r[27] + 0x00000004u;
|
|
/* 02500DFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02500E00 */ _t158 = cpu->r[8] + 0x00000014u;
|
|
/* 02500E00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02500E04 */ cpu->ctr = cpu->r[9];
|
|
/* 02500E08 */ _t159 = cpu->r[26] + 0x0000010Cu;
|
|
/* 02500E08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02500E0C */ cpu->r[3] = cpu->r[27];
|
|
/* 02500E10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500E14 */ _t160 = cpu->r[27] + 0x00000000u;
|
|
/* 02500E14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02500E18 */ _t161 = cpu->r[4] + 0x00000000u;
|
|
/* 02500E18 */ cpu->r[10] = rbrew_read8(cpu->mem, _t161);
|
|
/* 02500E1C */ cpu->r[30] = 0x00000000u;
|
|
/* 02500E20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02500E24 */ cpu->r[5] = 0x00080000u;
|
|
/* 02500E28 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500E28 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02500E28 */ if (_t163) goto L_02500E64; else goto L_02500E2C;
|
|
L_02500E2C: ; // 0x2500e2c
|
|
/* 02500E2C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02500E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02500E34 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02500E38 */ _t164 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500E38 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02500E38 */ if (_t165) goto L_02500E60; else goto L_02500E3C;
|
|
L_02500E3C: ; // 0x2500e3c
|
|
/* 02500E3C */ _t166 = cpu->r[4] + 0x00000000u;
|
|
/* 02500E3C */ cpu->r[11] = rbrew_read8(cpu->mem, _t166);
|
|
/* 02500E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02500E44 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500E44 */ _t168 = _t167 & 0x00000001u;
|
|
/* 02500E44 */ if (_t168) goto L_02500E48; else goto L_02500E2C;
|
|
L_02500E48: ; // 0x2500e48
|
|
/* 02500E48 */ _t169 = cpu->r[26] + 0x00000114u;
|
|
/* 02500E48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02500E4C */ _t170 = cpu->r[27] + 0x00000004u;
|
|
/* 02500E4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02500E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02500E54 */ _t171 = cpu->r[12] + 0x00000014u;
|
|
/* 02500E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02500E58 */ _t172 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500E58 */ _t173 = _t172 & 0x00000001u;
|
|
/* 02500E58 */ if (_t173) goto L_02500E7C; else goto L_02500E5C;
|
|
L_02500E5C: ; // 0x2500e5c
|
|
/* 02500E5C */ goto L_02500E78;
|
|
L_02500E60: ; // 0x2500e60
|
|
/* 02500E60 */ cpu->r[30] = 0x00000000u;
|
|
L_02500E64: ; // 0x2500e64
|
|
/* 02500E64 */ _t174 = cpu->r[26] + 0x00000114u;
|
|
/* 02500E64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02500E68 */ _t175 = cpu->r[27] + 0x00000004u;
|
|
/* 02500E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02500E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02500E70 */ _t176 = cpu->r[12] + 0x00000014u;
|
|
/* 02500E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02500E74 */ _t177 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500E74 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02500E74 */ if (_t178) goto L_02500E7C; else goto L_02500E78;
|
|
L_02500E78: ; // 0x2500e78
|
|
/* 02500E78 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02500E7C: ; // 0x2500e7c
|
|
/* 02500E7C */ cpu->ctr = cpu->r[0];
|
|
/* 02500E80 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500E84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500E88 */ _t179 = cpu->r[27] + 0x00000000u;
|
|
/* 02500E88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02500E8C */ cpu->r[6] = 0x00000000u;
|
|
/* 02500E90 */ cpu->r[5] = cpu->r[30];
|
|
/* 02500E94 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500E98 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02500E9C */ _t180 = cpu->r[29] + cpu->r[30];
|
|
/* 02500E9C */ rbrew_write8(cpu->mem, _t180, (uint8_t)cpu->r[31]);
|
|
/* 02500EA0 */ _t181 = cpu->r[27] + 0x00000004u;
|
|
/* 02500EA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02500EA4 */ _t182 = cpu->r[4] + 0x00000014u;
|
|
/* 02500EA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02500EA8 */ cpu->ctr = cpu->r[5];
|
|
/* 02500EAC */ _t183 = cpu->r[26] + 0x00000218u;
|
|
/* 02500EAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02500EB0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500EB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500EB8 */ _t184 = cpu->r[27] + 0x00000000u;
|
|
/* 02500EB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02500EBC */ _t185 = cpu->r[12] + 0x00000000u;
|
|
/* 02500EBC */ cpu->r[6] = rbrew_read8(cpu->mem, _t185);
|
|
/* 02500EC0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02500EC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02500EC8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02500ECC */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500ECC */ _t187 = _t186 & 0x00000001u;
|
|
/* 02500ECC */ if (_t187) goto L_02500F08; else goto L_02500ED0;
|
|
L_02500ED0: ; // 0x2500ed0
|
|
/* 02500ED0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02500ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02500ED8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02500EDC */ _t188 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500EDC */ _t189 = _t188 & 0x00000001u;
|
|
/* 02500EDC */ if (_t189) goto L_02500F04; else goto L_02500EE0;
|
|
L_02500EE0: ; // 0x2500ee0
|
|
/* 02500EE0 */ _t190 = cpu->r[12] + 0x00000000u;
|
|
/* 02500EE0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t190);
|
|
/* 02500EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02500EE8 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500EE8 */ _t192 = _t191 & 0x00000001u;
|
|
/* 02500EE8 */ if (_t192) goto L_02500EEC; else goto L_02500ED0;
|
|
L_02500EEC: ; // 0x2500eec
|
|
/* 02500EEC */ _t193 = cpu->r[26] + 0x00000220u;
|
|
/* 02500EEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02500EF0 */ _t194 = cpu->r[27] + 0x00000004u;
|
|
/* 02500EF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02500EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02500EF8 */ _t195 = cpu->r[8] + 0x00000014u;
|
|
/* 02500EF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02500EFC */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500EFC */ _t197 = _t196 & 0x00000001u;
|
|
/* 02500EFC */ if (_t197) goto L_02500F20; else goto L_02500F00;
|
|
L_02500F00: ; // 0x2500f00
|
|
/* 02500F00 */ goto L_02500F1C;
|
|
L_02500F04: ; // 0x2500f04
|
|
/* 02500F04 */ cpu->r[30] = 0x00000000u;
|
|
L_02500F08: ; // 0x2500f08
|
|
/* 02500F08 */ _t198 = cpu->r[26] + 0x00000220u;
|
|
/* 02500F08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02500F0C */ _t199 = cpu->r[27] + 0x00000004u;
|
|
/* 02500F0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02500F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02500F14 */ _t200 = cpu->r[8] + 0x00000014u;
|
|
/* 02500F14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02500F18 */ _t201 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500F18 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02500F18 */ if (_t202) goto L_02500F20; else goto L_02500F1C;
|
|
L_02500F1C: ; // 0x2500f1c
|
|
/* 02500F1C */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02500F20: ; // 0x2500f20
|
|
/* 02500F20 */ cpu->ctr = cpu->r[9];
|
|
/* 02500F24 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500F28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500F2C */ _t203 = cpu->r[27] + 0x00000000u;
|
|
/* 02500F2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02500F30 */ cpu->r[6] = 0x00000000u;
|
|
/* 02500F34 */ cpu->r[5] = cpu->r[30];
|
|
/* 02500F38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500F3C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02500F40 */ _t204 = cpu->r[29] + cpu->r[30];
|
|
/* 02500F40 */ rbrew_write8(cpu->mem, _t204, (uint8_t)cpu->r[31]);
|
|
/* 02500F44 */ /* nop */
|
|
/* 02500F48 */ _t205 = cpu->r[1] + 0x00000044u;
|
|
/* 02500F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02500F4C */ cpu->lr = cpu->r[0];
|
|
/* 02500F50 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02500F54 */ return;
|
|
L_02500F58: ; // 0x2500f58
|
|
/* 02500F58 */ cpu->r[24] = 0x100C0000u;
|
|
/* 02500F5C */ cpu->r[10] = 0x100C0000u;
|
|
/* 02500F60 */ _t206 = cpu->r[26] + 0x00000004u;
|
|
/* 02500F60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02500F64 */ cpu->r[24] = cpu->r[24] + 0xFFFFD78Cu;
|
|
/* 02500F68 */ cpu->r[10] = cpu->r[10] + 0xFFFFD7ECu;
|
|
/* 02500F6C */ _t207 = cpu->r[1] + 0x00000014u;
|
|
/* 02500F6C */ rbrew_write32(cpu->mem, _t207, cpu->r[24]);
|
|
/* 02500F70 */ _t208 = cpu->r[1] + 0x00000010u;
|
|
/* 02500F70 */ rbrew_write32(cpu->mem, _t208, cpu->r[10]);
|
|
/* 02500F74 */ _t209 = cpu->r[11] + 0x00000014u;
|
|
/* 02500F74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02500F78 */ cpu->ctr = cpu->r[12];
|
|
/* 02500F7C */ cpu->r[3] = cpu->r[26];
|
|
/* 02500F80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500F84 */ _t210 = cpu->r[26] + 0x00000000u;
|
|
/* 02500F84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02500F88 */ _t211 = cpu->r[5] + 0x00000000u;
|
|
/* 02500F88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t211);
|
|
/* 02500F8C */ cpu->r[28] = 0x00000000u;
|
|
/* 02500F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02500F94 */ cpu->r[6] = 0x00080000u;
|
|
/* 02500F98 */ _t212 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500F98 */ _t213 = _t212 & 0x00000001u;
|
|
/* 02500F98 */ if (_t213) goto L_02500FEC; else goto L_02500F9C;
|
|
L_02500F9C: ; // 0x2500f9c
|
|
/* 02500F9C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02500FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02500FA4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02500FA8 */ _t214 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500FA8 */ _t215 = _t214 & 0x00000001u;
|
|
/* 02500FA8 */ if (_t215) goto L_02500FE8; else goto L_02500FAC;
|
|
L_02500FAC: ; // 0x2500fac
|
|
/* 02500FAC */ _t216 = cpu->r[5] + 0x00000000u;
|
|
/* 02500FAC */ cpu->r[4] = rbrew_read8(cpu->mem, _t216);
|
|
/* 02500FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02500FB4 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500FB4 */ _t218 = _t217 & 0x00000001u;
|
|
/* 02500FB4 */ if (_t218) goto L_02500FB8; else goto L_02500F9C;
|
|
L_02500FB8: ; // 0x2500fb8
|
|
/* 02500FB8 */ _t219 = cpu->r[27] + 0x00000004u;
|
|
/* 02500FB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02500FBC */ _t220 = cpu->r[5] + 0x00000014u;
|
|
/* 02500FBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02500FC0 */ cpu->ctr = cpu->r[6];
|
|
/* 02500FC4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500FC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500FCC */ _t221 = cpu->r[27] + 0x00000000u;
|
|
/* 02500FCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02500FD0 */ _t222 = cpu->r[12] + 0x00000000u;
|
|
/* 02500FD0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t222);
|
|
/* 02500FD4 */ cpu->r[4] = 0x00080000u;
|
|
/* 02500FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02500FDC */ cpu->r[29] = 0x00000000u;
|
|
/* 02500FE0 */ _t223 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500FE0 */ _t224 = _t223 & 0x00000001u;
|
|
/* 02500FE0 */ if (_t224) goto L_02500FE4; else goto L_02501018;
|
|
L_02500FE4: ; // 0x2500fe4
|
|
/* 02500FE4 */ goto L_02501044;
|
|
L_02500FE8: ; // 0x2500fe8
|
|
/* 02500FE8 */ cpu->r[28] = 0x00000000u;
|
|
L_02500FEC: ; // 0x2500fec
|
|
/* 02500FEC */ _t225 = cpu->r[27] + 0x00000004u;
|
|
/* 02500FEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02500FF0 */ _t226 = cpu->r[5] + 0x00000014u;
|
|
/* 02500FF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02500FF4 */ cpu->ctr = cpu->r[6];
|
|
/* 02500FF8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500FFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501000 */ _t227 = cpu->r[27] + 0x00000000u;
|
|
/* 02501000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02501004 */ _t228 = cpu->r[12] + 0x00000000u;
|
|
/* 02501004 */ cpu->r[7] = rbrew_read8(cpu->mem, _t228);
|
|
/* 02501008 */ cpu->r[4] = 0x00080000u;
|
|
/* 0250100C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02501010 */ cpu->r[29] = 0x00000000u;
|
|
/* 02501014 */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501014 */ _t230 = _t229 & 0x00000001u;
|
|
/* 02501014 */ if (_t230) goto L_02500FE4; else goto L_02501018;
|
|
L_02501018: ; // 0x2501018
|
|
/* 02501018 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0250101C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 02501020 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02501024 */ _t231 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501024 */ _t232 = _t231 & 0x00000001u;
|
|
/* 02501024 */ if (_t232) goto L_02501040; else goto L_02501028;
|
|
L_02501028: ; // 0x2501028
|
|
/* 02501028 */ _t233 = cpu->r[12] + 0x00000000u;
|
|
/* 02501028 */ cpu->r[8] = rbrew_read8(cpu->mem, _t233);
|
|
/* 0250102C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02501030 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501030 */ _t235 = _t234 & 0x00000001u;
|
|
/* 02501030 */ if (_t235) goto L_02501034; else goto L_02501018;
|
|
L_02501034: ; // 0x2501034
|
|
/* 02501034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501038 */ _t236 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501038 */ _t237 = _t236 & 0x00000001u;
|
|
/* 02501038 */ if (_t237) goto L_0250117C; else goto L_0250103C;
|
|
L_0250103C: ; // 0x250103c
|
|
/* 0250103C */ goto L_0250104C;
|
|
L_02501040: ; // 0x2501040
|
|
/* 02501040 */ cpu->r[29] = 0x00000000u;
|
|
L_02501044: ; // 0x2501044
|
|
/* 02501044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501048 */ _t238 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501048 */ _t239 = _t238 & 0x00000001u;
|
|
/* 02501048 */ if (_t239) goto L_0250117C; else goto L_0250104C;
|
|
L_0250104C: ; // 0x250104c
|
|
/* 0250104C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 02501050 */ _t240 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501050 */ _t241 = _t240 & 0x00000001u;
|
|
/* 02501050 */ if (_t241) goto L_0250117C; else goto L_02501054;
|
|
L_02501054: ; // 0x2501054
|
|
/* 02501054 */ _t242 = cpu->r[1] + 0x00000014u;
|
|
/* 02501054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02501058 */ _t243 = cpu->r[9] + 0x00000014u;
|
|
/* 02501058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t243);
|
|
/* 0250105C */ cpu->ctr = cpu->r[10];
|
|
/* 02501060 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02501064 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501068 */ _t244 = cpu->r[1] + 0x00000010u;
|
|
/* 02501068 */ cpu->r[10] = rbrew_read32(cpu->mem, _t244);
|
|
/* 0250106C */ _t245 = cpu->r[10] + 0x00000000u;
|
|
/* 0250106C */ cpu->r[0] = rbrew_read8(cpu->mem, _t245);
|
|
/* 02501070 */ cpu->r[30] = 0x00000000u;
|
|
/* 02501074 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02501078 */ cpu->r[0] = 0x00080000u;
|
|
/* 0250107C */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250107C */ _t247 = _t246 & 0x00000001u;
|
|
/* 0250107C */ if (_t247) goto L_025010B0; else goto L_02501080;
|
|
L_02501080: ; // 0x2501080
|
|
/* 02501080 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02501084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02501088 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0250108C */ _t248 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250108C */ _t249 = _t248 & 0x00000001u;
|
|
/* 0250108C */ if (_t249) goto L_025010AC; else goto L_02501090;
|
|
L_02501090: ; // 0x2501090
|
|
/* 02501090 */ _t250 = cpu->r[10] + 0x00000000u;
|
|
/* 02501090 */ cpu->r[12] = rbrew_read8(cpu->mem, _t250);
|
|
/* 02501094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02501098 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501098 */ _t252 = _t251 & 0x00000001u;
|
|
/* 02501098 */ if (_t252) goto L_0250109C; else goto L_02501080;
|
|
L_0250109C: ; // 0x250109c
|
|
/* 0250109C */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 025010A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 025010A4 */ _t253 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025010A4 */ _t254 = _t253 & 0x00000001u;
|
|
/* 025010A4 */ if (_t254) goto L_025010A8; else goto L_025010BC;
|
|
L_025010A8: ; // 0x25010a8
|
|
/* 025010A8 */ goto L_0250117C;
|
|
L_025010AC: ; // 0x25010ac
|
|
/* 025010AC */ cpu->r[30] = 0x00000000u;
|
|
L_025010B0: ; // 0x25010b0
|
|
/* 025010B0 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 025010B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 025010B8 */ _t255 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025010B8 */ _t256 = _t255 & 0x00000001u;
|
|
/* 025010B8 */ if (_t256) goto L_0250117C; else goto L_025010BC;
|
|
L_025010BC: ; // 0x25010bc
|
|
/* 025010BC */ cpu->r[25] = cpu->r[31];
|
|
L_025010C0: ; // 0x25010c0
|
|
/* 025010C0 */ _t257 = cpu->r[27] + 0x00000000u;
|
|
/* 025010C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t257);
|
|
/* 025010C4 */ _t258 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025010C4 */ rbrew_write32(cpu->mem, _t258, cpu->r[24]);
|
|
/* 025010C8 */ cpu->r[4] = cpu->r[5] + cpu->r[28];
|
|
/* 025010CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025010D0 */ _t259 = cpu->r[1] + 0x00000008u;
|
|
/* 025010D0 */ rbrew_write32(cpu->mem, _t259, cpu->r[4]);
|
|
/* 025010D4 */ Gambit_fn_0250150C(cpu);
|
|
/* 025010D8 */ _t260 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025010D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t260);
|
|
/* 025010DC */ _t261 = cpu->r[6] + 0x00000014u;
|
|
/* 025010DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t261);
|
|
/* 025010E0 */ cpu->ctr = cpu->r[7];
|
|
/* 025010E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025010E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025010EC */ _t262 = cpu->r[1] + 0x00000014u;
|
|
/* 025010EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t262);
|
|
/* 025010F0 */ _t263 = cpu->r[8] + 0x00000014u;
|
|
/* 025010F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t263);
|
|
/* 025010F4 */ cpu->ctr = cpu->r[9];
|
|
/* 025010F8 */ _t264 = cpu->r[1] + 0x00000008u;
|
|
/* 025010F8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t264);
|
|
/* 025010FC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02501100 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501104 */ _t265 = cpu->r[1] + 0x00000010u;
|
|
/* 02501104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02501108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[10]);
|
|
/* 0250110C */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250110C */ _t267 = _t266 & 0x00000001u;
|
|
/* 0250110C */ if (_t267) goto L_02501160; else goto L_02501110;
|
|
L_02501110: ; // 0x2501110
|
|
/* 02501110 */ cpu->r[0] = cpu->r[30];
|
|
/* 02501110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501114 */ _t268 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501114 */ _t269 = _t268 & 0x00000001u;
|
|
/* 02501114 */ if (_t269) goto L_02501118; else goto L_02501160;
|
|
L_02501118: ; // 0x2501118
|
|
/* 02501118 */ _t270 = cpu->r[1] + 0x00000010u;
|
|
/* 02501118 */ cpu->r[6] = rbrew_read32(cpu->mem, _t270);
|
|
/* 0250111C */ cpu->ctr = cpu->r[0];
|
|
/* 02501120 */ _t271 = cpu->r[1] + 0x00000008u;
|
|
/* 02501120 */ cpu->r[9] = rbrew_read32(cpu->mem, _t271);
|
|
L_02501124: ; // 0x2501124
|
|
/* 02501124 */ _t272 = cpu->r[9] + 0x00000000u;
|
|
/* 02501124 */ cpu->r[7] = rbrew_read8(cpu->mem, _t272);
|
|
/* 02501128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[25]);
|
|
/* 0250112C */ _t273 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250112C */ _t274 = _t273 & 0x00000001u;
|
|
/* 0250112C */ if (_t274) goto L_02501130; else goto L_02501140;
|
|
L_02501130: ; // 0x2501130
|
|
/* 02501130 */ _t275 = cpu->r[6] + 0x00000000u;
|
|
/* 02501130 */ cpu->r[11] = rbrew_read8(cpu->mem, _t275);
|
|
/* 02501134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[25]);
|
|
/* 02501138 */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501138 */ _t277 = _t276 & 0x00000001u;
|
|
/* 02501138 */ if (_t277) goto L_0250113C; else goto L_02501170;
|
|
L_0250113C: ; // 0x250113c
|
|
/* 0250113C */ goto L_02501160;
|
|
L_02501140: ; // 0x2501140
|
|
/* 02501140 */ _t278 = cpu->r[6] + 0x00000000u;
|
|
/* 02501140 */ cpu->r[8] = rbrew_read8(cpu->mem, _t278);
|
|
/* 02501144 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]);
|
|
/* 02501148 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501148 */ _t280 = _t279 & 0x00000001u;
|
|
/* 02501148 */ if (_t280) goto L_02501170; else goto L_0250114C;
|
|
L_0250114C: ; // 0x250114c
|
|
/* 0250114C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02501150 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501150 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02501150 */ if (_t282) goto L_02501154; else goto L_02501170;
|
|
L_02501154: ; // 0x2501154
|
|
/* 02501154 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02501158 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0250115C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250115C */ _t283 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250115C */ _t284 = _t283 >> (0x00000002u & 31u);
|
|
/* 0250115C */ _t285 = _t284 & 0x00000001u;
|
|
/* 0250115C */ if (_t285) goto L_02501124; else goto L_02501160;
|
|
L_02501160: ; // 0x2501160
|
|
/* 02501160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 02501164 */ _t286 = cpu->r[26] + 0x0000010Cu;
|
|
/* 02501164 */ cpu->r[29] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02501168 */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501168 */ _t288 = _t287 & 0x00000001u;
|
|
/* 02501168 */ if (_t288) goto L_0250116C; else goto L_025012DC;
|
|
L_0250116C: ; // 0x250116c
|
|
/* 0250116C */ goto L_02501184;
|
|
L_02501170: ; // 0x2501170
|
|
/* 02501170 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02501174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 02501178 */ _t289 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501178 */ _t290 = _t289 & 0x00000001u;
|
|
/* 02501178 */ if (_t290) goto L_0250117C; else goto L_025010C0;
|
|
L_0250117C: ; // 0x250117c
|
|
/* 0250117C */ _t291 = cpu->r[26] + 0x0000010Cu;
|
|
/* 0250117C */ cpu->r[29] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02501180 */ cpu->r[28] = 0xFFFFFFFFu;
|
|
L_02501184: ; // 0x2501184
|
|
/* 02501184 */ _t292 = cpu->r[27] + 0x00000004u;
|
|
/* 02501184 */ cpu->r[12] = rbrew_read32(cpu->mem, _t292);
|
|
/* 02501188 */ _t293 = cpu->r[12] + 0x00000014u;
|
|
/* 02501188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t293);
|
|
/* 0250118C */ cpu->ctr = cpu->r[0];
|
|
/* 02501190 */ cpu->r[3] = cpu->r[27];
|
|
/* 02501194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501198 */ _t294 = cpu->r[27] + 0x00000000u;
|
|
/* 02501198 */ cpu->r[8] = rbrew_read32(cpu->mem, _t294);
|
|
/* 0250119C */ _t295 = cpu->r[8] + 0x00000000u;
|
|
/* 0250119C */ cpu->r[4] = rbrew_read8(cpu->mem, _t295);
|
|
/* 025011A0 */ cpu->r[30] = 0x00000000u;
|
|
/* 025011A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 025011A8 */ cpu->r[9] = 0x00080000u;
|
|
/* 025011AC */ _t296 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025011AC */ _t297 = _t296 & 0x00000001u;
|
|
/* 025011AC */ if (_t297) goto L_025011E8; else goto L_025011B0;
|
|
L_025011B0: ; // 0x25011b0
|
|
/* 025011B0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 025011B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 025011B8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 025011BC */ _t298 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025011BC */ _t299 = _t298 & 0x00000001u;
|
|
/* 025011BC */ if (_t299) goto L_025011E4; else goto L_025011C0;
|
|
L_025011C0: ; // 0x25011c0
|
|
/* 025011C0 */ _t300 = cpu->r[8] + 0x00000000u;
|
|
/* 025011C0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t300);
|
|
/* 025011C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 025011C8 */ _t301 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025011C8 */ _t302 = _t301 & 0x00000001u;
|
|
/* 025011C8 */ if (_t302) goto L_025011CC; else goto L_025011B0;
|
|
L_025011CC: ; // 0x25011cc
|
|
/* 025011CC */ _t303 = cpu->r[26] + 0x00000114u;
|
|
/* 025011CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t303);
|
|
/* 025011D0 */ _t304 = cpu->r[27] + 0x00000004u;
|
|
/* 025011D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t304);
|
|
/* 025011D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 025011D8 */ _t305 = cpu->r[6] + 0x00000014u;
|
|
/* 025011D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t305);
|
|
/* 025011DC */ _t306 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025011DC */ _t307 = _t306 & 0x00000001u;
|
|
/* 025011DC */ if (_t307) goto L_02501200; else goto L_025011E0;
|
|
L_025011E0: ; // 0x25011e0
|
|
/* 025011E0 */ goto L_025011FC;
|
|
L_025011E4: ; // 0x25011e4
|
|
/* 025011E4 */ cpu->r[30] = 0x00000000u;
|
|
L_025011E8: ; // 0x25011e8
|
|
/* 025011E8 */ _t308 = cpu->r[26] + 0x00000114u;
|
|
/* 025011E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t308);
|
|
/* 025011EC */ _t309 = cpu->r[27] + 0x00000004u;
|
|
/* 025011EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t309);
|
|
/* 025011F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 025011F4 */ _t310 = cpu->r[6] + 0x00000014u;
|
|
/* 025011F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t310);
|
|
/* 025011F8 */ _t311 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025011F8 */ _t312 = _t311 & 0x00000001u;
|
|
/* 025011F8 */ if (_t312) goto L_02501200; else goto L_025011FC;
|
|
L_025011FC: ; // 0x25011fc
|
|
/* 025011FC */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02501200: ; // 0x2501200
|
|
/* 02501200 */ cpu->ctr = cpu->r[7];
|
|
/* 02501204 */ cpu->r[3] = cpu->r[27];
|
|
/* 02501208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250120C */ _t313 = cpu->r[27] + 0x00000000u;
|
|
/* 0250120C */ cpu->r[4] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02501210 */ cpu->r[6] = 0x00000000u;
|
|
/* 02501214 */ cpu->r[5] = cpu->r[30];
|
|
/* 02501218 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250121C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02501220 */ _t314 = cpu->r[29] + cpu->r[30];
|
|
/* 02501220 */ rbrew_write8(cpu->mem, _t314, (uint8_t)cpu->r[31]);
|
|
/* 02501224 */ _t315 = cpu->r[27] + 0x00000004u;
|
|
/* 02501224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02501228 */ _t316 = cpu->r[8] + 0x00000014u;
|
|
/* 02501228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t316);
|
|
/* 0250122C */ cpu->ctr = cpu->r[9];
|
|
/* 02501230 */ _t317 = cpu->r[26] + 0x00000218u;
|
|
/* 02501230 */ cpu->r[29] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02501234 */ cpu->r[3] = cpu->r[27];
|
|
/* 02501238 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250123C */ _t318 = cpu->r[27] + 0x00000000u;
|
|
/* 0250123C */ cpu->r[6] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02501240 */ _t319 = cpu->r[6] + 0x00000000u;
|
|
/* 02501240 */ cpu->r[10] = rbrew_read8(cpu->mem, _t319);
|
|
/* 02501244 */ cpu->r[30] = 0x00000000u;
|
|
/* 02501248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0250124C */ cpu->r[7] = 0x00080000u;
|
|
/* 02501250 */ _t320 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501250 */ _t321 = _t320 & 0x00000001u;
|
|
/* 02501250 */ if (_t321) goto L_0250128C; else goto L_02501254;
|
|
L_02501254: ; // 0x2501254
|
|
/* 02501254 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02501258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0250125C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02501260 */ _t322 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501260 */ _t323 = _t322 & 0x00000001u;
|
|
/* 02501260 */ if (_t323) goto L_02501288; else goto L_02501264;
|
|
L_02501264: ; // 0x2501264
|
|
/* 02501264 */ _t324 = cpu->r[6] + 0x00000000u;
|
|
/* 02501264 */ cpu->r[11] = rbrew_read8(cpu->mem, _t324);
|
|
/* 02501268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0250126C */ _t325 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250126C */ _t326 = _t325 & 0x00000001u;
|
|
/* 0250126C */ if (_t326) goto L_02501270; else goto L_02501254;
|
|
L_02501270: ; // 0x2501270
|
|
/* 02501270 */ _t327 = cpu->r[26] + 0x00000220u;
|
|
/* 02501270 */ cpu->r[6] = rbrew_read32(cpu->mem, _t327);
|
|
/* 02501274 */ _t328 = cpu->r[27] + 0x00000004u;
|
|
/* 02501274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t328);
|
|
/* 02501278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0250127C */ _t329 = cpu->r[12] + 0x00000014u;
|
|
/* 0250127C */ cpu->r[0] = rbrew_read32(cpu->mem, _t329);
|
|
/* 02501280 */ _t330 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501280 */ _t331 = _t330 & 0x00000001u;
|
|
/* 02501280 */ if (_t331) goto L_025012A4; else goto L_02501284;
|
|
L_02501284: ; // 0x2501284
|
|
/* 02501284 */ goto L_025012A0;
|
|
L_02501288: ; // 0x2501288
|
|
/* 02501288 */ cpu->r[30] = 0x00000000u;
|
|
L_0250128C: ; // 0x250128c
|
|
/* 0250128C */ _t332 = cpu->r[26] + 0x00000220u;
|
|
/* 0250128C */ cpu->r[6] = rbrew_read32(cpu->mem, _t332);
|
|
/* 02501290 */ _t333 = cpu->r[27] + 0x00000004u;
|
|
/* 02501290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t333);
|
|
/* 02501294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02501298 */ _t334 = cpu->r[12] + 0x00000014u;
|
|
/* 02501298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t334);
|
|
/* 0250129C */ _t335 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250129C */ _t336 = _t335 & 0x00000001u;
|
|
/* 0250129C */ if (_t336) goto L_025012A4; else goto L_025012A0;
|
|
L_025012A0: ; // 0x25012a0
|
|
/* 025012A0 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_025012A4: ; // 0x25012a4
|
|
/* 025012A4 */ cpu->ctr = cpu->r[0];
|
|
/* 025012A8 */ cpu->r[3] = cpu->r[27];
|
|
/* 025012AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025012B0 */ _t337 = cpu->r[27] + 0x00000000u;
|
|
/* 025012B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t337);
|
|
/* 025012B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025012B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 025012BC */ cpu->r[3] = cpu->r[29];
|
|
/* 025012C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025012C4 */ _t338 = cpu->r[29] + cpu->r[30];
|
|
/* 025012C4 */ rbrew_write8(cpu->mem, _t338, (uint8_t)cpu->r[31]);
|
|
/* 025012C8 */ /* nop */
|
|
/* 025012CC */ _t339 = cpu->r[1] + 0x00000044u;
|
|
/* 025012CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t339);
|
|
/* 025012D0 */ cpu->lr = cpu->r[0];
|
|
/* 025012D4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 025012D8 */ return;
|
|
L_025012DC: ; // 0x25012dc
|
|
/* 025012DC */ _t340 = cpu->r[26] + 0x00000110u;
|
|
/* 025012DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t340);
|
|
/* 025012E0 */ _t341 = cpu->r[4] + 0x00000014u;
|
|
/* 025012E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t341);
|
|
/* 025012E4 */ cpu->ctr = cpu->r[5];
|
|
/* 025012E8 */ cpu->r[3] = cpu->r[26] + 0x0000010Cu;
|
|
/* 025012EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025012F0 */ _t342 = cpu->r[26] + 0x0000010Cu;
|
|
/* 025012F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t342);
|
|
/* 025012F4 */ _t343 = cpu->r[4] + 0x00000000u;
|
|
/* 025012F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t343);
|
|
/* 025012F8 */ cpu->r[30] = 0x00000000u;
|
|
/* 025012FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02501300 */ cpu->r[5] = 0x00080000u;
|
|
/* 02501304 */ _t344 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501304 */ _t345 = _t344 & 0x00000001u;
|
|
/* 02501304 */ if (_t345) goto L_02501334; else goto L_02501308;
|
|
L_02501308: ; // 0x2501308
|
|
/* 02501308 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0250130C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02501310 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02501314 */ _t346 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501314 */ _t347 = _t346 & 0x00000001u;
|
|
/* 02501314 */ if (_t347) goto L_02501330; else goto L_02501318;
|
|
L_02501318: ; // 0x2501318
|
|
/* 02501318 */ _t348 = cpu->r[4] + 0x00000000u;
|
|
/* 02501318 */ cpu->r[7] = rbrew_read8(cpu->mem, _t348);
|
|
/* 0250131C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02501320 */ _t349 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501320 */ _t350 = _t349 & 0x00000001u;
|
|
/* 02501320 */ if (_t350) goto L_02501324; else goto L_02501308;
|
|
L_02501324: ; // 0x2501324
|
|
/* 02501324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501328 */ _t351 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501328 */ _t352 = _t351 & 0x00000001u;
|
|
/* 02501328 */ if (_t352) goto L_0250133C; else goto L_0250132C;
|
|
L_0250132C: ; // 0x250132c
|
|
/* 0250132C */ goto L_02501398;
|
|
L_02501330: ; // 0x2501330
|
|
/* 02501330 */ cpu->r[30] = 0x00000000u;
|
|
L_02501334: ; // 0x2501334
|
|
/* 02501334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501338 */ _t353 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501338 */ _t354 = _t353 & 0x00000001u;
|
|
/* 02501338 */ if (_t354) goto L_0250133C; else goto L_02501398;
|
|
L_0250133C: ; // 0x250133c
|
|
/* 0250133C */ _t355 = cpu->r[27] + 0x00000004u;
|
|
/* 0250133C */ cpu->r[8] = rbrew_read32(cpu->mem, _t355);
|
|
/* 02501340 */ _t356 = cpu->r[8] + 0x00000014u;
|
|
/* 02501340 */ cpu->r[9] = rbrew_read32(cpu->mem, _t356);
|
|
/* 02501344 */ cpu->ctr = cpu->r[9];
|
|
/* 02501348 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250134C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501350 */ _t357 = cpu->r[27] + 0x00000000u;
|
|
/* 02501350 */ cpu->r[12] = rbrew_read32(cpu->mem, _t357);
|
|
/* 02501354 */ _t358 = cpu->r[12] + 0x00000000u;
|
|
/* 02501354 */ cpu->r[0] = rbrew_read8(cpu->mem, _t358);
|
|
/* 02501358 */ cpu->r[28] = 0x00000000u;
|
|
/* 0250135C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02501360 */ cpu->r[0] = 0x00080000u;
|
|
/* 02501364 */ _t359 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501364 */ _t360 = _t359 & 0x00000001u;
|
|
/* 02501364 */ if (_t360) goto L_02501398; else goto L_02501368;
|
|
L_02501368: ; // 0x2501368
|
|
/* 02501368 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0250136C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02501370 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02501374 */ _t361 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501374 */ _t362 = _t361 & 0x00000001u;
|
|
/* 02501374 */ if (_t362) goto L_02501394; else goto L_02501378;
|
|
L_02501378: ; // 0x2501378
|
|
/* 02501378 */ _t363 = cpu->r[12] + 0x00000000u;
|
|
/* 02501378 */ cpu->r[11] = rbrew_read8(cpu->mem, _t363);
|
|
/* 0250137C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02501380 */ _t364 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501380 */ _t365 = _t364 & 0x00000001u;
|
|
/* 02501380 */ if (_t365) goto L_02501384; else goto L_02501368;
|
|
L_02501384: ; // 0x2501384
|
|
/* 02501384 */ _t366 = cpu->r[26] + 0x00000114u;
|
|
/* 02501384 */ cpu->r[5] = rbrew_read32(cpu->mem, _t366);
|
|
/* 02501388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 0250138C */ _t367 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250138C */ _t368 = _t367 & 0x00000001u;
|
|
/* 0250138C */ if (_t368) goto L_02501390; else goto L_025013A4;
|
|
L_02501390: ; // 0x2501390
|
|
/* 02501390 */ goto L_025013A8;
|
|
L_02501394: ; // 0x2501394
|
|
/* 02501394 */ cpu->r[28] = 0x00000000u;
|
|
L_02501398: ; // 0x2501398
|
|
/* 02501398 */ _t369 = cpu->r[26] + 0x00000114u;
|
|
/* 02501398 */ cpu->r[5] = rbrew_read32(cpu->mem, _t369);
|
|
/* 0250139C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 025013A0 */ _t370 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025013A0 */ _t371 = _t370 & 0x00000001u;
|
|
/* 025013A0 */ if (_t371) goto L_025013A8; else goto L_025013A4;
|
|
L_025013A4: ; // 0x25013a4
|
|
/* 025013A4 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_025013A8: ; // 0x25013a8
|
|
/* 025013A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025013AC */ _t372 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025013AC */ _t373 = _t372 & 0x00000001u;
|
|
/* 025013AC */ if (_t373) goto L_025013B0; else goto L_025013E4;
|
|
L_025013B0: ; // 0x25013b0
|
|
/* 025013B0 */ _t374 = cpu->r[27] + 0x00000004u;
|
|
/* 025013B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t374);
|
|
/* 025013B4 */ _t375 = cpu->r[4] + 0x00000014u;
|
|
/* 025013B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t375);
|
|
/* 025013B8 */ cpu->ctr = cpu->r[5];
|
|
/* 025013BC */ cpu->r[3] = cpu->r[27];
|
|
/* 025013C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025013C4 */ _t376 = cpu->r[27] + 0x00000000u;
|
|
/* 025013C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t376);
|
|
/* 025013C8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025013CC */ cpu->r[5] = cpu->r[28];
|
|
/* 025013D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 025013D4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025013D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[30]);
|
|
/* 025013DC */ _t377 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025013DC */ _t378 = _t377 & 0x00000001u;
|
|
/* 025013DC */ if (_t378) goto L_025013E0; else goto L_025013E4;
|
|
L_025013E0: ; // 0x25013e0
|
|
/* 025013E0 */ _t379 = cpu->r[29] + cpu->r[28];
|
|
/* 025013E0 */ rbrew_write8(cpu->mem, _t379, (uint8_t)cpu->r[31]);
|
|
L_025013E4: ; // 0x25013e4
|
|
/* 025013E4 */ _t380 = cpu->r[27] + 0x00000004u;
|
|
/* 025013E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t380);
|
|
/* 025013E8 */ _t381 = cpu->r[6] + 0x00000014u;
|
|
/* 025013E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t381);
|
|
/* 025013EC */ cpu->ctr = cpu->r[7];
|
|
/* 025013F0 */ _t382 = cpu->r[26] + 0x00000218u;
|
|
/* 025013F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t382);
|
|
/* 025013F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 025013F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025013FC */ _t383 = cpu->r[27] + 0x00000000u;
|
|
/* 025013FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t383);
|
|
/* 02501400 */ _t384 = cpu->r[10] + 0x00000000u;
|
|
/* 02501400 */ cpu->r[8] = rbrew_read8(cpu->mem, _t384);
|
|
/* 02501404 */ cpu->r[30] = 0x00000000u;
|
|
/* 02501408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0250140C */ cpu->r[11] = 0x00080000u;
|
|
/* 02501410 */ _t385 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501410 */ _t386 = _t385 & 0x00000001u;
|
|
/* 02501410 */ if (_t386) goto L_0250144C; else goto L_02501414;
|
|
L_02501414: ; // 0x2501414
|
|
/* 02501414 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02501418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0250141C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02501420 */ _t387 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501420 */ _t388 = _t387 & 0x00000001u;
|
|
/* 02501420 */ if (_t388) goto L_02501448; else goto L_02501424;
|
|
L_02501424: ; // 0x2501424
|
|
/* 02501424 */ _t389 = cpu->r[10] + 0x00000000u;
|
|
/* 02501424 */ cpu->r[9] = rbrew_read8(cpu->mem, _t389);
|
|
/* 02501428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0250142C */ _t390 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250142C */ _t391 = _t390 & 0x00000001u;
|
|
/* 0250142C */ if (_t391) goto L_02501430; else goto L_02501414;
|
|
L_02501430: ; // 0x2501430
|
|
/* 02501430 */ _t392 = cpu->r[26] + 0x00000220u;
|
|
/* 02501430 */ cpu->r[6] = rbrew_read32(cpu->mem, _t392);
|
|
/* 02501434 */ _t393 = cpu->r[27] + 0x00000004u;
|
|
/* 02501434 */ cpu->r[10] = rbrew_read32(cpu->mem, _t393);
|
|
/* 02501438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0250143C */ _t394 = cpu->r[10] + 0x00000014u;
|
|
/* 0250143C */ cpu->r[11] = rbrew_read32(cpu->mem, _t394);
|
|
/* 02501440 */ _t395 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501440 */ _t396 = _t395 & 0x00000001u;
|
|
/* 02501440 */ if (_t396) goto L_02501464; else goto L_02501444;
|
|
L_02501444: ; // 0x2501444
|
|
/* 02501444 */ goto L_02501460;
|
|
L_02501448: ; // 0x2501448
|
|
/* 02501448 */ cpu->r[30] = 0x00000000u;
|
|
L_0250144C: ; // 0x250144c
|
|
/* 0250144C */ _t397 = cpu->r[26] + 0x00000220u;
|
|
/* 0250144C */ cpu->r[6] = rbrew_read32(cpu->mem, _t397);
|
|
/* 02501450 */ _t398 = cpu->r[27] + 0x00000004u;
|
|
/* 02501450 */ cpu->r[10] = rbrew_read32(cpu->mem, _t398);
|
|
/* 02501454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02501458 */ _t399 = cpu->r[10] + 0x00000014u;
|
|
/* 02501458 */ cpu->r[11] = rbrew_read32(cpu->mem, _t399);
|
|
/* 0250145C */ _t400 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250145C */ _t401 = _t400 & 0x00000001u;
|
|
/* 0250145C */ if (_t401) goto L_02501464; else goto L_02501460;
|
|
L_02501460: ; // 0x2501460
|
|
/* 02501460 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02501464: ; // 0x2501464
|
|
/* 02501464 */ cpu->ctr = cpu->r[11];
|
|
/* 02501468 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250146C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501470 */ _t402 = cpu->r[27] + 0x00000000u;
|
|
/* 02501470 */ cpu->r[4] = rbrew_read32(cpu->mem, _t402);
|
|
/* 02501474 */ cpu->r[6] = 0x00000000u;
|
|
/* 02501478 */ cpu->r[5] = cpu->r[30];
|
|
/* 0250147C */ cpu->r[3] = cpu->r[29];
|
|
/* 02501480 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02501484 */ _t403 = cpu->r[29] + cpu->r[30];
|
|
/* 02501484 */ rbrew_write8(cpu->mem, _t403, (uint8_t)cpu->r[31]);
|
|
/* 02501488 */ /* nop */
|
|
/* 0250148C */ _t404 = cpu->r[1] + 0x00000044u;
|
|
/* 0250148C */ cpu->r[0] = rbrew_read32(cpu->mem, _t404);
|
|
/* 02501490 */ cpu->lr = cpu->r[0];
|
|
/* 02501494 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02501498 */ return;
|
|
}
|
|
|
|
// fn_02500A20 @ 0x2500a20
|
|
void Gambit_fn_02500A20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404;
|
|
|
|
L_02500A20: ; // 0x2500a20
|
|
/* 02500A20 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02500A20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02500A20 */ cpu->r[1] = _t0;
|
|
/* 02500A24 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02500A24 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02500A28 */ /* nop */
|
|
/* 02500A2C */ cpu->r[26] = cpu->r[3];
|
|
/* 02500A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02500A30 */ cpu->r[31] = 0x10110000u;
|
|
/* 02500A34 */ cpu->r[27] = cpu->r[4];
|
|
/* 02500A38 */ cpu->r[23] = cpu->r[26];
|
|
/* 02500A3C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A3C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02500A3C */ if (_t3) goto L_02500A40; else goto L_02500A6C;
|
|
L_02500A40: ; // 0x2500a40
|
|
/* 02500A40 */ cpu->r[3] = 0x00000324u;
|
|
/* 02500A44 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500A48 */ cpu->r[23] = cpu->r[3];
|
|
/* 02500A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02500A4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02500A4C */ if (_t5) goto L_02500A50; else goto L_02500A6C;
|
|
L_02500A50: ; // 0x2500a50
|
|
/* 02500A50 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02500A54 */ cpu->r[29] = cpu->r[29] + 0xFFFF93FCu;
|
|
/* 02500A58 */ cpu->r[25] = cpu->r[29] + 0x00000020u;
|
|
/* 02500A5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02500A60 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02500A60 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02500A64 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A64 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02500A64 */ if (_t8) goto L_02500DEC; else goto L_02500A68;
|
|
L_02500A68: ; // 0x2500a68
|
|
/* 02500A68 */ goto L_02500C28;
|
|
L_02500A6C: ; // 0x2500a6c
|
|
/* 02500A6C */ cpu->r[29] = 0x100C0000u;
|
|
/* 02500A70 */ cpu->r[28] = 0x100C0000u;
|
|
/* 02500A74 */ cpu->r[30] = 0x100C0000u;
|
|
/* 02500A78 */ cpu->r[24] = cpu->r[23];
|
|
/* 02500A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500A7C */ cpu->r[28] = cpu->r[28] + 0xFFFFD7D4u;
|
|
/* 02500A80 */ cpu->r[29] = cpu->r[29] + 0xFFFFD7BCu;
|
|
/* 02500A84 */ cpu->r[30] = cpu->r[30] + 0xFFFFD7A4u;
|
|
/* 02500A88 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A88 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02500A88 */ if (_t10) goto L_02500A8C; else goto L_02500AAC;
|
|
L_02500A8C: ; // 0x2500a8c
|
|
/* 02500A8C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500A90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500A94 */ cpu->r[24] = cpu->r[3];
|
|
/* 02500A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500A98 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500A98 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02500A98 */ if (_t12) goto L_02500A9C; else goto L_02500AAC;
|
|
L_02500A9C: ; // 0x2500a9c
|
|
/* 02500A9C */ cpu->r[24] = cpu->r[23] + 0x0000010Cu;
|
|
/* 02500A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500AA0 */ _t13 = cpu->r[31] + 0x00007399u;
|
|
/* 02500AA0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02500AA4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AA4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02500AA4 */ if (_t15) goto L_02500B3C; else goto L_02500AA8;
|
|
L_02500AA8: ; // 0x2500aa8
|
|
/* 02500AA8 */ goto L_02500B4C;
|
|
L_02500AAC: ; // 0x2500aac
|
|
/* 02500AAC */ cpu->r[25] = cpu->r[24];
|
|
/* 02500AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500AB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02500AB0 */ if (_t17) goto L_02500AB4; else goto L_02500AD8;
|
|
L_02500AB4: ; // 0x2500ab4
|
|
/* 02500AB4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500AB8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500ABC */ cpu->r[25] = cpu->r[3];
|
|
/* 02500ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500AC0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AC0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02500AC0 */ if (_t19) goto L_02500AC4; else goto L_02500AD8;
|
|
L_02500AC4: ; // 0x2500ac4
|
|
/* 02500AC4 */ _t20 = cpu->r[31] + 0x00007399u;
|
|
/* 02500AC4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02500AC8 */ _t21 = cpu->r[24] + 0x00000004u;
|
|
/* 02500AC8 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02500ACC */ cpu->r[24] = cpu->r[23] + 0x0000010Cu;
|
|
/* 02500ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500AD0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AD0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02500AD0 */ if (_t23) goto L_02500B3C; else goto L_02500AD4;
|
|
L_02500AD4: ; // 0x2500ad4
|
|
/* 02500AD4 */ goto L_02500B4C;
|
|
L_02500AD8: ; // 0x2500ad8
|
|
/* 02500AD8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02500AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500ADC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500ADC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02500ADC */ if (_t25) goto L_02500AE0; else goto L_02500B08;
|
|
L_02500AE0: ; // 0x2500ae0
|
|
/* 02500AE0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02500AE4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500AEC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500AEC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02500AEC */ if (_t27) goto L_02500AF0; else goto L_02500B08;
|
|
L_02500AF0: ; // 0x2500af0
|
|
/* 02500AF0 */ _t28 = cpu->r[25] + 0x00000000u;
|
|
/* 02500AF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02500AF4 */ _t29 = cpu->r[31] + 0x00007399u;
|
|
/* 02500AF4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02500AF8 */ _t30 = cpu->r[25] + 0x00000004u;
|
|
/* 02500AF8 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02500AFC */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 02500AFC */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 02500B00 */ _t32 = cpu->r[24] + 0x00000004u;
|
|
/* 02500B00 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 02500B04 */ goto L_02500B34;
|
|
L_02500B08: ; // 0x2500b08
|
|
/* 02500B08 */ cpu->r[9] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02500B0C */ _t33 = cpu->r[3] + 0x00000004u;
|
|
/* 02500B0C */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 02500B10 */ cpu->r[0] = 0x00000100u;
|
|
/* 02500B14 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02500B14 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02500B18 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 02500B18 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02500B1C */ _t36 = cpu->r[31] + 0x00007399u;
|
|
/* 02500B1C */ cpu->r[31] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02500B20 */ _t37 = cpu->r[25] + 0x00000004u;
|
|
/* 02500B20 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 02500B24 */ _t38 = cpu->r[25] + 0x00000000u;
|
|
/* 02500B24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02500B28 */ _t39 = cpu->r[25] + 0x0000010Bu;
|
|
/* 02500B28 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[31]);
|
|
/* 02500B2C */ _t40 = cpu->r[12] + 0x00000000u;
|
|
/* 02500B2C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
|
|
/* 02500B30 */ _t41 = cpu->r[24] + 0x00000004u;
|
|
/* 02500B30 */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
L_02500B34: ; // 0x2500b34
|
|
/* 02500B34 */ cpu->r[24] = cpu->r[23] + 0x0000010Cu;
|
|
/* 02500B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500B38 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B38 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02500B38 */ if (_t43) goto L_02500B3C; else goto L_02500B4C;
|
|
L_02500B3C: ; // 0x2500b3c
|
|
/* 02500B3C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500B40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500B44 */ cpu->r[24] = cpu->r[3];
|
|
/* 02500B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500B48 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B48 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02500B48 */ if (_t45) goto L_02500BA4; else goto L_02500B4C;
|
|
L_02500B4C: ; // 0x2500b4c
|
|
/* 02500B4C */ cpu->r[25] = cpu->r[24];
|
|
/* 02500B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500B50 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B50 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02500B50 */ if (_t47) goto L_02500B54; else goto L_02500B64;
|
|
L_02500B54: ; // 0x2500b54
|
|
/* 02500B54 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500B58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500B5C */ cpu->r[25] = cpu->r[3];
|
|
/* 02500B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500B60 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B60 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02500B60 */ if (_t49) goto L_02500BA0; else goto L_02500B64;
|
|
L_02500B64: ; // 0x2500b64
|
|
/* 02500B64 */ cpu->r[3] = cpu->r[25];
|
|
/* 02500B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500B68 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B68 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02500B68 */ if (_t51) goto L_02500B6C; else goto L_02500B7C;
|
|
L_02500B6C: ; // 0x2500b6c
|
|
/* 02500B6C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02500B70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500B78 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500B78 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02500B78 */ if (_t53) goto L_02500B94; else goto L_02500B7C;
|
|
L_02500B7C: ; // 0x2500b7c
|
|
/* 02500B7C */ cpu->r[4] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02500B80 */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 02500B80 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 02500B84 */ cpu->r[5] = 0x00000100u;
|
|
/* 02500B88 */ _t55 = cpu->r[3] + 0x00000000u;
|
|
/* 02500B88 */ rbrew_write32(cpu->mem, _t55, cpu->r[4]);
|
|
/* 02500B8C */ _t56 = cpu->r[3] + 0x00000008u;
|
|
/* 02500B8C */ rbrew_write32(cpu->mem, _t56, cpu->r[5]);
|
|
/* 02500B90 */ _t57 = cpu->r[25] + 0x0000010Bu;
|
|
/* 02500B90 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[31]);
|
|
L_02500B94: ; // 0x2500b94
|
|
/* 02500B94 */ _t58 = cpu->r[25] + 0x00000000u;
|
|
/* 02500B94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02500B98 */ _t59 = cpu->r[25] + 0x00000004u;
|
|
/* 02500B98 */ rbrew_write32(cpu->mem, _t59, cpu->r[29]);
|
|
/* 02500B9C */ _t60 = cpu->r[6] + 0x00000000u;
|
|
/* 02500B9C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[31]);
|
|
L_02500BA0: ; // 0x2500ba0
|
|
/* 02500BA0 */ _t61 = cpu->r[24] + 0x00000004u;
|
|
/* 02500BA0 */ rbrew_write32(cpu->mem, _t61, cpu->r[28]);
|
|
L_02500BA4: ; // 0x2500ba4
|
|
/* 02500BA4 */ cpu->r[24] = cpu->r[23] + 0x00000218u;
|
|
/* 02500BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500BA8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BA8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02500BA8 */ if (_t63) goto L_02500BAC; else goto L_02500BBC;
|
|
L_02500BAC: ; // 0x2500bac
|
|
/* 02500BAC */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500BB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500BB4 */ cpu->r[24] = cpu->r[3];
|
|
/* 02500BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02500BB8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BB8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02500BB8 */ if (_t65) goto L_02500C14; else goto L_02500BBC;
|
|
L_02500BBC: ; // 0x2500bbc
|
|
/* 02500BBC */ cpu->r[25] = cpu->r[24];
|
|
/* 02500BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500BC0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BC0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02500BC0 */ if (_t67) goto L_02500BC4; else goto L_02500BD4;
|
|
L_02500BC4: ; // 0x2500bc4
|
|
/* 02500BC4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02500BC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500BCC */ cpu->r[25] = cpu->r[3];
|
|
/* 02500BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02500BD0 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BD0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02500BD0 */ if (_t69) goto L_02500C10; else goto L_02500BD4;
|
|
L_02500BD4: ; // 0x2500bd4
|
|
/* 02500BD4 */ cpu->r[3] = cpu->r[25];
|
|
/* 02500BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500BD8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BD8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02500BD8 */ if (_t71) goto L_02500BDC; else goto L_02500BEC;
|
|
L_02500BDC: ; // 0x2500bdc
|
|
/* 02500BDC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02500BE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02500BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02500BE8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500BE8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02500BE8 */ if (_t73) goto L_02500C04; else goto L_02500BEC;
|
|
L_02500BEC: ; // 0x2500bec
|
|
/* 02500BEC */ cpu->r[7] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02500BF0 */ _t74 = cpu->r[3] + 0x00000004u;
|
|
/* 02500BF0 */ rbrew_write32(cpu->mem, _t74, cpu->r[30]);
|
|
/* 02500BF4 */ cpu->r[8] = 0x00000100u;
|
|
/* 02500BF8 */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 02500BF8 */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 02500BFC */ _t76 = cpu->r[3] + 0x00000008u;
|
|
/* 02500BFC */ rbrew_write32(cpu->mem, _t76, cpu->r[8]);
|
|
/* 02500C00 */ _t77 = cpu->r[25] + 0x0000010Bu;
|
|
/* 02500C00 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[31]);
|
|
L_02500C04: ; // 0x2500c04
|
|
/* 02500C04 */ _t78 = cpu->r[25] + 0x00000000u;
|
|
/* 02500C04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02500C08 */ _t79 = cpu->r[25] + 0x00000004u;
|
|
/* 02500C08 */ rbrew_write32(cpu->mem, _t79, cpu->r[29]);
|
|
/* 02500C0C */ _t80 = cpu->r[9] + 0x00000000u;
|
|
/* 02500C0C */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[31]);
|
|
L_02500C10: ; // 0x2500c10
|
|
/* 02500C10 */ _t81 = cpu->r[24] + 0x00000004u;
|
|
/* 02500C10 */ rbrew_write32(cpu->mem, _t81, cpu->r[28]);
|
|
L_02500C14: ; // 0x2500c14
|
|
/* 02500C14 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02500C18 */ cpu->r[29] = cpu->r[29] + 0xFFFF93FCu;
|
|
/* 02500C1C */ cpu->r[25] = cpu->r[29] + 0x00000020u;
|
|
/* 02500C20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02500C24 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500C24 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02500C24 */ if (_t83) goto L_02500DEC; else goto L_02500C28;
|
|
L_02500C28: ; // 0x2500c28
|
|
/* 02500C28 */ cpu->r[28] = cpu->r[31];
|
|
L_02500C2C: ; // 0x2500c2c
|
|
/* 02500C2C */ _t84 = cpu->r[26] + 0x00000004u;
|
|
/* 02500C2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02500C30 */ _t85 = cpu->r[10] + 0x00000014u;
|
|
/* 02500C30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02500C34 */ cpu->ctr = cpu->r[11];
|
|
/* 02500C38 */ cpu->r[3] = cpu->r[26];
|
|
/* 02500C3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500C40 */ _t86 = cpu->r[26] + 0x00000000u;
|
|
/* 02500C40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02500C44 */ _t87 = cpu->r[11] + 0x00000000u;
|
|
/* 02500C44 */ cpu->r[12] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02500C48 */ cpu->r[30] = 0x00000000u;
|
|
/* 02500C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 02500C50 */ cpu->r[4] = 0x00080000u;
|
|
/* 02500C54 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500C54 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02500C54 */ if (_t89) goto L_02500CA8; else goto L_02500C58;
|
|
L_02500C58: ; // 0x2500c58
|
|
/* 02500C58 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02500C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 02500C60 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02500C64 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500C64 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02500C64 */ if (_t91) goto L_02500CA4; else goto L_02500C68;
|
|
L_02500C68: ; // 0x2500c68
|
|
/* 02500C68 */ _t92 = cpu->r[11] + 0x00000000u;
|
|
/* 02500C68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02500C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02500C70 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500C70 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02500C70 */ if (_t94) goto L_02500C74; else goto L_02500C58;
|
|
L_02500C74: ; // 0x2500c74
|
|
/* 02500C74 */ _t95 = cpu->r[29] + 0x00000004u;
|
|
/* 02500C74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02500C78 */ _t96 = cpu->r[5] + 0x00000014u;
|
|
/* 02500C78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02500C7C */ cpu->ctr = cpu->r[6];
|
|
/* 02500C80 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500C84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500C88 */ _t97 = cpu->r[29] + 0x00000000u;
|
|
/* 02500C88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02500C8C */ _t98 = cpu->r[9] + 0x00000000u;
|
|
/* 02500C8C */ cpu->r[7] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02500C90 */ cpu->r[12] = 0x00000000u;
|
|
/* 02500C94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 02500C98 */ cpu->r[0] = 0x00080000u;
|
|
/* 02500C9C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500C9C */ _t100 = _t99 & 0x00000001u;
|
|
/* 02500C9C */ if (_t100) goto L_02500CA0; else goto L_02500CD4;
|
|
L_02500CA0: ; // 0x2500ca0
|
|
/* 02500CA0 */ goto L_02500D00;
|
|
L_02500CA4: ; // 0x2500ca4
|
|
/* 02500CA4 */ cpu->r[30] = 0x00000000u;
|
|
L_02500CA8: ; // 0x2500ca8
|
|
/* 02500CA8 */ _t101 = cpu->r[29] + 0x00000004u;
|
|
/* 02500CA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02500CAC */ _t102 = cpu->r[5] + 0x00000014u;
|
|
/* 02500CAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02500CB0 */ cpu->ctr = cpu->r[6];
|
|
/* 02500CB4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500CB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500CBC */ _t103 = cpu->r[29] + 0x00000000u;
|
|
/* 02500CBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02500CC0 */ _t104 = cpu->r[9] + 0x00000000u;
|
|
/* 02500CC0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02500CC4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02500CC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 02500CCC */ cpu->r[0] = 0x00080000u;
|
|
/* 02500CD0 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500CD0 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02500CD0 */ if (_t106) goto L_02500D00; else goto L_02500CD4;
|
|
L_02500CD4: ; // 0x2500cd4
|
|
/* 02500CD4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02500CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02500CDC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02500CE0 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500CE0 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02500CE0 */ if (_t108) goto L_02500CFC; else goto L_02500CE4;
|
|
L_02500CE4: ; // 0x2500ce4
|
|
/* 02500CE4 */ _t109 = cpu->r[9] + 0x00000000u;
|
|
/* 02500CE4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t109);
|
|
/* 02500CE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[28]);
|
|
/* 02500CEC */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500CEC */ _t111 = _t110 & 0x00000001u;
|
|
/* 02500CEC */ if (_t111) goto L_02500CF0; else goto L_02500CD4;
|
|
L_02500CF0: ; // 0x2500cf0
|
|
/* 02500CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02500CF4 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500CF4 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02500CF4 */ if (_t113) goto L_02500CF8; else goto L_02500D08;
|
|
L_02500CF8: ; // 0x2500cf8
|
|
/* 02500CF8 */ goto L_02500DE0;
|
|
L_02500CFC: ; // 0x2500cfc
|
|
/* 02500CFC */ cpu->r[12] = 0x00000000u;
|
|
L_02500D00: ; // 0x2500d00
|
|
/* 02500D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02500D04 */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500D04 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02500D04 */ if (_t115) goto L_02500DE0; else goto L_02500D08;
|
|
L_02500D08: ; // 0x2500d08
|
|
/* 02500D08 */ _t116 = cpu->r[29] + 0x00000000u;
|
|
/* 02500D08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02500D0C */ _t117 = cpu->r[8] + 0x00000000u;
|
|
/* 02500D0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t117);
|
|
/* 02500D10 */ _t118 = cpu->r[27] + 0x00000000u;
|
|
/* 02500D10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02500D14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02500D18 */ cpu->r[10] = 0x00000000u;
|
|
/* 02500D1C */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D1C */ _t120 = _t119 & 0x00000001u;
|
|
/* 02500D1C */ if (_t120) goto L_02500D3C; else goto L_02500D20;
|
|
L_02500D20: ; // 0x2500d20
|
|
/* 02500D20 */ _t121 = cpu->r[7] + cpu->r[10];
|
|
/* 02500D20 */ cpu->r[9] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02500D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02500D28 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D28 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02500D28 */ if (_t123) goto L_02500D2C; else goto L_02500DE0;
|
|
L_02500D2C: ; // 0x2500d2c
|
|
/* 02500D2C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02500D30 */ _t124 = cpu->r[8] + cpu->r[10];
|
|
/* 02500D30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02500D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02500D38 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D38 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02500D38 */ if (_t126) goto L_02500D3C; else goto L_02500D20;
|
|
L_02500D3C: ; // 0x2500d3c
|
|
/* 02500D3C */ _t127 = cpu->r[29] + 0x00000004u;
|
|
/* 02500D3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02500D40 */ _t128 = cpu->r[10] + 0x00000014u;
|
|
/* 02500D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02500D44 */ cpu->ctr = cpu->r[0];
|
|
/* 02500D48 */ _t129 = cpu->r[26] + 0x00000000u;
|
|
/* 02500D48 */ cpu->r[24] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02500D4C */ cpu->r[3] = cpu->r[29];
|
|
/* 02500D50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500D54 */ _t130 = cpu->r[29] + 0x00000000u;
|
|
/* 02500D54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02500D58 */ _t131 = cpu->r[7] + 0x00000000u;
|
|
/* 02500D58 */ cpu->r[12] = rbrew_read8(cpu->mem, _t131);
|
|
/* 02500D5C */ cpu->r[30] = 0x00000000u;
|
|
/* 02500D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 02500D64 */ cpu->r[8] = 0x00080000u;
|
|
/* 02500D68 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D68 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02500D68 */ if (_t133) goto L_02500DA4; else goto L_02500D6C;
|
|
L_02500D6C: ; // 0x2500d6c
|
|
/* 02500D6C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02500D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02500D74 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02500D78 */ _t134 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500D78 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02500D78 */ if (_t135) goto L_02500DA0; else goto L_02500D7C;
|
|
L_02500D7C: ; // 0x2500d7c
|
|
/* 02500D7C */ _t136 = cpu->r[7] + 0x00000000u;
|
|
/* 02500D7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t136);
|
|
/* 02500D80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02500D84 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500D84 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02500D84 */ if (_t138) goto L_02500D88; else goto L_02500D6C;
|
|
L_02500D88: ; // 0x2500d88
|
|
/* 02500D88 */ _t139 = cpu->r[26] + 0x00000008u;
|
|
/* 02500D88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02500D8C */ _t140 = cpu->r[29] + 0x00000004u;
|
|
/* 02500D8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02500D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02500D94 */ _t141 = cpu->r[4] + 0x00000014u;
|
|
/* 02500D94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02500D98 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500D98 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02500D98 */ if (_t143) goto L_02500DBC; else goto L_02500D9C;
|
|
L_02500D9C: ; // 0x2500d9c
|
|
/* 02500D9C */ goto L_02500DB8;
|
|
L_02500DA0: ; // 0x2500da0
|
|
/* 02500DA0 */ cpu->r[30] = 0x00000000u;
|
|
L_02500DA4: ; // 0x2500da4
|
|
/* 02500DA4 */ _t144 = cpu->r[26] + 0x00000008u;
|
|
/* 02500DA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02500DA8 */ _t145 = cpu->r[29] + 0x00000004u;
|
|
/* 02500DA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02500DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02500DB0 */ _t146 = cpu->r[4] + 0x00000014u;
|
|
/* 02500DB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02500DB4 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500DB4 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02500DB4 */ if (_t148) goto L_02500DBC; else goto L_02500DB8;
|
|
L_02500DB8: ; // 0x2500db8
|
|
/* 02500DB8 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02500DBC: ; // 0x2500dbc
|
|
/* 02500DBC */ cpu->ctr = cpu->r[5];
|
|
/* 02500DC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500DC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500DC8 */ _t149 = cpu->r[29] + 0x00000000u;
|
|
/* 02500DC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02500DCC */ cpu->r[6] = 0x00000000u;
|
|
/* 02500DD0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02500DD4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02500DD8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02500DDC */ _t150 = cpu->r[24] + cpu->r[30];
|
|
/* 02500DDC */ rbrew_write8(cpu->mem, _t150, (uint8_t)cpu->r[28]);
|
|
L_02500DE0: ; // 0x2500de0
|
|
/* 02500DE0 */ cpu->r[29] = cpu->r[29] + 0x00000008u;
|
|
/* 02500DE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02500DE8 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500DE8 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02500DE8 */ if (_t152) goto L_02500DEC; else goto L_02500C2C;
|
|
L_02500DEC: ; // 0x2500dec
|
|
/* 02500DEC */ _t153 = cpu->r[26] + 0x00000000u;
|
|
/* 02500DEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02500DF0 */ _t154 = cpu->r[6] + 0x00000000u;
|
|
/* 02500DF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t154);
|
|
/* 02500DF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02500DF8 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500DF8 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02500DF8 */ if (_t156) goto L_02500DFC; else goto L_02500F58;
|
|
L_02500DFC: ; // 0x2500dfc
|
|
/* 02500DFC */ _t157 = cpu->r[27] + 0x00000004u;
|
|
/* 02500DFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02500E00 */ _t158 = cpu->r[8] + 0x00000014u;
|
|
/* 02500E00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02500E04 */ cpu->ctr = cpu->r[9];
|
|
/* 02500E08 */ _t159 = cpu->r[26] + 0x0000010Cu;
|
|
/* 02500E08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02500E0C */ cpu->r[3] = cpu->r[27];
|
|
/* 02500E10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500E14 */ _t160 = cpu->r[27] + 0x00000000u;
|
|
/* 02500E14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02500E18 */ _t161 = cpu->r[4] + 0x00000000u;
|
|
/* 02500E18 */ cpu->r[10] = rbrew_read8(cpu->mem, _t161);
|
|
/* 02500E1C */ cpu->r[30] = 0x00000000u;
|
|
/* 02500E20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02500E24 */ cpu->r[5] = 0x00080000u;
|
|
/* 02500E28 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500E28 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02500E28 */ if (_t163) goto L_02500E64; else goto L_02500E2C;
|
|
L_02500E2C: ; // 0x2500e2c
|
|
/* 02500E2C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02500E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02500E34 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02500E38 */ _t164 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500E38 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02500E38 */ if (_t165) goto L_02500E60; else goto L_02500E3C;
|
|
L_02500E3C: ; // 0x2500e3c
|
|
/* 02500E3C */ _t166 = cpu->r[4] + 0x00000000u;
|
|
/* 02500E3C */ cpu->r[11] = rbrew_read8(cpu->mem, _t166);
|
|
/* 02500E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02500E44 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500E44 */ _t168 = _t167 & 0x00000001u;
|
|
/* 02500E44 */ if (_t168) goto L_02500E48; else goto L_02500E2C;
|
|
L_02500E48: ; // 0x2500e48
|
|
/* 02500E48 */ _t169 = cpu->r[26] + 0x00000114u;
|
|
/* 02500E48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02500E4C */ _t170 = cpu->r[27] + 0x00000004u;
|
|
/* 02500E4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02500E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02500E54 */ _t171 = cpu->r[12] + 0x00000014u;
|
|
/* 02500E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02500E58 */ _t172 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500E58 */ _t173 = _t172 & 0x00000001u;
|
|
/* 02500E58 */ if (_t173) goto L_02500E7C; else goto L_02500E5C;
|
|
L_02500E5C: ; // 0x2500e5c
|
|
/* 02500E5C */ goto L_02500E78;
|
|
L_02500E60: ; // 0x2500e60
|
|
/* 02500E60 */ cpu->r[30] = 0x00000000u;
|
|
L_02500E64: ; // 0x2500e64
|
|
/* 02500E64 */ _t174 = cpu->r[26] + 0x00000114u;
|
|
/* 02500E64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02500E68 */ _t175 = cpu->r[27] + 0x00000004u;
|
|
/* 02500E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02500E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02500E70 */ _t176 = cpu->r[12] + 0x00000014u;
|
|
/* 02500E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02500E74 */ _t177 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500E74 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02500E74 */ if (_t178) goto L_02500E7C; else goto L_02500E78;
|
|
L_02500E78: ; // 0x2500e78
|
|
/* 02500E78 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02500E7C: ; // 0x2500e7c
|
|
/* 02500E7C */ cpu->ctr = cpu->r[0];
|
|
/* 02500E80 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500E84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500E88 */ _t179 = cpu->r[27] + 0x00000000u;
|
|
/* 02500E88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02500E8C */ cpu->r[6] = 0x00000000u;
|
|
/* 02500E90 */ cpu->r[5] = cpu->r[30];
|
|
/* 02500E94 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500E98 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02500E9C */ _t180 = cpu->r[29] + cpu->r[30];
|
|
/* 02500E9C */ rbrew_write8(cpu->mem, _t180, (uint8_t)cpu->r[31]);
|
|
/* 02500EA0 */ _t181 = cpu->r[27] + 0x00000004u;
|
|
/* 02500EA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02500EA4 */ _t182 = cpu->r[4] + 0x00000014u;
|
|
/* 02500EA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02500EA8 */ cpu->ctr = cpu->r[5];
|
|
/* 02500EAC */ _t183 = cpu->r[26] + 0x00000218u;
|
|
/* 02500EAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02500EB0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500EB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500EB8 */ _t184 = cpu->r[27] + 0x00000000u;
|
|
/* 02500EB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02500EBC */ _t185 = cpu->r[12] + 0x00000000u;
|
|
/* 02500EBC */ cpu->r[6] = rbrew_read8(cpu->mem, _t185);
|
|
/* 02500EC0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02500EC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02500EC8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02500ECC */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500ECC */ _t187 = _t186 & 0x00000001u;
|
|
/* 02500ECC */ if (_t187) goto L_02500F08; else goto L_02500ED0;
|
|
L_02500ED0: ; // 0x2500ed0
|
|
/* 02500ED0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02500ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02500ED8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02500EDC */ _t188 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500EDC */ _t189 = _t188 & 0x00000001u;
|
|
/* 02500EDC */ if (_t189) goto L_02500F04; else goto L_02500EE0;
|
|
L_02500EE0: ; // 0x2500ee0
|
|
/* 02500EE0 */ _t190 = cpu->r[12] + 0x00000000u;
|
|
/* 02500EE0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t190);
|
|
/* 02500EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02500EE8 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500EE8 */ _t192 = _t191 & 0x00000001u;
|
|
/* 02500EE8 */ if (_t192) goto L_02500EEC; else goto L_02500ED0;
|
|
L_02500EEC: ; // 0x2500eec
|
|
/* 02500EEC */ _t193 = cpu->r[26] + 0x00000220u;
|
|
/* 02500EEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02500EF0 */ _t194 = cpu->r[27] + 0x00000004u;
|
|
/* 02500EF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02500EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02500EF8 */ _t195 = cpu->r[8] + 0x00000014u;
|
|
/* 02500EF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02500EFC */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500EFC */ _t197 = _t196 & 0x00000001u;
|
|
/* 02500EFC */ if (_t197) goto L_02500F20; else goto L_02500F00;
|
|
L_02500F00: ; // 0x2500f00
|
|
/* 02500F00 */ goto L_02500F1C;
|
|
L_02500F04: ; // 0x2500f04
|
|
/* 02500F04 */ cpu->r[30] = 0x00000000u;
|
|
L_02500F08: ; // 0x2500f08
|
|
/* 02500F08 */ _t198 = cpu->r[26] + 0x00000220u;
|
|
/* 02500F08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02500F0C */ _t199 = cpu->r[27] + 0x00000004u;
|
|
/* 02500F0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02500F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02500F14 */ _t200 = cpu->r[8] + 0x00000014u;
|
|
/* 02500F14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02500F18 */ _t201 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02500F18 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02500F18 */ if (_t202) goto L_02500F20; else goto L_02500F1C;
|
|
L_02500F1C: ; // 0x2500f1c
|
|
/* 02500F1C */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02500F20: ; // 0x2500f20
|
|
/* 02500F20 */ cpu->ctr = cpu->r[9];
|
|
/* 02500F24 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500F28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500F2C */ _t203 = cpu->r[27] + 0x00000000u;
|
|
/* 02500F2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02500F30 */ cpu->r[6] = 0x00000000u;
|
|
/* 02500F34 */ cpu->r[5] = cpu->r[30];
|
|
/* 02500F38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02500F3C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02500F40 */ _t204 = cpu->r[29] + cpu->r[30];
|
|
/* 02500F40 */ rbrew_write8(cpu->mem, _t204, (uint8_t)cpu->r[31]);
|
|
/* 02500F44 */ /* nop */
|
|
/* 02500F48 */ _t205 = cpu->r[1] + 0x00000044u;
|
|
/* 02500F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02500F4C */ cpu->lr = cpu->r[0];
|
|
/* 02500F50 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02500F54 */ return;
|
|
L_02500F58: ; // 0x2500f58
|
|
/* 02500F58 */ cpu->r[24] = 0x100C0000u;
|
|
/* 02500F5C */ cpu->r[10] = 0x100C0000u;
|
|
/* 02500F60 */ _t206 = cpu->r[26] + 0x00000004u;
|
|
/* 02500F60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02500F64 */ cpu->r[24] = cpu->r[24] + 0xFFFFD78Cu;
|
|
/* 02500F68 */ cpu->r[10] = cpu->r[10] + 0xFFFFD7ECu;
|
|
/* 02500F6C */ _t207 = cpu->r[1] + 0x00000014u;
|
|
/* 02500F6C */ rbrew_write32(cpu->mem, _t207, cpu->r[24]);
|
|
/* 02500F70 */ _t208 = cpu->r[1] + 0x00000010u;
|
|
/* 02500F70 */ rbrew_write32(cpu->mem, _t208, cpu->r[10]);
|
|
/* 02500F74 */ _t209 = cpu->r[11] + 0x00000014u;
|
|
/* 02500F74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02500F78 */ cpu->ctr = cpu->r[12];
|
|
/* 02500F7C */ cpu->r[3] = cpu->r[26];
|
|
/* 02500F80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500F84 */ _t210 = cpu->r[26] + 0x00000000u;
|
|
/* 02500F84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02500F88 */ _t211 = cpu->r[5] + 0x00000000u;
|
|
/* 02500F88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t211);
|
|
/* 02500F8C */ cpu->r[28] = 0x00000000u;
|
|
/* 02500F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02500F94 */ cpu->r[6] = 0x00080000u;
|
|
/* 02500F98 */ _t212 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500F98 */ _t213 = _t212 & 0x00000001u;
|
|
/* 02500F98 */ if (_t213) goto L_02500FEC; else goto L_02500F9C;
|
|
L_02500F9C: ; // 0x2500f9c
|
|
/* 02500F9C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02500FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02500FA4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02500FA8 */ _t214 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02500FA8 */ _t215 = _t214 & 0x00000001u;
|
|
/* 02500FA8 */ if (_t215) goto L_02500FE8; else goto L_02500FAC;
|
|
L_02500FAC: ; // 0x2500fac
|
|
/* 02500FAC */ _t216 = cpu->r[5] + 0x00000000u;
|
|
/* 02500FAC */ cpu->r[4] = rbrew_read8(cpu->mem, _t216);
|
|
/* 02500FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02500FB4 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500FB4 */ _t218 = _t217 & 0x00000001u;
|
|
/* 02500FB4 */ if (_t218) goto L_02500FB8; else goto L_02500F9C;
|
|
L_02500FB8: ; // 0x2500fb8
|
|
/* 02500FB8 */ _t219 = cpu->r[27] + 0x00000004u;
|
|
/* 02500FB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02500FBC */ _t220 = cpu->r[5] + 0x00000014u;
|
|
/* 02500FBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02500FC0 */ cpu->ctr = cpu->r[6];
|
|
/* 02500FC4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500FC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02500FCC */ _t221 = cpu->r[27] + 0x00000000u;
|
|
/* 02500FCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02500FD0 */ _t222 = cpu->r[12] + 0x00000000u;
|
|
/* 02500FD0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t222);
|
|
/* 02500FD4 */ cpu->r[4] = 0x00080000u;
|
|
/* 02500FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02500FDC */ cpu->r[29] = 0x00000000u;
|
|
/* 02500FE0 */ _t223 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02500FE0 */ _t224 = _t223 & 0x00000001u;
|
|
/* 02500FE0 */ if (_t224) goto L_02500FE4; else goto L_02501018;
|
|
L_02500FE4: ; // 0x2500fe4
|
|
/* 02500FE4 */ goto L_02501044;
|
|
L_02500FE8: ; // 0x2500fe8
|
|
/* 02500FE8 */ cpu->r[28] = 0x00000000u;
|
|
L_02500FEC: ; // 0x2500fec
|
|
/* 02500FEC */ _t225 = cpu->r[27] + 0x00000004u;
|
|
/* 02500FEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02500FF0 */ _t226 = cpu->r[5] + 0x00000014u;
|
|
/* 02500FF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02500FF4 */ cpu->ctr = cpu->r[6];
|
|
/* 02500FF8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02500FFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501000 */ _t227 = cpu->r[27] + 0x00000000u;
|
|
/* 02501000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02501004 */ _t228 = cpu->r[12] + 0x00000000u;
|
|
/* 02501004 */ cpu->r[7] = rbrew_read8(cpu->mem, _t228);
|
|
/* 02501008 */ cpu->r[4] = 0x00080000u;
|
|
/* 0250100C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02501010 */ cpu->r[29] = 0x00000000u;
|
|
/* 02501014 */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501014 */ _t230 = _t229 & 0x00000001u;
|
|
/* 02501014 */ if (_t230) goto L_02500FE4; else goto L_02501018;
|
|
L_02501018: ; // 0x2501018
|
|
/* 02501018 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0250101C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 02501020 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02501024 */ _t231 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501024 */ _t232 = _t231 & 0x00000001u;
|
|
/* 02501024 */ if (_t232) goto L_02501040; else goto L_02501028;
|
|
L_02501028: ; // 0x2501028
|
|
/* 02501028 */ _t233 = cpu->r[12] + 0x00000000u;
|
|
/* 02501028 */ cpu->r[8] = rbrew_read8(cpu->mem, _t233);
|
|
/* 0250102C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02501030 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501030 */ _t235 = _t234 & 0x00000001u;
|
|
/* 02501030 */ if (_t235) goto L_02501034; else goto L_02501018;
|
|
L_02501034: ; // 0x2501034
|
|
/* 02501034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501038 */ _t236 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501038 */ _t237 = _t236 & 0x00000001u;
|
|
/* 02501038 */ if (_t237) goto L_0250117C; else goto L_0250103C;
|
|
L_0250103C: ; // 0x250103c
|
|
/* 0250103C */ goto L_0250104C;
|
|
L_02501040: ; // 0x2501040
|
|
/* 02501040 */ cpu->r[29] = 0x00000000u;
|
|
L_02501044: ; // 0x2501044
|
|
/* 02501044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501048 */ _t238 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501048 */ _t239 = _t238 & 0x00000001u;
|
|
/* 02501048 */ if (_t239) goto L_0250117C; else goto L_0250104C;
|
|
L_0250104C: ; // 0x250104c
|
|
/* 0250104C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 02501050 */ _t240 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501050 */ _t241 = _t240 & 0x00000001u;
|
|
/* 02501050 */ if (_t241) goto L_0250117C; else goto L_02501054;
|
|
L_02501054: ; // 0x2501054
|
|
/* 02501054 */ _t242 = cpu->r[1] + 0x00000014u;
|
|
/* 02501054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02501058 */ _t243 = cpu->r[9] + 0x00000014u;
|
|
/* 02501058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t243);
|
|
/* 0250105C */ cpu->ctr = cpu->r[10];
|
|
/* 02501060 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02501064 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501068 */ _t244 = cpu->r[1] + 0x00000010u;
|
|
/* 02501068 */ cpu->r[10] = rbrew_read32(cpu->mem, _t244);
|
|
/* 0250106C */ _t245 = cpu->r[10] + 0x00000000u;
|
|
/* 0250106C */ cpu->r[0] = rbrew_read8(cpu->mem, _t245);
|
|
/* 02501070 */ cpu->r[30] = 0x00000000u;
|
|
/* 02501074 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02501078 */ cpu->r[0] = 0x00080000u;
|
|
/* 0250107C */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250107C */ _t247 = _t246 & 0x00000001u;
|
|
/* 0250107C */ if (_t247) goto L_025010B0; else goto L_02501080;
|
|
L_02501080: ; // 0x2501080
|
|
/* 02501080 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02501084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02501088 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0250108C */ _t248 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250108C */ _t249 = _t248 & 0x00000001u;
|
|
/* 0250108C */ if (_t249) goto L_025010AC; else goto L_02501090;
|
|
L_02501090: ; // 0x2501090
|
|
/* 02501090 */ _t250 = cpu->r[10] + 0x00000000u;
|
|
/* 02501090 */ cpu->r[12] = rbrew_read8(cpu->mem, _t250);
|
|
/* 02501094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02501098 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501098 */ _t252 = _t251 & 0x00000001u;
|
|
/* 02501098 */ if (_t252) goto L_0250109C; else goto L_02501080;
|
|
L_0250109C: ; // 0x250109c
|
|
/* 0250109C */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 025010A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 025010A4 */ _t253 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025010A4 */ _t254 = _t253 & 0x00000001u;
|
|
/* 025010A4 */ if (_t254) goto L_025010A8; else goto L_025010BC;
|
|
L_025010A8: ; // 0x25010a8
|
|
/* 025010A8 */ goto L_0250117C;
|
|
L_025010AC: ; // 0x25010ac
|
|
/* 025010AC */ cpu->r[30] = 0x00000000u;
|
|
L_025010B0: ; // 0x25010b0
|
|
/* 025010B0 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 025010B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 025010B8 */ _t255 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025010B8 */ _t256 = _t255 & 0x00000001u;
|
|
/* 025010B8 */ if (_t256) goto L_0250117C; else goto L_025010BC;
|
|
L_025010BC: ; // 0x25010bc
|
|
/* 025010BC */ cpu->r[25] = cpu->r[31];
|
|
L_025010C0: ; // 0x25010c0
|
|
/* 025010C0 */ _t257 = cpu->r[27] + 0x00000000u;
|
|
/* 025010C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t257);
|
|
/* 025010C4 */ _t258 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025010C4 */ rbrew_write32(cpu->mem, _t258, cpu->r[24]);
|
|
/* 025010C8 */ cpu->r[4] = cpu->r[5] + cpu->r[28];
|
|
/* 025010CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025010D0 */ _t259 = cpu->r[1] + 0x00000008u;
|
|
/* 025010D0 */ rbrew_write32(cpu->mem, _t259, cpu->r[4]);
|
|
/* 025010D4 */ Gambit_fn_0250150C(cpu);
|
|
/* 025010D8 */ _t260 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025010D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t260);
|
|
/* 025010DC */ _t261 = cpu->r[6] + 0x00000014u;
|
|
/* 025010DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t261);
|
|
/* 025010E0 */ cpu->ctr = cpu->r[7];
|
|
/* 025010E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025010E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025010EC */ _t262 = cpu->r[1] + 0x00000014u;
|
|
/* 025010EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t262);
|
|
/* 025010F0 */ _t263 = cpu->r[8] + 0x00000014u;
|
|
/* 025010F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t263);
|
|
/* 025010F4 */ cpu->ctr = cpu->r[9];
|
|
/* 025010F8 */ _t264 = cpu->r[1] + 0x00000008u;
|
|
/* 025010F8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t264);
|
|
/* 025010FC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02501100 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501104 */ _t265 = cpu->r[1] + 0x00000010u;
|
|
/* 02501104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02501108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[10]);
|
|
/* 0250110C */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250110C */ _t267 = _t266 & 0x00000001u;
|
|
/* 0250110C */ if (_t267) goto L_02501160; else goto L_02501110;
|
|
L_02501110: ; // 0x2501110
|
|
/* 02501110 */ cpu->r[0] = cpu->r[30];
|
|
/* 02501110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501114 */ _t268 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501114 */ _t269 = _t268 & 0x00000001u;
|
|
/* 02501114 */ if (_t269) goto L_02501118; else goto L_02501160;
|
|
L_02501118: ; // 0x2501118
|
|
/* 02501118 */ _t270 = cpu->r[1] + 0x00000010u;
|
|
/* 02501118 */ cpu->r[6] = rbrew_read32(cpu->mem, _t270);
|
|
/* 0250111C */ cpu->ctr = cpu->r[0];
|
|
/* 02501120 */ _t271 = cpu->r[1] + 0x00000008u;
|
|
/* 02501120 */ cpu->r[9] = rbrew_read32(cpu->mem, _t271);
|
|
L_02501124: ; // 0x2501124
|
|
/* 02501124 */ _t272 = cpu->r[9] + 0x00000000u;
|
|
/* 02501124 */ cpu->r[7] = rbrew_read8(cpu->mem, _t272);
|
|
/* 02501128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[25]);
|
|
/* 0250112C */ _t273 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250112C */ _t274 = _t273 & 0x00000001u;
|
|
/* 0250112C */ if (_t274) goto L_02501130; else goto L_02501140;
|
|
L_02501130: ; // 0x2501130
|
|
/* 02501130 */ _t275 = cpu->r[6] + 0x00000000u;
|
|
/* 02501130 */ cpu->r[11] = rbrew_read8(cpu->mem, _t275);
|
|
/* 02501134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[25]);
|
|
/* 02501138 */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501138 */ _t277 = _t276 & 0x00000001u;
|
|
/* 02501138 */ if (_t277) goto L_0250113C; else goto L_02501170;
|
|
L_0250113C: ; // 0x250113c
|
|
/* 0250113C */ goto L_02501160;
|
|
L_02501140: ; // 0x2501140
|
|
/* 02501140 */ _t278 = cpu->r[6] + 0x00000000u;
|
|
/* 02501140 */ cpu->r[8] = rbrew_read8(cpu->mem, _t278);
|
|
/* 02501144 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]);
|
|
/* 02501148 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501148 */ _t280 = _t279 & 0x00000001u;
|
|
/* 02501148 */ if (_t280) goto L_02501170; else goto L_0250114C;
|
|
L_0250114C: ; // 0x250114c
|
|
/* 0250114C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02501150 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501150 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02501150 */ if (_t282) goto L_02501154; else goto L_02501170;
|
|
L_02501154: ; // 0x2501154
|
|
/* 02501154 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02501158 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0250115C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250115C */ _t283 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250115C */ _t284 = _t283 >> (0x00000002u & 31u);
|
|
/* 0250115C */ _t285 = _t284 & 0x00000001u;
|
|
/* 0250115C */ if (_t285) goto L_02501124; else goto L_02501160;
|
|
L_02501160: ; // 0x2501160
|
|
/* 02501160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 02501164 */ _t286 = cpu->r[26] + 0x0000010Cu;
|
|
/* 02501164 */ cpu->r[29] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02501168 */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501168 */ _t288 = _t287 & 0x00000001u;
|
|
/* 02501168 */ if (_t288) goto L_0250116C; else goto L_025012DC;
|
|
L_0250116C: ; // 0x250116c
|
|
/* 0250116C */ goto L_02501184;
|
|
L_02501170: ; // 0x2501170
|
|
/* 02501170 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02501174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 02501178 */ _t289 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501178 */ _t290 = _t289 & 0x00000001u;
|
|
/* 02501178 */ if (_t290) goto L_0250117C; else goto L_025010C0;
|
|
L_0250117C: ; // 0x250117c
|
|
/* 0250117C */ _t291 = cpu->r[26] + 0x0000010Cu;
|
|
/* 0250117C */ cpu->r[29] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02501180 */ cpu->r[28] = 0xFFFFFFFFu;
|
|
L_02501184: ; // 0x2501184
|
|
/* 02501184 */ _t292 = cpu->r[27] + 0x00000004u;
|
|
/* 02501184 */ cpu->r[12] = rbrew_read32(cpu->mem, _t292);
|
|
/* 02501188 */ _t293 = cpu->r[12] + 0x00000014u;
|
|
/* 02501188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t293);
|
|
/* 0250118C */ cpu->ctr = cpu->r[0];
|
|
/* 02501190 */ cpu->r[3] = cpu->r[27];
|
|
/* 02501194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501198 */ _t294 = cpu->r[27] + 0x00000000u;
|
|
/* 02501198 */ cpu->r[8] = rbrew_read32(cpu->mem, _t294);
|
|
/* 0250119C */ _t295 = cpu->r[8] + 0x00000000u;
|
|
/* 0250119C */ cpu->r[4] = rbrew_read8(cpu->mem, _t295);
|
|
/* 025011A0 */ cpu->r[30] = 0x00000000u;
|
|
/* 025011A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 025011A8 */ cpu->r[9] = 0x00080000u;
|
|
/* 025011AC */ _t296 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025011AC */ _t297 = _t296 & 0x00000001u;
|
|
/* 025011AC */ if (_t297) goto L_025011E8; else goto L_025011B0;
|
|
L_025011B0: ; // 0x25011b0
|
|
/* 025011B0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 025011B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 025011B8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 025011BC */ _t298 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025011BC */ _t299 = _t298 & 0x00000001u;
|
|
/* 025011BC */ if (_t299) goto L_025011E4; else goto L_025011C0;
|
|
L_025011C0: ; // 0x25011c0
|
|
/* 025011C0 */ _t300 = cpu->r[8] + 0x00000000u;
|
|
/* 025011C0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t300);
|
|
/* 025011C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 025011C8 */ _t301 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025011C8 */ _t302 = _t301 & 0x00000001u;
|
|
/* 025011C8 */ if (_t302) goto L_025011CC; else goto L_025011B0;
|
|
L_025011CC: ; // 0x25011cc
|
|
/* 025011CC */ _t303 = cpu->r[26] + 0x00000114u;
|
|
/* 025011CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t303);
|
|
/* 025011D0 */ _t304 = cpu->r[27] + 0x00000004u;
|
|
/* 025011D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t304);
|
|
/* 025011D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 025011D8 */ _t305 = cpu->r[6] + 0x00000014u;
|
|
/* 025011D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t305);
|
|
/* 025011DC */ _t306 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025011DC */ _t307 = _t306 & 0x00000001u;
|
|
/* 025011DC */ if (_t307) goto L_02501200; else goto L_025011E0;
|
|
L_025011E0: ; // 0x25011e0
|
|
/* 025011E0 */ goto L_025011FC;
|
|
L_025011E4: ; // 0x25011e4
|
|
/* 025011E4 */ cpu->r[30] = 0x00000000u;
|
|
L_025011E8: ; // 0x25011e8
|
|
/* 025011E8 */ _t308 = cpu->r[26] + 0x00000114u;
|
|
/* 025011E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t308);
|
|
/* 025011EC */ _t309 = cpu->r[27] + 0x00000004u;
|
|
/* 025011EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t309);
|
|
/* 025011F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 025011F4 */ _t310 = cpu->r[6] + 0x00000014u;
|
|
/* 025011F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t310);
|
|
/* 025011F8 */ _t311 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025011F8 */ _t312 = _t311 & 0x00000001u;
|
|
/* 025011F8 */ if (_t312) goto L_02501200; else goto L_025011FC;
|
|
L_025011FC: ; // 0x25011fc
|
|
/* 025011FC */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02501200: ; // 0x2501200
|
|
/* 02501200 */ cpu->ctr = cpu->r[7];
|
|
/* 02501204 */ cpu->r[3] = cpu->r[27];
|
|
/* 02501208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250120C */ _t313 = cpu->r[27] + 0x00000000u;
|
|
/* 0250120C */ cpu->r[4] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02501210 */ cpu->r[6] = 0x00000000u;
|
|
/* 02501214 */ cpu->r[5] = cpu->r[30];
|
|
/* 02501218 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250121C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02501220 */ _t314 = cpu->r[29] + cpu->r[30];
|
|
/* 02501220 */ rbrew_write8(cpu->mem, _t314, (uint8_t)cpu->r[31]);
|
|
/* 02501224 */ _t315 = cpu->r[27] + 0x00000004u;
|
|
/* 02501224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02501228 */ _t316 = cpu->r[8] + 0x00000014u;
|
|
/* 02501228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t316);
|
|
/* 0250122C */ cpu->ctr = cpu->r[9];
|
|
/* 02501230 */ _t317 = cpu->r[26] + 0x00000218u;
|
|
/* 02501230 */ cpu->r[29] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02501234 */ cpu->r[3] = cpu->r[27];
|
|
/* 02501238 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250123C */ _t318 = cpu->r[27] + 0x00000000u;
|
|
/* 0250123C */ cpu->r[6] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02501240 */ _t319 = cpu->r[6] + 0x00000000u;
|
|
/* 02501240 */ cpu->r[10] = rbrew_read8(cpu->mem, _t319);
|
|
/* 02501244 */ cpu->r[30] = 0x00000000u;
|
|
/* 02501248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0250124C */ cpu->r[7] = 0x00080000u;
|
|
/* 02501250 */ _t320 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501250 */ _t321 = _t320 & 0x00000001u;
|
|
/* 02501250 */ if (_t321) goto L_0250128C; else goto L_02501254;
|
|
L_02501254: ; // 0x2501254
|
|
/* 02501254 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02501258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0250125C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02501260 */ _t322 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501260 */ _t323 = _t322 & 0x00000001u;
|
|
/* 02501260 */ if (_t323) goto L_02501288; else goto L_02501264;
|
|
L_02501264: ; // 0x2501264
|
|
/* 02501264 */ _t324 = cpu->r[6] + 0x00000000u;
|
|
/* 02501264 */ cpu->r[11] = rbrew_read8(cpu->mem, _t324);
|
|
/* 02501268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0250126C */ _t325 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250126C */ _t326 = _t325 & 0x00000001u;
|
|
/* 0250126C */ if (_t326) goto L_02501270; else goto L_02501254;
|
|
L_02501270: ; // 0x2501270
|
|
/* 02501270 */ _t327 = cpu->r[26] + 0x00000220u;
|
|
/* 02501270 */ cpu->r[6] = rbrew_read32(cpu->mem, _t327);
|
|
/* 02501274 */ _t328 = cpu->r[27] + 0x00000004u;
|
|
/* 02501274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t328);
|
|
/* 02501278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0250127C */ _t329 = cpu->r[12] + 0x00000014u;
|
|
/* 0250127C */ cpu->r[0] = rbrew_read32(cpu->mem, _t329);
|
|
/* 02501280 */ _t330 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501280 */ _t331 = _t330 & 0x00000001u;
|
|
/* 02501280 */ if (_t331) goto L_025012A4; else goto L_02501284;
|
|
L_02501284: ; // 0x2501284
|
|
/* 02501284 */ goto L_025012A0;
|
|
L_02501288: ; // 0x2501288
|
|
/* 02501288 */ cpu->r[30] = 0x00000000u;
|
|
L_0250128C: ; // 0x250128c
|
|
/* 0250128C */ _t332 = cpu->r[26] + 0x00000220u;
|
|
/* 0250128C */ cpu->r[6] = rbrew_read32(cpu->mem, _t332);
|
|
/* 02501290 */ _t333 = cpu->r[27] + 0x00000004u;
|
|
/* 02501290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t333);
|
|
/* 02501294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02501298 */ _t334 = cpu->r[12] + 0x00000014u;
|
|
/* 02501298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t334);
|
|
/* 0250129C */ _t335 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250129C */ _t336 = _t335 & 0x00000001u;
|
|
/* 0250129C */ if (_t336) goto L_025012A4; else goto L_025012A0;
|
|
L_025012A0: ; // 0x25012a0
|
|
/* 025012A0 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_025012A4: ; // 0x25012a4
|
|
/* 025012A4 */ cpu->ctr = cpu->r[0];
|
|
/* 025012A8 */ cpu->r[3] = cpu->r[27];
|
|
/* 025012AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025012B0 */ _t337 = cpu->r[27] + 0x00000000u;
|
|
/* 025012B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t337);
|
|
/* 025012B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025012B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 025012BC */ cpu->r[3] = cpu->r[29];
|
|
/* 025012C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025012C4 */ _t338 = cpu->r[29] + cpu->r[30];
|
|
/* 025012C4 */ rbrew_write8(cpu->mem, _t338, (uint8_t)cpu->r[31]);
|
|
/* 025012C8 */ /* nop */
|
|
/* 025012CC */ _t339 = cpu->r[1] + 0x00000044u;
|
|
/* 025012CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t339);
|
|
/* 025012D0 */ cpu->lr = cpu->r[0];
|
|
/* 025012D4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 025012D8 */ return;
|
|
L_025012DC: ; // 0x25012dc
|
|
/* 025012DC */ _t340 = cpu->r[26] + 0x00000110u;
|
|
/* 025012DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t340);
|
|
/* 025012E0 */ _t341 = cpu->r[4] + 0x00000014u;
|
|
/* 025012E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t341);
|
|
/* 025012E4 */ cpu->ctr = cpu->r[5];
|
|
/* 025012E8 */ cpu->r[3] = cpu->r[26] + 0x0000010Cu;
|
|
/* 025012EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025012F0 */ _t342 = cpu->r[26] + 0x0000010Cu;
|
|
/* 025012F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t342);
|
|
/* 025012F4 */ _t343 = cpu->r[4] + 0x00000000u;
|
|
/* 025012F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t343);
|
|
/* 025012F8 */ cpu->r[30] = 0x00000000u;
|
|
/* 025012FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02501300 */ cpu->r[5] = 0x00080000u;
|
|
/* 02501304 */ _t344 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501304 */ _t345 = _t344 & 0x00000001u;
|
|
/* 02501304 */ if (_t345) goto L_02501334; else goto L_02501308;
|
|
L_02501308: ; // 0x2501308
|
|
/* 02501308 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0250130C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02501310 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02501314 */ _t346 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501314 */ _t347 = _t346 & 0x00000001u;
|
|
/* 02501314 */ if (_t347) goto L_02501330; else goto L_02501318;
|
|
L_02501318: ; // 0x2501318
|
|
/* 02501318 */ _t348 = cpu->r[4] + 0x00000000u;
|
|
/* 02501318 */ cpu->r[7] = rbrew_read8(cpu->mem, _t348);
|
|
/* 0250131C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02501320 */ _t349 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501320 */ _t350 = _t349 & 0x00000001u;
|
|
/* 02501320 */ if (_t350) goto L_02501324; else goto L_02501308;
|
|
L_02501324: ; // 0x2501324
|
|
/* 02501324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501328 */ _t351 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501328 */ _t352 = _t351 & 0x00000001u;
|
|
/* 02501328 */ if (_t352) goto L_0250133C; else goto L_0250132C;
|
|
L_0250132C: ; // 0x250132c
|
|
/* 0250132C */ goto L_02501398;
|
|
L_02501330: ; // 0x2501330
|
|
/* 02501330 */ cpu->r[30] = 0x00000000u;
|
|
L_02501334: ; // 0x2501334
|
|
/* 02501334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501338 */ _t353 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501338 */ _t354 = _t353 & 0x00000001u;
|
|
/* 02501338 */ if (_t354) goto L_0250133C; else goto L_02501398;
|
|
L_0250133C: ; // 0x250133c
|
|
/* 0250133C */ _t355 = cpu->r[27] + 0x00000004u;
|
|
/* 0250133C */ cpu->r[8] = rbrew_read32(cpu->mem, _t355);
|
|
/* 02501340 */ _t356 = cpu->r[8] + 0x00000014u;
|
|
/* 02501340 */ cpu->r[9] = rbrew_read32(cpu->mem, _t356);
|
|
/* 02501344 */ cpu->ctr = cpu->r[9];
|
|
/* 02501348 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250134C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501350 */ _t357 = cpu->r[27] + 0x00000000u;
|
|
/* 02501350 */ cpu->r[12] = rbrew_read32(cpu->mem, _t357);
|
|
/* 02501354 */ _t358 = cpu->r[12] + 0x00000000u;
|
|
/* 02501354 */ cpu->r[0] = rbrew_read8(cpu->mem, _t358);
|
|
/* 02501358 */ cpu->r[28] = 0x00000000u;
|
|
/* 0250135C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02501360 */ cpu->r[0] = 0x00080000u;
|
|
/* 02501364 */ _t359 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501364 */ _t360 = _t359 & 0x00000001u;
|
|
/* 02501364 */ if (_t360) goto L_02501398; else goto L_02501368;
|
|
L_02501368: ; // 0x2501368
|
|
/* 02501368 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0250136C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02501370 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02501374 */ _t361 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501374 */ _t362 = _t361 & 0x00000001u;
|
|
/* 02501374 */ if (_t362) goto L_02501394; else goto L_02501378;
|
|
L_02501378: ; // 0x2501378
|
|
/* 02501378 */ _t363 = cpu->r[12] + 0x00000000u;
|
|
/* 02501378 */ cpu->r[11] = rbrew_read8(cpu->mem, _t363);
|
|
/* 0250137C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02501380 */ _t364 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501380 */ _t365 = _t364 & 0x00000001u;
|
|
/* 02501380 */ if (_t365) goto L_02501384; else goto L_02501368;
|
|
L_02501384: ; // 0x2501384
|
|
/* 02501384 */ _t366 = cpu->r[26] + 0x00000114u;
|
|
/* 02501384 */ cpu->r[5] = rbrew_read32(cpu->mem, _t366);
|
|
/* 02501388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 0250138C */ _t367 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250138C */ _t368 = _t367 & 0x00000001u;
|
|
/* 0250138C */ if (_t368) goto L_02501390; else goto L_025013A4;
|
|
L_02501390: ; // 0x2501390
|
|
/* 02501390 */ goto L_025013A8;
|
|
L_02501394: ; // 0x2501394
|
|
/* 02501394 */ cpu->r[28] = 0x00000000u;
|
|
L_02501398: ; // 0x2501398
|
|
/* 02501398 */ _t369 = cpu->r[26] + 0x00000114u;
|
|
/* 02501398 */ cpu->r[5] = rbrew_read32(cpu->mem, _t369);
|
|
/* 0250139C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 025013A0 */ _t370 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025013A0 */ _t371 = _t370 & 0x00000001u;
|
|
/* 025013A0 */ if (_t371) goto L_025013A8; else goto L_025013A4;
|
|
L_025013A4: ; // 0x25013a4
|
|
/* 025013A4 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_025013A8: ; // 0x25013a8
|
|
/* 025013A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025013AC */ _t372 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025013AC */ _t373 = _t372 & 0x00000001u;
|
|
/* 025013AC */ if (_t373) goto L_025013B0; else goto L_025013E4;
|
|
L_025013B0: ; // 0x25013b0
|
|
/* 025013B0 */ _t374 = cpu->r[27] + 0x00000004u;
|
|
/* 025013B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t374);
|
|
/* 025013B4 */ _t375 = cpu->r[4] + 0x00000014u;
|
|
/* 025013B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t375);
|
|
/* 025013B8 */ cpu->ctr = cpu->r[5];
|
|
/* 025013BC */ cpu->r[3] = cpu->r[27];
|
|
/* 025013C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025013C4 */ _t376 = cpu->r[27] + 0x00000000u;
|
|
/* 025013C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t376);
|
|
/* 025013C8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025013CC */ cpu->r[5] = cpu->r[28];
|
|
/* 025013D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 025013D4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025013D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[30]);
|
|
/* 025013DC */ _t377 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025013DC */ _t378 = _t377 & 0x00000001u;
|
|
/* 025013DC */ if (_t378) goto L_025013E0; else goto L_025013E4;
|
|
L_025013E0: ; // 0x25013e0
|
|
/* 025013E0 */ _t379 = cpu->r[29] + cpu->r[28];
|
|
/* 025013E0 */ rbrew_write8(cpu->mem, _t379, (uint8_t)cpu->r[31]);
|
|
L_025013E4: ; // 0x25013e4
|
|
/* 025013E4 */ _t380 = cpu->r[27] + 0x00000004u;
|
|
/* 025013E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t380);
|
|
/* 025013E8 */ _t381 = cpu->r[6] + 0x00000014u;
|
|
/* 025013E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t381);
|
|
/* 025013EC */ cpu->ctr = cpu->r[7];
|
|
/* 025013F0 */ _t382 = cpu->r[26] + 0x00000218u;
|
|
/* 025013F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t382);
|
|
/* 025013F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 025013F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025013FC */ _t383 = cpu->r[27] + 0x00000000u;
|
|
/* 025013FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t383);
|
|
/* 02501400 */ _t384 = cpu->r[10] + 0x00000000u;
|
|
/* 02501400 */ cpu->r[8] = rbrew_read8(cpu->mem, _t384);
|
|
/* 02501404 */ cpu->r[30] = 0x00000000u;
|
|
/* 02501408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0250140C */ cpu->r[11] = 0x00080000u;
|
|
/* 02501410 */ _t385 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501410 */ _t386 = _t385 & 0x00000001u;
|
|
/* 02501410 */ if (_t386) goto L_0250144C; else goto L_02501414;
|
|
L_02501414: ; // 0x2501414
|
|
/* 02501414 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02501418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0250141C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02501420 */ _t387 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501420 */ _t388 = _t387 & 0x00000001u;
|
|
/* 02501420 */ if (_t388) goto L_02501448; else goto L_02501424;
|
|
L_02501424: ; // 0x2501424
|
|
/* 02501424 */ _t389 = cpu->r[10] + 0x00000000u;
|
|
/* 02501424 */ cpu->r[9] = rbrew_read8(cpu->mem, _t389);
|
|
/* 02501428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0250142C */ _t390 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250142C */ _t391 = _t390 & 0x00000001u;
|
|
/* 0250142C */ if (_t391) goto L_02501430; else goto L_02501414;
|
|
L_02501430: ; // 0x2501430
|
|
/* 02501430 */ _t392 = cpu->r[26] + 0x00000220u;
|
|
/* 02501430 */ cpu->r[6] = rbrew_read32(cpu->mem, _t392);
|
|
/* 02501434 */ _t393 = cpu->r[27] + 0x00000004u;
|
|
/* 02501434 */ cpu->r[10] = rbrew_read32(cpu->mem, _t393);
|
|
/* 02501438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0250143C */ _t394 = cpu->r[10] + 0x00000014u;
|
|
/* 0250143C */ cpu->r[11] = rbrew_read32(cpu->mem, _t394);
|
|
/* 02501440 */ _t395 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501440 */ _t396 = _t395 & 0x00000001u;
|
|
/* 02501440 */ if (_t396) goto L_02501464; else goto L_02501444;
|
|
L_02501444: ; // 0x2501444
|
|
/* 02501444 */ goto L_02501460;
|
|
L_02501448: ; // 0x2501448
|
|
/* 02501448 */ cpu->r[30] = 0x00000000u;
|
|
L_0250144C: ; // 0x250144c
|
|
/* 0250144C */ _t397 = cpu->r[26] + 0x00000220u;
|
|
/* 0250144C */ cpu->r[6] = rbrew_read32(cpu->mem, _t397);
|
|
/* 02501450 */ _t398 = cpu->r[27] + 0x00000004u;
|
|
/* 02501450 */ cpu->r[10] = rbrew_read32(cpu->mem, _t398);
|
|
/* 02501454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02501458 */ _t399 = cpu->r[10] + 0x00000014u;
|
|
/* 02501458 */ cpu->r[11] = rbrew_read32(cpu->mem, _t399);
|
|
/* 0250145C */ _t400 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250145C */ _t401 = _t400 & 0x00000001u;
|
|
/* 0250145C */ if (_t401) goto L_02501464; else goto L_02501460;
|
|
L_02501460: ; // 0x2501460
|
|
/* 02501460 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02501464: ; // 0x2501464
|
|
/* 02501464 */ cpu->ctr = cpu->r[11];
|
|
/* 02501468 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250146C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501470 */ _t402 = cpu->r[27] + 0x00000000u;
|
|
/* 02501470 */ cpu->r[4] = rbrew_read32(cpu->mem, _t402);
|
|
/* 02501474 */ cpu->r[6] = 0x00000000u;
|
|
/* 02501478 */ cpu->r[5] = cpu->r[30];
|
|
/* 0250147C */ cpu->r[3] = cpu->r[29];
|
|
/* 02501480 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02501484 */ _t403 = cpu->r[29] + cpu->r[30];
|
|
/* 02501484 */ rbrew_write8(cpu->mem, _t403, (uint8_t)cpu->r[31]);
|
|
/* 02501488 */ /* nop */
|
|
/* 0250148C */ _t404 = cpu->r[1] + 0x00000044u;
|
|
/* 0250148C */ cpu->r[0] = rbrew_read32(cpu->mem, _t404);
|
|
/* 02501490 */ cpu->lr = cpu->r[0];
|
|
/* 02501494 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02501498 */ return;
|
|
}
|
|
|
|
// fn_0250149C @ 0x250149c
|
|
void Gambit_fn_0250149C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0250149C: ; // 0x250149c
|
|
/* 0250149C */ cpu->r[0] = 0x100C0000u;
|
|
/* 025014A0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 025014A4 */ cpu->r[11] = 0x100C0000u;
|
|
/* 025014A8 */ cpu->r[0] = cpu->r[0] + 0xFFFFD78Cu;
|
|
/* 025014AC */ cpu->r[12] = cpu->r[12] + 0xFFFF93FCu;
|
|
/* 025014B0 */ cpu->r[11] = cpu->r[11] + 0xFFFFD7F0u;
|
|
/* 025014B4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 025014B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 025014B8 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 025014B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 025014BC */ cpu->r[11] = 0x100C0000u;
|
|
/* 025014C0 */ _t2 = cpu->r[12] + 0x0000000Cu;
|
|
/* 025014C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025014C4 */ cpu->r[11] = cpu->r[11] + 0xFFFFD7F8u;
|
|
/* 025014C8 */ _t3 = cpu->r[12] + 0x00000008u;
|
|
/* 025014C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 025014CC */ cpu->r[11] = 0x100C0000u;
|
|
/* 025014D0 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 025014D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025014D4 */ cpu->r[11] = cpu->r[11] + 0xFFFFD810u;
|
|
/* 025014D8 */ _t5 = cpu->r[12] + 0x00000010u;
|
|
/* 025014D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 025014DC */ cpu->r[11] = 0x100C0000u;
|
|
/* 025014E0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 025014E4 */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 025014E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025014E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFD800u;
|
|
/* 025014EC */ cpu->r[3] = cpu->r[3] + 0x000066ECu;
|
|
/* 025014F0 */ _t7 = cpu->r[12] + 0x00000018u;
|
|
/* 025014F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 025014F4 */ goto L_02C83090;
|
|
L_02C83090: ; // 0x2c83090
|
|
/* 02C83090 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C83094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83098 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83098 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C83098 */ _t11 = _t10 ^ 0x00000001u;
|
|
/* 02C83098 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C83098 */ goto L_02C8309C;
|
|
L_02C8309C: ; // 0x2c8309c
|
|
/* 02C8309C */ cpu->r[11] = 0x10250000u;
|
|
/* 02C830A0 */ _t12 = cpu->r[11] + 0xFFFFE70Cu;
|
|
/* 02C830A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C830A0 */ cpu->r[11] = _t12;
|
|
/* 02C830A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C830A8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C830A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C830A8 */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C830A8 */ goto L_02C830AC;
|
|
L_02C830AC: ; // 0x2c830ac
|
|
/* 02C830AC */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02C830AC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02C830B0 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C830B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02C830B4 */ return;
|
|
}
|
|
|
|
// fn_025014F8 @ 0x25014f8
|
|
void Gambit_fn_025014F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025014F8: ; // 0x25014f8
|
|
/* 025014F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025014FC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025014FC */ _t1 = _t0 & 0x00000001u;
|
|
/* 025014FC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025014FC */ goto L_02501500;
|
|
L_02501500: ; // 0x2501500
|
|
/* 02501500 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501504 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501504 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501504 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501504 */ goto L_02501508;
|
|
L_02501508: ; // 0x2501508
|
|
/* 02501508 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250150C @ 0x250150c
|
|
void Gambit_fn_0250150C(CPUState* cpu) {
|
|
L_0250150C: ; // 0x250150c
|
|
/* 0250150C */ return;
|
|
}
|
|
|
|
// fn_02501510 @ 0x2501510
|
|
void Gambit_fn_02501510(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501510: ; // 0x2501510
|
|
/* 02501510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501514 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501514 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501514 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501514 */ goto L_02501518;
|
|
L_02501518: ; // 0x2501518
|
|
/* 02501518 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250151C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250151C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250151C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250151C */ goto L_02501520;
|
|
L_02501520: ; // 0x2501520
|
|
/* 02501520 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501524 @ 0x2501524
|
|
void Gambit_fn_02501524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02501524: ; // 0x2501524
|
|
/* 02501524 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02501524 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02501528 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02501528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250152C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02501530 */ cpu->r[11] = 0x10110000u;
|
|
/* 02501534 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02501534 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02501538 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02501538 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0250153C */ return;
|
|
}
|
|
|
|
// fn_02501540 @ 0x2501540
|
|
void Gambit_fn_02501540(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501540: ; // 0x2501540
|
|
/* 02501540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501544 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501544 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501544 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501544 */ goto L_02501548;
|
|
L_02501548: ; // 0x2501548
|
|
/* 02501548 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250154C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250154C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250154C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250154C */ goto L_02501550;
|
|
L_02501550: ; // 0x2501550
|
|
/* 02501550 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501554 @ 0x2501554
|
|
void Gambit_fn_02501554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501554: ; // 0x2501554
|
|
/* 02501554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501558 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501558 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501558 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501558 */ goto L_0250155C;
|
|
L_0250155C: ; // 0x250155c
|
|
/* 0250155C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250155C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501560 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501560 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501560 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501560 */ goto L_02501564;
|
|
L_02501564: ; // 0x2501564
|
|
/* 02501564 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501568 @ 0x2501568
|
|
void Gambit_fn_02501568(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02501568: ; // 0x2501568
|
|
/* 02501568 */ cpu->r[0] = cpu->lr;
|
|
/* 0250156C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250156C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250156C */ cpu->r[1] = _t0;
|
|
/* 02501570 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501570 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02501574 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02501574 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02501578 */ cpu->r[30] = cpu->r[3];
|
|
/* 02501578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250157C */ cpu->r[31] = cpu->r[4];
|
|
/* 02501580 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02501580 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02501584 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501584 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02501584 */ if (_t5) goto L_025015B8; else goto L_02501588;
|
|
L_02501588: ; // 0x2501588
|
|
/* 02501588 */ cpu->r[6] = 0x02500000u;
|
|
/* 0250158C */ cpu->r[3] = cpu->r[30];
|
|
/* 02501590 */ cpu->r[7] = 0x00000000u;
|
|
/* 02501594 */ cpu->r[6] = cpu->r[6] + 0x000014F8u;
|
|
/* 02501598 */ cpu->r[4] = 0x00000004u;
|
|
/* 0250159C */ cpu->r[8] = cpu->r[7];
|
|
/* 025015A0 */ cpu->r[5] = 0x00000008u;
|
|
/* 025015A4 */ Gambit_fn_02C82F38(cpu);
|
|
/* 025015A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025015A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025015AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025015AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 025015AC */ if (_t7) goto L_025015B8; else goto L_025015B0;
|
|
L_025015B0: ; // 0x25015b0
|
|
/* 025015B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025015B4 */ Gambit_fn_02801BB0(cpu);
|
|
L_025015B8: ; // 0x25015b8
|
|
/* 025015B8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025015B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025015BC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 025015BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025015C0 */ cpu->lr = cpu->r[0];
|
|
/* 025015C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025015C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025015C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025015CC */ return;
|
|
}
|
|
|
|
// fn_0250156C @ 0x250156c
|
|
void Gambit_fn_0250156C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0250156C: ; // 0x250156c
|
|
/* 0250156C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250156C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250156C */ cpu->r[1] = _t0;
|
|
/* 02501570 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501570 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02501574 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02501574 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02501578 */ cpu->r[30] = cpu->r[3];
|
|
/* 02501578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250157C */ cpu->r[31] = cpu->r[4];
|
|
/* 02501580 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02501580 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02501584 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501584 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02501584 */ if (_t5) goto L_025015B8; else goto L_02501588;
|
|
L_02501588: ; // 0x2501588
|
|
/* 02501588 */ cpu->r[6] = 0x02500000u;
|
|
/* 0250158C */ cpu->r[3] = cpu->r[30];
|
|
/* 02501590 */ cpu->r[7] = 0x00000000u;
|
|
/* 02501594 */ cpu->r[6] = cpu->r[6] + 0x000014F8u;
|
|
/* 02501598 */ cpu->r[4] = 0x00000004u;
|
|
/* 0250159C */ cpu->r[8] = cpu->r[7];
|
|
/* 025015A0 */ cpu->r[5] = 0x00000008u;
|
|
/* 025015A4 */ Gambit_fn_02C82F38(cpu);
|
|
/* 025015A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025015A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025015AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025015AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 025015AC */ if (_t7) goto L_025015B8; else goto L_025015B0;
|
|
L_025015B0: ; // 0x25015b0
|
|
/* 025015B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025015B4 */ Gambit_fn_02801BB0(cpu);
|
|
L_025015B8: ; // 0x25015b8
|
|
/* 025015B8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025015B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025015BC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 025015BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025015C0 */ cpu->lr = cpu->r[0];
|
|
/* 025015C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025015C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025015C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025015CC */ return;
|
|
}
|
|
|
|
// fn_025015D0 @ 0x25015d0
|
|
void Gambit_fn_025015D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123;
|
|
|
|
L_025015D0: ; // 0x25015d0
|
|
/* 025015D0 */ cpu->r[0] = cpu->lr;
|
|
/* 025015D4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 025015D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025015D4 */ cpu->r[1] = _t0;
|
|
/* 025015D8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025015D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025015DC */ /* nop */
|
|
/* 025015E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025015E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025015E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025015E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025015E4 */ if (_t3) goto L_025015E8; else goto L_025015F8;
|
|
L_025015E8: ; // 0x25015e8
|
|
/* 025015E8 */ cpu->r[3] = 0x00000188u;
|
|
/* 025015EC */ Gambit_fn_02801A78(cpu);
|
|
/* 025015F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025015F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025015F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025015F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025015F4 */ if (_t5) goto L_02501934; else goto L_025015F8;
|
|
L_025015F8: ; // 0x25015f8
|
|
/* 025015F8 */ cpu->r[27] = 0x100C0000u;
|
|
/* 025015FC */ cpu->r[26] = 0x10110000u;
|
|
/* 02501600 */ cpu->r[24] = cpu->r[30];
|
|
/* 02501600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02501604 */ cpu->r[27] = cpu->r[27] + 0xFFFFD84Cu;
|
|
/* 02501608 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501608 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02501608 */ if (_t7) goto L_0250160C; else goto L_0250161C;
|
|
L_0250160C: ; // 0x250160c
|
|
/* 0250160C */ cpu->r[3] = 0x000000FCu;
|
|
/* 02501610 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501614 */ cpu->r[24] = cpu->r[3];
|
|
/* 02501614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02501618 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501618 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02501618 */ if (_t9) goto L_02501888; else goto L_0250161C;
|
|
L_0250161C: ; // 0x250161c
|
|
/* 0250161C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02501620 */ cpu->r[4] = 0x00000000u;
|
|
/* 02501624 */ cpu->r[25] = 0x100C0000u;
|
|
/* 02501628 */ cpu->r[5] = cpu->r[5] + 0xFFFFD9B4u;
|
|
/* 0250162C */ cpu->r[3] = cpu->r[24];
|
|
/* 02501630 */ cpu->r[25] = cpu->r[25] + 0xFFFFD9B8u;
|
|
/* 02501634 */ cpu->r[7] = cpu->r[5];
|
|
/* 02501638 */ cpu->r[8] = cpu->r[4];
|
|
/* 0250163C */ cpu->r[6] = cpu->r[25];
|
|
/* 02501640 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02501644 */ cpu->r[31] = 0x100C0000u;
|
|
/* 02501648 */ cpu->r[5] = 0x10110000u;
|
|
/* 0250164C */ cpu->r[28] = 0x100C0000u;
|
|
/* 02501650 */ cpu->r[31] = cpu->r[31] + 0xFFFFD834u;
|
|
/* 02501654 */ cpu->r[5] = cpu->r[5] + 0x0000085Cu;
|
|
/* 02501658 */ cpu->r[22] = cpu->r[24] + 0x00000054u;
|
|
/* 02501658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0250165C */ cpu->r[28] = cpu->r[28] + 0xFFFFD8ACu;
|
|
/* 02501660 */ _t10 = cpu->r[24] + 0x00000000u;
|
|
/* 02501660 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 02501664 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501664 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02501664 */ if (_t12) goto L_02501668; else goto L_02501688;
|
|
L_02501668: ; // 0x2501668
|
|
/* 02501668 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0250166C */ Gambit_fn_02801A78(cpu);
|
|
/* 02501670 */ cpu->r[22] = cpu->r[3];
|
|
/* 02501670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02501674 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501674 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02501674 */ if (_t14) goto L_02501678; else goto L_02501688;
|
|
L_02501678: ; // 0x2501678
|
|
/* 02501678 */ cpu->r[3] = cpu->r[24] + 0x000000A0u;
|
|
/* 02501678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250167C */ _t15 = cpu->r[26] + 0x00007399u;
|
|
/* 0250167C */ cpu->r[29] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02501680 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501680 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02501680 */ if (_t17) goto L_0250171C; else goto L_02501684;
|
|
L_02501684: ; // 0x2501684
|
|
/* 02501684 */ goto L_0250172C;
|
|
L_02501688: ; // 0x2501688
|
|
/* 02501688 */ cpu->r[23] = cpu->r[22];
|
|
/* 02501688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0250168C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250168C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0250168C */ if (_t19) goto L_02501690; else goto L_025016AC;
|
|
L_02501690: ; // 0x2501690
|
|
/* 02501690 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02501694 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501698 */ cpu->r[23] = cpu->r[3];
|
|
/* 02501698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0250169C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250169C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250169C */ if (_t21) goto L_025016A0; else goto L_025016AC;
|
|
L_025016A0: ; // 0x25016a0
|
|
/* 025016A0 */ _t22 = cpu->r[26] + 0x00007399u;
|
|
/* 025016A0 */ cpu->r[29] = rbrew_read8(cpu->mem, _t22);
|
|
/* 025016A4 */ _t23 = cpu->r[22] + 0x00000004u;
|
|
/* 025016A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
/* 025016A8 */ goto L_02501714;
|
|
L_025016AC: ; // 0x25016ac
|
|
/* 025016AC */ cpu->r[3] = cpu->r[23];
|
|
/* 025016AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025016B0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025016B0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 025016B0 */ if (_t25) goto L_025016B4; else goto L_025016E0;
|
|
L_025016B4: ; // 0x25016b4
|
|
/* 025016B4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025016B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025016BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025016C0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025016C0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 025016C0 */ if (_t27) goto L_025016C4; else goto L_025016E0;
|
|
L_025016C4: ; // 0x25016c4
|
|
/* 025016C4 */ _t28 = cpu->r[26] + 0x00007399u;
|
|
/* 025016C4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t28);
|
|
/* 025016C8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025016CC */ cpu->r[0] = cpu->r[0] + 0xFFFFD894u;
|
|
/* 025016D0 */ _t29 = cpu->r[23] + 0x00000000u;
|
|
/* 025016D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025016D4 */ _t30 = cpu->r[23] + 0x00000004u;
|
|
/* 025016D4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 025016D8 */ _t31 = cpu->r[9] + 0x00000000u;
|
|
/* 025016D8 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[29]);
|
|
/* 025016DC */ goto L_02501710;
|
|
L_025016E0: ; // 0x25016e0
|
|
/* 025016E0 */ cpu->r[6] = cpu->r[23] + 0x0000000Cu;
|
|
/* 025016E4 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 025016E4 */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 025016E8 */ cpu->r[7] = 0x00000040u;
|
|
/* 025016EC */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 025016EC */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 025016F0 */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 025016F0 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
|
|
/* 025016F4 */ _t35 = cpu->r[26] + 0x00007399u;
|
|
/* 025016F4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t35);
|
|
/* 025016F8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025016FC */ _t36 = cpu->r[23] + 0x0000004Bu;
|
|
/* 025016FC */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[29]);
|
|
/* 02501700 */ cpu->r[0] = cpu->r[0] + 0xFFFFD894u;
|
|
/* 02501704 */ _t37 = cpu->r[23] + 0x00000000u;
|
|
/* 02501704 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02501708 */ _t38 = cpu->r[23] + 0x00000004u;
|
|
/* 02501708 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0250170C */ _t39 = cpu->r[9] + 0x00000000u;
|
|
/* 0250170C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[29]);
|
|
L_02501710: ; // 0x2501710
|
|
/* 02501710 */ _t40 = cpu->r[22] + 0x00000004u;
|
|
/* 02501710 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
L_02501714: ; // 0x2501714
|
|
/* 02501714 */ cpu->r[3] = cpu->r[24] + 0x000000A0u;
|
|
/* 02501714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501718 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501718 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02501718 */ if (_t42) goto L_0250171C; else goto L_0250172C;
|
|
L_0250171C: ; // 0x250171c
|
|
/* 0250171C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02501720 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501728 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501728 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02501728 */ if (_t44) goto L_02501754; else goto L_0250172C;
|
|
L_0250172C: ; // 0x250172c
|
|
/* 0250172C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501730 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501730 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02501730 */ if (_t46) goto L_02501734; else goto L_02501744;
|
|
L_02501734: ; // 0x2501734
|
|
/* 02501734 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02501738 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250173C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501740 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501740 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02501740 */ if (_t48) goto L_02501754; else goto L_02501744;
|
|
L_02501744: ; // 0x2501744
|
|
/* 02501744 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 02501744 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 02501748 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250174C */ _t50 = cpu->r[3] + 0x00000004u;
|
|
/* 0250174C */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 02501750 */ _t51 = cpu->r[3] + 0x00000008u;
|
|
/* 02501750 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
L_02501754: ; // 0x2501754
|
|
/* 02501754 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02501758 */ cpu->r[11] = cpu->r[11] + 0xFFFFD81Cu;
|
|
/* 0250175C */ cpu->r[22] = cpu->r[24] + 0x000000B0u;
|
|
/* 0250175C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02501760 */ _t52 = cpu->r[24] + 0x000000ACu;
|
|
/* 02501760 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 02501764 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501764 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02501764 */ if (_t54) goto L_02501768; else goto L_02501778;
|
|
L_02501768: ; // 0x2501768
|
|
/* 02501768 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0250176C */ Gambit_fn_02801A78(cpu);
|
|
/* 02501770 */ cpu->r[22] = cpu->r[3];
|
|
/* 02501770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02501774 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501774 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02501774 */ if (_t56) goto L_025017D8; else goto L_02501778;
|
|
L_02501778: ; // 0x2501778
|
|
/* 02501778 */ cpu->r[23] = cpu->r[22];
|
|
/* 02501778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0250177C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250177C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0250177C */ if (_t58) goto L_02501780; else goto L_02501790;
|
|
L_02501780: ; // 0x2501780
|
|
/* 02501780 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02501784 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501788 */ cpu->r[23] = cpu->r[3];
|
|
/* 02501788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0250178C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250178C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0250178C */ if (_t60) goto L_025017D4; else goto L_02501790;
|
|
L_02501790: ; // 0x2501790
|
|
/* 02501790 */ cpu->r[3] = cpu->r[23];
|
|
/* 02501790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501794 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501794 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02501794 */ if (_t62) goto L_02501798; else goto L_025017A8;
|
|
L_02501798: ; // 0x2501798
|
|
/* 02501798 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250179C */ Gambit_fn_02801A78(cpu);
|
|
/* 025017A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025017A4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025017A4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 025017A4 */ if (_t64) goto L_025017C0; else goto L_025017A8;
|
|
L_025017A8: ; // 0x25017a8
|
|
/* 025017A8 */ cpu->r[12] = cpu->r[23] + 0x0000000Cu;
|
|
/* 025017AC */ _t65 = cpu->r[3] + 0x00000004u;
|
|
/* 025017AC */ rbrew_write32(cpu->mem, _t65, cpu->r[27]);
|
|
/* 025017B0 */ cpu->r[0] = 0x00000040u;
|
|
/* 025017B4 */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 025017B4 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 025017B8 */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 025017B8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 025017BC */ _t68 = cpu->r[23] + 0x0000004Bu;
|
|
/* 025017BC */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[29]);
|
|
L_025017C0: ; // 0x25017c0
|
|
/* 025017C0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 025017C4 */ _t69 = cpu->r[23] + 0x00000000u;
|
|
/* 025017C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
|
|
/* 025017C8 */ cpu->r[5] = cpu->r[5] + 0xFFFFD894u;
|
|
/* 025017CC */ _t70 = cpu->r[23] + 0x00000004u;
|
|
/* 025017CC */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
|
|
/* 025017D0 */ _t71 = cpu->r[6] + 0x00000000u;
|
|
/* 025017D0 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[29]);
|
|
L_025017D4: ; // 0x25017d4
|
|
/* 025017D4 */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 025017D4 */ rbrew_write32(cpu->mem, _t72, cpu->r[28]);
|
|
L_025017D8: ; // 0x25017d8
|
|
/* 025017D8 */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025017D8 */ rbrew_write32(cpu->mem, _t73, cpu->r[31]);
|
|
/* 025017DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025017E0 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 025017E0 */ rbrew_write32(cpu->mem, _t74, cpu->r[25]);
|
|
/* 025017E4 */ _t75 = cpu->r[24] + 0x00000054u;
|
|
/* 025017E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t75);
|
|
/* 025017E8 */ Gambit_fn_02501B5C(cpu);
|
|
/* 025017EC */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 025017EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 025017F0 */ _t77 = cpu->r[10] + 0x00000000u;
|
|
/* 025017F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t77);
|
|
/* 025017F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 025017F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 025017FC */ cpu->r[0] = 0x00080000u;
|
|
/* 02501800 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501800 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02501800 */ if (_t79) goto L_02501828; else goto L_02501804;
|
|
L_02501804: ; // 0x2501804
|
|
/* 02501804 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02501808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0250180C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02501810 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501810 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02501810 */ if (_t81) goto L_02501824; else goto L_02501814;
|
|
L_02501814: ; // 0x2501814
|
|
/* 02501814 */ _t82 = cpu->r[10] + 0x00000000u;
|
|
/* 02501814 */ cpu->r[8] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02501818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 0250181C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250181C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0250181C */ if (_t84) goto L_02501820; else goto L_02501804;
|
|
L_02501820: ; // 0x2501820
|
|
/* 02501820 */ goto L_02501828;
|
|
L_02501824: ; // 0x2501824
|
|
/* 02501824 */ cpu->r[31] = 0x00000000u;
|
|
L_02501828: ; // 0x2501828
|
|
/* 02501828 */ _t85 = cpu->r[24] + 0x0000005Cu;
|
|
/* 02501828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0250182C */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250182C */ cpu->r[9] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02501830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02501834 */ _t87 = cpu->r[9] + 0x00000014u;
|
|
/* 02501834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02501838 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501838 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02501838 */ if (_t89) goto L_02501840; else goto L_0250183C;
|
|
L_0250183C: ; // 0x250183c
|
|
/* 0250183C */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02501840: ; // 0x2501840
|
|
/* 02501840 */ cpu->ctr = cpu->r[0];
|
|
/* 02501844 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02501848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250184C */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 0250184C */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02501850 */ cpu->r[6] = 0x00000000u;
|
|
/* 02501854 */ cpu->r[5] = cpu->r[31];
|
|
/* 02501858 */ cpu->r[3] = cpu->r[28];
|
|
/* 0250185C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02501860 */ _t91 = cpu->r[28] + cpu->r[31];
|
|
/* 02501860 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[29]);
|
|
/* 02501864 */ _t92 = cpu->r[24] + 0x00000058u;
|
|
/* 02501864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02501868 */ _t93 = cpu->r[11] + 0x00000014u;
|
|
/* 02501868 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0250186C */ cpu->ctr = cpu->r[12];
|
|
/* 02501870 */ cpu->r[3] = cpu->r[24] + 0x00000054u;
|
|
/* 02501874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501878 */ _t94 = cpu->r[24] + 0x00000054u;
|
|
/* 02501878 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0250187C */ cpu->r[3] = cpu->r[24];
|
|
/* 02501880 */ _t95 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02501880 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02501880 */ if (_t96) goto L_02501884; // else: addr-0 trap, fall-through
|
|
L_02501884: ; // 0x2501884
|
|
/* 02501884 */ Gambit_fn_027F8F3C(cpu);
|
|
L_02501888: ; // 0x2501888
|
|
/* 02501888 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250188C */ cpu->r[0] = cpu->r[0] + 0xFFFFDA28u;
|
|
/* 02501890 */ cpu->r[28] = cpu->r[30] + 0x000000FCu;
|
|
/* 02501890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501894 */ _t97 = cpu->r[30] + 0x00000000u;
|
|
/* 02501894 */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
/* 02501898 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501898 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02501898 */ if (_t99) goto L_0250189C; else goto L_025018AC;
|
|
L_0250189C: ; // 0x250189c
|
|
/* 0250189C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 025018A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025018A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 025018A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025018A8 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018A8 */ _t101 = _t100 & 0x00000001u;
|
|
/* 025018A8 */ if (_t101) goto L_02501934; else goto L_025018AC;
|
|
L_025018AC: ; // 0x25018ac
|
|
/* 025018AC */ cpu->r[31] = cpu->r[28];
|
|
/* 025018AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025018B0 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018B0 */ _t103 = _t102 & 0x00000001u;
|
|
/* 025018B0 */ if (_t103) goto L_025018B4; else goto L_025018C4;
|
|
L_025018B4: ; // 0x25018b4
|
|
/* 025018B4 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 025018B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025018BC */ cpu->r[31] = cpu->r[3];
|
|
/* 025018BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025018C0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018C0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 025018C0 */ if (_t105) goto L_02501928; else goto L_025018C4;
|
|
L_025018C4: ; // 0x25018c4
|
|
/* 025018C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025018C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025018C8 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018C8 */ _t107 = _t106 & 0x00000001u;
|
|
/* 025018C8 */ if (_t107) goto L_025018CC; else goto L_025018F8;
|
|
L_025018CC: ; // 0x25018cc
|
|
/* 025018CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025018D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025018D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025018D8 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018D8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 025018D8 */ if (_t109) goto L_025018DC; else goto L_025018F8;
|
|
L_025018DC: ; // 0x25018dc
|
|
/* 025018DC */ _t110 = cpu->r[26] + 0x00007399u;
|
|
/* 025018DC */ cpu->r[29] = rbrew_read8(cpu->mem, _t110);
|
|
/* 025018E0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025018E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFD864u;
|
|
/* 025018E8 */ _t111 = cpu->r[31] + 0x00000000u;
|
|
/* 025018E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 025018EC */ _t112 = cpu->r[31] + 0x00000004u;
|
|
/* 025018EC */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 025018F0 */ _t113 = cpu->r[8] + 0x00000000u;
|
|
/* 025018F0 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[29]);
|
|
/* 025018F4 */ goto L_02501928;
|
|
L_025018F8: ; // 0x25018f8
|
|
/* 025018F8 */ cpu->r[6] = 0x00000080u;
|
|
/* 025018FC */ _t114 = cpu->r[3] + 0x00000004u;
|
|
/* 025018FC */ rbrew_write32(cpu->mem, _t114, cpu->r[27]);
|
|
/* 02501900 */ cpu->r[0] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02501904 */ _t115 = cpu->r[3] + 0x00000008u;
|
|
/* 02501904 */ rbrew_write32(cpu->mem, _t115, cpu->r[6]);
|
|
/* 02501908 */ _t116 = cpu->r[3] + 0x00000000u;
|
|
/* 02501908 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 0250190C */ _t117 = cpu->r[26] + 0x00007399u;
|
|
/* 0250190C */ cpu->r[29] = rbrew_read8(cpu->mem, _t117);
|
|
/* 02501910 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501914 */ _t118 = cpu->r[31] + 0x0000008Bu;
|
|
/* 02501914 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[29]);
|
|
/* 02501918 */ cpu->r[0] = cpu->r[0] + 0xFFFFD864u;
|
|
/* 0250191C */ _t119 = cpu->r[31] + 0x00000000u;
|
|
/* 0250191C */ cpu->r[8] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02501920 */ _t120 = cpu->r[31] + 0x00000004u;
|
|
/* 02501920 */ rbrew_write32(cpu->mem, _t120, cpu->r[0]);
|
|
/* 02501924 */ _t121 = cpu->r[8] + 0x00000000u;
|
|
/* 02501924 */ rbrew_write8(cpu->mem, _t121, (uint8_t)cpu->r[29]);
|
|
L_02501928: ; // 0x2501928
|
|
/* 02501928 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250192C */ cpu->r[0] = cpu->r[0] + 0xFFFFD87Cu;
|
|
/* 02501930 */ _t122 = cpu->r[28] + 0x00000004u;
|
|
/* 02501930 */ rbrew_write32(cpu->mem, _t122, cpu->r[0]);
|
|
L_02501934: ; // 0x2501934
|
|
/* 02501934 */ cpu->r[3] = cpu->r[30];
|
|
/* 02501938 */ /* nop */
|
|
/* 0250193C */ _t123 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250193C */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02501940 */ cpu->lr = cpu->r[0];
|
|
/* 02501944 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02501948 */ return;
|
|
}
|
|
|
|
// fn_025015D4 @ 0x25015d4
|
|
void Gambit_fn_025015D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123;
|
|
|
|
L_025015D4: ; // 0x25015d4
|
|
/* 025015D4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 025015D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025015D4 */ cpu->r[1] = _t0;
|
|
/* 025015D8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025015D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025015DC */ /* nop */
|
|
/* 025015E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025015E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025015E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025015E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025015E4 */ if (_t3) goto L_025015E8; else goto L_025015F8;
|
|
L_025015E8: ; // 0x25015e8
|
|
/* 025015E8 */ cpu->r[3] = 0x00000188u;
|
|
/* 025015EC */ Gambit_fn_02801A78(cpu);
|
|
/* 025015F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025015F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025015F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025015F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025015F4 */ if (_t5) goto L_02501934; else goto L_025015F8;
|
|
L_025015F8: ; // 0x25015f8
|
|
/* 025015F8 */ cpu->r[27] = 0x100C0000u;
|
|
/* 025015FC */ cpu->r[26] = 0x10110000u;
|
|
/* 02501600 */ cpu->r[24] = cpu->r[30];
|
|
/* 02501600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02501604 */ cpu->r[27] = cpu->r[27] + 0xFFFFD84Cu;
|
|
/* 02501608 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501608 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02501608 */ if (_t7) goto L_0250160C; else goto L_0250161C;
|
|
L_0250160C: ; // 0x250160c
|
|
/* 0250160C */ cpu->r[3] = 0x000000FCu;
|
|
/* 02501610 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501614 */ cpu->r[24] = cpu->r[3];
|
|
/* 02501614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02501618 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501618 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02501618 */ if (_t9) goto L_02501888; else goto L_0250161C;
|
|
L_0250161C: ; // 0x250161c
|
|
/* 0250161C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02501620 */ cpu->r[4] = 0x00000000u;
|
|
/* 02501624 */ cpu->r[25] = 0x100C0000u;
|
|
/* 02501628 */ cpu->r[5] = cpu->r[5] + 0xFFFFD9B4u;
|
|
/* 0250162C */ cpu->r[3] = cpu->r[24];
|
|
/* 02501630 */ cpu->r[25] = cpu->r[25] + 0xFFFFD9B8u;
|
|
/* 02501634 */ cpu->r[7] = cpu->r[5];
|
|
/* 02501638 */ cpu->r[8] = cpu->r[4];
|
|
/* 0250163C */ cpu->r[6] = cpu->r[25];
|
|
/* 02501640 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02501644 */ cpu->r[31] = 0x100C0000u;
|
|
/* 02501648 */ cpu->r[5] = 0x10110000u;
|
|
/* 0250164C */ cpu->r[28] = 0x100C0000u;
|
|
/* 02501650 */ cpu->r[31] = cpu->r[31] + 0xFFFFD834u;
|
|
/* 02501654 */ cpu->r[5] = cpu->r[5] + 0x0000085Cu;
|
|
/* 02501658 */ cpu->r[22] = cpu->r[24] + 0x00000054u;
|
|
/* 02501658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0250165C */ cpu->r[28] = cpu->r[28] + 0xFFFFD8ACu;
|
|
/* 02501660 */ _t10 = cpu->r[24] + 0x00000000u;
|
|
/* 02501660 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 02501664 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501664 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02501664 */ if (_t12) goto L_02501668; else goto L_02501688;
|
|
L_02501668: ; // 0x2501668
|
|
/* 02501668 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0250166C */ Gambit_fn_02801A78(cpu);
|
|
/* 02501670 */ cpu->r[22] = cpu->r[3];
|
|
/* 02501670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02501674 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501674 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02501674 */ if (_t14) goto L_02501678; else goto L_02501688;
|
|
L_02501678: ; // 0x2501678
|
|
/* 02501678 */ cpu->r[3] = cpu->r[24] + 0x000000A0u;
|
|
/* 02501678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250167C */ _t15 = cpu->r[26] + 0x00007399u;
|
|
/* 0250167C */ cpu->r[29] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02501680 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501680 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02501680 */ if (_t17) goto L_0250171C; else goto L_02501684;
|
|
L_02501684: ; // 0x2501684
|
|
/* 02501684 */ goto L_0250172C;
|
|
L_02501688: ; // 0x2501688
|
|
/* 02501688 */ cpu->r[23] = cpu->r[22];
|
|
/* 02501688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0250168C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250168C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0250168C */ if (_t19) goto L_02501690; else goto L_025016AC;
|
|
L_02501690: ; // 0x2501690
|
|
/* 02501690 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02501694 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501698 */ cpu->r[23] = cpu->r[3];
|
|
/* 02501698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0250169C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250169C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250169C */ if (_t21) goto L_025016A0; else goto L_025016AC;
|
|
L_025016A0: ; // 0x25016a0
|
|
/* 025016A0 */ _t22 = cpu->r[26] + 0x00007399u;
|
|
/* 025016A0 */ cpu->r[29] = rbrew_read8(cpu->mem, _t22);
|
|
/* 025016A4 */ _t23 = cpu->r[22] + 0x00000004u;
|
|
/* 025016A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
/* 025016A8 */ goto L_02501714;
|
|
L_025016AC: ; // 0x25016ac
|
|
/* 025016AC */ cpu->r[3] = cpu->r[23];
|
|
/* 025016AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025016B0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025016B0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 025016B0 */ if (_t25) goto L_025016B4; else goto L_025016E0;
|
|
L_025016B4: ; // 0x25016b4
|
|
/* 025016B4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025016B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025016BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025016C0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025016C0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 025016C0 */ if (_t27) goto L_025016C4; else goto L_025016E0;
|
|
L_025016C4: ; // 0x25016c4
|
|
/* 025016C4 */ _t28 = cpu->r[26] + 0x00007399u;
|
|
/* 025016C4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t28);
|
|
/* 025016C8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025016CC */ cpu->r[0] = cpu->r[0] + 0xFFFFD894u;
|
|
/* 025016D0 */ _t29 = cpu->r[23] + 0x00000000u;
|
|
/* 025016D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025016D4 */ _t30 = cpu->r[23] + 0x00000004u;
|
|
/* 025016D4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 025016D8 */ _t31 = cpu->r[9] + 0x00000000u;
|
|
/* 025016D8 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[29]);
|
|
/* 025016DC */ goto L_02501710;
|
|
L_025016E0: ; // 0x25016e0
|
|
/* 025016E0 */ cpu->r[6] = cpu->r[23] + 0x0000000Cu;
|
|
/* 025016E4 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 025016E4 */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 025016E8 */ cpu->r[7] = 0x00000040u;
|
|
/* 025016EC */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 025016EC */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 025016F0 */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 025016F0 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
|
|
/* 025016F4 */ _t35 = cpu->r[26] + 0x00007399u;
|
|
/* 025016F4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t35);
|
|
/* 025016F8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025016FC */ _t36 = cpu->r[23] + 0x0000004Bu;
|
|
/* 025016FC */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[29]);
|
|
/* 02501700 */ cpu->r[0] = cpu->r[0] + 0xFFFFD894u;
|
|
/* 02501704 */ _t37 = cpu->r[23] + 0x00000000u;
|
|
/* 02501704 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02501708 */ _t38 = cpu->r[23] + 0x00000004u;
|
|
/* 02501708 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0250170C */ _t39 = cpu->r[9] + 0x00000000u;
|
|
/* 0250170C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[29]);
|
|
L_02501710: ; // 0x2501710
|
|
/* 02501710 */ _t40 = cpu->r[22] + 0x00000004u;
|
|
/* 02501710 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
L_02501714: ; // 0x2501714
|
|
/* 02501714 */ cpu->r[3] = cpu->r[24] + 0x000000A0u;
|
|
/* 02501714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501718 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501718 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02501718 */ if (_t42) goto L_0250171C; else goto L_0250172C;
|
|
L_0250171C: ; // 0x250171c
|
|
/* 0250171C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02501720 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501728 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501728 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02501728 */ if (_t44) goto L_02501754; else goto L_0250172C;
|
|
L_0250172C: ; // 0x250172c
|
|
/* 0250172C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501730 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501730 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02501730 */ if (_t46) goto L_02501734; else goto L_02501744;
|
|
L_02501734: ; // 0x2501734
|
|
/* 02501734 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02501738 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250173C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501740 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501740 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02501740 */ if (_t48) goto L_02501754; else goto L_02501744;
|
|
L_02501744: ; // 0x2501744
|
|
/* 02501744 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 02501744 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 02501748 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250174C */ _t50 = cpu->r[3] + 0x00000004u;
|
|
/* 0250174C */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 02501750 */ _t51 = cpu->r[3] + 0x00000008u;
|
|
/* 02501750 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
L_02501754: ; // 0x2501754
|
|
/* 02501754 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02501758 */ cpu->r[11] = cpu->r[11] + 0xFFFFD81Cu;
|
|
/* 0250175C */ cpu->r[22] = cpu->r[24] + 0x000000B0u;
|
|
/* 0250175C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02501760 */ _t52 = cpu->r[24] + 0x000000ACu;
|
|
/* 02501760 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 02501764 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501764 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02501764 */ if (_t54) goto L_02501768; else goto L_02501778;
|
|
L_02501768: ; // 0x2501768
|
|
/* 02501768 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0250176C */ Gambit_fn_02801A78(cpu);
|
|
/* 02501770 */ cpu->r[22] = cpu->r[3];
|
|
/* 02501770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02501774 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501774 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02501774 */ if (_t56) goto L_025017D8; else goto L_02501778;
|
|
L_02501778: ; // 0x2501778
|
|
/* 02501778 */ cpu->r[23] = cpu->r[22];
|
|
/* 02501778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0250177C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250177C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0250177C */ if (_t58) goto L_02501780; else goto L_02501790;
|
|
L_02501780: ; // 0x2501780
|
|
/* 02501780 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02501784 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501788 */ cpu->r[23] = cpu->r[3];
|
|
/* 02501788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0250178C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250178C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0250178C */ if (_t60) goto L_025017D4; else goto L_02501790;
|
|
L_02501790: ; // 0x2501790
|
|
/* 02501790 */ cpu->r[3] = cpu->r[23];
|
|
/* 02501790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501794 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501794 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02501794 */ if (_t62) goto L_02501798; else goto L_025017A8;
|
|
L_02501798: ; // 0x2501798
|
|
/* 02501798 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250179C */ Gambit_fn_02801A78(cpu);
|
|
/* 025017A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025017A4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025017A4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 025017A4 */ if (_t64) goto L_025017C0; else goto L_025017A8;
|
|
L_025017A8: ; // 0x25017a8
|
|
/* 025017A8 */ cpu->r[12] = cpu->r[23] + 0x0000000Cu;
|
|
/* 025017AC */ _t65 = cpu->r[3] + 0x00000004u;
|
|
/* 025017AC */ rbrew_write32(cpu->mem, _t65, cpu->r[27]);
|
|
/* 025017B0 */ cpu->r[0] = 0x00000040u;
|
|
/* 025017B4 */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 025017B4 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 025017B8 */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 025017B8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 025017BC */ _t68 = cpu->r[23] + 0x0000004Bu;
|
|
/* 025017BC */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[29]);
|
|
L_025017C0: ; // 0x25017c0
|
|
/* 025017C0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 025017C4 */ _t69 = cpu->r[23] + 0x00000000u;
|
|
/* 025017C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
|
|
/* 025017C8 */ cpu->r[5] = cpu->r[5] + 0xFFFFD894u;
|
|
/* 025017CC */ _t70 = cpu->r[23] + 0x00000004u;
|
|
/* 025017CC */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
|
|
/* 025017D0 */ _t71 = cpu->r[6] + 0x00000000u;
|
|
/* 025017D0 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[29]);
|
|
L_025017D4: ; // 0x25017d4
|
|
/* 025017D4 */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 025017D4 */ rbrew_write32(cpu->mem, _t72, cpu->r[28]);
|
|
L_025017D8: ; // 0x25017d8
|
|
/* 025017D8 */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025017D8 */ rbrew_write32(cpu->mem, _t73, cpu->r[31]);
|
|
/* 025017DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025017E0 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 025017E0 */ rbrew_write32(cpu->mem, _t74, cpu->r[25]);
|
|
/* 025017E4 */ _t75 = cpu->r[24] + 0x00000054u;
|
|
/* 025017E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t75);
|
|
/* 025017E8 */ Gambit_fn_02501B5C(cpu);
|
|
/* 025017EC */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 025017EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 025017F0 */ _t77 = cpu->r[10] + 0x00000000u;
|
|
/* 025017F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t77);
|
|
/* 025017F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 025017F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 025017FC */ cpu->r[0] = 0x00080000u;
|
|
/* 02501800 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501800 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02501800 */ if (_t79) goto L_02501828; else goto L_02501804;
|
|
L_02501804: ; // 0x2501804
|
|
/* 02501804 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02501808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0250180C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02501810 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02501810 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02501810 */ if (_t81) goto L_02501824; else goto L_02501814;
|
|
L_02501814: ; // 0x2501814
|
|
/* 02501814 */ _t82 = cpu->r[10] + 0x00000000u;
|
|
/* 02501814 */ cpu->r[8] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02501818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 0250181C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250181C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0250181C */ if (_t84) goto L_02501820; else goto L_02501804;
|
|
L_02501820: ; // 0x2501820
|
|
/* 02501820 */ goto L_02501828;
|
|
L_02501824: ; // 0x2501824
|
|
/* 02501824 */ cpu->r[31] = 0x00000000u;
|
|
L_02501828: ; // 0x2501828
|
|
/* 02501828 */ _t85 = cpu->r[24] + 0x0000005Cu;
|
|
/* 02501828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0250182C */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250182C */ cpu->r[9] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02501830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02501834 */ _t87 = cpu->r[9] + 0x00000014u;
|
|
/* 02501834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02501838 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02501838 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02501838 */ if (_t89) goto L_02501840; else goto L_0250183C;
|
|
L_0250183C: ; // 0x250183c
|
|
/* 0250183C */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02501840: ; // 0x2501840
|
|
/* 02501840 */ cpu->ctr = cpu->r[0];
|
|
/* 02501844 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02501848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250184C */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 0250184C */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02501850 */ cpu->r[6] = 0x00000000u;
|
|
/* 02501854 */ cpu->r[5] = cpu->r[31];
|
|
/* 02501858 */ cpu->r[3] = cpu->r[28];
|
|
/* 0250185C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02501860 */ _t91 = cpu->r[28] + cpu->r[31];
|
|
/* 02501860 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[29]);
|
|
/* 02501864 */ _t92 = cpu->r[24] + 0x00000058u;
|
|
/* 02501864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02501868 */ _t93 = cpu->r[11] + 0x00000014u;
|
|
/* 02501868 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0250186C */ cpu->ctr = cpu->r[12];
|
|
/* 02501870 */ cpu->r[3] = cpu->r[24] + 0x00000054u;
|
|
/* 02501874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501878 */ _t94 = cpu->r[24] + 0x00000054u;
|
|
/* 02501878 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0250187C */ cpu->r[3] = cpu->r[24];
|
|
/* 02501880 */ _t95 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02501880 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02501880 */ if (_t96) goto L_02501884; // else: addr-0 trap, fall-through
|
|
L_02501884: ; // 0x2501884
|
|
/* 02501884 */ Gambit_fn_027F8F3C(cpu);
|
|
L_02501888: ; // 0x2501888
|
|
/* 02501888 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250188C */ cpu->r[0] = cpu->r[0] + 0xFFFFDA28u;
|
|
/* 02501890 */ cpu->r[28] = cpu->r[30] + 0x000000FCu;
|
|
/* 02501890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501894 */ _t97 = cpu->r[30] + 0x00000000u;
|
|
/* 02501894 */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
/* 02501898 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501898 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02501898 */ if (_t99) goto L_0250189C; else goto L_025018AC;
|
|
L_0250189C: ; // 0x250189c
|
|
/* 0250189C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 025018A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025018A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 025018A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025018A8 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018A8 */ _t101 = _t100 & 0x00000001u;
|
|
/* 025018A8 */ if (_t101) goto L_02501934; else goto L_025018AC;
|
|
L_025018AC: ; // 0x25018ac
|
|
/* 025018AC */ cpu->r[31] = cpu->r[28];
|
|
/* 025018AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025018B0 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018B0 */ _t103 = _t102 & 0x00000001u;
|
|
/* 025018B0 */ if (_t103) goto L_025018B4; else goto L_025018C4;
|
|
L_025018B4: ; // 0x25018b4
|
|
/* 025018B4 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 025018B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025018BC */ cpu->r[31] = cpu->r[3];
|
|
/* 025018BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025018C0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018C0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 025018C0 */ if (_t105) goto L_02501928; else goto L_025018C4;
|
|
L_025018C4: ; // 0x25018c4
|
|
/* 025018C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025018C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025018C8 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018C8 */ _t107 = _t106 & 0x00000001u;
|
|
/* 025018C8 */ if (_t107) goto L_025018CC; else goto L_025018F8;
|
|
L_025018CC: ; // 0x25018cc
|
|
/* 025018CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025018D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025018D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025018D8 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025018D8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 025018D8 */ if (_t109) goto L_025018DC; else goto L_025018F8;
|
|
L_025018DC: ; // 0x25018dc
|
|
/* 025018DC */ _t110 = cpu->r[26] + 0x00007399u;
|
|
/* 025018DC */ cpu->r[29] = rbrew_read8(cpu->mem, _t110);
|
|
/* 025018E0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025018E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFD864u;
|
|
/* 025018E8 */ _t111 = cpu->r[31] + 0x00000000u;
|
|
/* 025018E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 025018EC */ _t112 = cpu->r[31] + 0x00000004u;
|
|
/* 025018EC */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 025018F0 */ _t113 = cpu->r[8] + 0x00000000u;
|
|
/* 025018F0 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[29]);
|
|
/* 025018F4 */ goto L_02501928;
|
|
L_025018F8: ; // 0x25018f8
|
|
/* 025018F8 */ cpu->r[6] = 0x00000080u;
|
|
/* 025018FC */ _t114 = cpu->r[3] + 0x00000004u;
|
|
/* 025018FC */ rbrew_write32(cpu->mem, _t114, cpu->r[27]);
|
|
/* 02501900 */ cpu->r[0] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02501904 */ _t115 = cpu->r[3] + 0x00000008u;
|
|
/* 02501904 */ rbrew_write32(cpu->mem, _t115, cpu->r[6]);
|
|
/* 02501908 */ _t116 = cpu->r[3] + 0x00000000u;
|
|
/* 02501908 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 0250190C */ _t117 = cpu->r[26] + 0x00007399u;
|
|
/* 0250190C */ cpu->r[29] = rbrew_read8(cpu->mem, _t117);
|
|
/* 02501910 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501914 */ _t118 = cpu->r[31] + 0x0000008Bu;
|
|
/* 02501914 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[29]);
|
|
/* 02501918 */ cpu->r[0] = cpu->r[0] + 0xFFFFD864u;
|
|
/* 0250191C */ _t119 = cpu->r[31] + 0x00000000u;
|
|
/* 0250191C */ cpu->r[8] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02501920 */ _t120 = cpu->r[31] + 0x00000004u;
|
|
/* 02501920 */ rbrew_write32(cpu->mem, _t120, cpu->r[0]);
|
|
/* 02501924 */ _t121 = cpu->r[8] + 0x00000000u;
|
|
/* 02501924 */ rbrew_write8(cpu->mem, _t121, (uint8_t)cpu->r[29]);
|
|
L_02501928: ; // 0x2501928
|
|
/* 02501928 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250192C */ cpu->r[0] = cpu->r[0] + 0xFFFFD87Cu;
|
|
/* 02501930 */ _t122 = cpu->r[28] + 0x00000004u;
|
|
/* 02501930 */ rbrew_write32(cpu->mem, _t122, cpu->r[0]);
|
|
L_02501934: ; // 0x2501934
|
|
/* 02501934 */ cpu->r[3] = cpu->r[30];
|
|
/* 02501938 */ /* nop */
|
|
/* 0250193C */ _t123 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250193C */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02501940 */ cpu->lr = cpu->r[0];
|
|
/* 02501944 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02501948 */ return;
|
|
}
|
|
|
|
// fn_0250194C @ 0x250194c
|
|
void Gambit_fn_0250194C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32;
|
|
|
|
L_0250194C: ; // 0x250194c
|
|
/* 0250194C */ cpu->r[0] = cpu->lr;
|
|
/* 02501950 */ _t0 = cpu->r[1] + 0xFFFFFEE0u;
|
|
/* 02501950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501950 */ cpu->r[1] = _t0;
|
|
/* 02501954 */ _t1 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02501954 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02501958 */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 02501958 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250195C */ cpu->r[31] = cpu->r[4];
|
|
/* 02501960 */ _t3 = cpu->r[1] + 0x00000124u;
|
|
/* 02501960 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02501964 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02501964 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02501968 */ _t5 = cpu->r[8] + 0x00000314u;
|
|
/* 02501968 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250196C */ cpu->r[30] = cpu->r[3];
|
|
/* 02501970 */ cpu->ctr = cpu->r[8];
|
|
/* 02501974 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501978 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250197C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501980 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501980 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02501980 */ if (_t7) goto L_02501A68; else goto L_02501984;
|
|
L_02501984: ; // 0x2501984
|
|
/* 02501984 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02501984 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02501988 */ _t9 = cpu->r[10] + 0x00000314u;
|
|
/* 02501988 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250198C */ cpu->ctr = cpu->r[8];
|
|
/* 02501990 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501994 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501998 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250199C */ cpu->r[5] = 0x100C0000u;
|
|
/* 025019A0 */ cpu->r[6] = cpu->r[3];
|
|
/* 025019A4 */ cpu->r[3] = cpu->r[30] + 0x000000FCu;
|
|
/* 025019A8 */ cpu->r[5] = cpu->r[5] + 0xFFFFD9FCu;
|
|
/* 025019AC */ cpu->r[4] = cpu->r[4] + 0xFFFFD9D8u;
|
|
/* 025019B0 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 025019B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025019B0 */ if (_t11) goto L_025019B4; // else: addr-0 trap, fall-through
|
|
L_025019B4: ; // 0x25019b4
|
|
/* 025019B4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 025019B8 */ _t12 = cpu->r[30] + 0x00000100u;
|
|
/* 025019B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025019BC */ _t13 = cpu->r[9] + 0x00000014u;
|
|
/* 025019BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025019C0 */ cpu->ctr = cpu->r[10];
|
|
/* 025019C4 */ cpu->r[3] = cpu->r[30] + 0x000000FCu;
|
|
/* 025019C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025019CC */ _t14 = cpu->r[30] + 0x000000FCu;
|
|
/* 025019CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025019D0 */ cpu->r[12] = 0x10110000u;
|
|
/* 025019D4 */ cpu->r[11] = cpu->r[1] + 0x00000014u;
|
|
/* 025019D8 */ _t15 = cpu->r[30] + 0x000000ACu;
|
|
/* 025019D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 025019DC */ _t16 = cpu->r[12] + 0x00007399u;
|
|
/* 025019DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 025019E0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 025019E0 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 025019E4 */ _t18 = cpu->r[1] + 0x00000113u;
|
|
/* 025019E4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 025019E8 */ cpu->r[9] = 0x00000100u;
|
|
/* 025019EC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 025019EC */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 025019F0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025019F4 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 025019F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025019F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFD8DCu;
|
|
/* 025019FC */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 025019FC */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02501A00 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501A00 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02501A04 */ _t23 = cpu->r[12] + 0x00000314u;
|
|
/* 02501A04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02501A08 */ cpu->ctr = cpu->r[9];
|
|
/* 02501A0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02501A10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501A14 */ cpu->r[4] = 0x100C0000u;
|
|
/* 02501A18 */ cpu->r[5] = cpu->r[3];
|
|
/* 02501A1C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02501A20 */ cpu->r[4] = cpu->r[4] + 0xFFFFD9C4u;
|
|
/* 02501A24 */ _t24 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02501A24 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02501A24 */ if (_t25) goto L_02501A28; // else: addr-0 trap, fall-through
|
|
L_02501A28: ; // 0x2501a28
|
|
/* 02501A28 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02501A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02501A30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02501A34 */ cpu->r[5] = 0x00000000u;
|
|
/* 02501A38 */ Gambit_fn_027F85F4(cpu);
|
|
/* 02501A3C */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02501A3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02501A40 */ _t27 = cpu->r[10] + 0x00000314u;
|
|
/* 02501A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02501A44 */ cpu->ctr = cpu->r[0];
|
|
/* 02501A48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501A4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501A50 */ cpu->r[4] = 0x100C0000u;
|
|
/* 02501A54 */ cpu->r[5] = cpu->r[3];
|
|
/* 02501A58 */ cpu->r[3] = cpu->r[30] + 0x000000B0u;
|
|
/* 02501A5C */ cpu->r[4] = cpu->r[4] + 0xFFFFD9C0u;
|
|
/* 02501A60 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02501A60 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02501A60 */ if (_t29) goto L_02501A64; // else: addr-0 trap, fall-through
|
|
L_02501A64: ; // 0x2501a64
|
|
/* 02501A64 */ Gambit_fn_0282A5F4(cpu);
|
|
L_02501A68: ; // 0x2501a68
|
|
/* 02501A68 */ _t30 = cpu->r[1] + 0x00000124u;
|
|
/* 02501A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02501A6C */ _t31 = cpu->r[1] + 0x00000118u;
|
|
/* 02501A6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02501A70 */ cpu->lr = cpu->r[0];
|
|
/* 02501A74 */ _t32 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02501A74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02501A78 */ cpu->r[1] = cpu->r[1] + 0x00000120u;
|
|
/* 02501A7C */ return;
|
|
}
|
|
|
|
// fn_02501950 @ 0x2501950
|
|
void Gambit_fn_02501950(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32;
|
|
|
|
L_02501950: ; // 0x2501950
|
|
/* 02501950 */ _t0 = cpu->r[1] + 0xFFFFFEE0u;
|
|
/* 02501950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501950 */ cpu->r[1] = _t0;
|
|
/* 02501954 */ _t1 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02501954 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02501958 */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 02501958 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250195C */ cpu->r[31] = cpu->r[4];
|
|
/* 02501960 */ _t3 = cpu->r[1] + 0x00000124u;
|
|
/* 02501960 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02501964 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02501964 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02501968 */ _t5 = cpu->r[8] + 0x00000314u;
|
|
/* 02501968 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250196C */ cpu->r[30] = cpu->r[3];
|
|
/* 02501970 */ cpu->ctr = cpu->r[8];
|
|
/* 02501974 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501978 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250197C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501980 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501980 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02501980 */ if (_t7) goto L_02501A68; else goto L_02501984;
|
|
L_02501984: ; // 0x2501984
|
|
/* 02501984 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02501984 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02501988 */ _t9 = cpu->r[10] + 0x00000314u;
|
|
/* 02501988 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250198C */ cpu->ctr = cpu->r[8];
|
|
/* 02501990 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501994 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501998 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250199C */ cpu->r[5] = 0x100C0000u;
|
|
/* 025019A0 */ cpu->r[6] = cpu->r[3];
|
|
/* 025019A4 */ cpu->r[3] = cpu->r[30] + 0x000000FCu;
|
|
/* 025019A8 */ cpu->r[5] = cpu->r[5] + 0xFFFFD9FCu;
|
|
/* 025019AC */ cpu->r[4] = cpu->r[4] + 0xFFFFD9D8u;
|
|
/* 025019B0 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 025019B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025019B0 */ if (_t11) goto L_025019B4; // else: addr-0 trap, fall-through
|
|
L_025019B4: ; // 0x25019b4
|
|
/* 025019B4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 025019B8 */ _t12 = cpu->r[30] + 0x00000100u;
|
|
/* 025019B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025019BC */ _t13 = cpu->r[9] + 0x00000014u;
|
|
/* 025019BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025019C0 */ cpu->ctr = cpu->r[10];
|
|
/* 025019C4 */ cpu->r[3] = cpu->r[30] + 0x000000FCu;
|
|
/* 025019C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025019CC */ _t14 = cpu->r[30] + 0x000000FCu;
|
|
/* 025019CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025019D0 */ cpu->r[12] = 0x10110000u;
|
|
/* 025019D4 */ cpu->r[11] = cpu->r[1] + 0x00000014u;
|
|
/* 025019D8 */ _t15 = cpu->r[30] + 0x000000ACu;
|
|
/* 025019D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 025019DC */ _t16 = cpu->r[12] + 0x00007399u;
|
|
/* 025019DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 025019E0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 025019E0 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 025019E4 */ _t18 = cpu->r[1] + 0x00000113u;
|
|
/* 025019E4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 025019E8 */ cpu->r[9] = 0x00000100u;
|
|
/* 025019EC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 025019EC */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 025019F0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025019F4 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 025019F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025019F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFD8DCu;
|
|
/* 025019FC */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 025019FC */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02501A00 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501A00 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02501A04 */ _t23 = cpu->r[12] + 0x00000314u;
|
|
/* 02501A04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02501A08 */ cpu->ctr = cpu->r[9];
|
|
/* 02501A0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02501A10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501A14 */ cpu->r[4] = 0x100C0000u;
|
|
/* 02501A18 */ cpu->r[5] = cpu->r[3];
|
|
/* 02501A1C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02501A20 */ cpu->r[4] = cpu->r[4] + 0xFFFFD9C4u;
|
|
/* 02501A24 */ _t24 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02501A24 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02501A24 */ if (_t25) goto L_02501A28; // else: addr-0 trap, fall-through
|
|
L_02501A28: ; // 0x2501a28
|
|
/* 02501A28 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02501A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02501A30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02501A34 */ cpu->r[5] = 0x00000000u;
|
|
/* 02501A38 */ Gambit_fn_027F85F4(cpu);
|
|
/* 02501A3C */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02501A3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02501A40 */ _t27 = cpu->r[10] + 0x00000314u;
|
|
/* 02501A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02501A44 */ cpu->ctr = cpu->r[0];
|
|
/* 02501A48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501A4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501A50 */ cpu->r[4] = 0x100C0000u;
|
|
/* 02501A54 */ cpu->r[5] = cpu->r[3];
|
|
/* 02501A58 */ cpu->r[3] = cpu->r[30] + 0x000000B0u;
|
|
/* 02501A5C */ cpu->r[4] = cpu->r[4] + 0xFFFFD9C0u;
|
|
/* 02501A60 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02501A60 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02501A60 */ if (_t29) goto L_02501A64; // else: addr-0 trap, fall-through
|
|
L_02501A64: ; // 0x2501a64
|
|
/* 02501A64 */ Gambit_fn_0282A5F4(cpu);
|
|
L_02501A68: ; // 0x2501a68
|
|
/* 02501A68 */ _t30 = cpu->r[1] + 0x00000124u;
|
|
/* 02501A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02501A6C */ _t31 = cpu->r[1] + 0x00000118u;
|
|
/* 02501A6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02501A70 */ cpu->lr = cpu->r[0];
|
|
/* 02501A74 */ _t32 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02501A74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02501A78 */ cpu->r[1] = cpu->r[1] + 0x00000120u;
|
|
/* 02501A7C */ return;
|
|
}
|
|
|
|
// fn_02501A80 @ 0x2501a80
|
|
void Gambit_fn_02501A80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02501A80: ; // 0x2501a80
|
|
/* 02501A80 */ cpu->r[0] = cpu->lr;
|
|
/* 02501A84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02501A84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501A84 */ cpu->r[1] = _t0;
|
|
/* 02501A88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501A88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02501A8C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02501A8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02501A90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02501A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501A94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02501A94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02501A98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501A98 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02501A98 */ if (_t5) goto L_02501A9C; else goto L_02501AAC;
|
|
L_02501A9C: ; // 0x2501a9c
|
|
/* 02501A9C */ cpu->r[3] = 0x000001E8u;
|
|
/* 02501AA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501AA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02501AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501AA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501AA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02501AA8 */ if (_t7) goto L_02501B2C; else goto L_02501AAC;
|
|
L_02501AAC: ; // 0x2501aac
|
|
/* 02501AAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02501AB0 */ Gambit_fn_025015D0(cpu);
|
|
/* 02501AB4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501AB8 */ cpu->r[0] = cpu->r[0] + 0xFFFFD914u;
|
|
/* 02501ABC */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 02501ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02501AC0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02501AC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02501AC4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501AC4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02501AC4 */ if (_t10) goto L_02501AC8; else goto L_02501AD8;
|
|
L_02501AC8: ; // 0x2501ac8
|
|
/* 02501AC8 */ cpu->r[3] = 0x00000060u;
|
|
/* 02501ACC */ Gambit_fn_02801A78(cpu);
|
|
/* 02501AD0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02501AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02501AD4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501AD4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02501AD4 */ if (_t12) goto L_02501B2C; else goto L_02501AD8;
|
|
L_02501AD8: ; // 0x2501ad8
|
|
/* 02501AD8 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02501ADC */ cpu->r[4] = cpu->r[31];
|
|
/* 02501AE0 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02501AE4 */ cpu->r[5] = cpu->r[5] + 0xFFFFDA18u;
|
|
/* 02501AE8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02501AEC */ cpu->r[6] = cpu->r[6] + 0xFFFFDA20u;
|
|
/* 02501AF0 */ cpu->r[7] = cpu->r[5];
|
|
/* 02501AF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02501AF8 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02501AFC */ cpu->r[12] = 0x100C0000u;
|
|
/* 02501B00 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02501B04 */ _t13 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 02501B04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02501B08 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02501B0C */ _t14 = cpu->r[11] + 0xFFFFDA0Cu;
|
|
/* 02501B0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02501B10 */ _t15 = cpu->r[12] + 0xFFFFDA14u;
|
|
/* 02501B10 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02501B14 */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 02501B14 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02501B18 */ cpu->r[0] = 0x10110000u;
|
|
/* 02501B1C */ _t17 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02501B1C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 02501B20 */ cpu->r[0] = cpu->r[0] + 0x00000A2Cu;
|
|
/* 02501B24 */ _t18 = cpu->r[30] + 0x00000058u;
|
|
/* 02501B24 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02501B28 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02501B28 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_02501B2C: ; // 0x2501b2c
|
|
/* 02501B2C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02501B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02501B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501B34 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02501B38 */ cpu->lr = cpu->r[0];
|
|
/* 02501B3C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02501B3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02501B40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02501B44 */ return;
|
|
}
|
|
|
|
// fn_02501A84 @ 0x2501a84
|
|
void Gambit_fn_02501A84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02501A84: ; // 0x2501a84
|
|
/* 02501A84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02501A84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501A84 */ cpu->r[1] = _t0;
|
|
/* 02501A88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501A88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02501A8C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02501A8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02501A90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02501A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501A94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02501A94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02501A98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501A98 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02501A98 */ if (_t5) goto L_02501A9C; else goto L_02501AAC;
|
|
L_02501A9C: ; // 0x2501a9c
|
|
/* 02501A9C */ cpu->r[3] = 0x000001E8u;
|
|
/* 02501AA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501AA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02501AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501AA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501AA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02501AA8 */ if (_t7) goto L_02501B2C; else goto L_02501AAC;
|
|
L_02501AAC: ; // 0x2501aac
|
|
/* 02501AAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02501AB0 */ Gambit_fn_025015D0(cpu);
|
|
/* 02501AB4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501AB8 */ cpu->r[0] = cpu->r[0] + 0xFFFFD914u;
|
|
/* 02501ABC */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 02501ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02501AC0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02501AC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02501AC4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501AC4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02501AC4 */ if (_t10) goto L_02501AC8; else goto L_02501AD8;
|
|
L_02501AC8: ; // 0x2501ac8
|
|
/* 02501AC8 */ cpu->r[3] = 0x00000060u;
|
|
/* 02501ACC */ Gambit_fn_02801A78(cpu);
|
|
/* 02501AD0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02501AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02501AD4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501AD4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02501AD4 */ if (_t12) goto L_02501B2C; else goto L_02501AD8;
|
|
L_02501AD8: ; // 0x2501ad8
|
|
/* 02501AD8 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02501ADC */ cpu->r[4] = cpu->r[31];
|
|
/* 02501AE0 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02501AE4 */ cpu->r[5] = cpu->r[5] + 0xFFFFDA18u;
|
|
/* 02501AE8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02501AEC */ cpu->r[6] = cpu->r[6] + 0xFFFFDA20u;
|
|
/* 02501AF0 */ cpu->r[7] = cpu->r[5];
|
|
/* 02501AF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02501AF8 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02501AFC */ cpu->r[12] = 0x100C0000u;
|
|
/* 02501B00 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02501B04 */ _t13 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 02501B04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02501B08 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02501B0C */ _t14 = cpu->r[11] + 0xFFFFDA0Cu;
|
|
/* 02501B0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02501B10 */ _t15 = cpu->r[12] + 0xFFFFDA14u;
|
|
/* 02501B10 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02501B14 */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 02501B14 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02501B18 */ cpu->r[0] = 0x10110000u;
|
|
/* 02501B1C */ _t17 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02501B1C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 02501B20 */ cpu->r[0] = cpu->r[0] + 0x00000A2Cu;
|
|
/* 02501B24 */ _t18 = cpu->r[30] + 0x00000058u;
|
|
/* 02501B24 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02501B28 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02501B28 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_02501B2C: ; // 0x2501b2c
|
|
/* 02501B2C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02501B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02501B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501B34 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02501B38 */ cpu->lr = cpu->r[0];
|
|
/* 02501B3C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02501B3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02501B40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02501B44 */ return;
|
|
}
|
|
|
|
// fn_02501B48 @ 0x2501b48
|
|
void Gambit_fn_02501B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501B48: ; // 0x2501b48
|
|
/* 02501B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501B4C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501B4C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501B4C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501B4C */ goto L_02501B50;
|
|
L_02501B50: ; // 0x2501b50
|
|
/* 02501B50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501B54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501B54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501B54 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501B54 */ goto L_02501B58;
|
|
L_02501B58: ; // 0x2501b58
|
|
/* 02501B58 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501B5C @ 0x2501b5c
|
|
void Gambit_fn_02501B5C(CPUState* cpu) {
|
|
L_02501B5C: ; // 0x2501b5c
|
|
/* 02501B5C */ return;
|
|
}
|
|
|
|
// fn_02501B60 @ 0x2501b60
|
|
void Gambit_fn_02501B60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501B60: ; // 0x2501b60
|
|
/* 02501B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501B64 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501B64 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501B64 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501B64 */ goto L_02501B68;
|
|
L_02501B68: ; // 0x2501b68
|
|
/* 02501B68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501B6C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501B6C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501B6C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501B6C */ goto L_02501B70;
|
|
L_02501B70: ; // 0x2501b70
|
|
/* 02501B70 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501B74 @ 0x2501b74
|
|
void Gambit_fn_02501B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02501B74: ; // 0x2501b74
|
|
/* 02501B74 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02501B74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02501B78 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02501B78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02501B7C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02501B80 */ cpu->r[11] = 0x10110000u;
|
|
/* 02501B84 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02501B84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02501B88 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02501B88 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02501B8C */ return;
|
|
}
|
|
|
|
// fn_02501B90 @ 0x2501b90
|
|
void Gambit_fn_02501B90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501B90: ; // 0x2501b90
|
|
/* 02501B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501B94 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501B94 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501B94 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501B94 */ goto L_02501B98;
|
|
L_02501B98: ; // 0x2501b98
|
|
/* 02501B98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501B9C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501B9C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501B9C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501B9C */ goto L_02501BA0;
|
|
L_02501BA0: ; // 0x2501ba0
|
|
/* 02501BA0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501BA4 @ 0x2501ba4
|
|
void Gambit_fn_02501BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501BA4: ; // 0x2501ba4
|
|
/* 02501BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501BA8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BA8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501BA8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BA8 */ goto L_02501BAC;
|
|
L_02501BAC: ; // 0x2501bac
|
|
/* 02501BAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501BB0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BB0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501BB0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BB0 */ goto L_02501BB4;
|
|
L_02501BB4: ; // 0x2501bb4
|
|
/* 02501BB4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501BB8 @ 0x2501bb8
|
|
void Gambit_fn_02501BB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501BB8: ; // 0x2501bb8
|
|
/* 02501BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501BBC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BBC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501BBC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BBC */ goto L_02501BC0;
|
|
L_02501BC0: ; // 0x2501bc0
|
|
/* 02501BC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501BC4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BC4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501BC4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BC4 */ goto L_02501BC8;
|
|
L_02501BC8: ; // 0x2501bc8
|
|
/* 02501BC8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501BCC @ 0x2501bcc
|
|
void Gambit_fn_02501BCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501BCC: ; // 0x2501bcc
|
|
/* 02501BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501BD0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BD0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501BD0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BD0 */ goto L_02501BD4;
|
|
L_02501BD4: ; // 0x2501bd4
|
|
/* 02501BD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501BD8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BD8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501BD8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BD8 */ goto L_02501BDC;
|
|
L_02501BDC: ; // 0x2501bdc
|
|
/* 02501BDC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501BE0 @ 0x2501be0
|
|
void Gambit_fn_02501BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501BE0: ; // 0x2501be0
|
|
/* 02501BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501BE4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BE4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501BE4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BE4 */ goto L_02501BE8;
|
|
L_02501BE8: ; // 0x2501be8
|
|
/* 02501BE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501BEC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BEC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501BEC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BEC */ goto L_02501BF0;
|
|
L_02501BF0: ; // 0x2501bf0
|
|
/* 02501BF0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501BF4 @ 0x2501bf4
|
|
void Gambit_fn_02501BF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501BF4: ; // 0x2501bf4
|
|
/* 02501BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501BF8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501BF8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501BF8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501BF8 */ goto L_02501BFC;
|
|
L_02501BFC: ; // 0x2501bfc
|
|
/* 02501BFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501C00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501C00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501C00 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501C00 */ goto L_02501C04;
|
|
L_02501C04: ; // 0x2501c04
|
|
/* 02501C04 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501C08 @ 0x2501c08
|
|
void Gambit_fn_02501C08(CPUState* cpu) {
|
|
L_02501C08: ; // 0x2501c08
|
|
/* 02501C08 */ return;
|
|
}
|
|
|
|
// fn_02501C0C @ 0x2501c0c
|
|
void Gambit_fn_02501C0C(CPUState* cpu) {
|
|
L_02501C0C: ; // 0x2501c0c
|
|
/* 02501C0C */ return;
|
|
}
|
|
|
|
// fn_02501C10 @ 0x2501c10
|
|
void Gambit_fn_02501C10(CPUState* cpu) {
|
|
L_02501C10: ; // 0x2501c10
|
|
/* 02501C10 */ cpu->r[3] = 0x00000001u;
|
|
/* 02501C14 */ return;
|
|
}
|
|
|
|
// fn_02501C18 @ 0x2501c18
|
|
void Gambit_fn_02501C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02501C18: ; // 0x2501c18
|
|
/* 02501C18 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02501C1C */ _t0 = cpu->r[9] + 0xFFFFE6D4u;
|
|
/* 02501C1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02501C1C */ cpu->r[9] = _t0;
|
|
/* 02501C20 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02501C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02501C28 */ cpu->r[12] = cpu->r[12] + 0x000006A4u;
|
|
/* 02501C2C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501C2C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02501C2C */ if (_t2) goto L_02501C30; else goto L_02501C44;
|
|
L_02501C30: ; // 0x2501c30
|
|
/* 02501C30 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02501C34 */ cpu->r[0] = 0x00000001u;
|
|
/* 02501C38 */ cpu->r[7] = cpu->r[7] + 0xFFFFD8F4u;
|
|
/* 02501C3C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02501C3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02501C40 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02501C40 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02501C44: ; // 0x2501c44
|
|
/* 02501C44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02501C48 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501C48 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02501C48 */ if (_t6) goto L_02501C4C; else goto L_02501C54;
|
|
L_02501C4C: ; // 0x2501c4c
|
|
/* 02501C4C */ cpu->r[3] = 0x00000001u;
|
|
/* 02501C50 */ return;
|
|
L_02501C54: ; // 0x2501c54
|
|
/* 02501C54 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02501C58 */ _t7 = cpu->r[7] + 0xFFFFDA34u;
|
|
/* 02501C58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02501C58 */ cpu->r[7] = _t7;
|
|
/* 02501C5C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02501C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02501C64 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE4u;
|
|
/* 02501C68 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501C68 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02501C68 */ if (_t9) goto L_02501C6C; else goto L_02501C80;
|
|
L_02501C6C: ; // 0x2501c6c
|
|
/* 02501C6C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501C70 */ cpu->r[9] = 0x00000001u;
|
|
/* 02501C74 */ cpu->r[0] = cpu->r[0] + 0xFFFFD824u;
|
|
/* 02501C78 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02501C78 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02501C7C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02501C7C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02501C80: ; // 0x2501c80
|
|
/* 02501C80 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02501C84 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02501C88 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02501C8C */ return;
|
|
}
|
|
|
|
// fn_02501C90 @ 0x2501c90
|
|
void Gambit_fn_02501C90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02501C90: ; // 0x2501c90
|
|
/* 02501C90 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02501C94 */ _t0 = cpu->r[12] + 0xFFFFE6D8u;
|
|
/* 02501C94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02501C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02501C9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02501CA0 */ cpu->r[12] = cpu->r[12] + 0x000006F4u;
|
|
/* 02501CA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501CA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02501CA4 */ if (_t2) goto L_02501CA8; else goto L_02501CC0;
|
|
L_02501CA8: ; // 0x2501ca8
|
|
/* 02501CA8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501CAC */ cpu->r[9] = 0x00000001u;
|
|
/* 02501CB0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02501CB4 */ cpu->r[0] = cpu->r[0] + 0xFFFFD904u;
|
|
/* 02501CB8 */ _t3 = cpu->r[8] + 0xFFFFE6D8u;
|
|
/* 02501CB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02501CBC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02501CBC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02501CC0: ; // 0x2501cc0
|
|
/* 02501CC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02501CC4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501CC4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02501CC4 */ if (_t6) goto L_02501CC8; else goto L_02501CD0;
|
|
L_02501CC8: ; // 0x2501cc8
|
|
/* 02501CC8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02501CCC */ return;
|
|
L_02501CD0: ; // 0x2501cd0
|
|
/* 02501CD0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02501CD4 */ _t7 = cpu->r[11] + 0xFFFFE6D4u;
|
|
/* 02501CD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02501CD4 */ cpu->r[11] = _t7;
|
|
/* 02501CD8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02501CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02501CE0 */ cpu->r[10] = cpu->r[10] + 0x000006A4u;
|
|
/* 02501CE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501CE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02501CE4 */ if (_t9) goto L_02501CE8; else goto L_02501CFC;
|
|
L_02501CE8: ; // 0x2501ce8
|
|
/* 02501CE8 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02501CEC */ cpu->r[9] = 0x00000001u;
|
|
/* 02501CF0 */ cpu->r[12] = cpu->r[12] + 0xFFFFD8F4u;
|
|
/* 02501CF4 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02501CF4 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02501CF8 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02501CF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_02501CFC: ; // 0x2501cfc
|
|
/* 02501CFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02501D00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02501D00 */ if (_t13) goto L_02501D04; else goto L_02501D0C;
|
|
L_02501D04: ; // 0x2501d04
|
|
/* 02501D04 */ cpu->r[0] = 0x00000001u;
|
|
/* 02501D08 */ goto L_02501D44;
|
|
L_02501D0C: ; // 0x2501d0c
|
|
/* 02501D0C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02501D10 */ _t14 = cpu->r[8] + 0xFFFFDA34u;
|
|
/* 02501D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02501D10 */ cpu->r[8] = _t14;
|
|
/* 02501D14 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02501D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501D1C */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE4u;
|
|
/* 02501D20 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D20 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02501D20 */ if (_t16) goto L_02501D24; else goto L_02501D38;
|
|
L_02501D24: ; // 0x2501d24
|
|
/* 02501D24 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02501D28 */ cpu->r[9] = 0x00000001u;
|
|
/* 02501D2C */ cpu->r[10] = cpu->r[10] + 0xFFFFD824u;
|
|
/* 02501D30 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02501D30 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02501D34 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02501D34 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_02501D38: ; // 0x2501d38
|
|
/* 02501D38 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02501D3C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02501D40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02501D44: ; // 0x2501d44
|
|
/* 02501D44 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02501D48 */ return;
|
|
}
|
|
|
|
// fn_02501D4C @ 0x2501d4c
|
|
void Gambit_fn_02501D4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02501D4C: ; // 0x2501d4c
|
|
/* 02501D4C */ cpu->r[0] = cpu->lr;
|
|
/* 02501D50 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02501D50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501D50 */ cpu->r[1] = _t0;
|
|
/* 02501D54 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02501D54 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02501D58 */ /* nop */
|
|
/* 02501D5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02501D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501D60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D60 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501D60 */ if (_t3) goto L_02501D64; else goto L_02501D74;
|
|
L_02501D64: ; // 0x2501d64
|
|
/* 02501D64 */ cpu->r[3] = 0x00000550u;
|
|
/* 02501D68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501D6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02501D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501D70 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D70 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02501D70 */ if (_t5) goto L_02501F28; else goto L_02501D74;
|
|
L_02501D74: ; // 0x2501d74
|
|
/* 02501D74 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501D78 */ cpu->r[30] = cpu->r[31] + 0x0000019Cu;
|
|
/* 02501D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02501D7C */ cpu->r[0] = cpu->r[0] + 0xFFFFDBACu;
|
|
/* 02501D80 */ cpu->r[27] = 0x00000000u;
|
|
/* 02501D84 */ _t6 = cpu->r[31] + 0x0000054Cu;
|
|
/* 02501D84 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02501D88 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D88 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02501D88 */ if (_t8) goto L_02501D8C; else goto L_02501D9C;
|
|
L_02501D8C: ; // 0x2501d8c
|
|
/* 02501D8C */ cpu->r[3] = 0x00000398u;
|
|
/* 02501D90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501D94 */ cpu->r[30] = cpu->r[3];
|
|
/* 02501D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02501D98 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D98 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02501D98 */ if (_t10) goto L_02501DD0; else goto L_02501D9C;
|
|
L_02501D9C: ; // 0x2501d9c
|
|
/* 02501D9C */ cpu->r[3] = cpu->r[30];
|
|
/* 02501D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501DA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501DA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02501DA0 */ if (_t12) goto L_02501DA4; else goto L_02501DB4;
|
|
L_02501DA4: ; // 0x2501da4
|
|
/* 02501DA4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02501DA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501DB0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501DB0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02501DB0 */ if (_t14) goto L_02501DC0; else goto L_02501DB4;
|
|
L_02501DB4: ; // 0x2501db4
|
|
/* 02501DB4 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02501DB4 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 02501DB8 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02501DB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 02501DBC */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02501DBC */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
L_02501DC0: ; // 0x2501dc0
|
|
/* 02501DC0 */ cpu->r[4] = 0x000000E3u;
|
|
/* 02501DC4 */ cpu->r[5] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02501DC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02501DCC */ Gambit_fn_028023A8(cpu);
|
|
L_02501DD0: ; // 0x2501dd0
|
|
/* 02501DD0 */ cpu->r[3] = cpu->r[31] + 0x00000534u;
|
|
/* 02501DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501DD4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501DD4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02501DD4 */ if (_t19) goto L_02501DD8; else goto L_02501DE8;
|
|
L_02501DD8: ; // 0x2501dd8
|
|
/* 02501DD8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02501DDC */ Gambit_fn_02801A78(cpu);
|
|
/* 02501DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501DE4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501DE4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02501DE4 */ if (_t21) goto L_02501DF8; else goto L_02501DE8;
|
|
L_02501DE8: ; // 0x2501de8
|
|
/* 02501DE8 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 02501DE8 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 02501DEC */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 02501DEC */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 02501DF0 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02501DF0 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 02501DF4 */ _t25 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02501DF4 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
L_02501DF8: ; // 0x2501df8
|
|
/* 02501DF8 */ cpu->r[11] = 0x00000063u;
|
|
/* 02501DFC */ cpu->r[12] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02501E00 */ cpu->r[0] = 0x00000000u;
|
|
/* 02501E04 */ cpu->ctr = cpu->r[11];
|
|
/* 02501E08 */ _t26 = cpu->r[31] + 0x00000544u;
|
|
/* 02501E08 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[27]);
|
|
L_02501E0C: ; // 0x2501e0c
|
|
/* 02501E0C */ _t27 = cpu->r[12] + 0x00000004u;
|
|
/* 02501E0C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02501E0C */ cpu->r[12] = _t27;
|
|
/* 02501E10 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02501E10 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02501E10 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02501E10 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02501E10 */ if (_t30) goto L_02501E0C; else goto L_02501E14;
|
|
L_02501E14: ; // 0x2501e14
|
|
/* 02501E14 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02501E18 */ _t31 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02501E18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02501E1C */ Gambit_fn_02826F20(cpu);
|
|
/* 02501E20 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02501E20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02501E24 */ _t33 = cpu->r[11] + 0x00000034u;
|
|
/* 02501E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02501E28 */ cpu->ctr = cpu->r[0];
|
|
/* 02501E2C */ cpu->r[5] = 0x00000004u;
|
|
/* 02501E30 */ cpu->r[4] = 0x00002704u;
|
|
/* 02501E34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501E38 */ cpu->r[30] = 0x10110000u;
|
|
/* 02501E3C */ cpu->r[25] = cpu->r[3];
|
|
/* 02501E40 */ cpu->r[26] = 0x100C0000u;
|
|
/* 02501E44 */ _t34 = cpu->r[30] + 0x00007399u;
|
|
/* 02501E44 */ cpu->r[30] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02501E48 */ cpu->r[23] = 0x00000000u;
|
|
/* 02501E4C */ cpu->r[26] = cpu->r[26] + 0xFFFFDAD8u;
|
|
/* 02501E50 */ cpu->r[24] = 0x00000020u;
|
|
/* 02501E54 */ cpu->r[22] = 0x000000E3u;
|
|
L_02501E58: ; // 0x2501e58
|
|
/* 02501E58 */ cpu->r[29] = cpu->r[25] + cpu->r[23];
|
|
/* 02501E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02501E5C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E5C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02501E5C */ if (_t36) goto L_02501ECC; else goto L_02501E60;
|
|
L_02501E60: ; // 0x2501e60
|
|
/* 02501E60 */ cpu->r[28] = cpu->r[29];
|
|
/* 02501E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501E64 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E64 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02501E64 */ if (_t38) goto L_02501E68; else goto L_02501E78;
|
|
L_02501E68: ; // 0x2501e68
|
|
/* 02501E68 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02501E6C */ Gambit_fn_02801A78(cpu);
|
|
/* 02501E70 */ cpu->r[28] = cpu->r[3];
|
|
/* 02501E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501E74 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E74 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02501E74 */ if (_t40) goto L_02501EC0; else goto L_02501E78;
|
|
L_02501E78: ; // 0x2501e78
|
|
/* 02501E78 */ cpu->r[10] = cpu->r[28];
|
|
/* 02501E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02501E7C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E7C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02501E7C */ if (_t42) goto L_02501E80; else goto L_02501E90;
|
|
L_02501E80: ; // 0x2501e80
|
|
/* 02501E80 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02501E84 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501E88 */ cpu->r[10] = cpu->r[3];
|
|
/* 02501E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02501E8C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E8C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02501E8C */ if (_t44) goto L_02501EAC; else goto L_02501E90;
|
|
L_02501E90: ; // 0x2501e90
|
|
/* 02501E90 */ cpu->r[9] = 0x100C0000u;
|
|
/* 02501E94 */ _t45 = cpu->r[10] + 0x00000008u;
|
|
/* 02501E94 */ rbrew_write32(cpu->mem, _t45, cpu->r[24]);
|
|
/* 02501E98 */ cpu->r[0] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02501E9C */ cpu->r[9] = cpu->r[9] + 0xFFFFDAF0u;
|
|
/* 02501EA0 */ _t46 = cpu->r[10] + 0x00000000u;
|
|
/* 02501EA0 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02501EA4 */ _t47 = cpu->r[10] + 0x00000004u;
|
|
/* 02501EA4 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 02501EA8 */ _t48 = cpu->r[28] + 0x0000002Bu;
|
|
/* 02501EA8 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[30]);
|
|
L_02501EAC: ; // 0x2501eac
|
|
/* 02501EAC */ cpu->r[11] = 0x100C0000u;
|
|
/* 02501EB0 */ _t49 = cpu->r[28] + 0x00000000u;
|
|
/* 02501EB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02501EB4 */ cpu->r[11] = cpu->r[11] + 0xFFFFDB08u;
|
|
/* 02501EB8 */ _t50 = cpu->r[28] + 0x00000004u;
|
|
/* 02501EB8 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 02501EBC */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 02501EBC */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[30]);
|
|
L_02501EC0: ; // 0x2501ec0
|
|
/* 02501EC0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501EC4 */ cpu->r[0] = cpu->r[0] + 0xFFFFDB20u;
|
|
/* 02501EC8 */ _t52 = cpu->r[29] + 0x00000004u;
|
|
/* 02501EC8 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
L_02501ECC: ; // 0x2501ecc
|
|
/* 02501ECC */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02501ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02501ED0 */ cpu->r[23] = cpu->r[23] + 0x0000002Cu;
|
|
/* 02501ED4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501ED4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02501ED4 */ if (_t54) goto L_02501ED8; else goto L_02501E58;
|
|
L_02501ED8: ; // 0x2501ed8
|
|
/* 02501ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02501EDC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501EDC */ _t56 = _t55 & 0x00000001u;
|
|
/* 02501EDC */ if (_t56) goto L_02501EF4; else goto L_02501EE0;
|
|
L_02501EE0: ; // 0x2501ee0
|
|
/* 02501EE0 */ _t57 = cpu->r[31] + 0x00000534u;
|
|
/* 02501EE0 */ rbrew_write32(cpu->mem, _t57, cpu->r[25]);
|
|
/* 02501EE4 */ cpu->r[0] = 0x000000E3u;
|
|
/* 02501EE8 */ _t58 = cpu->r[31] + 0x0000053Cu;
|
|
/* 02501EE8 */ rbrew_write32(cpu->mem, _t58, cpu->r[27]);
|
|
/* 02501EEC */ _t59 = cpu->r[31] + 0x00000538u;
|
|
/* 02501EEC */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 02501EF0 */ _t60 = cpu->r[31] + 0x00000540u;
|
|
/* 02501EF0 */ rbrew_write32(cpu->mem, _t60, cpu->r[27]);
|
|
L_02501EF4: ; // 0x2501ef4
|
|
/* 02501EF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02501EF8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501EFC */ _t61 = cpu->r[12] + 0xFFFF9234u;
|
|
/* 02501EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02501F00 */ cpu->r[0] = cpu->r[0] + 0xFFFFDB88u;
|
|
/* 02501F04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02501F08 */ _t62 = cpu->r[12] + 0x00000018u;
|
|
/* 02501F08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02501F0C */ cpu->r[3] = 0x00040000u;
|
|
/* 02501F10 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02501F10 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02501F14 */ cpu->r[6] = 0x00000001u;
|
|
/* 02501F18 */ cpu->r[7] = 0x00000000u;
|
|
/* 02501F1C */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501F1C */ rbrew_write32(cpu->mem, _t64, cpu->r[26]);
|
|
/* 02501F20 */ Gambit_fn_02822600(cpu);
|
|
/* 02501F24 */ _t65 = cpu->r[31] + 0x00000548u;
|
|
/* 02501F24 */ rbrew_write32(cpu->mem, _t65, cpu->r[3]);
|
|
L_02501F28: ; // 0x2501f28
|
|
/* 02501F28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501F2C */ /* nop */
|
|
/* 02501F30 */ _t66 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02501F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02501F34 */ cpu->lr = cpu->r[0];
|
|
/* 02501F38 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02501F3C */ return;
|
|
}
|
|
|
|
// fn_02501D50 @ 0x2501d50
|
|
void Gambit_fn_02501D50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02501D50: ; // 0x2501d50
|
|
/* 02501D50 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02501D50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501D50 */ cpu->r[1] = _t0;
|
|
/* 02501D54 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02501D54 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02501D58 */ /* nop */
|
|
/* 02501D5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02501D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501D60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D60 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501D60 */ if (_t3) goto L_02501D64; else goto L_02501D74;
|
|
L_02501D64: ; // 0x2501d64
|
|
/* 02501D64 */ cpu->r[3] = 0x00000550u;
|
|
/* 02501D68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501D6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02501D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501D70 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D70 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02501D70 */ if (_t5) goto L_02501F28; else goto L_02501D74;
|
|
L_02501D74: ; // 0x2501d74
|
|
/* 02501D74 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501D78 */ cpu->r[30] = cpu->r[31] + 0x0000019Cu;
|
|
/* 02501D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02501D7C */ cpu->r[0] = cpu->r[0] + 0xFFFFDBACu;
|
|
/* 02501D80 */ cpu->r[27] = 0x00000000u;
|
|
/* 02501D84 */ _t6 = cpu->r[31] + 0x0000054Cu;
|
|
/* 02501D84 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02501D88 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D88 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02501D88 */ if (_t8) goto L_02501D8C; else goto L_02501D9C;
|
|
L_02501D8C: ; // 0x2501d8c
|
|
/* 02501D8C */ cpu->r[3] = 0x00000398u;
|
|
/* 02501D90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501D94 */ cpu->r[30] = cpu->r[3];
|
|
/* 02501D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02501D98 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501D98 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02501D98 */ if (_t10) goto L_02501DD0; else goto L_02501D9C;
|
|
L_02501D9C: ; // 0x2501d9c
|
|
/* 02501D9C */ cpu->r[3] = cpu->r[30];
|
|
/* 02501D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501DA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501DA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02501DA0 */ if (_t12) goto L_02501DA4; else goto L_02501DB4;
|
|
L_02501DA4: ; // 0x2501da4
|
|
/* 02501DA4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02501DA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501DB0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501DB0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02501DB0 */ if (_t14) goto L_02501DC0; else goto L_02501DB4;
|
|
L_02501DB4: ; // 0x2501db4
|
|
/* 02501DB4 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02501DB4 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 02501DB8 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02501DB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 02501DBC */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02501DBC */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
L_02501DC0: ; // 0x2501dc0
|
|
/* 02501DC0 */ cpu->r[4] = 0x000000E3u;
|
|
/* 02501DC4 */ cpu->r[5] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02501DC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02501DCC */ Gambit_fn_028023A8(cpu);
|
|
L_02501DD0: ; // 0x2501dd0
|
|
/* 02501DD0 */ cpu->r[3] = cpu->r[31] + 0x00000534u;
|
|
/* 02501DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501DD4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501DD4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02501DD4 */ if (_t19) goto L_02501DD8; else goto L_02501DE8;
|
|
L_02501DD8: ; // 0x2501dd8
|
|
/* 02501DD8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02501DDC */ Gambit_fn_02801A78(cpu);
|
|
/* 02501DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501DE4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501DE4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02501DE4 */ if (_t21) goto L_02501DF8; else goto L_02501DE8;
|
|
L_02501DE8: ; // 0x2501de8
|
|
/* 02501DE8 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 02501DE8 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 02501DEC */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 02501DEC */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 02501DF0 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02501DF0 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 02501DF4 */ _t25 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02501DF4 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
L_02501DF8: ; // 0x2501df8
|
|
/* 02501DF8 */ cpu->r[11] = 0x00000063u;
|
|
/* 02501DFC */ cpu->r[12] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02501E00 */ cpu->r[0] = 0x00000000u;
|
|
/* 02501E04 */ cpu->ctr = cpu->r[11];
|
|
/* 02501E08 */ _t26 = cpu->r[31] + 0x00000544u;
|
|
/* 02501E08 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[27]);
|
|
L_02501E0C: ; // 0x2501e0c
|
|
/* 02501E0C */ _t27 = cpu->r[12] + 0x00000004u;
|
|
/* 02501E0C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02501E0C */ cpu->r[12] = _t27;
|
|
/* 02501E10 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02501E10 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02501E10 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02501E10 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02501E10 */ if (_t30) goto L_02501E0C; else goto L_02501E14;
|
|
L_02501E14: ; // 0x2501e14
|
|
/* 02501E14 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02501E18 */ _t31 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02501E18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02501E1C */ Gambit_fn_02826F20(cpu);
|
|
/* 02501E20 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02501E20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02501E24 */ _t33 = cpu->r[11] + 0x00000034u;
|
|
/* 02501E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02501E28 */ cpu->ctr = cpu->r[0];
|
|
/* 02501E2C */ cpu->r[5] = 0x00000004u;
|
|
/* 02501E30 */ cpu->r[4] = 0x00002704u;
|
|
/* 02501E34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02501E38 */ cpu->r[30] = 0x10110000u;
|
|
/* 02501E3C */ cpu->r[25] = cpu->r[3];
|
|
/* 02501E40 */ cpu->r[26] = 0x100C0000u;
|
|
/* 02501E44 */ _t34 = cpu->r[30] + 0x00007399u;
|
|
/* 02501E44 */ cpu->r[30] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02501E48 */ cpu->r[23] = 0x00000000u;
|
|
/* 02501E4C */ cpu->r[26] = cpu->r[26] + 0xFFFFDAD8u;
|
|
/* 02501E50 */ cpu->r[24] = 0x00000020u;
|
|
/* 02501E54 */ cpu->r[22] = 0x000000E3u;
|
|
L_02501E58: ; // 0x2501e58
|
|
/* 02501E58 */ cpu->r[29] = cpu->r[25] + cpu->r[23];
|
|
/* 02501E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02501E5C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E5C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02501E5C */ if (_t36) goto L_02501ECC; else goto L_02501E60;
|
|
L_02501E60: ; // 0x2501e60
|
|
/* 02501E60 */ cpu->r[28] = cpu->r[29];
|
|
/* 02501E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501E64 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E64 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02501E64 */ if (_t38) goto L_02501E68; else goto L_02501E78;
|
|
L_02501E68: ; // 0x2501e68
|
|
/* 02501E68 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02501E6C */ Gambit_fn_02801A78(cpu);
|
|
/* 02501E70 */ cpu->r[28] = cpu->r[3];
|
|
/* 02501E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02501E74 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E74 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02501E74 */ if (_t40) goto L_02501EC0; else goto L_02501E78;
|
|
L_02501E78: ; // 0x2501e78
|
|
/* 02501E78 */ cpu->r[10] = cpu->r[28];
|
|
/* 02501E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02501E7C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E7C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02501E7C */ if (_t42) goto L_02501E80; else goto L_02501E90;
|
|
L_02501E80: ; // 0x2501e80
|
|
/* 02501E80 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02501E84 */ Gambit_fn_02801A78(cpu);
|
|
/* 02501E88 */ cpu->r[10] = cpu->r[3];
|
|
/* 02501E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02501E8C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501E8C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02501E8C */ if (_t44) goto L_02501EAC; else goto L_02501E90;
|
|
L_02501E90: ; // 0x2501e90
|
|
/* 02501E90 */ cpu->r[9] = 0x100C0000u;
|
|
/* 02501E94 */ _t45 = cpu->r[10] + 0x00000008u;
|
|
/* 02501E94 */ rbrew_write32(cpu->mem, _t45, cpu->r[24]);
|
|
/* 02501E98 */ cpu->r[0] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02501E9C */ cpu->r[9] = cpu->r[9] + 0xFFFFDAF0u;
|
|
/* 02501EA0 */ _t46 = cpu->r[10] + 0x00000000u;
|
|
/* 02501EA0 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02501EA4 */ _t47 = cpu->r[10] + 0x00000004u;
|
|
/* 02501EA4 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 02501EA8 */ _t48 = cpu->r[28] + 0x0000002Bu;
|
|
/* 02501EA8 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[30]);
|
|
L_02501EAC: ; // 0x2501eac
|
|
/* 02501EAC */ cpu->r[11] = 0x100C0000u;
|
|
/* 02501EB0 */ _t49 = cpu->r[28] + 0x00000000u;
|
|
/* 02501EB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02501EB4 */ cpu->r[11] = cpu->r[11] + 0xFFFFDB08u;
|
|
/* 02501EB8 */ _t50 = cpu->r[28] + 0x00000004u;
|
|
/* 02501EB8 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 02501EBC */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 02501EBC */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[30]);
|
|
L_02501EC0: ; // 0x2501ec0
|
|
/* 02501EC0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501EC4 */ cpu->r[0] = cpu->r[0] + 0xFFFFDB20u;
|
|
/* 02501EC8 */ _t52 = cpu->r[29] + 0x00000004u;
|
|
/* 02501EC8 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
L_02501ECC: ; // 0x2501ecc
|
|
/* 02501ECC */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02501ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02501ED0 */ cpu->r[23] = cpu->r[23] + 0x0000002Cu;
|
|
/* 02501ED4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501ED4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02501ED4 */ if (_t54) goto L_02501ED8; else goto L_02501E58;
|
|
L_02501ED8: ; // 0x2501ed8
|
|
/* 02501ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02501EDC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501EDC */ _t56 = _t55 & 0x00000001u;
|
|
/* 02501EDC */ if (_t56) goto L_02501EF4; else goto L_02501EE0;
|
|
L_02501EE0: ; // 0x2501ee0
|
|
/* 02501EE0 */ _t57 = cpu->r[31] + 0x00000534u;
|
|
/* 02501EE0 */ rbrew_write32(cpu->mem, _t57, cpu->r[25]);
|
|
/* 02501EE4 */ cpu->r[0] = 0x000000E3u;
|
|
/* 02501EE8 */ _t58 = cpu->r[31] + 0x0000053Cu;
|
|
/* 02501EE8 */ rbrew_write32(cpu->mem, _t58, cpu->r[27]);
|
|
/* 02501EEC */ _t59 = cpu->r[31] + 0x00000538u;
|
|
/* 02501EEC */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 02501EF0 */ _t60 = cpu->r[31] + 0x00000540u;
|
|
/* 02501EF0 */ rbrew_write32(cpu->mem, _t60, cpu->r[27]);
|
|
L_02501EF4: ; // 0x2501ef4
|
|
/* 02501EF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02501EF8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501EFC */ _t61 = cpu->r[12] + 0xFFFF9234u;
|
|
/* 02501EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02501F00 */ cpu->r[0] = cpu->r[0] + 0xFFFFDB88u;
|
|
/* 02501F04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02501F08 */ _t62 = cpu->r[12] + 0x00000018u;
|
|
/* 02501F08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02501F0C */ cpu->r[3] = 0x00040000u;
|
|
/* 02501F10 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02501F10 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02501F14 */ cpu->r[6] = 0x00000001u;
|
|
/* 02501F18 */ cpu->r[7] = 0x00000000u;
|
|
/* 02501F1C */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501F1C */ rbrew_write32(cpu->mem, _t64, cpu->r[26]);
|
|
/* 02501F20 */ Gambit_fn_02822600(cpu);
|
|
/* 02501F24 */ _t65 = cpu->r[31] + 0x00000548u;
|
|
/* 02501F24 */ rbrew_write32(cpu->mem, _t65, cpu->r[3]);
|
|
L_02501F28: ; // 0x2501f28
|
|
/* 02501F28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501F2C */ /* nop */
|
|
/* 02501F30 */ _t66 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02501F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02501F34 */ cpu->lr = cpu->r[0];
|
|
/* 02501F38 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02501F3C */ return;
|
|
}
|
|
|
|
// fn_02501F40 @ 0x2501f40
|
|
void Gambit_fn_02501F40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02501F40: ; // 0x2501f40
|
|
/* 02501F40 */ cpu->r[0] = cpu->lr;
|
|
/* 02501F44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02501F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501F44 */ cpu->r[1] = _t0;
|
|
/* 02501F48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02501F4C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02501F4C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02501F50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02501F50 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02501F54 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02501F54 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02501F58 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02501F5C */ cpu->r[30] = cpu->r[3];
|
|
/* 02501F60 */ _t5 = cpu->r[29] + 0x000066F8u;
|
|
/* 02501F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02501F60 */ cpu->r[29] = _t5;
|
|
/* 02501F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501F68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501F68 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02501F68 */ if (_t7) goto L_02501F6C; else goto L_02501FB8;
|
|
L_02501F6C: ; // 0x2501f6c
|
|
/* 02501F6C */ cpu->r[4] = cpu->r[30];
|
|
/* 02501F70 */ cpu->r[3] = 0x00000550u;
|
|
/* 02501F74 */ cpu->r[5] = 0x00000004u;
|
|
/* 02501F78 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02501F7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02501F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501F80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501F80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02501F80 */ if (_t9) goto L_02501FA0; else goto L_02501F84;
|
|
L_02501F84: ; // 0x2501f84
|
|
/* 02501F84 */ cpu->r[5] = 0x00000003u;
|
|
/* 02501F88 */ cpu->r[4] = cpu->r[30];
|
|
/* 02501F8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02501F90 */ Gambit_fn_02821D88(cpu);
|
|
/* 02501F94 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501F98 */ cpu->r[0] = cpu->r[0] + 0xFFFFDB9Cu;
|
|
/* 02501F9C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02501F9C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02501FA0: ; // 0x2501fa0
|
|
/* 02501FA0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02501FA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501FA8 */ _t11 = cpu->r[12] + 0x000066FCu;
|
|
/* 02501FA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02501FAC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501FAC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02501FAC */ if (_t13) goto L_02501FB4; else goto L_02501FB0;
|
|
L_02501FB0: ; // 0x2501fb0
|
|
/* 02501FB0 */ Gambit_fn_02501D4C(cpu);
|
|
L_02501FB4: ; // 0x2501fb4
|
|
/* 02501FB4 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 02501FB4 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_02501FB8: ; // 0x2501fb8
|
|
/* 02501FB8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501FB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02501FBC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02501FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02501FC0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02501FC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02501FC4 */ cpu->lr = cpu->r[0];
|
|
/* 02501FC8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02501FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02501FCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02501FD0 */ return;
|
|
}
|
|
|
|
// fn_02501F44 @ 0x2501f44
|
|
void Gambit_fn_02501F44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02501F44: ; // 0x2501f44
|
|
/* 02501F44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02501F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501F44 */ cpu->r[1] = _t0;
|
|
/* 02501F48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02501F4C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02501F4C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02501F50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02501F50 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02501F54 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02501F54 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02501F58 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02501F5C */ cpu->r[30] = cpu->r[3];
|
|
/* 02501F60 */ _t5 = cpu->r[29] + 0x000066F8u;
|
|
/* 02501F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02501F60 */ cpu->r[29] = _t5;
|
|
/* 02501F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501F68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501F68 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02501F68 */ if (_t7) goto L_02501F6C; else goto L_02501FB8;
|
|
L_02501F6C: ; // 0x2501f6c
|
|
/* 02501F6C */ cpu->r[4] = cpu->r[30];
|
|
/* 02501F70 */ cpu->r[3] = 0x00000550u;
|
|
/* 02501F74 */ cpu->r[5] = 0x00000004u;
|
|
/* 02501F78 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02501F7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02501F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02501F80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501F80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02501F80 */ if (_t9) goto L_02501FA0; else goto L_02501F84;
|
|
L_02501F84: ; // 0x2501f84
|
|
/* 02501F84 */ cpu->r[5] = 0x00000003u;
|
|
/* 02501F88 */ cpu->r[4] = cpu->r[30];
|
|
/* 02501F8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02501F90 */ Gambit_fn_02821D88(cpu);
|
|
/* 02501F94 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02501F98 */ cpu->r[0] = cpu->r[0] + 0xFFFFDB9Cu;
|
|
/* 02501F9C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02501F9C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02501FA0: ; // 0x2501fa0
|
|
/* 02501FA0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02501FA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02501FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501FA8 */ _t11 = cpu->r[12] + 0x000066FCu;
|
|
/* 02501FA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02501FAC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501FAC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02501FAC */ if (_t13) goto L_02501FB4; else goto L_02501FB0;
|
|
L_02501FB0: ; // 0x2501fb0
|
|
/* 02501FB0 */ Gambit_fn_02501D4C(cpu);
|
|
L_02501FB4: ; // 0x2501fb4
|
|
/* 02501FB4 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 02501FB4 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_02501FB8: ; // 0x2501fb8
|
|
/* 02501FB8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02501FB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02501FBC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02501FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02501FC0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02501FC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02501FC4 */ cpu->lr = cpu->r[0];
|
|
/* 02501FC8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02501FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02501FCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02501FD0 */ return;
|
|
}
|
|
|
|
// fn_02501FD4 @ 0x2501fd4
|
|
void Gambit_fn_02501FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02501FD4: ; // 0x2501fd4
|
|
/* 02501FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02501FD8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501FD8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02501FD8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501FD8 */ goto L_02501FDC;
|
|
L_02501FDC: ; // 0x2501fdc
|
|
/* 02501FDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02501FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02501FE0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02501FE0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02501FE0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02501FE0 */ goto L_02501FE4;
|
|
L_02501FE4: ; // 0x2501fe4
|
|
/* 02501FE4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02501FE8 @ 0x2501fe8
|
|
void Gambit_fn_02501FE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53;
|
|
|
|
L_02501FE8: ; // 0x2501fe8
|
|
/* 02501FE8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02501FE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02501FE8 */ cpu->r[1] = _t0;
|
|
/* 02501FEC */ /* nop */
|
|
/* 02501FF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02501FF4 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02501FF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02501FF8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02501FFC */ _t2 = cpu->r[27] + 0x00000548u;
|
|
/* 02501FFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02502000 */ cpu->r[31] = 0x00000001u;
|
|
/* 02502004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02502008 */ cpu->r[26] = 0x101D0000u;
|
|
/* 0250200C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250200C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0250200C */ if (_t4) goto L_0250201C; else goto L_02502010;
|
|
L_02502010: ; // 0x2502010
|
|
/* 02502010 */ _t5 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 02502010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02502014 */ Gambit_fn_02827008(cpu);
|
|
/* 02502018 */ cpu->r[31] = cpu->r[3];
|
|
L_0250201C: ; // 0x250201c
|
|
/* 0250201C */ cpu->r[24] = 0x00000000u;
|
|
/* 02502020 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02502024 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02502028 */ cpu->r[23] = cpu->r[24];
|
|
/* 0250202C */ cpu->r[28] = 0x101D0000u;
|
|
/* 02502030 */ cpu->r[25] = cpu->r[27] + 0x00000010u;
|
|
/* 02502034 */ goto L_02502040;
|
|
L_02502038: ; // 0x2502038
|
|
/* 02502038 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000063u);
|
|
/* 0250203C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250203C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250203C */ if (_t7) goto L_02502040; else goto L_02502050;
|
|
L_02502040: ; // 0x2502040
|
|
/* 02502040 */ cpu->r[9] = cpu->r[25] + cpu->r[23];
|
|
/* 02502044 */ cpu->r[21] = cpu->r[23];
|
|
/* 02502048 */ cpu->r[22] = 0x00000001u;
|
|
/* 0250204C */ goto L_02502054;
|
|
L_02502050: ; // 0x2502050
|
|
/* 02502050 */ cpu->r[9] = cpu->r[25];
|
|
L_02502054: ; // 0x2502054
|
|
/* 02502054 */ _t8 = cpu->r[9] + 0x00000000u;
|
|
/* 02502054 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02502058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0250205C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250205C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250205C */ if (_t10) goto L_02502060; else goto L_02502138;
|
|
L_02502060: ; // 0x2502060
|
|
/* 02502060 */ _t11 = cpu->r[29] + 0x00006000u;
|
|
/* 02502060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02502064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02502068 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502068 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02502068 */ if (_t13) goto L_02502138; else goto L_0250206C;
|
|
L_0250206C: ; // 0x250206c
|
|
/* 0250206C */ _t14 = cpu->r[11] + 0x00000264u;
|
|
/* 0250206C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02502070 */ _t15 = cpu->r[10] + 0x00000030u;
|
|
/* 02502070 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02502074 */ _t16 = cpu->r[5] + cpu->r[21];
|
|
/* 02502074 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02502078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0250207C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250207C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250207C */ if (_t18) goto L_02502138; else goto L_02502080;
|
|
L_02502080: ; // 0x2502080
|
|
/* 02502080 */ _t19 = cpu->r[10] + 0x00000030u;
|
|
/* 02502080 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02502084 */ _t20 = cpu->r[7] + cpu->r[21];
|
|
/* 02502084 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02502088 */ _t21 = cpu->r[30] + 0xFFFFDA10u;
|
|
/* 02502088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250208C */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 0250208C */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02502090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02502094 */ _t23 = cpu->r[9] + 0x00000000u;
|
|
/* 02502094 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02502098 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502098 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02502098 */ if (_t25) goto L_0250209C; else goto L_025020AC;
|
|
L_0250209C: ; // 0x250209c
|
|
/* 0250209C */ cpu->r[11] = 0x100C0000u;
|
|
/* 025020A0 */ _t26 = cpu->r[30] + 0xFFFFDA10u;
|
|
/* 025020A0 */ rbrew_write32(cpu->mem, _t26, cpu->r[22]);
|
|
/* 025020A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFDB78u;
|
|
/* 025020A8 */ _t27 = cpu->r[28] + 0xFFFFFBBCu;
|
|
/* 025020A8 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
L_025020AC: ; // 0x25020ac
|
|
/* 025020AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025020B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025020B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 025020B0 */ if (_t29) goto L_02502138; else goto L_025020B4;
|
|
L_025020B4: ; // 0x25020b4
|
|
/* 025020B4 */ _t30 = cpu->r[27] + 0x00000004u;
|
|
/* 025020B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025020B8 */ _t31 = cpu->r[12] + 0x00000014u;
|
|
/* 025020B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025020BC */ cpu->ctr = cpu->r[0];
|
|
/* 025020C0 */ cpu->r[3] = cpu->r[27];
|
|
/* 025020C4 */ cpu->r[4] = cpu->r[28] + 0xFFFFFBBCu;
|
|
/* 025020C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025020CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025020D0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025020D0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 025020D0 */ if (_t33) goto L_02502138; else goto L_025020D4;
|
|
L_025020D4: ; // 0x25020d4
|
|
/* 025020D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025020D8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025020D8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 025020D8 */ if (_t35) goto L_02502138; else goto L_025020DC;
|
|
L_025020DC: ; // 0x25020dc
|
|
/* 025020DC */ _t36 = cpu->r[27] + 0x00000004u;
|
|
/* 025020DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025020E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000063u);
|
|
/* 025020E4 */ _t37 = cpu->r[7] + 0x0000030Cu;
|
|
/* 025020E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025020E8 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025020E8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 025020E8 */ if (_t39) goto L_025020EC; else goto L_02502114;
|
|
L_025020EC: ; // 0x25020ec
|
|
/* 025020EC */ cpu->ctr = cpu->r[0];
|
|
/* 025020F0 */ cpu->r[3] = cpu->r[27];
|
|
/* 025020F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025020F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000063u);
|
|
/* 025020FC */ _t40 = cpu->r[25] + cpu->r[21];
|
|
/* 025020FC */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 02502100 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502100 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02502100 */ if (_t42) goto L_0250212C; else goto L_02502104;
|
|
L_02502104: ; // 0x2502104
|
|
/* 02502104 */ _t43 = cpu->r[25] + 0x00000000u;
|
|
/* 02502104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02502108 */ cpu->r[4] = cpu->r[27];
|
|
/* 0250210C */ Gambit_fn_0250194C(cpu);
|
|
/* 02502110 */ goto L_02502138;
|
|
L_02502114: ; // 0x2502114
|
|
/* 02502114 */ cpu->ctr = cpu->r[0];
|
|
/* 02502118 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250211C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000063u);
|
|
/* 02502124 */ _t44 = cpu->r[25] + 0x00000000u;
|
|
/* 02502124 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 02502128 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502128 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02502128 */ if (_t46) goto L_0250212C; else goto L_02502104;
|
|
L_0250212C: ; // 0x250212c
|
|
/* 0250212C */ _t47 = cpu->r[25] + cpu->r[21];
|
|
/* 0250212C */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02502130 */ cpu->r[4] = cpu->r[27];
|
|
/* 02502134 */ Gambit_fn_0250194C(cpu);
|
|
L_02502138: ; // 0x2502138
|
|
/* 02502138 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0250213C */ cpu->r[21] = cpu->r[21] + 0x00000004u;
|
|
/* 02502140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000063u);
|
|
/* 02502144 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02502148 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502148 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02502148 */ if (_t49) goto L_02502038; else goto L_0250214C;
|
|
L_0250214C: ; // 0x250214c
|
|
/* 0250214C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02502150 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502150 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02502150 */ if (_t51) goto L_02502160; else goto L_02502154;
|
|
L_02502154: ; // 0x2502154
|
|
/* 02502154 */ _t52 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 02502154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02502158 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250215C */ Gambit_fn_02827008(cpu);
|
|
L_02502160: ; // 0x2502160
|
|
/* 02502160 */ /* nop */
|
|
/* 02502164 */ _t53 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02502168 */ cpu->lr = cpu->r[0];
|
|
/* 0250216C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02502170 */ return;
|
|
}
|
|
|
|
// fn_02502174 @ 0x2502174
|
|
void Gambit_fn_02502174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_02502174: ; // 0x2502174
|
|
/* 02502174 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02502174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02502174 */ cpu->r[1] = _t0;
|
|
/* 02502178 */ /* nop */
|
|
/* 0250217C */ cpu->r[0] = cpu->lr;
|
|
/* 02502180 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502180 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02502184 */ cpu->r[29] = cpu->r[3];
|
|
/* 02502188 */ _t2 = cpu->r[29] + 0x00000540u;
|
|
/* 02502188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250218C */ cpu->r[27] = 0x00000000u;
|
|
/* 02502190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 02502194 */ cpu->r[30] = cpu->r[4];
|
|
/* 02502198 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502198 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02502198 */ if (_t4) goto L_0250219C; else goto L_025022E4;
|
|
L_0250219C: ; // 0x250219c
|
|
/* 0250219C */ cpu->r[31] = 0x10110000u;
|
|
/* 025021A0 */ cpu->r[26] = 0x00080000u;
|
|
/* 025021A4 */ cpu->r[28] = 0x100C0000u;
|
|
/* 025021A8 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 025021A8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 025021AC */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 025021B0 */ cpu->r[28] = cpu->r[28] + 0xFFFFDAD8u;
|
|
L_025021B4: ; // 0x25021b4
|
|
/* 025021B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 025021B8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025021B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025021B8 */ if (_t7) goto L_025021BC; else goto L_0250224C;
|
|
L_025021BC: ; // 0x25021bc
|
|
/* 025021BC */ _t8 = cpu->r[29] + 0x0000053Cu;
|
|
/* 025021BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025021C0 */ _t9 = cpu->r[29] + 0x00000538u;
|
|
/* 025021C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025021C4 */ cpu->r[10] = cpu->r[12] + cpu->r[27];
|
|
/* 025021C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[7]);
|
|
/* 025021CC */ _t10 = cpu->r[29] + 0x00000534u;
|
|
/* 025021CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025021D0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025021D0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025021D0 */ if (_t12) goto L_025021D8; else goto L_025021D4;
|
|
L_025021D4: ; // 0x25021d4
|
|
/* 025021D4 */ cpu->r[10] = cpu->r[10] - cpu->r[7];
|
|
L_025021D8: ; // 0x25021d8
|
|
/* 025021D8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000002Cu);
|
|
/* 025021DC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025021DC */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 025021E0 */ _t14 = cpu->r[4] + cpu->r[0];
|
|
/* 025021E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025021E4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 025021E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 025021E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025021EC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 025021EC */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 025021F0 */ cpu->r[8] = cpu->r[4] + cpu->r[0];
|
|
/* 025021F4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 025021F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 025021F8 */ Gambit_fn_025029A0(cpu);
|
|
/* 025021FC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025021FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02502200 */ _t19 = cpu->r[5] + 0x00000014u;
|
|
/* 02502200 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02502204 */ cpu->ctr = cpu->r[7];
|
|
/* 02502208 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250220C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502210 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02502210 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02502214 */ _t21 = cpu->r[8] + 0x00000014u;
|
|
/* 02502214 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02502218 */ cpu->ctr = cpu->r[9];
|
|
/* 0250221C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0250221C */ cpu->r[25] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02502220 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02502224 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502228 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02502228 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250222C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[10]);
|
|
/* 02502230 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502230 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02502230 */ if (_t25) goto L_02502234; else goto L_025022A4;
|
|
L_02502234: ; // 0x2502234
|
|
/* 02502234 */ /* nop */
|
|
/* 02502238 */ _t26 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250223C */ cpu->lr = cpu->r[0];
|
|
/* 02502240 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02502244 */ cpu->r[3] = 0x00000001u;
|
|
/* 02502248 */ return;
|
|
L_0250224C: ; // 0x250224c
|
|
/* 0250224C */ _t27 = cpu->r[29] + 0x00000534u;
|
|
/* 0250224C */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02502250 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502250 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 02502254 */ _t29 = cpu->r[8] + 0x00000000u;
|
|
/* 02502254 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02502258 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02502258 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 0250225C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0250225C */ rbrew_write32(cpu->mem, _t31, cpu->r[6]);
|
|
/* 02502260 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02502264 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02502264 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 02502268 */ Gambit_fn_025029A0(cpu);
|
|
/* 0250226C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250226C */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02502270 */ _t34 = cpu->r[5] + 0x00000014u;
|
|
/* 02502270 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02502274 */ cpu->ctr = cpu->r[7];
|
|
/* 02502278 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250227C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502280 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02502280 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02502284 */ _t36 = cpu->r[8] + 0x00000014u;
|
|
/* 02502284 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02502288 */ cpu->ctr = cpu->r[9];
|
|
/* 0250228C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0250228C */ cpu->r[25] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02502290 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02502294 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502298 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02502298 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250229C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[10]);
|
|
/* 025022A0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025022A0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 025022A0 */ if (_t40) goto L_02502234; else goto L_025022A4;
|
|
L_025022A4: ; // 0x25022a4
|
|
/* 025022A4 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 025022A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025022A8 */ cpu->ctr = cpu->r[26];
|
|
/* 025022AC */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 025022AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025022B0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_025022B4: ; // 0x25022b4
|
|
/* 025022B4 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 025022B4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t43);
|
|
/* 025022B8 */ _t44 = cpu->r[6] + 0x00000001u;
|
|
/* 025022B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 025022B8 */ cpu->r[6] = _t44;
|
|
/* 025022BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 025022C0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025022C0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 025022C0 */ if (_t46) goto L_025022C4; else goto L_025022D4;
|
|
L_025022C4: ; // 0x25022c4
|
|
/* 025022C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 025022C8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025022C8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 025022C8 */ if (_t48) goto L_02502234; else goto L_025022CC;
|
|
L_025022CC: ; // 0x25022cc
|
|
/* 025022CC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 025022D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025022D0 */ _t49 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025022D0 */ _t50 = _t49 >> (0x00000002u & 31u);
|
|
/* 025022D0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 025022D0 */ if (_t51) goto L_025022B4; else goto L_025022D4;
|
|
L_025022D4: ; // 0x25022d4
|
|
/* 025022D4 */ _t52 = cpu->r[29] + 0x00000540u;
|
|
/* 025022D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025022D8 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 025022DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 025022E0 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025022E0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 025022E0 */ if (_t54) goto L_025021B4; else goto L_025022E4;
|
|
L_025022E4: ; // 0x25022e4
|
|
/* 025022E4 */ /* nop */
|
|
/* 025022E8 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025022E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 025022EC */ cpu->lr = cpu->r[0];
|
|
/* 025022F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 025022F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025022F8 */ return;
|
|
}
|
|
|
|
// fn_025022FC @ 0x25022fc
|
|
void Gambit_fn_025022FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142;
|
|
|
|
L_025022FC: ; // 0x25022fc
|
|
/* 025022FC */ _t0 = cpu->r[1] + 0xFFFFFE70u;
|
|
/* 025022FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025022FC */ cpu->r[1] = _t0;
|
|
/* 02502300 */ /* nop */
|
|
/* 02502304 */ cpu->r[0] = cpu->lr;
|
|
/* 02502308 */ _t1 = cpu->r[1] + 0x00000194u;
|
|
/* 02502308 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0250230C */ cpu->r[28] = cpu->r[3];
|
|
/* 02502310 */ _t2 = cpu->r[28] + 0x00000548u;
|
|
/* 02502310 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02502314 */ cpu->r[3] = 0x00000001u;
|
|
/* 02502318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0250231C */ cpu->r[15] = 0x101D0000u;
|
|
/* 02502320 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502320 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02502320 */ if (_t4) goto L_0250232C; else goto L_02502324;
|
|
L_02502324: ; // 0x2502324
|
|
/* 02502324 */ _t5 = cpu->r[15] + 0xFFFF98F0u;
|
|
/* 02502324 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02502328 */ Gambit_fn_02827008(cpu);
|
|
L_0250232C: ; // 0x250232c
|
|
/* 0250232C */ cpu->r[27] = 0x101C0000u;
|
|
/* 02502330 */ _t6 = cpu->r[27] + 0x00006000u;
|
|
/* 02502330 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02502330 */ cpu->r[27] = _t6;
|
|
/* 02502334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02502338 */ cpu->r[14] = cpu->r[3];
|
|
/* 0250233C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250233C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0250233C */ if (_t8) goto L_02502720; else goto L_02502340;
|
|
L_02502340: ; // 0x2502340
|
|
/* 02502340 */ cpu->r[17] = 0x00000000u;
|
|
/* 02502344 */ cpu->r[20] = 0x00000063u;
|
|
/* 02502348 */ cpu->r[31] = cpu->r[17];
|
|
L_0250234C: ; // 0x250234c
|
|
/* 0250234C */ _t9 = cpu->r[6] + 0x00000264u;
|
|
/* 0250234C */ cpu->r[18] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02502350 */ _t10 = cpu->r[18] + 0x00000030u;
|
|
/* 02502350 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02502354 */ _t11 = cpu->r[8] + cpu->r[31];
|
|
/* 02502354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02502358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0250235C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250235C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250235C */ if (_t13) goto L_02502708; else goto L_02502360;
|
|
L_02502360: ; // 0x2502360
|
|
/* 02502360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000031u);
|
|
/* 02502364 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502364 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02502364 */ if (_t15) goto L_02502708; else goto L_02502368;
|
|
L_02502368: ; // 0x2502368
|
|
/* 02502368 */ _t16 = cpu->r[6] + 0x00000000u;
|
|
/* 02502368 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250236C */ cpu->r[19] = 0x00000000u;
|
|
/* 02502370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[5]);
|
|
/* 02502374 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502374 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02502374 */ if (_t18) goto L_02502378; else goto L_02502708;
|
|
L_02502378: ; // 0x2502378
|
|
/* 02502378 */ cpu->r[7] = 0x10110000u;
|
|
/* 0250237C */ cpu->r[25] = cpu->r[1] + 0x00000048u;
|
|
/* 02502380 */ cpu->r[30] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502384 */ _t19 = cpu->r[7] + 0x00007399u;
|
|
/* 02502384 */ cpu->r[21] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02502388 */ cpu->r[22] = 0x101D0000u;
|
|
/* 0250238C */ cpu->r[24] = 0x101D0000u;
|
|
/* 02502390 */ _t20 = cpu->r[8] + cpu->r[31];
|
|
/* 02502390 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02502394 */ cpu->r[23] = 0x00000000u;
|
|
L_02502398: ; // 0x2502398
|
|
/* 02502398 */ _t21 = cpu->r[24] + 0xFFFFDA10u;
|
|
/* 02502398 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250239C */ _t22 = cpu->r[4] + 0x00000004u;
|
|
/* 0250239C */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025023A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 025023A4 */ _t23 = cpu->r[6] + cpu->r[23];
|
|
/* 025023A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025023A8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025023A8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 025023A8 */ if (_t25) goto L_025023AC; else goto L_025023C0;
|
|
L_025023AC: ; // 0x25023ac
|
|
/* 025023AC */ cpu->r[9] = 0x100C0000u;
|
|
/* 025023B0 */ cpu->r[8] = 0x00000001u;
|
|
/* 025023B4 */ cpu->r[9] = cpu->r[9] + 0xFFFFDB78u;
|
|
/* 025023B8 */ _t26 = cpu->r[24] + 0xFFFFDA10u;
|
|
/* 025023B8 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 025023BC */ _t27 = cpu->r[22] + 0xFFFFFBBCu;
|
|
/* 025023BC */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
L_025023C0: ; // 0x25023c0
|
|
/* 025023C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025023C4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025023C4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 025023C4 */ if (_t29) goto L_025026EC; else goto L_025023C8;
|
|
L_025023C8: ; // 0x25023c8
|
|
/* 025023C8 */ _t30 = cpu->r[29] + 0x00000004u;
|
|
/* 025023C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025023CC */ _t31 = cpu->r[10] + 0x00000014u;
|
|
/* 025023CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025023D0 */ cpu->ctr = cpu->r[0];
|
|
/* 025023D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025023D8 */ cpu->r[4] = cpu->r[22] + 0xFFFFFBBCu;
|
|
/* 025023DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025023E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025023E4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025023E4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 025023E4 */ if (_t33) goto L_025026EC; else goto L_025023E8;
|
|
L_025023E8: ; // 0x25023e8
|
|
/* 025023E8 */ cpu->r[26] = cpu->r[29];
|
|
/* 025023E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 025023EC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025023EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 025023EC */ if (_t35) goto L_025026EC; else goto L_025023F0;
|
|
L_025023F0: ; // 0x25023f0
|
|
/* 025023F0 */ cpu->r[3] = cpu->r[26];
|
|
/* 025023F4 */ Gambit_fn_024F3230(cpu);
|
|
/* 025023F8 */ cpu->r[4] = cpu->r[3];
|
|
/* 025023FC */ cpu->r[3] = cpu->r[28];
|
|
/* 02502400 */ Gambit_fn_02502174(cpu);
|
|
/* 02502404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502408 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502408 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02502408 */ if (_t37) goto L_0250240C; else goto L_025026EC;
|
|
L_0250240C: ; // 0x250240c
|
|
/* 0250240C */ _t38 = cpu->r[26] + 0x00000004u;
|
|
/* 0250240C */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02502410 */ _t39 = cpu->r[12] + 0x0000031Cu;
|
|
/* 02502410 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02502414 */ cpu->ctr = cpu->r[4];
|
|
/* 02502418 */ cpu->r[3] = cpu->r[26];
|
|
/* 0250241C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502420 */ _t40 = cpu->r[28] + 0x000001A0u;
|
|
/* 02502420 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02502424 */ _t41 = cpu->r[28] + 0x0000019Cu;
|
|
/* 02502424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02502428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[6]);
|
|
/* 0250242C */ cpu->r[29] = cpu->r[3];
|
|
/* 02502430 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502430 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02502430 */ if (_t43) goto L_02502434; else goto L_0250244C;
|
|
L_02502434: ; // 0x2502434
|
|
/* 02502434 */ _t44 = cpu->r[28] + 0x000001A4u;
|
|
/* 02502434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02502438 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250243C */ _t45 = cpu->r[8] + cpu->r[0];
|
|
/* 0250243C */ rbrew_write32(cpu->mem, _t45, cpu->r[29]);
|
|
/* 02502440 */ _t46 = cpu->r[28] + 0x0000019Cu;
|
|
/* 02502440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02502444 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02502448 */ _t47 = cpu->r[28] + 0x0000019Cu;
|
|
/* 02502448 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]);
|
|
L_0250244C: ; // 0x250244c
|
|
/* 0250244C */ _t48 = cpu->r[26] + 0x00000004u;
|
|
/* 0250244C */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02502450 */ _t49 = cpu->r[5] + 0x00000314u;
|
|
/* 02502450 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02502454 */ cpu->ctr = cpu->r[7];
|
|
/* 02502458 */ cpu->r[3] = cpu->r[26];
|
|
/* 0250245C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502460 */ _t50 = cpu->r[26] + 0x00000008u;
|
|
/* 02502460 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02502464 */ cpu->r[5] = cpu->r[3];
|
|
/* 02502468 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250246C */ Gambit_fn_023979A0(cpu);
|
|
/* 02502470 */ cpu->r[3] = cpu->r[26];
|
|
/* 02502474 */ Gambit_fn_024F3230(cpu);
|
|
/* 02502478 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250247C */ _t51 = cpu->r[25] + 0x000000FFu;
|
|
/* 0250247C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[21]);
|
|
/* 02502480 */ cpu->r[12] = cpu->r[12] + 0xFFFFDAD8u;
|
|
/* 02502484 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502484 */ rbrew_write32(cpu->mem, _t52, cpu->r[25]);
|
|
/* 02502488 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250248C */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250248C */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 02502490 */ cpu->r[0] = cpu->r[0] + 0xFFFFDB38u;
|
|
/* 02502494 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02502494 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02502498 */ cpu->r[9] = 0x00000100u;
|
|
/* 0250249C */ _t55 = cpu->r[1] + 0x00000040u;
|
|
/* 0250249C */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 025024A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025024A4 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 025024A4 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 025024A8 */ Gambit_fn_025029A0(cpu);
|
|
/* 025024AC */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 025024AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 025024B0 */ _t58 = cpu->r[6] + 0x00000000u;
|
|
/* 025024B0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t58);
|
|
/* 025024B4 */ cpu->r[0] = cpu->r[21];
|
|
/* 025024B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 025024BC */ cpu->r[10] = 0x00000000u;
|
|
/* 025024C0 */ cpu->r[8] = 0x00080000u;
|
|
/* 025024C4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025024C4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 025024C4 */ if (_t60) goto L_02502500; else goto L_025024C8;
|
|
L_025024C8: ; // 0x25024c8
|
|
/* 025024C8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 025024CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]);
|
|
/* 025024D0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 025024D4 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025024D4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 025024D4 */ if (_t62) goto L_025024EC; else goto L_025024D8;
|
|
L_025024D8: ; // 0x25024d8
|
|
/* 025024D8 */ _t63 = cpu->r[6] + 0x00000000u;
|
|
/* 025024D8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 025024DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 025024E0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025024E0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 025024E0 */ if (_t65) goto L_025024E4; else goto L_025024C8;
|
|
L_025024E4: ; // 0x25024e4
|
|
/* 025024E4 */ cpu->r[29] = cpu->r[10];
|
|
/* 025024E8 */ goto L_02502504;
|
|
L_025024EC: ; // 0x25024ec
|
|
/* 025024EC */ cpu->r[29] = 0x00000000u;
|
|
/* 025024F0 */ _t66 = cpu->r[1] + 0x00000044u;
|
|
/* 025024F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 025024F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 025024F8 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025024F8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 025024F8 */ if (_t68) goto L_025024FC; else goto L_02502510;
|
|
L_025024FC: ; // 0x25024fc
|
|
/* 025024FC */ goto L_02502514;
|
|
L_02502500: ; // 0x2502500
|
|
/* 02502500 */ cpu->r[29] = cpu->r[10];
|
|
L_02502504: ; // 0x2502504
|
|
/* 02502504 */ _t69 = cpu->r[1] + 0x00000044u;
|
|
/* 02502504 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02502508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0250250C */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250250C */ _t71 = _t70 & 0x00000001u;
|
|
/* 0250250C */ if (_t71) goto L_02502514; else goto L_02502510;
|
|
L_02502510: ; // 0x2502510
|
|
/* 02502510 */ cpu->r[29] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02502514: ; // 0x2502514
|
|
/* 02502514 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502514 */ cpu->r[4] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02502518 */ _t73 = cpu->r[4] + 0x00000014u;
|
|
/* 02502518 */ cpu->r[5] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0250251C */ cpu->ctr = cpu->r[5];
|
|
/* 02502520 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02502524 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502528 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 02502528 */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0250252C */ cpu->r[6] = 0x00000000u;
|
|
/* 02502530 */ cpu->r[5] = cpu->r[29];
|
|
/* 02502534 */ cpu->r[3] = cpu->r[25];
|
|
/* 02502538 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0250253C */ _t75 = cpu->r[25] + cpu->r[29];
|
|
/* 0250253C */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[21]);
|
|
/* 02502540 */ cpu->r[9] = 0x00000020u;
|
|
/* 02502544 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02502548 */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 02502548 */ rbrew_write32(cpu->mem, _t76, cpu->r[30]);
|
|
/* 0250254C */ cpu->r[11] = cpu->r[11] + 0xFFFFDB08u;
|
|
/* 02502550 */ _t77 = cpu->r[1] + 0x00000018u;
|
|
/* 02502550 */ rbrew_write32(cpu->mem, _t77, cpu->r[9]);
|
|
/* 02502554 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02502558 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02502558 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]);
|
|
/* 0250255C */ cpu->r[7] = cpu->r[7] + 0xFFFFDB50u;
|
|
/* 02502560 */ _t79 = cpu->r[30] + 0x0000001Fu;
|
|
/* 02502560 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[21]);
|
|
/* 02502564 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502568 */ _t80 = cpu->r[1] + 0x00000040u;
|
|
/* 02502568 */ rbrew_write32(cpu->mem, _t80, cpu->r[7]);
|
|
/* 0250256C */ Gambit_fn_025029B8(cpu);
|
|
/* 02502570 */ _t81 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502570 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02502574 */ _t82 = cpu->r[10] + 0x00000000u;
|
|
/* 02502574 */ cpu->r[0] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02502578 */ cpu->r[12] = cpu->r[21];
|
|
/* 0250257C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02502580 */ cpu->r[4] = 0x00080000u;
|
|
/* 02502584 */ cpu->r[11] = 0x00000000u;
|
|
/* 02502588 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502588 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02502588 */ if (_t84) goto L_025025C4; else goto L_0250258C;
|
|
L_0250258C: ; // 0x250258c
|
|
/* 0250258C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02502590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[4]);
|
|
/* 02502594 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02502598 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02502598 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02502598 */ if (_t86) goto L_025025B0; else goto L_0250259C;
|
|
L_0250259C: ; // 0x250259c
|
|
/* 0250259C */ _t87 = cpu->r[10] + 0x00000000u;
|
|
/* 0250259C */ cpu->r[5] = rbrew_read8(cpu->mem, _t87);
|
|
/* 025025A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 025025A4 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025025A4 */ _t89 = _t88 & 0x00000001u;
|
|
/* 025025A4 */ if (_t89) goto L_025025A8; else goto L_0250258C;
|
|
L_025025A8: ; // 0x25025a8
|
|
/* 025025A8 */ cpu->r[29] = cpu->r[11];
|
|
/* 025025AC */ goto L_025025C8;
|
|
L_025025B0: ; // 0x25025b0
|
|
/* 025025B0 */ cpu->r[29] = 0x00000000u;
|
|
/* 025025B4 */ _t90 = cpu->r[1] + 0x00000018u;
|
|
/* 025025B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 025025B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 025025BC */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025025BC */ _t92 = _t91 & 0x00000001u;
|
|
/* 025025BC */ if (_t92) goto L_025025C0; else goto L_025025D4;
|
|
L_025025C0: ; // 0x25025c0
|
|
/* 025025C0 */ goto L_025025D8;
|
|
L_025025C4: ; // 0x25025c4
|
|
/* 025025C4 */ cpu->r[29] = cpu->r[11];
|
|
L_025025C8: ; // 0x25025c8
|
|
/* 025025C8 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 025025C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 025025CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 025025D0 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025025D0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 025025D0 */ if (_t95) goto L_025025D8; else goto L_025025D4;
|
|
L_025025D4: ; // 0x25025d4
|
|
/* 025025D4 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_025025D8: ; // 0x25025d8
|
|
/* 025025D8 */ _t96 = cpu->r[1] + 0x00000040u;
|
|
/* 025025D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t96);
|
|
/* 025025DC */ _t97 = cpu->r[7] + 0x00000014u;
|
|
/* 025025DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 025025E0 */ cpu->ctr = cpu->r[9];
|
|
/* 025025E4 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 025025E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025025EC */ _t98 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025025EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t98);
|
|
/* 025025F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025025F4 */ cpu->r[5] = cpu->r[29];
|
|
/* 025025F8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025025FC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02502600 */ _t99 = cpu->r[28] + 0x00000540u;
|
|
/* 02502600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02502604 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02502608 */ _t100 = cpu->r[28] + 0x00000538u;
|
|
/* 02502608 */ cpu->r[11] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0250260C */ cpu->r[10] = cpu->r[10] + 0xFFFFDB20u;
|
|
/* 02502610 */ _t101 = cpu->r[30] + cpu->r[29];
|
|
/* 02502610 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[21]);
|
|
/* 02502614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02502618 */ _t102 = cpu->r[1] + 0x00000014u;
|
|
/* 02502618 */ rbrew_write32(cpu->mem, _t102, cpu->r[10]);
|
|
/* 0250261C */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250261C */ _t104 = _t103 & 0x00000001u;
|
|
/* 0250261C */ if (_t104) goto L_02502620; else goto L_025026EC;
|
|
L_02502620: ; // 0x2502620
|
|
/* 02502620 */ _t105 = cpu->r[28] + 0x0000053Cu;
|
|
/* 02502620 */ cpu->r[5] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02502624 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02502628 */ _t106 = cpu->r[28] + 0x00000538u;
|
|
/* 02502628 */ cpu->r[4] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0250262C */ cpu->r[5] = cpu->r[5] + cpu->r[12];
|
|
/* 02502630 */ _t107 = cpu->r[28] + 0x00000534u;
|
|
/* 02502630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02502634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]);
|
|
/* 02502638 */ _t108 = cpu->r[28] + 0x00000540u;
|
|
/* 02502638 */ rbrew_write32(cpu->mem, _t108, cpu->r[0]);
|
|
/* 0250263C */ _t109 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250263C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0250263C */ if (_t110) goto L_02502644; else goto L_02502640;
|
|
L_02502640: ; // 0x2502640
|
|
/* 02502640 */ cpu->r[5] = cpu->r[5] - cpu->r[4];
|
|
L_02502644: ; // 0x2502644
|
|
/* 02502644 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000002Cu);
|
|
/* 02502648 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0250264C */ _t111 = cpu->r[9] + cpu->r[7];
|
|
/* 0250264C */ cpu->r[16] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02502650 */ cpu->r[26] = cpu->r[9] + cpu->r[7];
|
|
/* 02502654 */ Gambit_fn_025029B8(cpu);
|
|
/* 02502658 */ _t112 = cpu->r[1] + 0x00000010u;
|
|
/* 02502658 */ cpu->r[5] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0250265C */ _t113 = cpu->r[5] + 0x00000000u;
|
|
/* 0250265C */ cpu->r[10] = rbrew_read8(cpu->mem, _t113);
|
|
/* 02502660 */ cpu->r[9] = cpu->r[21];
|
|
/* 02502664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02502668 */ cpu->r[7] = 0x00080000u;
|
|
/* 0250266C */ cpu->r[8] = 0x00000000u;
|
|
/* 02502670 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502670 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02502670 */ if (_t115) goto L_025026AC; else goto L_02502674;
|
|
L_02502674: ; // 0x2502674
|
|
/* 02502674 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02502678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]);
|
|
/* 0250267C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02502680 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02502680 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02502680 */ if (_t117) goto L_02502698; else goto L_02502684;
|
|
L_02502684: ; // 0x2502684
|
|
/* 02502684 */ _t118 = cpu->r[5] + 0x00000000u;
|
|
/* 02502684 */ cpu->r[0] = rbrew_read8(cpu->mem, _t118);
|
|
/* 02502688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 0250268C */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250268C */ _t120 = _t119 & 0x00000001u;
|
|
/* 0250268C */ if (_t120) goto L_02502690; else goto L_02502674;
|
|
L_02502690: ; // 0x2502690
|
|
/* 02502690 */ cpu->r[29] = cpu->r[8];
|
|
/* 02502694 */ goto L_025026B0;
|
|
L_02502698: ; // 0x2502698
|
|
/* 02502698 */ cpu->r[29] = 0x00000000u;
|
|
/* 0250269C */ _t121 = cpu->r[26] + 0x00000008u;
|
|
/* 0250269C */ cpu->r[6] = rbrew_read32(cpu->mem, _t121);
|
|
/* 025026A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 025026A4 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025026A4 */ _t123 = _t122 & 0x00000001u;
|
|
/* 025026A4 */ if (_t123) goto L_025026C0; else goto L_025026A8;
|
|
L_025026A8: ; // 0x25026a8
|
|
/* 025026A8 */ goto L_025026BC;
|
|
L_025026AC: ; // 0x25026ac
|
|
/* 025026AC */ cpu->r[29] = cpu->r[8];
|
|
L_025026B0: ; // 0x25026b0
|
|
/* 025026B0 */ _t124 = cpu->r[26] + 0x00000008u;
|
|
/* 025026B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 025026B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 025026B8 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025026B8 */ _t126 = _t125 & 0x00000001u;
|
|
/* 025026B8 */ if (_t126) goto L_025026C0; else goto L_025026BC;
|
|
L_025026BC: ; // 0x25026bc
|
|
/* 025026BC */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_025026C0: ; // 0x25026c0
|
|
/* 025026C0 */ _t127 = cpu->r[1] + 0x00000014u;
|
|
/* 025026C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
|
|
/* 025026C4 */ _t128 = cpu->r[12] + 0x00000014u;
|
|
/* 025026C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t128);
|
|
/* 025026C8 */ cpu->ctr = cpu->r[4];
|
|
/* 025026CC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 025026D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025026D4 */ _t129 = cpu->r[1] + 0x00000010u;
|
|
/* 025026D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t129);
|
|
/* 025026D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025026DC */ cpu->r[5] = cpu->r[29];
|
|
/* 025026E0 */ cpu->r[3] = cpu->r[16];
|
|
/* 025026E4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025026E8 */ _t130 = cpu->r[16] + cpu->r[29];
|
|
/* 025026E8 */ rbrew_write8(cpu->mem, _t130, (uint8_t)cpu->r[21]);
|
|
L_025026EC: ; // 0x25026ec
|
|
/* 025026EC */ _t131 = cpu->r[18] + 0x00000030u;
|
|
/* 025026EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t131);
|
|
/* 025026F0 */ _t132 = cpu->r[8] + cpu->r[31];
|
|
/* 025026F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t132);
|
|
/* 025026F4 */ _t133 = cpu->r[4] + 0x00000000u;
|
|
/* 025026F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t133);
|
|
/* 025026F8 */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 025026FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[6]);
|
|
/* 02502700 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02502704 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502704 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02502704 */ if (_t135) goto L_02502398; else goto L_02502708;
|
|
L_02502708: ; // 0x2502708
|
|
/* 02502708 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
/* 02502708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0250270C */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 02502710 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02502714 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502714 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02502714 */ if (_t137) goto L_02502720; else goto L_02502718;
|
|
L_02502718: ; // 0x2502718
|
|
/* 02502718 */ _t138 = cpu->r[27] + 0x00000000u;
|
|
/* 02502718 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0250271C */ goto L_0250234C;
|
|
L_02502720: ; // 0x2502720
|
|
/* 02502720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000001u);
|
|
/* 02502724 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502724 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02502724 */ if (_t140) goto L_02502734; else goto L_02502728;
|
|
L_02502728: ; // 0x2502728
|
|
/* 02502728 */ _t141 = cpu->r[15] + 0xFFFF98F0u;
|
|
/* 02502728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0250272C */ cpu->r[4] = cpu->r[14];
|
|
/* 02502730 */ Gambit_fn_02827008(cpu);
|
|
L_02502734: ; // 0x2502734
|
|
/* 02502734 */ /* nop */
|
|
/* 02502738 */ _t142 = cpu->r[1] + 0x00000194u;
|
|
/* 02502738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0250273C */ cpu->lr = cpu->r[0];
|
|
/* 02502740 */ cpu->r[1] = cpu->r[1] + 0x00000190u;
|
|
/* 02502744 */ return;
|
|
}
|
|
|
|
// fn_02502748 @ 0x2502748
|
|
void Gambit_fn_02502748(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_02502748: ; // 0x2502748
|
|
/* 02502748 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02502748 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02502748 */ cpu->r[1] = _t0;
|
|
/* 0250274C */ /* nop */
|
|
/* 02502750 */ cpu->r[0] = cpu->lr;
|
|
/* 02502754 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02502754 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02502758 */ cpu->r[29] = cpu->r[3];
|
|
/* 0250275C */ _t2 = cpu->r[29] + 0x00000540u;
|
|
/* 0250275C */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02502760 */ cpu->r[27] = 0x00000000u;
|
|
/* 02502764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[6]);
|
|
/* 02502768 */ cpu->r[30] = cpu->r[4];
|
|
/* 0250276C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250276C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0250276C */ if (_t4) goto L_02502770; else goto L_025028CC;
|
|
L_02502770: ; // 0x2502770
|
|
/* 02502770 */ cpu->r[31] = 0x10110000u;
|
|
/* 02502774 */ cpu->r[25] = 0x00080000u;
|
|
/* 02502778 */ cpu->r[28] = 0x00000000u;
|
|
/* 0250277C */ cpu->r[26] = 0x100C0000u;
|
|
/* 02502780 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02502784 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 02502784 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02502788 */ cpu->r[26] = cpu->r[26] + 0xFFFFDAD8u;
|
|
L_0250278C: ; // 0x250278c
|
|
/* 0250278C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[6]);
|
|
/* 02502790 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502790 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02502790 */ if (_t7) goto L_02502794; else goto L_02502808;
|
|
L_02502794: ; // 0x2502794
|
|
/* 02502794 */ _t8 = cpu->r[29] + 0x0000053Cu;
|
|
/* 02502794 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02502798 */ _t9 = cpu->r[29] + 0x00000538u;
|
|
/* 02502798 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250279C */ cpu->r[0] = cpu->r[9] + cpu->r[27];
|
|
/* 025027A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[4]);
|
|
/* 025027A4 */ _t10 = cpu->r[29] + 0x00000534u;
|
|
/* 025027A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025027A8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025027A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025027A8 */ if (_t12) goto L_025027B0; else goto L_025027AC;
|
|
L_025027AC: ; // 0x25027ac
|
|
/* 025027AC */ cpu->r[0] = cpu->r[0] - cpu->r[4];
|
|
L_025027B0: ; // 0x25027b0
|
|
/* 025027B0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000002Cu);
|
|
/* 025027B4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025027B4 */ rbrew_write32(cpu->mem, _t13, cpu->r[26]);
|
|
/* 025027B8 */ _t14 = cpu->r[12] + cpu->r[0];
|
|
/* 025027B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025027BC */ cpu->r[7] = cpu->r[12] + cpu->r[0];
|
|
/* 025027C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025027C4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 025027C4 */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 025027C8 */ Gambit_fn_025029A0(cpu);
|
|
/* 025027CC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025027CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025027D0 */ _t17 = cpu->r[11] + 0x00000014u;
|
|
/* 025027D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025027D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025027D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025027DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025027E0 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 025027E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025027E4 */ _t19 = cpu->r[5] + 0x00000014u;
|
|
/* 025027E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025027E8 */ cpu->ctr = cpu->r[6];
|
|
/* 025027EC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 025027EC */ cpu->r[24] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025027F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025027F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025027F8 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 025027F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025027FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[7]);
|
|
/* 02502800 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502800 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02502800 */ if (_t23) goto L_0250288C; else goto L_02502804;
|
|
L_02502804: ; // 0x2502804
|
|
/* 02502804 */ goto L_02502858;
|
|
L_02502808: ; // 0x2502808
|
|
/* 02502808 */ _t24 = cpu->r[29] + 0x00000534u;
|
|
/* 02502808 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250280C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250280C */ rbrew_write32(cpu->mem, _t25, cpu->r[26]);
|
|
/* 02502810 */ _t26 = cpu->r[7] + 0x00000000u;
|
|
/* 02502810 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02502814 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02502818 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02502818 */ rbrew_write32(cpu->mem, _t27, cpu->r[4]);
|
|
/* 0250281C */ Gambit_fn_025029A0(cpu);
|
|
/* 02502820 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02502824 */ _t29 = cpu->r[11] + 0x00000014u;
|
|
/* 02502824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02502828 */ cpu->ctr = cpu->r[0];
|
|
/* 0250282C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02502830 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502834 */ _t30 = cpu->r[30] + 0x00000004u;
|
|
/* 02502834 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02502838 */ _t31 = cpu->r[5] + 0x00000014u;
|
|
/* 02502838 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250283C */ cpu->ctr = cpu->r[6];
|
|
/* 02502840 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02502840 */ cpu->r[24] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02502844 */ cpu->r[3] = cpu->r[30];
|
|
/* 02502848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250284C */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 0250284C */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02502850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[7]);
|
|
/* 02502854 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502854 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02502854 */ if (_t35) goto L_0250288C; else goto L_02502858;
|
|
L_02502858: ; // 0x2502858
|
|
/* 02502858 */ _t36 = cpu->r[30] + 0x00000000u;
|
|
/* 02502858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0250285C */ cpu->ctr = cpu->r[25];
|
|
/* 02502860 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02502860 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02502864 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02502868: ; // 0x2502868
|
|
/* 02502868 */ _t38 = cpu->r[11] + 0x00000000u;
|
|
/* 02502868 */ cpu->r[5] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0250286C */ _t39 = cpu->r[12] + 0x00000001u;
|
|
/* 0250286C */ cpu->r[8] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0250286C */ cpu->r[12] = _t39;
|
|
/* 02502870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02502874 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502874 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02502874 */ if (_t41) goto L_02502878; else goto L_025028B8;
|
|
L_02502878: ; // 0x2502878
|
|
/* 02502878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0250287C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250287C */ _t43 = _t42 & 0x00000001u;
|
|
/* 0250287C */ if (_t43) goto L_0250288C; else goto L_02502880;
|
|
L_02502880: ; // 0x2502880
|
|
/* 02502880 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02502884 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02502884 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02502884 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 02502884 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02502884 */ if (_t46) goto L_02502868; else goto L_02502888;
|
|
L_02502888: ; // 0x2502888
|
|
/* 02502888 */ goto L_025028B8;
|
|
L_0250288C: ; // 0x250288c
|
|
/* 0250288C */ _t47 = cpu->r[29] + 0x0000019Cu;
|
|
/* 0250288C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02502890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02502894 */ cpu->r[3] = 0x00000000u;
|
|
/* 02502898 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502898 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02502898 */ if (_t49) goto L_0250289C; else goto L_025028A4;
|
|
L_0250289C: ; // 0x250289c
|
|
/* 0250289C */ _t50 = cpu->r[29] + 0x000001A4u;
|
|
/* 0250289C */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025028A0 */ _t51 = cpu->r[10] + cpu->r[28];
|
|
/* 025028A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
L_025028A4: ; // 0x25028a4
|
|
/* 025028A4 */ /* nop */
|
|
/* 025028A8 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 025028A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025028AC */ cpu->lr = cpu->r[0];
|
|
/* 025028B0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025028B4 */ return;
|
|
L_025028B8: ; // 0x25028b8
|
|
/* 025028B8 */ _t53 = cpu->r[29] + 0x00000540u;
|
|
/* 025028B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025028BC */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 025028C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[6]);
|
|
/* 025028C4 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 025028C8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025028C8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 025028C8 */ if (_t55) goto L_0250278C; else goto L_025028CC;
|
|
L_025028CC: ; // 0x25028cc
|
|
/* 025028CC */ /* nop */
|
|
/* 025028D0 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 025028D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 025028D4 */ cpu->lr = cpu->r[0];
|
|
/* 025028D8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025028DC */ cpu->r[3] = 0x00000000u;
|
|
/* 025028E0 */ return;
|
|
}
|
|
|
|
// fn_025028E4 @ 0x25028e4
|
|
void Gambit_fn_025028E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_025028E4: ; // 0x25028e4
|
|
/* 025028E4 */ cpu->r[0] = cpu->lr;
|
|
/* 025028E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025028E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025028E8 */ cpu->r[1] = _t0;
|
|
/* 025028EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025028EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 025028F0 */ cpu->r[28] = cpu->r[4];
|
|
/* 025028F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025028F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025028F8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025028F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 025028FC */ cpu->r[31] = cpu->r[3];
|
|
/* 025028FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02502900 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02502900 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02502904 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502904 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02502908 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502908 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02502908 */ if (_t7) goto L_0250296C; else goto L_0250290C;
|
|
L_0250290C: ; // 0x250290c
|
|
/* 0250290C */ cpu->r[6] = 0x100C0000u;
|
|
/* 02502910 */ cpu->r[6] = cpu->r[6] + 0xFFFFDB9Cu;
|
|
/* 02502914 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02502918 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02502918 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 0250291C */ _t9 = cpu->r[12] + 0x000066FCu;
|
|
/* 0250291C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250291C */ cpu->r[12] = _t9;
|
|
/* 02502920 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02502924 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502924 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02502924 */ if (_t11) goto L_02502928; else goto L_02502950;
|
|
L_02502928: ; // 0x2502928
|
|
/* 02502928 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0250292C */ cpu->r[29] = 0x00000000u;
|
|
/* 02502930 */ _t12 = cpu->r[30] + 0x000066F8u;
|
|
/* 02502930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02502934 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02502934 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02502938 */ _t14 = cpu->r[3] + 0x0000054Cu;
|
|
/* 02502938 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250293C */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0250293C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02502940 */ cpu->ctr = cpu->r[10];
|
|
/* 02502944 */ cpu->r[4] = 0x00000002u;
|
|
/* 02502948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250294C */ _t16 = cpu->r[30] + 0x000066F8u;
|
|
/* 0250294C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02502950: ; // 0x2502950
|
|
/* 02502950 */ cpu->r[3] = cpu->r[31];
|
|
/* 02502954 */ cpu->r[4] = 0x00000000u;
|
|
/* 02502958 */ Gambit_fn_02821E68(cpu);
|
|
/* 0250295C */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250295C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02502960 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502960 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02502960 */ if (_t18) goto L_0250296C; else goto L_02502964;
|
|
L_02502964: ; // 0x2502964
|
|
/* 02502964 */ cpu->r[3] = cpu->r[31];
|
|
/* 02502968 */ Gambit_fn_02801BB0(cpu);
|
|
L_0250296C: ; // 0x250296c
|
|
/* 0250296C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0250296C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02502970 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02502974 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02502978 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02502978 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0250297C */ cpu->lr = cpu->r[0];
|
|
/* 02502980 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02502980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02502984 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02502988 */ return;
|
|
}
|
|
|
|
// fn_025028E8 @ 0x25028e8
|
|
void Gambit_fn_025028E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_025028E8: ; // 0x25028e8
|
|
/* 025028E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025028E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025028E8 */ cpu->r[1] = _t0;
|
|
/* 025028EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025028EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 025028F0 */ cpu->r[28] = cpu->r[4];
|
|
/* 025028F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025028F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025028F8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025028F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 025028FC */ cpu->r[31] = cpu->r[3];
|
|
/* 025028FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02502900 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02502900 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02502904 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502904 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02502908 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502908 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02502908 */ if (_t7) goto L_0250296C; else goto L_0250290C;
|
|
L_0250290C: ; // 0x250290c
|
|
/* 0250290C */ cpu->r[6] = 0x100C0000u;
|
|
/* 02502910 */ cpu->r[6] = cpu->r[6] + 0xFFFFDB9Cu;
|
|
/* 02502914 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02502918 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02502918 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 0250291C */ _t9 = cpu->r[12] + 0x000066FCu;
|
|
/* 0250291C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250291C */ cpu->r[12] = _t9;
|
|
/* 02502920 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02502924 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502924 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02502924 */ if (_t11) goto L_02502928; else goto L_02502950;
|
|
L_02502928: ; // 0x2502928
|
|
/* 02502928 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0250292C */ cpu->r[29] = 0x00000000u;
|
|
/* 02502930 */ _t12 = cpu->r[30] + 0x000066F8u;
|
|
/* 02502930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02502934 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02502934 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02502938 */ _t14 = cpu->r[3] + 0x0000054Cu;
|
|
/* 02502938 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250293C */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0250293C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02502940 */ cpu->ctr = cpu->r[10];
|
|
/* 02502944 */ cpu->r[4] = 0x00000002u;
|
|
/* 02502948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250294C */ _t16 = cpu->r[30] + 0x000066F8u;
|
|
/* 0250294C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02502950: ; // 0x2502950
|
|
/* 02502950 */ cpu->r[3] = cpu->r[31];
|
|
/* 02502954 */ cpu->r[4] = 0x00000000u;
|
|
/* 02502958 */ Gambit_fn_02821E68(cpu);
|
|
/* 0250295C */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250295C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02502960 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502960 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02502960 */ if (_t18) goto L_0250296C; else goto L_02502964;
|
|
L_02502964: ; // 0x2502964
|
|
/* 02502964 */ cpu->r[3] = cpu->r[31];
|
|
/* 02502968 */ Gambit_fn_02801BB0(cpu);
|
|
L_0250296C: ; // 0x250296c
|
|
/* 0250296C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0250296C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02502970 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02502974 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02502978 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02502978 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0250297C */ cpu->lr = cpu->r[0];
|
|
/* 02502980 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02502980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02502984 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02502988 */ return;
|
|
}
|
|
|
|
// fn_0250298C @ 0x250298c
|
|
void Gambit_fn_0250298C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250298C: ; // 0x250298c
|
|
/* 0250298C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502990 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502990 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02502990 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02502990 */ goto L_02502994;
|
|
L_02502994: ; // 0x2502994
|
|
/* 02502994 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02502994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02502998 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502998 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02502998 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02502998 */ goto L_0250299C;
|
|
L_0250299C: ; // 0x250299c
|
|
/* 0250299C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025029A0 @ 0x25029a0
|
|
void Gambit_fn_025029A0(CPUState* cpu) {
|
|
L_025029A0: ; // 0x25029a0
|
|
/* 025029A0 */ return;
|
|
}
|
|
|
|
// fn_025029A4 @ 0x25029a4
|
|
void Gambit_fn_025029A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025029A4: ; // 0x25029a4
|
|
/* 025029A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025029A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025029A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025029A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025029A8 */ goto L_025029AC;
|
|
L_025029AC: ; // 0x25029ac
|
|
/* 025029AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025029AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025029B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025029B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025029B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025029B0 */ goto L_025029B4;
|
|
L_025029B4: ; // 0x25029b4
|
|
/* 025029B4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025029B8 @ 0x25029b8
|
|
void Gambit_fn_025029B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_025029B8: ; // 0x25029b8
|
|
/* 025029B8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 025029B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025029BC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 025029BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025029C0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 025029C4 */ cpu->r[11] = 0x10110000u;
|
|
/* 025029C8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 025029C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 025029CC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 025029CC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 025029D0 */ return;
|
|
}
|
|
|
|
// fn_025029D4 @ 0x25029d4
|
|
void Gambit_fn_025029D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025029D4: ; // 0x25029d4
|
|
/* 025029D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025029D8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025029D8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025029D8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025029D8 */ goto L_025029DC;
|
|
L_025029DC: ; // 0x25029dc
|
|
/* 025029DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025029DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025029E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025029E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025029E0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025029E0 */ goto L_025029E4;
|
|
L_025029E4: ; // 0x25029e4
|
|
/* 025029E4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025029E8 @ 0x25029e8
|
|
void Gambit_fn_025029E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025029E8: ; // 0x25029e8
|
|
/* 025029E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025029EC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025029EC */ _t1 = _t0 & 0x00000001u;
|
|
/* 025029EC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025029EC */ goto L_025029F0;
|
|
L_025029F0: ; // 0x25029f0
|
|
/* 025029F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025029F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025029F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025029F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025029F4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025029F4 */ goto L_025029F8;
|
|
L_025029F8: ; // 0x25029f8
|
|
/* 025029F8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025029FC @ 0x25029fc
|
|
void Gambit_fn_025029FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025029FC: ; // 0x25029fc
|
|
/* 025029FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502A00 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502A00 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02502A00 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02502A00 */ goto L_02502A04;
|
|
L_02502A04: ; // 0x2502a04
|
|
/* 02502A04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02502A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02502A08 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502A08 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02502A08 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02502A08 */ goto L_02502A0C;
|
|
L_02502A0C: ; // 0x2502a0c
|
|
/* 02502A0C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02502A10 @ 0x2502a10
|
|
void Gambit_fn_02502A10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02502A10: ; // 0x2502a10
|
|
/* 02502A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502A14 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502A14 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02502A14 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02502A14 */ goto L_02502A18;
|
|
L_02502A18: ; // 0x2502a18
|
|
/* 02502A18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02502A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02502A1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502A1C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02502A1C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02502A1C */ goto L_02502A20;
|
|
L_02502A20: ; // 0x2502a20
|
|
/* 02502A20 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02502A24 @ 0x2502a24
|
|
void Gambit_fn_02502A24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192;
|
|
|
|
L_02502A24: ; // 0x2502a24
|
|
/* 02502A24 */ cpu->r[0] = cpu->lr;
|
|
/* 02502A28 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02502A28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02502A28 */ cpu->r[1] = _t0;
|
|
/* 02502A2C */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02502A2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02502A30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02502A34 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02502A34 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02502A38 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02502A38 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02502A3C */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 02502A3C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02502A40 */ _t5 = cpu->r[1] + 0x00000064u;
|
|
/* 02502A40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02502A44 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02502A44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02502A48 */ _t7 = cpu->r[8] + 0x00000050u;
|
|
/* 02502A48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02502A4C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502A50 */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 02502A50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02502A54 */ cpu->r[4] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02502A58 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC7Cu;
|
|
/* 02502A5C */ cpu->r[3] = cpu->r[29];
|
|
/* 02502A60 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502A64 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02502A64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02502A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02502A6C */ cpu->r[30] = 0x00000000u;
|
|
/* 02502A70 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502A70 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02502A70 */ if (_t11) goto L_02502A74; else goto L_02502A78;
|
|
L_02502A74: ; // 0x2502a74
|
|
/* 02502A74 */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02502A74 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02502A78: ; // 0x2502a78
|
|
/* 02502A78 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502A7C */ cpu->r[4] = cpu->r[31] + 0x00000050u;
|
|
/* 02502A80 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC5Cu;
|
|
/* 02502A84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502A88 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502A8C */ _t13 = cpu->r[31] + 0x00000050u;
|
|
/* 02502A8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02502A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02502A94 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02502A94 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02502A94 */ if (_t15) goto L_02502AA0; else goto L_02502A98;
|
|
L_02502A98: ; // 0x2502a98
|
|
/* 02502A98 */ cpu->r[6] = 0x00000001u;
|
|
/* 02502A9C */ _t16 = cpu->r[31] + 0x00000050u;
|
|
/* 02502A9C */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
L_02502AA0: ; // 0x2502aa0
|
|
/* 02502AA0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502AA4 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 02502AA8 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC8Cu;
|
|
/* 02502AAC */ cpu->r[3] = cpu->r[29];
|
|
/* 02502AB0 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502AB4 */ _t17 = cpu->r[31] + 0x00000054u;
|
|
/* 02502AB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02502AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02502ABC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502ABC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02502ABC */ if (_t19) goto L_02502AC0; else goto L_02502AC4;
|
|
L_02502AC0: ; // 0x2502ac0
|
|
/* 02502AC0 */ _t20 = cpu->r[31] + 0x00000054u;
|
|
/* 02502AC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02502AC4: ; // 0x2502ac4
|
|
/* 02502AC4 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502AC8 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02502ACC */ cpu->r[5] = cpu->r[5] + 0xFFFFDC68u;
|
|
/* 02502AD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502AD4 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502AD8 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02502AD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02502ADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 02502AE0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502AE0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02502AE0 */ if (_t23) goto L_02502AE4; else goto L_02502B0C;
|
|
L_02502AE4: ; // 0x2502ae4
|
|
/* 02502AE4 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502AE8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502AEC */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502AF0 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC98u;
|
|
/* 02502AF4 */ _t24 = cpu->r[31] + 0x00000058u;
|
|
/* 02502AF4 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 02502AF8 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502AFC */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502AFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02502B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000005u);
|
|
/* 02502B04 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502B04 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02502B04 */ if (_t27) goto L_02502B34; else goto L_02502B08;
|
|
L_02502B08: ; // 0x2502b08
|
|
/* 02502B08 */ goto L_02502B5C;
|
|
L_02502B0C: ; // 0x2502b0c
|
|
/* 02502B0C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502B10 */ _t28 = cpu->r[31] + 0x00000058u;
|
|
/* 02502B10 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02502B14 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502B18 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC98u;
|
|
/* 02502B1C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502B20 */ _t29 = cpu->r[31] + 0x00000058u;
|
|
/* 02502B20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02502B24 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502B28 */ _t30 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502B28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02502B2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000005u);
|
|
/* 02502B30 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502B30 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02502B30 */ if (_t32) goto L_02502B34; else goto L_02502B5C;
|
|
L_02502B34: ; // 0x2502b34
|
|
/* 02502B34 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502B38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502B3C */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02502B40 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC40u;
|
|
/* 02502B44 */ _t33 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02502B44 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 02502B48 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502B4C */ _t34 = cpu->r[1] + 0x00000040u;
|
|
/* 02502B4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02502B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02502B54 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502B54 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02502B54 */ if (_t36) goto L_02502B84; else goto L_02502B58;
|
|
L_02502B58: ; // 0x2502b58
|
|
/* 02502B58 */ goto L_02502BAC;
|
|
L_02502B5C: ; // 0x2502b5c
|
|
/* 02502B5C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502B60 */ _t37 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02502B60 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02502B64 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502B68 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC40u;
|
|
/* 02502B6C */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02502B70 */ _t38 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02502B70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02502B74 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502B78 */ _t39 = cpu->r[1] + 0x00000040u;
|
|
/* 02502B78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02502B7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02502B80 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502B80 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02502B80 */ if (_t41) goto L_02502B84; else goto L_02502BAC;
|
|
L_02502B84: ; // 0x2502b84
|
|
/* 02502B84 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502B88 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502B8C */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02502B90 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC50u;
|
|
/* 02502B94 */ _t42 = cpu->r[31] + 0x00000060u;
|
|
/* 02502B94 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]);
|
|
/* 02502B98 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502B9C */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 02502B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02502BA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02502BA4 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502BA4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02502BA4 */ if (_t45) goto L_02502BD4; else goto L_02502BA8;
|
|
L_02502BA8: ; // 0x2502ba8
|
|
/* 02502BA8 */ goto L_02502CBC;
|
|
L_02502BAC: ; // 0x2502bac
|
|
/* 02502BAC */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502BB0 */ _t46 = cpu->r[31] + 0x00000060u;
|
|
/* 02502BB0 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
/* 02502BB4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502BB8 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC50u;
|
|
/* 02502BBC */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02502BC0 */ _t47 = cpu->r[31] + 0x00000060u;
|
|
/* 02502BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02502BC4 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502BC8 */ _t48 = cpu->r[1] + 0x00000044u;
|
|
/* 02502BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02502BCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02502BD0 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502BD0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02502BD0 */ if (_t50) goto L_02502BD4; else goto L_02502CBC;
|
|
L_02502BD4: ; // 0x2502bd4
|
|
/* 02502BD4 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02502BD8 */ _t51 = cpu->r[31] + 0x00000064u;
|
|
/* 02502BD8 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02502BDC */ cpu->r[0] = 0x100C0000u;
|
|
/* 02502BE0 */ cpu->r[7] = cpu->r[7] + 0xFFFFDBC0u;
|
|
/* 02502BE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02502BE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFDC48u;
|
|
/* 02502BEC */ _t52 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02502BEC */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02502BF0 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02502BF4 */ _t53 = cpu->r[1] + 0x00000048u;
|
|
/* 02502BF4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02502BF8 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02502BFC */ cpu->r[12] = 0x101C0000u;
|
|
/* 02502C00 */ _t54 = cpu->r[12] + 0x00006000u;
|
|
/* 02502C00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02502C04 */ cpu->r[11] = cpu->r[3];
|
|
/* 02502C08 */ _t55 = cpu->r[12] + 0x00000254u;
|
|
/* 02502C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02502C0C */ cpu->r[4] = cpu->r[11] + 0x0000008Cu;
|
|
/* 02502C10 */ cpu->r[5] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02502C14 */ Gambit_fn_020EEE78(cpu);
|
|
/* 02502C18 */ _t56 = cpu->r[31] + 0x00000068u;
|
|
/* 02502C18 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 02502C1C */ _t57 = cpu->r[3] + 0x000046CCu;
|
|
/* 02502C1C */ cpu->r[9] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02502C20 */ _t58 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02502C20 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 02502C24 */ _t59 = cpu->r[3] + 0x000046C0u;
|
|
/* 02502C24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02502C28 */ _t60 = cpu->r[31] + 0x00000070u;
|
|
/* 02502C28 */ rbrew_write32(cpu->mem, _t60, cpu->r[8]);
|
|
/* 02502C2C */ _t61 = cpu->r[3] + 0x00000068u;
|
|
/* 02502C2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02502C30 */ _t62 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02502C30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02502C34 */ _t63 = cpu->r[3] + 0x00000074u;
|
|
/* 02502C34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02502C38 */ _t64 = cpu->r[31] + 0x00000180u;
|
|
/* 02502C38 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[11]);
|
|
/* 02502C3C */ _t65 = cpu->r[31] + 0x00000184u;
|
|
/* 02502C3C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[12]);
|
|
/* 02502C40 */ _t66 = cpu->r[31] + 0x00000188u;
|
|
/* 02502C40 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02502C44 */ _t67 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02502C44 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02502C48 */ _t68 = cpu->r[3] + 0x00000060u;
|
|
/* 02502C48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02502C4C */ _t69 = cpu->r[3] + 0x00000078u;
|
|
/* 02502C4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02502C50 */ _t70 = cpu->r[31] + 0x0000018Cu;
|
|
/* 02502C50 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]);
|
|
/* 02502C54 */ _t71 = cpu->r[31] + 0x00000190u;
|
|
/* 02502C54 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[7]);
|
|
/* 02502C58 */ _t72 = cpu->r[31] + 0x00000194u;
|
|
/* 02502C58 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[8]);
|
|
/* 02502C5C */ _t73 = cpu->r[3] + 0x00000070u;
|
|
/* 02502C5C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02502C60 */ _t74 = cpu->r[3] + 0x00000064u;
|
|
/* 02502C60 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02502C64 */ _t75 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02502C64 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02502C68 */ _t76 = cpu->r[31] + 0x00000198u;
|
|
/* 02502C68 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[9]);
|
|
/* 02502C6C */ _t77 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02502C6C */ rbrew_write_f32(cpu->mem, _t77, cpu->f[10]);
|
|
/* 02502C70 */ _t78 = cpu->r[31] + 0x000001A0u;
|
|
/* 02502C70 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[11]);
|
|
/* 02502C74 */ _t79 = cpu->r[3] + 0x000046BCu;
|
|
/* 02502C74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02502C78 */ _t80 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02502C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02502C7C */ cpu->ctr = cpu->r[0];
|
|
/* 02502C80 */ _t81 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02502C80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02502C84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502C88 */ _t82 = cpu->r[3] + 0x00000000u;
|
|
/* 02502C88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02502C8C */ _t83 = cpu->r[31] + 0x000001A4u;
|
|
/* 02502C8C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
/* 02502C90 */ _t84 = cpu->r[3] + 0x00000004u;
|
|
/* 02502C90 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02502C94 */ _t85 = cpu->r[31] + 0x00000068u;
|
|
/* 02502C94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02502C98 */ _t86 = cpu->r[31] + 0x000001A8u;
|
|
/* 02502C98 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[13]);
|
|
/* 02502C9C */ _t87 = cpu->r[3] + 0x00000008u;
|
|
/* 02502C9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02502CA0 */ _t88 = cpu->r[31] + 0x000001ACu;
|
|
/* 02502CA0 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[0]);
|
|
/* 02502CA4 */ _t89 = cpu->r[10] + 0x000046C0u;
|
|
/* 02502CA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02502CA8 */ _t90 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02502CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02502CAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02502CB0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02502CB4 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502CB4 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02502CB4 */ if (_t92) goto L_02502CB8; else goto L_02502DB0;
|
|
L_02502CB8: ; // 0x2502cb8
|
|
/* 02502CB8 */ goto L_02502DA4;
|
|
L_02502CBC: ; // 0x2502cbc
|
|
/* 02502CBC */ cpu->r[7] = 0x100C0000u;
|
|
/* 02502CC0 */ _t93 = cpu->r[31] + 0x00000064u;
|
|
/* 02502CC0 */ rbrew_write32(cpu->mem, _t93, cpu->r[30]);
|
|
/* 02502CC4 */ _t94 = cpu->r[31] + 0x00000064u;
|
|
/* 02502CC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02502CC8 */ cpu->r[7] = cpu->r[7] + 0xFFFFDBC0u;
|
|
/* 02502CCC */ cpu->r[0] = 0x100C0000u;
|
|
/* 02502CD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02502CD4 */ _t95 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02502CD4 */ rbrew_write32(cpu->mem, _t95, cpu->r[7]);
|
|
/* 02502CD8 */ cpu->r[0] = cpu->r[0] + 0xFFFFDC48u;
|
|
/* 02502CDC */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02502CE0 */ _t96 = cpu->r[1] + 0x00000048u;
|
|
/* 02502CE0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 02502CE4 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02502CE8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02502CEC */ _t97 = cpu->r[12] + 0x00006000u;
|
|
/* 02502CEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02502CF0 */ cpu->r[11] = cpu->r[3];
|
|
/* 02502CF4 */ _t98 = cpu->r[12] + 0x00000254u;
|
|
/* 02502CF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02502CF8 */ cpu->r[4] = cpu->r[11] + 0x0000008Cu;
|
|
/* 02502CFC */ cpu->r[5] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02502D00 */ Gambit_fn_020EEE78(cpu);
|
|
/* 02502D04 */ _t99 = cpu->r[31] + 0x00000068u;
|
|
/* 02502D04 */ rbrew_write32(cpu->mem, _t99, cpu->r[3]);
|
|
/* 02502D08 */ _t100 = cpu->r[3] + 0x000046CCu;
|
|
/* 02502D08 */ cpu->r[9] = rbrew_read8(cpu->mem, _t100);
|
|
/* 02502D0C */ _t101 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02502D0C */ rbrew_write32(cpu->mem, _t101, cpu->r[9]);
|
|
/* 02502D10 */ _t102 = cpu->r[3] + 0x000046C0u;
|
|
/* 02502D10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02502D14 */ _t103 = cpu->r[31] + 0x00000070u;
|
|
/* 02502D14 */ rbrew_write32(cpu->mem, _t103, cpu->r[8]);
|
|
/* 02502D18 */ _t104 = cpu->r[3] + 0x00000068u;
|
|
/* 02502D18 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02502D1C */ _t105 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02502D1C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02502D20 */ _t106 = cpu->r[3] + 0x00000074u;
|
|
/* 02502D20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02502D24 */ _t107 = cpu->r[31] + 0x00000180u;
|
|
/* 02502D24 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[11]);
|
|
/* 02502D28 */ _t108 = cpu->r[31] + 0x00000184u;
|
|
/* 02502D28 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[12]);
|
|
/* 02502D2C */ _t109 = cpu->r[31] + 0x00000188u;
|
|
/* 02502D2C */ rbrew_write_f32(cpu->mem, _t109, cpu->f[13]);
|
|
/* 02502D30 */ _t110 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02502D30 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02502D34 */ _t111 = cpu->r[3] + 0x00000060u;
|
|
/* 02502D34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02502D38 */ _t112 = cpu->r[3] + 0x00000078u;
|
|
/* 02502D38 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 02502D3C */ _t113 = cpu->r[31] + 0x0000018Cu;
|
|
/* 02502D3C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[0]);
|
|
/* 02502D40 */ _t114 = cpu->r[31] + 0x00000190u;
|
|
/* 02502D40 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[7]);
|
|
/* 02502D44 */ _t115 = cpu->r[31] + 0x00000194u;
|
|
/* 02502D44 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[8]);
|
|
/* 02502D48 */ _t116 = cpu->r[3] + 0x00000070u;
|
|
/* 02502D48 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02502D4C */ _t117 = cpu->r[3] + 0x00000064u;
|
|
/* 02502D4C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02502D50 */ _t118 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02502D50 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02502D54 */ _t119 = cpu->r[31] + 0x00000198u;
|
|
/* 02502D54 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[9]);
|
|
/* 02502D58 */ _t120 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02502D58 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[10]);
|
|
/* 02502D5C */ _t121 = cpu->r[31] + 0x000001A0u;
|
|
/* 02502D5C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[11]);
|
|
/* 02502D60 */ _t122 = cpu->r[3] + 0x000046BCu;
|
|
/* 02502D60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02502D64 */ _t123 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02502D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02502D68 */ cpu->ctr = cpu->r[0];
|
|
/* 02502D6C */ _t124 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02502D6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02502D70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502D74 */ _t125 = cpu->r[3] + 0x00000000u;
|
|
/* 02502D74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 02502D78 */ _t126 = cpu->r[31] + 0x000001A4u;
|
|
/* 02502D78 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[12]);
|
|
/* 02502D7C */ _t127 = cpu->r[3] + 0x00000004u;
|
|
/* 02502D7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02502D80 */ _t128 = cpu->r[31] + 0x00000068u;
|
|
/* 02502D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02502D84 */ _t129 = cpu->r[31] + 0x000001A8u;
|
|
/* 02502D84 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[13]);
|
|
/* 02502D88 */ _t130 = cpu->r[3] + 0x00000008u;
|
|
/* 02502D88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02502D8C */ _t131 = cpu->r[31] + 0x000001ACu;
|
|
/* 02502D8C */ rbrew_write_f32(cpu->mem, _t131, cpu->f[0]);
|
|
/* 02502D90 */ _t132 = cpu->r[10] + 0x000046C0u;
|
|
/* 02502D90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02502D94 */ _t133 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02502D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02502D98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02502D9C */ cpu->r[30] = 0x00000000u;
|
|
/* 02502DA0 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502DA0 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02502DA0 */ if (_t135) goto L_02502DA4; else goto L_02502DB0;
|
|
L_02502DA4: ; // 0x2502da4
|
|
/* 02502DA4 */ _t136 = cpu->r[10] + 0x000046C8u;
|
|
/* 02502DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02502DA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02502DAC */ _t137 = cpu->r[12] + cpu->r[0];
|
|
/* 02502DAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t137);
|
|
L_02502DB0: ; // 0x2502db0
|
|
/* 02502DB0 */ _t138 = cpu->r[30] + 0x000046BCu;
|
|
/* 02502DB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02502DB4 */ _t139 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02502DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02502DB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02502DBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02502DC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502DC4 */ _t140 = cpu->r[3] + 0x00000000u;
|
|
/* 02502DC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 02502DC8 */ _t141 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02502DC8 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[11]);
|
|
/* 02502DCC */ _t142 = cpu->r[3] + 0x00000004u;
|
|
/* 02502DCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 02502DD0 */ _t143 = cpu->r[1] + 0x00000030u;
|
|
/* 02502DD0 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[13]);
|
|
/* 02502DD4 */ _t144 = cpu->r[3] + 0x00000008u;
|
|
/* 02502DD4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 02502DD8 */ _t145 = cpu->r[31] + 0x00000040u;
|
|
/* 02502DD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02502DDC */ _t146 = cpu->r[1] + 0x00000034u;
|
|
/* 02502DDC */ rbrew_write_f32(cpu->mem, _t146, cpu->f[7]);
|
|
/* 02502DE0 */ _t147 = cpu->r[30] + 0x00000068u;
|
|
/* 02502DE0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02502DE4 */ _t148 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02502DE4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 02502DE8 */ _t149 = cpu->r[30] + 0x00000074u;
|
|
/* 02502DE8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 02502DEC */ _t150 = cpu->r[1] + 0x00000008u;
|
|
/* 02502DEC */ rbrew_write_f32(cpu->mem, _t150, cpu->f[7]);
|
|
/* 02502DF0 */ _t151 = cpu->r[1] + 0x00000010u;
|
|
/* 02502DF0 */ rbrew_write_f32(cpu->mem, _t151, cpu->f[10]);
|
|
/* 02502DF4 */ _t152 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502DF4 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[9]);
|
|
/* 02502DF8 */ _t153 = cpu->r[30] + 0x00000078u;
|
|
/* 02502DF8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 02502DFC */ _t154 = cpu->r[30] + 0x00000060u;
|
|
/* 02502DFC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 02502E00 */ _t155 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02502E00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t155);
|
|
/* 02502E04 */ _t156 = cpu->r[1] + 0x00000014u;
|
|
/* 02502E04 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[12]);
|
|
/* 02502E08 */ _t157 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502E08 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[8]);
|
|
/* 02502E0C */ _t158 = cpu->r[1] + 0x00000018u;
|
|
/* 02502E0C */ rbrew_write_f32(cpu->mem, _t158, cpu->f[0]);
|
|
/* 02502E10 */ _t159 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02502E10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 02502E14 */ _t160 = cpu->r[30] + 0x00000070u;
|
|
/* 02502E14 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 02502E18 */ _t161 = cpu->r[30] + 0x00000064u;
|
|
/* 02502E18 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 02502E1C */ _t162 = cpu->r[1] + 0x00000024u;
|
|
/* 02502E1C */ rbrew_write_f32(cpu->mem, _t162, cpu->f[10]);
|
|
/* 02502E20 */ _t163 = cpu->r[1] + 0x00000028u;
|
|
/* 02502E20 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[11]);
|
|
/* 02502E24 */ _t164 = cpu->r[1] + 0x00000020u;
|
|
/* 02502E24 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[9]);
|
|
/* 02502E28 */ _t165 = cpu->r[6] + 0x000000B4u;
|
|
/* 02502E28 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[7]);
|
|
/* 02502E2C */ _t166 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502E2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 02502E30 */ _t167 = cpu->r[6] + 0x000000B8u;
|
|
/* 02502E30 */ rbrew_write_f32(cpu->mem, _t167, cpu->f[12]);
|
|
/* 02502E34 */ _t168 = cpu->r[1] + 0x00000010u;
|
|
/* 02502E34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 02502E38 */ _t169 = cpu->r[6] + 0x000000BCu;
|
|
/* 02502E38 */ rbrew_write_f32(cpu->mem, _t169, cpu->f[13]);
|
|
/* 02502E3C */ _t170 = cpu->r[1] + 0x00000014u;
|
|
/* 02502E3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t170);
|
|
/* 02502E40 */ _t171 = cpu->r[6] + 0x000000C0u;
|
|
/* 02502E40 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[0]);
|
|
/* 02502E44 */ _t172 = cpu->r[1] + 0x00000018u;
|
|
/* 02502E44 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 02502E48 */ _t173 = cpu->r[6] + 0x000000C4u;
|
|
/* 02502E48 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[7]);
|
|
/* 02502E4C */ _t174 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502E4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 02502E50 */ _t175 = cpu->r[6] + 0x000000C8u;
|
|
/* 02502E50 */ rbrew_write_f32(cpu->mem, _t175, cpu->f[8]);
|
|
/* 02502E54 */ _t176 = cpu->r[1] + 0x00000020u;
|
|
/* 02502E54 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 02502E58 */ _t177 = cpu->r[6] + 0x000000CCu;
|
|
/* 02502E58 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[9]);
|
|
/* 02502E5C */ _t178 = cpu->r[1] + 0x00000024u;
|
|
/* 02502E5C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 02502E60 */ _t179 = cpu->r[6] + 0x000000D0u;
|
|
/* 02502E60 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[10]);
|
|
/* 02502E64 */ _t180 = cpu->r[1] + 0x00000028u;
|
|
/* 02502E64 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t180);
|
|
/* 02502E68 */ _t181 = cpu->r[6] + 0x000000D4u;
|
|
/* 02502E68 */ rbrew_write_f32(cpu->mem, _t181, cpu->f[11]);
|
|
/* 02502E6C */ _t182 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02502E6C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 02502E70 */ _t183 = cpu->r[6] + 0x000000D8u;
|
|
/* 02502E70 */ rbrew_write_f32(cpu->mem, _t183, cpu->f[12]);
|
|
/* 02502E74 */ _t184 = cpu->r[1] + 0x00000030u;
|
|
/* 02502E74 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 02502E78 */ _t185 = cpu->r[6] + 0x000000DCu;
|
|
/* 02502E78 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[13]);
|
|
/* 02502E7C */ _t186 = cpu->r[1] + 0x00000034u;
|
|
/* 02502E7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t186);
|
|
/* 02502E80 */ _t187 = cpu->r[6] + 0x000000E0u;
|
|
/* 02502E80 */ rbrew_write_f32(cpu->mem, _t187, cpu->f[0]);
|
|
/* 02502E84 */ _t188 = cpu->r[1] + 0x00000050u;
|
|
/* 02502E84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02502E88 */ _t189 = cpu->r[1] + 0x00000054u;
|
|
/* 02502E88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02502E8C */ _t190 = cpu->r[1] + 0x00000064u;
|
|
/* 02502E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02502E90 */ _t191 = cpu->r[1] + 0x00000058u;
|
|
/* 02502E90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02502E94 */ cpu->lr = cpu->r[0];
|
|
/* 02502E98 */ _t192 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02502E98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02502E9C */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02502EA0 */ return;
|
|
}
|
|
|
|
// fn_02502A28 @ 0x2502a28
|
|
void Gambit_fn_02502A28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192;
|
|
|
|
L_02502A28: ; // 0x2502a28
|
|
/* 02502A28 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02502A28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02502A28 */ cpu->r[1] = _t0;
|
|
/* 02502A2C */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02502A2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02502A30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02502A34 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02502A34 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02502A38 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02502A38 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02502A3C */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 02502A3C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02502A40 */ _t5 = cpu->r[1] + 0x00000064u;
|
|
/* 02502A40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02502A44 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02502A44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02502A48 */ _t7 = cpu->r[8] + 0x00000050u;
|
|
/* 02502A48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02502A4C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502A50 */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 02502A50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02502A54 */ cpu->r[4] = cpu->r[31] + 0x0000004Cu;
|
|
/* 02502A58 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC7Cu;
|
|
/* 02502A5C */ cpu->r[3] = cpu->r[29];
|
|
/* 02502A60 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502A64 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02502A64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02502A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02502A6C */ cpu->r[30] = 0x00000000u;
|
|
/* 02502A70 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502A70 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02502A70 */ if (_t11) goto L_02502A74; else goto L_02502A78;
|
|
L_02502A74: ; // 0x2502a74
|
|
/* 02502A74 */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02502A74 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02502A78: ; // 0x2502a78
|
|
/* 02502A78 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502A7C */ cpu->r[4] = cpu->r[31] + 0x00000050u;
|
|
/* 02502A80 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC5Cu;
|
|
/* 02502A84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502A88 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502A8C */ _t13 = cpu->r[31] + 0x00000050u;
|
|
/* 02502A8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02502A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02502A94 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02502A94 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02502A94 */ if (_t15) goto L_02502AA0; else goto L_02502A98;
|
|
L_02502A98: ; // 0x2502a98
|
|
/* 02502A98 */ cpu->r[6] = 0x00000001u;
|
|
/* 02502A9C */ _t16 = cpu->r[31] + 0x00000050u;
|
|
/* 02502A9C */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
L_02502AA0: ; // 0x2502aa0
|
|
/* 02502AA0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502AA4 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 02502AA8 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC8Cu;
|
|
/* 02502AAC */ cpu->r[3] = cpu->r[29];
|
|
/* 02502AB0 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502AB4 */ _t17 = cpu->r[31] + 0x00000054u;
|
|
/* 02502AB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02502AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02502ABC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502ABC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02502ABC */ if (_t19) goto L_02502AC0; else goto L_02502AC4;
|
|
L_02502AC0: ; // 0x2502ac0
|
|
/* 02502AC0 */ _t20 = cpu->r[31] + 0x00000054u;
|
|
/* 02502AC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02502AC4: ; // 0x2502ac4
|
|
/* 02502AC4 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502AC8 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02502ACC */ cpu->r[5] = cpu->r[5] + 0xFFFFDC68u;
|
|
/* 02502AD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502AD4 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502AD8 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02502AD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02502ADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 02502AE0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502AE0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02502AE0 */ if (_t23) goto L_02502AE4; else goto L_02502B0C;
|
|
L_02502AE4: ; // 0x2502ae4
|
|
/* 02502AE4 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502AE8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502AEC */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502AF0 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC98u;
|
|
/* 02502AF4 */ _t24 = cpu->r[31] + 0x00000058u;
|
|
/* 02502AF4 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 02502AF8 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502AFC */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502AFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02502B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000005u);
|
|
/* 02502B04 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502B04 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02502B04 */ if (_t27) goto L_02502B34; else goto L_02502B08;
|
|
L_02502B08: ; // 0x2502b08
|
|
/* 02502B08 */ goto L_02502B5C;
|
|
L_02502B0C: ; // 0x2502b0c
|
|
/* 02502B0C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502B10 */ _t28 = cpu->r[31] + 0x00000058u;
|
|
/* 02502B10 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02502B14 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502B18 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC98u;
|
|
/* 02502B1C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502B20 */ _t29 = cpu->r[31] + 0x00000058u;
|
|
/* 02502B20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02502B24 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502B28 */ _t30 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02502B28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02502B2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000005u);
|
|
/* 02502B30 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502B30 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02502B30 */ if (_t32) goto L_02502B34; else goto L_02502B5C;
|
|
L_02502B34: ; // 0x2502b34
|
|
/* 02502B34 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502B38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502B3C */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02502B40 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC40u;
|
|
/* 02502B44 */ _t33 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02502B44 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 02502B48 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502B4C */ _t34 = cpu->r[1] + 0x00000040u;
|
|
/* 02502B4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02502B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02502B54 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502B54 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02502B54 */ if (_t36) goto L_02502B84; else goto L_02502B58;
|
|
L_02502B58: ; // 0x2502b58
|
|
/* 02502B58 */ goto L_02502BAC;
|
|
L_02502B5C: ; // 0x2502b5c
|
|
/* 02502B5C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502B60 */ _t37 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02502B60 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02502B64 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502B68 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC40u;
|
|
/* 02502B6C */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02502B70 */ _t38 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02502B70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02502B74 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502B78 */ _t39 = cpu->r[1] + 0x00000040u;
|
|
/* 02502B78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02502B7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02502B80 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502B80 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02502B80 */ if (_t41) goto L_02502B84; else goto L_02502BAC;
|
|
L_02502B84: ; // 0x2502b84
|
|
/* 02502B84 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502B88 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502B8C */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02502B90 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC50u;
|
|
/* 02502B94 */ _t42 = cpu->r[31] + 0x00000060u;
|
|
/* 02502B94 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]);
|
|
/* 02502B98 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502B9C */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 02502B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02502BA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02502BA4 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502BA4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02502BA4 */ if (_t45) goto L_02502BD4; else goto L_02502BA8;
|
|
L_02502BA8: ; // 0x2502ba8
|
|
/* 02502BA8 */ goto L_02502CBC;
|
|
L_02502BAC: ; // 0x2502bac
|
|
/* 02502BAC */ cpu->r[5] = 0x100C0000u;
|
|
/* 02502BB0 */ _t46 = cpu->r[31] + 0x00000060u;
|
|
/* 02502BB0 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
/* 02502BB4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02502BB8 */ cpu->r[5] = cpu->r[5] + 0xFFFFDC50u;
|
|
/* 02502BBC */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02502BC0 */ _t47 = cpu->r[31] + 0x00000060u;
|
|
/* 02502BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02502BC4 */ Gambit_fn_027DBAD4(cpu);
|
|
/* 02502BC8 */ _t48 = cpu->r[1] + 0x00000044u;
|
|
/* 02502BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02502BCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02502BD0 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502BD0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02502BD0 */ if (_t50) goto L_02502BD4; else goto L_02502CBC;
|
|
L_02502BD4: ; // 0x2502bd4
|
|
/* 02502BD4 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02502BD8 */ _t51 = cpu->r[31] + 0x00000064u;
|
|
/* 02502BD8 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02502BDC */ cpu->r[0] = 0x100C0000u;
|
|
/* 02502BE0 */ cpu->r[7] = cpu->r[7] + 0xFFFFDBC0u;
|
|
/* 02502BE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02502BE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFDC48u;
|
|
/* 02502BEC */ _t52 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02502BEC */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02502BF0 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02502BF4 */ _t53 = cpu->r[1] + 0x00000048u;
|
|
/* 02502BF4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02502BF8 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02502BFC */ cpu->r[12] = 0x101C0000u;
|
|
/* 02502C00 */ _t54 = cpu->r[12] + 0x00006000u;
|
|
/* 02502C00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02502C04 */ cpu->r[11] = cpu->r[3];
|
|
/* 02502C08 */ _t55 = cpu->r[12] + 0x00000254u;
|
|
/* 02502C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02502C0C */ cpu->r[4] = cpu->r[11] + 0x0000008Cu;
|
|
/* 02502C10 */ cpu->r[5] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02502C14 */ Gambit_fn_020EEE78(cpu);
|
|
/* 02502C18 */ _t56 = cpu->r[31] + 0x00000068u;
|
|
/* 02502C18 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 02502C1C */ _t57 = cpu->r[3] + 0x000046CCu;
|
|
/* 02502C1C */ cpu->r[9] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02502C20 */ _t58 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02502C20 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 02502C24 */ _t59 = cpu->r[3] + 0x000046C0u;
|
|
/* 02502C24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02502C28 */ _t60 = cpu->r[31] + 0x00000070u;
|
|
/* 02502C28 */ rbrew_write32(cpu->mem, _t60, cpu->r[8]);
|
|
/* 02502C2C */ _t61 = cpu->r[3] + 0x00000068u;
|
|
/* 02502C2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02502C30 */ _t62 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02502C30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02502C34 */ _t63 = cpu->r[3] + 0x00000074u;
|
|
/* 02502C34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02502C38 */ _t64 = cpu->r[31] + 0x00000180u;
|
|
/* 02502C38 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[11]);
|
|
/* 02502C3C */ _t65 = cpu->r[31] + 0x00000184u;
|
|
/* 02502C3C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[12]);
|
|
/* 02502C40 */ _t66 = cpu->r[31] + 0x00000188u;
|
|
/* 02502C40 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02502C44 */ _t67 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02502C44 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02502C48 */ _t68 = cpu->r[3] + 0x00000060u;
|
|
/* 02502C48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02502C4C */ _t69 = cpu->r[3] + 0x00000078u;
|
|
/* 02502C4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02502C50 */ _t70 = cpu->r[31] + 0x0000018Cu;
|
|
/* 02502C50 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]);
|
|
/* 02502C54 */ _t71 = cpu->r[31] + 0x00000190u;
|
|
/* 02502C54 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[7]);
|
|
/* 02502C58 */ _t72 = cpu->r[31] + 0x00000194u;
|
|
/* 02502C58 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[8]);
|
|
/* 02502C5C */ _t73 = cpu->r[3] + 0x00000070u;
|
|
/* 02502C5C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02502C60 */ _t74 = cpu->r[3] + 0x00000064u;
|
|
/* 02502C60 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02502C64 */ _t75 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02502C64 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02502C68 */ _t76 = cpu->r[31] + 0x00000198u;
|
|
/* 02502C68 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[9]);
|
|
/* 02502C6C */ _t77 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02502C6C */ rbrew_write_f32(cpu->mem, _t77, cpu->f[10]);
|
|
/* 02502C70 */ _t78 = cpu->r[31] + 0x000001A0u;
|
|
/* 02502C70 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[11]);
|
|
/* 02502C74 */ _t79 = cpu->r[3] + 0x000046BCu;
|
|
/* 02502C74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02502C78 */ _t80 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02502C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02502C7C */ cpu->ctr = cpu->r[0];
|
|
/* 02502C80 */ _t81 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02502C80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02502C84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502C88 */ _t82 = cpu->r[3] + 0x00000000u;
|
|
/* 02502C88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02502C8C */ _t83 = cpu->r[31] + 0x000001A4u;
|
|
/* 02502C8C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
/* 02502C90 */ _t84 = cpu->r[3] + 0x00000004u;
|
|
/* 02502C90 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02502C94 */ _t85 = cpu->r[31] + 0x00000068u;
|
|
/* 02502C94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02502C98 */ _t86 = cpu->r[31] + 0x000001A8u;
|
|
/* 02502C98 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[13]);
|
|
/* 02502C9C */ _t87 = cpu->r[3] + 0x00000008u;
|
|
/* 02502C9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02502CA0 */ _t88 = cpu->r[31] + 0x000001ACu;
|
|
/* 02502CA0 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[0]);
|
|
/* 02502CA4 */ _t89 = cpu->r[10] + 0x000046C0u;
|
|
/* 02502CA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02502CA8 */ _t90 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02502CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02502CAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02502CB0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02502CB4 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502CB4 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02502CB4 */ if (_t92) goto L_02502CB8; else goto L_02502DB0;
|
|
L_02502CB8: ; // 0x2502cb8
|
|
/* 02502CB8 */ goto L_02502DA4;
|
|
L_02502CBC: ; // 0x2502cbc
|
|
/* 02502CBC */ cpu->r[7] = 0x100C0000u;
|
|
/* 02502CC0 */ _t93 = cpu->r[31] + 0x00000064u;
|
|
/* 02502CC0 */ rbrew_write32(cpu->mem, _t93, cpu->r[30]);
|
|
/* 02502CC4 */ _t94 = cpu->r[31] + 0x00000064u;
|
|
/* 02502CC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02502CC8 */ cpu->r[7] = cpu->r[7] + 0xFFFFDBC0u;
|
|
/* 02502CCC */ cpu->r[0] = 0x100C0000u;
|
|
/* 02502CD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02502CD4 */ _t95 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02502CD4 */ rbrew_write32(cpu->mem, _t95, cpu->r[7]);
|
|
/* 02502CD8 */ cpu->r[0] = cpu->r[0] + 0xFFFFDC48u;
|
|
/* 02502CDC */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02502CE0 */ _t96 = cpu->r[1] + 0x00000048u;
|
|
/* 02502CE0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 02502CE4 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02502CE8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02502CEC */ _t97 = cpu->r[12] + 0x00006000u;
|
|
/* 02502CEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02502CF0 */ cpu->r[11] = cpu->r[3];
|
|
/* 02502CF4 */ _t98 = cpu->r[12] + 0x00000254u;
|
|
/* 02502CF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02502CF8 */ cpu->r[4] = cpu->r[11] + 0x0000008Cu;
|
|
/* 02502CFC */ cpu->r[5] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02502D00 */ Gambit_fn_020EEE78(cpu);
|
|
/* 02502D04 */ _t99 = cpu->r[31] + 0x00000068u;
|
|
/* 02502D04 */ rbrew_write32(cpu->mem, _t99, cpu->r[3]);
|
|
/* 02502D08 */ _t100 = cpu->r[3] + 0x000046CCu;
|
|
/* 02502D08 */ cpu->r[9] = rbrew_read8(cpu->mem, _t100);
|
|
/* 02502D0C */ _t101 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02502D0C */ rbrew_write32(cpu->mem, _t101, cpu->r[9]);
|
|
/* 02502D10 */ _t102 = cpu->r[3] + 0x000046C0u;
|
|
/* 02502D10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02502D14 */ _t103 = cpu->r[31] + 0x00000070u;
|
|
/* 02502D14 */ rbrew_write32(cpu->mem, _t103, cpu->r[8]);
|
|
/* 02502D18 */ _t104 = cpu->r[3] + 0x00000068u;
|
|
/* 02502D18 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02502D1C */ _t105 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02502D1C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02502D20 */ _t106 = cpu->r[3] + 0x00000074u;
|
|
/* 02502D20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02502D24 */ _t107 = cpu->r[31] + 0x00000180u;
|
|
/* 02502D24 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[11]);
|
|
/* 02502D28 */ _t108 = cpu->r[31] + 0x00000184u;
|
|
/* 02502D28 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[12]);
|
|
/* 02502D2C */ _t109 = cpu->r[31] + 0x00000188u;
|
|
/* 02502D2C */ rbrew_write_f32(cpu->mem, _t109, cpu->f[13]);
|
|
/* 02502D30 */ _t110 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02502D30 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02502D34 */ _t111 = cpu->r[3] + 0x00000060u;
|
|
/* 02502D34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02502D38 */ _t112 = cpu->r[3] + 0x00000078u;
|
|
/* 02502D38 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 02502D3C */ _t113 = cpu->r[31] + 0x0000018Cu;
|
|
/* 02502D3C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[0]);
|
|
/* 02502D40 */ _t114 = cpu->r[31] + 0x00000190u;
|
|
/* 02502D40 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[7]);
|
|
/* 02502D44 */ _t115 = cpu->r[31] + 0x00000194u;
|
|
/* 02502D44 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[8]);
|
|
/* 02502D48 */ _t116 = cpu->r[3] + 0x00000070u;
|
|
/* 02502D48 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02502D4C */ _t117 = cpu->r[3] + 0x00000064u;
|
|
/* 02502D4C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02502D50 */ _t118 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02502D50 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02502D54 */ _t119 = cpu->r[31] + 0x00000198u;
|
|
/* 02502D54 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[9]);
|
|
/* 02502D58 */ _t120 = cpu->r[31] + 0x0000019Cu;
|
|
/* 02502D58 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[10]);
|
|
/* 02502D5C */ _t121 = cpu->r[31] + 0x000001A0u;
|
|
/* 02502D5C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[11]);
|
|
/* 02502D60 */ _t122 = cpu->r[3] + 0x000046BCu;
|
|
/* 02502D60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02502D64 */ _t123 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02502D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02502D68 */ cpu->ctr = cpu->r[0];
|
|
/* 02502D6C */ _t124 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02502D6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02502D70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502D74 */ _t125 = cpu->r[3] + 0x00000000u;
|
|
/* 02502D74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 02502D78 */ _t126 = cpu->r[31] + 0x000001A4u;
|
|
/* 02502D78 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[12]);
|
|
/* 02502D7C */ _t127 = cpu->r[3] + 0x00000004u;
|
|
/* 02502D7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02502D80 */ _t128 = cpu->r[31] + 0x00000068u;
|
|
/* 02502D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02502D84 */ _t129 = cpu->r[31] + 0x000001A8u;
|
|
/* 02502D84 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[13]);
|
|
/* 02502D88 */ _t130 = cpu->r[3] + 0x00000008u;
|
|
/* 02502D88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02502D8C */ _t131 = cpu->r[31] + 0x000001ACu;
|
|
/* 02502D8C */ rbrew_write_f32(cpu->mem, _t131, cpu->f[0]);
|
|
/* 02502D90 */ _t132 = cpu->r[10] + 0x000046C0u;
|
|
/* 02502D90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02502D94 */ _t133 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02502D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02502D98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02502D9C */ cpu->r[30] = 0x00000000u;
|
|
/* 02502DA0 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02502DA0 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02502DA0 */ if (_t135) goto L_02502DA4; else goto L_02502DB0;
|
|
L_02502DA4: ; // 0x2502da4
|
|
/* 02502DA4 */ _t136 = cpu->r[10] + 0x000046C8u;
|
|
/* 02502DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02502DA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02502DAC */ _t137 = cpu->r[12] + cpu->r[0];
|
|
/* 02502DAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t137);
|
|
L_02502DB0: ; // 0x2502db0
|
|
/* 02502DB0 */ _t138 = cpu->r[30] + 0x000046BCu;
|
|
/* 02502DB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02502DB4 */ _t139 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02502DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02502DB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02502DBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02502DC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02502DC4 */ _t140 = cpu->r[3] + 0x00000000u;
|
|
/* 02502DC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 02502DC8 */ _t141 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02502DC8 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[11]);
|
|
/* 02502DCC */ _t142 = cpu->r[3] + 0x00000004u;
|
|
/* 02502DCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 02502DD0 */ _t143 = cpu->r[1] + 0x00000030u;
|
|
/* 02502DD0 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[13]);
|
|
/* 02502DD4 */ _t144 = cpu->r[3] + 0x00000008u;
|
|
/* 02502DD4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 02502DD8 */ _t145 = cpu->r[31] + 0x00000040u;
|
|
/* 02502DD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02502DDC */ _t146 = cpu->r[1] + 0x00000034u;
|
|
/* 02502DDC */ rbrew_write_f32(cpu->mem, _t146, cpu->f[7]);
|
|
/* 02502DE0 */ _t147 = cpu->r[30] + 0x00000068u;
|
|
/* 02502DE0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02502DE4 */ _t148 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02502DE4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 02502DE8 */ _t149 = cpu->r[30] + 0x00000074u;
|
|
/* 02502DE8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 02502DEC */ _t150 = cpu->r[1] + 0x00000008u;
|
|
/* 02502DEC */ rbrew_write_f32(cpu->mem, _t150, cpu->f[7]);
|
|
/* 02502DF0 */ _t151 = cpu->r[1] + 0x00000010u;
|
|
/* 02502DF0 */ rbrew_write_f32(cpu->mem, _t151, cpu->f[10]);
|
|
/* 02502DF4 */ _t152 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502DF4 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[9]);
|
|
/* 02502DF8 */ _t153 = cpu->r[30] + 0x00000078u;
|
|
/* 02502DF8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 02502DFC */ _t154 = cpu->r[30] + 0x00000060u;
|
|
/* 02502DFC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 02502E00 */ _t155 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02502E00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t155);
|
|
/* 02502E04 */ _t156 = cpu->r[1] + 0x00000014u;
|
|
/* 02502E04 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[12]);
|
|
/* 02502E08 */ _t157 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502E08 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[8]);
|
|
/* 02502E0C */ _t158 = cpu->r[1] + 0x00000018u;
|
|
/* 02502E0C */ rbrew_write_f32(cpu->mem, _t158, cpu->f[0]);
|
|
/* 02502E10 */ _t159 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02502E10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 02502E14 */ _t160 = cpu->r[30] + 0x00000070u;
|
|
/* 02502E14 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 02502E18 */ _t161 = cpu->r[30] + 0x00000064u;
|
|
/* 02502E18 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 02502E1C */ _t162 = cpu->r[1] + 0x00000024u;
|
|
/* 02502E1C */ rbrew_write_f32(cpu->mem, _t162, cpu->f[10]);
|
|
/* 02502E20 */ _t163 = cpu->r[1] + 0x00000028u;
|
|
/* 02502E20 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[11]);
|
|
/* 02502E24 */ _t164 = cpu->r[1] + 0x00000020u;
|
|
/* 02502E24 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[9]);
|
|
/* 02502E28 */ _t165 = cpu->r[6] + 0x000000B4u;
|
|
/* 02502E28 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[7]);
|
|
/* 02502E2C */ _t166 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02502E2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 02502E30 */ _t167 = cpu->r[6] + 0x000000B8u;
|
|
/* 02502E30 */ rbrew_write_f32(cpu->mem, _t167, cpu->f[12]);
|
|
/* 02502E34 */ _t168 = cpu->r[1] + 0x00000010u;
|
|
/* 02502E34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 02502E38 */ _t169 = cpu->r[6] + 0x000000BCu;
|
|
/* 02502E38 */ rbrew_write_f32(cpu->mem, _t169, cpu->f[13]);
|
|
/* 02502E3C */ _t170 = cpu->r[1] + 0x00000014u;
|
|
/* 02502E3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t170);
|
|
/* 02502E40 */ _t171 = cpu->r[6] + 0x000000C0u;
|
|
/* 02502E40 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[0]);
|
|
/* 02502E44 */ _t172 = cpu->r[1] + 0x00000018u;
|
|
/* 02502E44 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 02502E48 */ _t173 = cpu->r[6] + 0x000000C4u;
|
|
/* 02502E48 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[7]);
|
|
/* 02502E4C */ _t174 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02502E4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 02502E50 */ _t175 = cpu->r[6] + 0x000000C8u;
|
|
/* 02502E50 */ rbrew_write_f32(cpu->mem, _t175, cpu->f[8]);
|
|
/* 02502E54 */ _t176 = cpu->r[1] + 0x00000020u;
|
|
/* 02502E54 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 02502E58 */ _t177 = cpu->r[6] + 0x000000CCu;
|
|
/* 02502E58 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[9]);
|
|
/* 02502E5C */ _t178 = cpu->r[1] + 0x00000024u;
|
|
/* 02502E5C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 02502E60 */ _t179 = cpu->r[6] + 0x000000D0u;
|
|
/* 02502E60 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[10]);
|
|
/* 02502E64 */ _t180 = cpu->r[1] + 0x00000028u;
|
|
/* 02502E64 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t180);
|
|
/* 02502E68 */ _t181 = cpu->r[6] + 0x000000D4u;
|
|
/* 02502E68 */ rbrew_write_f32(cpu->mem, _t181, cpu->f[11]);
|
|
/* 02502E6C */ _t182 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02502E6C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 02502E70 */ _t183 = cpu->r[6] + 0x000000D8u;
|
|
/* 02502E70 */ rbrew_write_f32(cpu->mem, _t183, cpu->f[12]);
|
|
/* 02502E74 */ _t184 = cpu->r[1] + 0x00000030u;
|
|
/* 02502E74 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 02502E78 */ _t185 = cpu->r[6] + 0x000000DCu;
|
|
/* 02502E78 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[13]);
|
|
/* 02502E7C */ _t186 = cpu->r[1] + 0x00000034u;
|
|
/* 02502E7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t186);
|
|
/* 02502E80 */ _t187 = cpu->r[6] + 0x000000E0u;
|
|
/* 02502E80 */ rbrew_write_f32(cpu->mem, _t187, cpu->f[0]);
|
|
/* 02502E84 */ _t188 = cpu->r[1] + 0x00000050u;
|
|
/* 02502E84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02502E88 */ _t189 = cpu->r[1] + 0x00000054u;
|
|
/* 02502E88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02502E8C */ _t190 = cpu->r[1] + 0x00000064u;
|
|
/* 02502E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02502E90 */ _t191 = cpu->r[1] + 0x00000058u;
|
|
/* 02502E90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02502E94 */ cpu->lr = cpu->r[0];
|
|
/* 02502E98 */ _t192 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02502E98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02502E9C */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02502EA0 */ return;
|
|
}
|
|
|
|
// fn_02502EA4 @ 0x2502ea4
|
|
void Gambit_fn_02502EA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454;
|
|
|
|
L_02502EA4: ; // 0x2502ea4
|
|
/* 02502EA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02502EA8 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02502EA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02502EA8 */ cpu->r[1] = _t0;
|
|
/* 02502EAC */ _t1 = cpu->r[1] + 0x00000060u;
|
|
/* 02502EAC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02502EB0 */ /* nop */
|
|
/* 02502EB4 */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 02502EB4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02502EB8 */ _t3 = cpu->r[1] + 0x00000074u;
|
|
/* 02502EB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02502EBC */ /* nop */
|
|
/* 02502EC0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02502EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02502EC4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02502EC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502EC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02502EC8 */ if (_t5) goto L_02502ECC; else goto L_02502EDC;
|
|
L_02502ECC: ; // 0x2502ecc
|
|
/* 02502ECC */ cpu->r[3] = 0x000001B0u;
|
|
/* 02502ED0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02502ED4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02502ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02502ED8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502ED8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02502ED8 */ if (_t7) goto L_02503A70; else goto L_02502EDC;
|
|
L_02502EDC: ; // 0x2502edc
|
|
/* 02502EDC */ cpu->r[3] = cpu->r[28];
|
|
/* 02502EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502EE0 */ cpu->r[27] = 0x00000000u;
|
|
/* 02502EE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502EE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02502EE4 */ if (_t9) goto L_02502EE8; else goto L_02502EF8;
|
|
L_02502EE8: ; // 0x2502ee8
|
|
/* 02502EE8 */ cpu->r[3] = 0x00000008u;
|
|
/* 02502EEC */ Gambit_fn_02801A78(cpu);
|
|
/* 02502EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502EF4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502EF4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02502EF4 */ if (_t11) goto L_02502F08; else goto L_02502EF8;
|
|
L_02502EF8: ; // 0x2502ef8
|
|
/* 02502EF8 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02502EFC */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02502EFC */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 02502F00 */ cpu->r[12] = cpu->r[12] + 0xFFFFDBF0u;
|
|
/* 02502F04 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 02502F04 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_02502F08: ; // 0x2502f08
|
|
/* 02502F08 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02502F0C */ cpu->r[0] = cpu->r[0] + 0xFFFFDC30u;
|
|
/* 02502F10 */ cpu->r[31] = cpu->r[28] + 0x00000008u;
|
|
/* 02502F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02502F14 */ _t14 = cpu->r[28] + 0x00000004u;
|
|
/* 02502F14 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02502F18 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502F18 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02502F18 */ if (_t16) goto L_02502F1C; else goto L_02502F2C;
|
|
L_02502F1C: ; // 0x2502f1c
|
|
/* 02502F1C */ cpu->r[3] = 0x00000038u;
|
|
/* 02502F20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02502F24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02502F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02502F28 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502F28 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02502F28 */ if (_t18) goto L_02502F5C; else goto L_02502F2C;
|
|
L_02502F2C: ; // 0x2502f2c
|
|
/* 02502F2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02502F30 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02502F34 */ cpu->r[4] = 0x10000000u;
|
|
/* 02502F38 */ _t19 = cpu->r[31] + 0x00000030u;
|
|
/* 02502F38 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 02502F3C */ cpu->r[4] = cpu->r[4] + 0x00006758u;
|
|
/* 02502F40 */ _t20 = cpu->r[31] + 0x00000034u;
|
|
/* 02502F40 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 02502F44 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02502F44 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 02502F48 */ _t22 = cpu->r[31] + 0x00000024u;
|
|
/* 02502F48 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 02502F4C */ _t23 = cpu->r[31] + 0x00000028u;
|
|
/* 02502F4C */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 02502F50 */ _t24 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02502F50 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 02502F54 */ _t25 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02502F54 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
/* 02502F58 */ _t26 = cpu->r[31] + 0x00000020u;
|
|
/* 02502F58 */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
|
|
L_02502F5C: ; // 0x2502f5c
|
|
/* 02502F5C */ _t27 = cpu->r[28] + 0x00000084u;
|
|
/* 02502F5C */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
|
|
/* 02502F60 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02502F64 */ _t28 = cpu->r[28] + 0x00000064u;
|
|
/* 02502F64 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 02502F68 */ cpu->r[3] = cpu->r[28] + 0x00000088u;
|
|
/* 02502F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502F6C */ _t29 = cpu->r[28] + 0x00000074u;
|
|
/* 02502F6C */ rbrew_write32(cpu->mem, _t29, cpu->r[27]);
|
|
/* 02502F70 */ cpu->r[5] = 0x00000001u;
|
|
/* 02502F74 */ _t30 = cpu->r[28] + 0x00000068u;
|
|
/* 02502F74 */ rbrew_write32(cpu->mem, _t30, cpu->r[27]);
|
|
/* 02502F78 */ _t31 = cpu->r[11] + 0xFFFFDCA4u;
|
|
/* 02502F78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02502F7C */ _t32 = cpu->r[28] + 0x00000060u;
|
|
/* 02502F7C */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 02502F80 */ _t33 = cpu->r[28] + 0x00000049u;
|
|
/* 02502F80 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[27]);
|
|
/* 02502F84 */ _t34 = cpu->r[28] + 0x0000006Cu;
|
|
/* 02502F84 */ rbrew_write32(cpu->mem, _t34, cpu->r[27]);
|
|
/* 02502F88 */ _t35 = cpu->r[28] + 0x00000080u;
|
|
/* 02502F88 */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 02502F8C */ _t36 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02502F8C */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 02502F90 */ _t37 = cpu->r[28] + 0x00000048u;
|
|
/* 02502F90 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[27]);
|
|
/* 02502F94 */ _t38 = cpu->r[28] + 0x00000070u;
|
|
/* 02502F94 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 02502F98 */ _t39 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02502F98 */ rbrew_write32(cpu->mem, _t39, cpu->r[27]);
|
|
/* 02502F9C */ _t40 = cpu->r[28] + 0x00000058u;
|
|
/* 02502F9C */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 02502FA0 */ _t41 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02502FA0 */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
|
|
/* 02502FA4 */ _t42 = cpu->r[28] + 0x00000040u;
|
|
/* 02502FA4 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 02502FA8 */ _t43 = cpu->r[28] + 0x00000078u;
|
|
/* 02502FA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 02502FAC */ _t44 = cpu->r[28] + 0x00000050u;
|
|
/* 02502FAC */ rbrew_write32(cpu->mem, _t44, cpu->r[5]);
|
|
/* 02502FB0 */ _t45 = cpu->r[28] + 0x00000054u;
|
|
/* 02502FB0 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02502FB4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FB4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02502FB4 */ if (_t47) goto L_02502FB8; else goto L_02502FC8;
|
|
L_02502FB8: ; // 0x2502fb8
|
|
/* 02502FB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02502FBC */ Gambit_fn_02801A78(cpu);
|
|
/* 02502FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502FC4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FC4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02502FC4 */ if (_t49) goto L_02502FEC; else goto L_02502FC8;
|
|
L_02502FC8: ; // 0x2502fc8
|
|
/* 02502FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502FCC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FCC */ _t51 = _t50 & 0x00000001u;
|
|
/* 02502FCC */ if (_t51) goto L_02502FD0; else goto L_02502FE0;
|
|
L_02502FD0: ; // 0x2502fd0
|
|
/* 02502FD0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02502FD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02502FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502FDC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FDC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02502FDC */ if (_t53) goto L_02502FEC; else goto L_02502FE0;
|
|
L_02502FE0: ; // 0x2502fe0
|
|
/* 02502FE0 */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 02502FE0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[31]);
|
|
/* 02502FE4 */ _t55 = cpu->r[3] + 0x00000000u;
|
|
/* 02502FE4 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[31]);
|
|
/* 02502FE8 */ _t56 = cpu->r[3] + 0x00000008u;
|
|
/* 02502FE8 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[31]);
|
|
L_02502FEC: ; // 0x2502fec
|
|
/* 02502FEC */ cpu->r[3] = cpu->r[28] + 0x00000094u;
|
|
/* 02502FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502FF0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FF0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02502FF0 */ if (_t58) goto L_02502FF4; else goto L_02503004;
|
|
L_02502FF4: ; // 0x2502ff4
|
|
/* 02502FF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02502FF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02502FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503000 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503000 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02503000 */ if (_t60) goto L_02503028; else goto L_02503004;
|
|
L_02503004: ; // 0x2503004
|
|
/* 02503004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503008 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503008 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02503008 */ if (_t62) goto L_0250300C; else goto L_0250301C;
|
|
L_0250300C: ; // 0x250300c
|
|
/* 0250300C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503010 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503018 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503018 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02503018 */ if (_t64) goto L_02503028; else goto L_0250301C;
|
|
L_0250301C: ; // 0x250301c
|
|
/* 0250301C */ _t65 = cpu->r[3] + 0x00000004u;
|
|
/* 0250301C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[31]);
|
|
/* 02503020 */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 02503020 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[31]);
|
|
/* 02503024 */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 02503024 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
L_02503028: ; // 0x2503028
|
|
/* 02503028 */ cpu->r[3] = cpu->r[28] + 0x000000A0u;
|
|
/* 02503028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250302C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250302C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0250302C */ if (_t69) goto L_02503030; else goto L_02503040;
|
|
L_02503030: ; // 0x2503030
|
|
/* 02503030 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503034 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250303C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250303C */ _t71 = _t70 & 0x00000001u;
|
|
/* 0250303C */ if (_t71) goto L_02503064; else goto L_02503040;
|
|
L_02503040: ; // 0x2503040
|
|
/* 02503040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503044 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503044 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02503044 */ if (_t73) goto L_02503048; else goto L_02503058;
|
|
L_02503048: ; // 0x2503048
|
|
/* 02503048 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250304C */ Gambit_fn_02801A78(cpu);
|
|
/* 02503050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503054 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503054 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02503054 */ if (_t75) goto L_02503064; else goto L_02503058;
|
|
L_02503058: ; // 0x2503058
|
|
/* 02503058 */ _t76 = cpu->r[3] + 0x00000004u;
|
|
/* 02503058 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[31]);
|
|
/* 0250305C */ _t77 = cpu->r[3] + 0x00000000u;
|
|
/* 0250305C */ rbrew_write_f32(cpu->mem, _t77, cpu->f[31]);
|
|
/* 02503060 */ _t78 = cpu->r[3] + 0x00000008u;
|
|
/* 02503060 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[31]);
|
|
L_02503064: ; // 0x2503064
|
|
/* 02503064 */ cpu->r[31] = cpu->r[28] + 0x000000ACu;
|
|
/* 02503064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503068 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503068 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02503068 */ if (_t80) goto L_0250306C; else goto L_0250307C;
|
|
L_0250306C: ; // 0x250306c
|
|
/* 0250306C */ cpu->r[3] = 0x00000024u;
|
|
/* 02503070 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503074 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503078 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503078 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02503078 */ if (_t82) goto L_025030AC; else goto L_0250307C;
|
|
L_0250307C: ; // 0x250307c
|
|
/* 0250307C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503080 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503080 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02503080 */ if (_t84) goto L_02503084; else goto L_0250308C;
|
|
L_02503084: ; // 0x2503084
|
|
/* 02503084 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503088 */ Gambit_fn_02801A78(cpu);
|
|
L_0250308C: ; // 0x250308c
|
|
/* 0250308C */ cpu->r[6] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250308C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02503090 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503090 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02503090 */ if (_t86) goto L_02503094; else goto L_0250309C;
|
|
L_02503094: ; // 0x2503094
|
|
/* 02503094 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503098 */ Gambit_fn_02801A78(cpu);
|
|
L_0250309C: ; // 0x250309c
|
|
/* 0250309C */ cpu->r[7] = cpu->r[31] + 0x00000018u;
|
|
/* 0250309C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 025030A0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030A0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 025030A0 */ if (_t88) goto L_025030A4; else goto L_025030AC;
|
|
L_025030A4: ; // 0x25030a4
|
|
/* 025030A4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025030A8 */ Gambit_fn_02801A78(cpu);
|
|
L_025030AC: ; // 0x25030ac
|
|
/* 025030AC */ cpu->r[3] = cpu->r[28] + 0x000000D0u;
|
|
/* 025030AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030B0 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030B0 */ _t90 = _t89 & 0x00000001u;
|
|
/* 025030B0 */ if (_t90) goto L_025030B4; else goto L_025030C4;
|
|
L_025030B4: ; // 0x25030b4
|
|
/* 025030B4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025030B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025030BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030C0 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030C0 */ _t92 = _t91 & 0x00000001u;
|
|
/* 025030C0 */ if (_t92) goto L_025030E8; else goto L_025030C4;
|
|
L_025030C4: ; // 0x25030c4
|
|
/* 025030C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030C8 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030C8 */ _t94 = _t93 & 0x00000001u;
|
|
/* 025030C8 */ if (_t94) goto L_025030CC; else goto L_025030DC;
|
|
L_025030CC: ; // 0x25030cc
|
|
/* 025030CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025030D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025030D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030D8 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030D8 */ _t96 = _t95 & 0x00000001u;
|
|
/* 025030D8 */ if (_t96) goto L_025030E8; else goto L_025030DC;
|
|
L_025030DC: ; // 0x25030dc
|
|
/* 025030DC */ _t97 = cpu->r[3] + 0x00000004u;
|
|
/* 025030DC */ rbrew_write_f32(cpu->mem, _t97, cpu->f[31]);
|
|
/* 025030E0 */ _t98 = cpu->r[3] + 0x00000000u;
|
|
/* 025030E0 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[31]);
|
|
/* 025030E4 */ _t99 = cpu->r[3] + 0x00000008u;
|
|
/* 025030E4 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[31]);
|
|
L_025030E8: ; // 0x25030e8
|
|
/* 025030E8 */ cpu->r[3] = cpu->r[28] + 0x000000DCu;
|
|
/* 025030E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030EC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030EC */ _t101 = _t100 & 0x00000001u;
|
|
/* 025030EC */ if (_t101) goto L_025030F0; else goto L_02503100;
|
|
L_025030F0: ; // 0x25030f0
|
|
/* 025030F0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025030F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025030F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030FC */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030FC */ _t103 = _t102 & 0x00000001u;
|
|
/* 025030FC */ if (_t103) goto L_02503124; else goto L_02503100;
|
|
L_02503100: ; // 0x2503100
|
|
/* 02503100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503104 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503104 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02503104 */ if (_t105) goto L_02503108; else goto L_02503118;
|
|
L_02503108: ; // 0x2503108
|
|
/* 02503108 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250310C */ Gambit_fn_02801A78(cpu);
|
|
/* 02503110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503114 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503114 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02503114 */ if (_t107) goto L_02503124; else goto L_02503118;
|
|
L_02503118: ; // 0x2503118
|
|
/* 02503118 */ _t108 = cpu->r[3] + 0x00000004u;
|
|
/* 02503118 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[31]);
|
|
/* 0250311C */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 0250311C */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 02503120 */ _t110 = cpu->r[3] + 0x00000008u;
|
|
/* 02503120 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[31]);
|
|
L_02503124: ; // 0x2503124
|
|
/* 02503124 */ cpu->r[3] = cpu->r[28] + 0x000000E8u;
|
|
/* 02503124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503128 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503128 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02503128 */ if (_t112) goto L_0250312C; else goto L_0250313C;
|
|
L_0250312C: ; // 0x250312c
|
|
/* 0250312C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503130 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503138 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503138 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02503138 */ if (_t114) goto L_02503160; else goto L_0250313C;
|
|
L_0250313C: ; // 0x250313c
|
|
/* 0250313C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503140 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503140 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02503140 */ if (_t116) goto L_02503144; else goto L_02503154;
|
|
L_02503144: ; // 0x2503144
|
|
/* 02503144 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250314C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503150 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503150 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02503150 */ if (_t118) goto L_02503160; else goto L_02503154;
|
|
L_02503154: ; // 0x2503154
|
|
/* 02503154 */ _t119 = cpu->r[3] + 0x00000004u;
|
|
/* 02503154 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[31]);
|
|
/* 02503158 */ _t120 = cpu->r[3] + 0x00000000u;
|
|
/* 02503158 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[31]);
|
|
/* 0250315C */ _t121 = cpu->r[3] + 0x00000008u;
|
|
/* 0250315C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[31]);
|
|
L_02503160: ; // 0x2503160
|
|
/* 02503160 */ cpu->r[31] = cpu->r[28] + 0x000000F4u;
|
|
/* 02503160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503164 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503164 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02503164 */ if (_t123) goto L_02503168; else goto L_02503178;
|
|
L_02503168: ; // 0x2503168
|
|
/* 02503168 */ cpu->r[3] = 0x00000024u;
|
|
/* 0250316C */ Gambit_fn_02801A78(cpu);
|
|
/* 02503170 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503174 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503174 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02503174 */ if (_t125) goto L_025031A8; else goto L_02503178;
|
|
L_02503178: ; // 0x2503178
|
|
/* 02503178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250317C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250317C */ _t127 = _t126 & 0x00000001u;
|
|
/* 0250317C */ if (_t127) goto L_02503180; else goto L_02503188;
|
|
L_02503180: ; // 0x2503180
|
|
/* 02503180 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503184 */ Gambit_fn_02801A78(cpu);
|
|
L_02503188: ; // 0x2503188
|
|
/* 02503188 */ cpu->r[8] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02503188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250318C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250318C */ _t129 = _t128 & 0x00000001u;
|
|
/* 0250318C */ if (_t129) goto L_02503190; else goto L_02503198;
|
|
L_02503190: ; // 0x2503190
|
|
/* 02503190 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503194 */ Gambit_fn_02801A78(cpu);
|
|
L_02503198: ; // 0x2503198
|
|
/* 02503198 */ cpu->r[9] = cpu->r[31] + 0x00000018u;
|
|
/* 02503198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250319C */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250319C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0250319C */ if (_t131) goto L_025031A0; else goto L_025031A8;
|
|
L_025031A0: ; // 0x25031a0
|
|
/* 025031A0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025031A4 */ Gambit_fn_02801A78(cpu);
|
|
L_025031A8: ; // 0x25031a8
|
|
/* 025031A8 */ _t132 = cpu->r[28] + 0x00000126u;
|
|
/* 025031A8 */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[27]);
|
|
/* 025031AC */ cpu->r[0] = 0x00000001u;
|
|
/* 025031B0 */ _t133 = cpu->r[28] + 0x00000118u;
|
|
/* 025031B0 */ rbrew_write_f32(cpu->mem, _t133, cpu->f[31]);
|
|
/* 025031B4 */ cpu->r[7] = 0x101F0000u;
|
|
/* 025031B8 */ _t134 = cpu->r[28] + 0x00000120u;
|
|
/* 025031B8 */ rbrew_write32(cpu->mem, _t134, cpu->r[27]);
|
|
/* 025031BC */ _t135 = cpu->r[28] + 0x0000011Cu;
|
|
/* 025031BC */ rbrew_write32(cpu->mem, _t135, cpu->r[0]);
|
|
/* 025031C0 */ _t136 = cpu->r[28] + 0x00000124u;
|
|
/* 025031C0 */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[27]);
|
|
/* 025031C4 */ _t137 = cpu->r[28] + 0x00000125u;
|
|
/* 025031C4 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[27]);
|
|
/* 025031C8 */ _t138 = cpu->r[7] + 0x00006338u;
|
|
/* 025031C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t138);
|
|
/* 025031C8 */ cpu->r[7] = _t138;
|
|
/* 025031CC */ _t139 = cpu->r[28] + 0x00000128u;
|
|
/* 025031CC */ rbrew_write32(cpu->mem, _t139, cpu->r[11]);
|
|
/* 025031D0 */ _t140 = cpu->r[7] + 0x00000004u;
|
|
/* 025031D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
|
|
/* 025031D4 */ _t141 = cpu->r[28] + 0x0000012Cu;
|
|
/* 025031D4 */ rbrew_write32(cpu->mem, _t141, cpu->r[12]);
|
|
/* 025031D8 */ _t142 = cpu->r[7] + 0x00000008u;
|
|
/* 025031D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 025031DC */ _t143 = cpu->r[28] + 0x00000130u;
|
|
/* 025031DC */ rbrew_write32(cpu->mem, _t143, cpu->r[0]);
|
|
/* 025031E0 */ _t144 = cpu->r[7] + 0x00000000u;
|
|
/* 025031E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t144);
|
|
/* 025031E4 */ _t145 = cpu->r[28] + 0x00000134u;
|
|
/* 025031E4 */ rbrew_write32(cpu->mem, _t145, cpu->r[4]);
|
|
/* 025031E8 */ _t146 = cpu->r[7] + 0x00000004u;
|
|
/* 025031E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 025031EC */ _t147 = cpu->r[28] + 0x00000138u;
|
|
/* 025031EC */ rbrew_write32(cpu->mem, _t147, cpu->r[5]);
|
|
/* 025031F0 */ _t148 = cpu->r[7] + 0x00000008u;
|
|
/* 025031F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
|
|
/* 025031F4 */ _t149 = cpu->r[28] + 0x0000013Cu;
|
|
/* 025031F4 */ rbrew_write32(cpu->mem, _t149, cpu->r[6]);
|
|
/* 025031F8 */ _t150 = cpu->r[7] + 0x00000000u;
|
|
/* 025031F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t150);
|
|
/* 025031FC */ _t151 = cpu->r[28] + 0x00000140u;
|
|
/* 025031FC */ rbrew_write32(cpu->mem, _t151, cpu->r[10]);
|
|
/* 02503200 */ _t152 = cpu->r[7] + 0x00000004u;
|
|
/* 02503200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02503204 */ _t153 = cpu->r[28] + 0x00000144u;
|
|
/* 02503204 */ rbrew_write32(cpu->mem, _t153, cpu->r[0]);
|
|
/* 02503208 */ _t154 = cpu->r[7] + 0x00000008u;
|
|
/* 02503208 */ cpu->r[5] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0250320C */ _t155 = cpu->r[28] + 0x00000148u;
|
|
/* 0250320C */ rbrew_write32(cpu->mem, _t155, cpu->r[5]);
|
|
/* 02503210 */ _t156 = cpu->r[7] + 0x00000000u;
|
|
/* 02503210 */ cpu->r[6] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02503214 */ _t157 = cpu->r[28] + 0x0000014Cu;
|
|
/* 02503214 */ rbrew_write32(cpu->mem, _t157, cpu->r[6]);
|
|
/* 02503218 */ _t158 = cpu->r[7] + 0x00000004u;
|
|
/* 02503218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t158);
|
|
/* 0250321C */ _t159 = cpu->r[28] + 0x00000150u;
|
|
/* 0250321C */ rbrew_write32(cpu->mem, _t159, cpu->r[8]);
|
|
/* 02503220 */ _t160 = cpu->r[7] + 0x00000008u;
|
|
/* 02503220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02503224 */ _t161 = cpu->r[28] + 0x00000154u;
|
|
/* 02503224 */ rbrew_write32(cpu->mem, _t161, cpu->r[9]);
|
|
/* 02503228 */ _t162 = cpu->r[7] + 0x00000000u;
|
|
/* 02503228 */ cpu->r[11] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0250322C */ _t163 = cpu->r[28] + 0x00000158u;
|
|
/* 0250322C */ rbrew_write32(cpu->mem, _t163, cpu->r[11]);
|
|
/* 02503230 */ _t164 = cpu->r[7] + 0x00000004u;
|
|
/* 02503230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02503234 */ _t165 = cpu->r[28] + 0x0000015Cu;
|
|
/* 02503234 */ rbrew_write32(cpu->mem, _t165, cpu->r[12]);
|
|
/* 02503238 */ _t166 = cpu->r[7] + 0x00000008u;
|
|
/* 02503238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 0250323C */ _t167 = cpu->r[28] + 0x00000160u;
|
|
/* 0250323C */ rbrew_write32(cpu->mem, _t167, cpu->r[0]);
|
|
/* 02503240 */ _t168 = cpu->r[7] + 0x00000000u;
|
|
/* 02503240 */ cpu->r[5] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02503244 */ _t169 = cpu->r[28] + 0x00000164u;
|
|
/* 02503244 */ rbrew_write32(cpu->mem, _t169, cpu->r[5]);
|
|
/* 02503248 */ _t170 = cpu->r[7] + 0x00000004u;
|
|
/* 02503248 */ cpu->r[6] = rbrew_read32(cpu->mem, _t170);
|
|
/* 0250324C */ _t171 = cpu->r[28] + 0x00000168u;
|
|
/* 0250324C */ rbrew_write32(cpu->mem, _t171, cpu->r[6]);
|
|
/* 02503250 */ _t172 = cpu->r[7] + 0x00000008u;
|
|
/* 02503250 */ cpu->r[8] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02503254 */ _t173 = cpu->r[28] + 0x00000170u;
|
|
/* 02503254 */ rbrew_write32(cpu->mem, _t173, cpu->r[27]);
|
|
/* 02503258 */ _t174 = cpu->r[28] + 0x0000016Cu;
|
|
/* 02503258 */ rbrew_write32(cpu->mem, _t174, cpu->r[8]);
|
|
/* 0250325C */ _t175 = cpu->r[28] + 0x00000174u;
|
|
/* 0250325C */ rbrew_write32(cpu->mem, _t175, cpu->r[27]);
|
|
/* 02503260 */ _t176 = cpu->r[28] + 0x00000178u;
|
|
/* 02503260 */ rbrew_write32(cpu->mem, _t176, cpu->r[27]);
|
|
/* 02503264 */ cpu->r[31] = cpu->r[28] + 0x00000180u;
|
|
/* 02503264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503268 */ _t177 = cpu->r[28] + 0x0000017Cu;
|
|
/* 02503268 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[31]);
|
|
/* 0250326C */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250326C */ _t179 = _t178 & 0x00000001u;
|
|
/* 0250326C */ if (_t179) goto L_02503270; else goto L_02503280;
|
|
L_02503270: ; // 0x2503270
|
|
/* 02503270 */ cpu->r[3] = 0x00000024u;
|
|
/* 02503274 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503278 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250327C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250327C */ _t181 = _t180 & 0x00000001u;
|
|
/* 0250327C */ if (_t181) goto L_025032B0; else goto L_02503280;
|
|
L_02503280: ; // 0x2503280
|
|
/* 02503280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503284 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503284 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02503284 */ if (_t183) goto L_02503288; else goto L_02503290;
|
|
L_02503288: ; // 0x2503288
|
|
/* 02503288 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250328C */ Gambit_fn_02801A78(cpu);
|
|
L_02503290: ; // 0x2503290
|
|
/* 02503290 */ cpu->r[9] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02503290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02503294 */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503294 */ _t185 = _t184 & 0x00000001u;
|
|
/* 02503294 */ if (_t185) goto L_02503298; else goto L_025032A0;
|
|
L_02503298: ; // 0x2503298
|
|
/* 02503298 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250329C */ Gambit_fn_02801A78(cpu);
|
|
L_025032A0: ; // 0x25032a0
|
|
/* 025032A0 */ cpu->r[10] = cpu->r[31] + 0x00000018u;
|
|
/* 025032A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025032A4 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025032A4 */ _t187 = _t186 & 0x00000001u;
|
|
/* 025032A4 */ if (_t187) goto L_025032A8; else goto L_025032B0;
|
|
L_025032A8: ; // 0x25032a8
|
|
/* 025032A8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025032AC */ Gambit_fn_02801A78(cpu);
|
|
L_025032B0: ; // 0x25032b0
|
|
/* 025032B0 */ cpu->r[11] = cpu->r[28] + 0x00000180u;
|
|
/* 025032B4 */ cpu->r[12] = cpu->r[11] + 0x00000024u;
|
|
/* 025032B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025032B8 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025032B8 */ _t189 = _t188 & 0x00000001u;
|
|
/* 025032B8 */ if (_t189) goto L_025032BC; else goto L_025032C4;
|
|
L_025032BC: ; // 0x25032bc
|
|
/* 025032BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025032C0 */ Gambit_fn_02801A78(cpu);
|
|
L_025032C4: ; // 0x25032c4
|
|
/* 025032C4 */ _t190 = cpu->r[29] + 0x00000000u;
|
|
/* 025032C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t190);
|
|
/* 025032C8 */ _t191 = cpu->r[28] + 0x00000040u;
|
|
/* 025032C8 */ rbrew_write32(cpu->mem, _t191, cpu->r[8]);
|
|
/* 025032CC */ _t192 = cpu->r[29] + 0x00000004u;
|
|
/* 025032CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t192);
|
|
/* 025032D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025032D4 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025032D4 */ _t194 = _t193 & 0x00000001u;
|
|
/* 025032D4 */ if (_t194) goto L_025032D8; else goto L_025032DC;
|
|
L_025032D8: ; // 0x25032d8
|
|
/* 025032D8 */ cpu->r[11] = cpu->r[8] + 0x00000054u;
|
|
L_025032DC: ; // 0x25032dc
|
|
/* 025032DC */ _t195 = cpu->r[28] + 0x00000044u;
|
|
/* 025032DC */ rbrew_write32(cpu->mem, _t195, cpu->r[11]);
|
|
/* 025032E0 */ _t196 = cpu->r[29] + 0x00000008u;
|
|
/* 025032E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t196);
|
|
/* 025032E4 */ _t197 = cpu->r[28] + 0x00000048u;
|
|
/* 025032E4 */ rbrew_write8(cpu->mem, _t197, (uint8_t)cpu->r[0]);
|
|
/* 025032E8 */ _t198 = cpu->r[29] + 0x00000009u;
|
|
/* 025032E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t198);
|
|
/* 025032EC */ cpu->r[3] = cpu->r[28];
|
|
/* 025032F0 */ _t199 = cpu->r[28] + 0x00000049u;
|
|
/* 025032F0 */ rbrew_write8(cpu->mem, _t199, (uint8_t)cpu->r[4]);
|
|
/* 025032F4 */ Gambit_fn_02502A24(cpu);
|
|
/* 025032F8 */ cpu->r[30] = 0x100C0000u;
|
|
/* 025032FC */ _t200 = cpu->r[29] + 0x0000000Au;
|
|
/* 025032FC */ cpu->r[5] = rbrew_read8(cpu->mem, _t200);
|
|
/* 02503300 */ cpu->r[30] = cpu->r[30] + 0xFFFFDBC0u;
|
|
/* 02503304 */ cpu->r[31] = 0x10110000u;
|
|
/* 02503308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0250330C */ cpu->r[31] = cpu->r[31] + 0x00007399u;
|
|
/* 02503310 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503310 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02503310 */ if (_t202) goto L_02503314; else goto L_0250337C;
|
|
L_02503314: ; // 0x2503314
|
|
/* 02503314 */ cpu->r[0] = 0x00000005u;
|
|
/* 02503318 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 0250331C */ cpu->r[4] = cpu->r[28];
|
|
/* 02503320 */ cpu->r[6] = 0x00000000u;
|
|
/* 02503324 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02503328 */ _t203 = cpu->r[1] + 0x00000008u;
|
|
/* 02503328 */ rbrew_write8(cpu->mem, _t203, (uint8_t)cpu->r[0]);
|
|
/* 0250332C */ Gambit_fn_025055A4(cpu);
|
|
/* 02503330 */ cpu->r[26] = 0x02500000u;
|
|
/* 02503334 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02503338 */ cpu->r[26] = cpu->r[26] + 0x00005544u;
|
|
/* 0250333C */ cpu->r[7] = cpu->r[7] + 0xFFFFDCF0u;
|
|
/* 02503340 */ _t204 = cpu->r[1] + 0x00000010u;
|
|
/* 02503340 */ rbrew_write32(cpu->mem, _t204, cpu->r[30]);
|
|
/* 02503344 */ cpu->ctr = cpu->r[26];
|
|
/* 02503348 */ _t205 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503348 */ rbrew_write32(cpu->mem, _t205, cpu->r[7]);
|
|
/* 0250334C */ _t206 = cpu->r[28] + 0x00000020u;
|
|
/* 0250334C */ cpu->r[24] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02503350 */ _t207 = cpu->r[24] + 0x00000000u;
|
|
/* 02503350 */ cpu->r[25] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02503354 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503358 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250335C */ _t208 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250335C */ cpu->r[4] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02503360 */ _t209 = cpu->r[31] + 0x00000000u;
|
|
/* 02503360 */ cpu->r[29] = rbrew_read8(cpu->mem, _t209);
|
|
/* 02503364 */ _t210 = cpu->r[4] + 0x00000000u;
|
|
/* 02503364 */ cpu->r[0] = rbrew_read8(cpu->mem, _t210);
|
|
/* 02503368 */ cpu->r[31] = 0x00000000u;
|
|
/* 0250336C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02503370 */ cpu->r[0] = 0x00080000u;
|
|
/* 02503374 */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503374 */ _t212 = _t211 & 0x00000001u;
|
|
/* 02503374 */ if (_t212) goto L_02503378; else goto L_025035A0;
|
|
L_02503378: ; // 0x2503378
|
|
/* 02503378 */ goto L_025035C4;
|
|
L_0250337C: ; // 0x250337c
|
|
/* 0250337C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503380 */ Gambit_fn_024F0B2C(cpu);
|
|
/* 02503384 */ _t213 = cpu->r[28] + 0x00000040u;
|
|
/* 02503384 */ cpu->r[8] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02503388 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0250338C */ _t214 = cpu->r[8] + 0x00000008u;
|
|
/* 0250338C */ cpu->r[9] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02503390 */ _t215 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02503390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t215);
|
|
/* 02503394 */ _t216 = cpu->r[9] + 0x000000A4u;
|
|
/* 02503394 */ cpu->r[6] = rbrew_read32(cpu->mem, _t216);
|
|
/* 02503398 */ _t217 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503398 */ rbrew_write32(cpu->mem, _t217, cpu->r[6]);
|
|
/* 0250339C */ Gambit_fn_02826F20(cpu);
|
|
/* 025033A0 */ _t218 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025033A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t218);
|
|
/* 025033A4 */ _t219 = cpu->r[7] + 0x00000034u;
|
|
/* 025033A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t219);
|
|
/* 025033A8 */ cpu->ctr = cpu->r[8];
|
|
/* 025033AC */ cpu->r[4] = 0x00000028u;
|
|
/* 025033B0 */ cpu->r[5] = 0x00000004u;
|
|
/* 025033B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025033B8 */ cpu->r[11] = 0x00000005u;
|
|
/* 025033BC */ cpu->ctr = cpu->r[11];
|
|
/* 025033C0 */ cpu->r[6] = 0x00000000u;
|
|
L_025033C4: ; // 0x25033c4
|
|
/* 025033C4 */ cpu->r[4] = cpu->r[3] + cpu->r[6];
|
|
/* 025033C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 025033C8 */ _t220 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025033C8 */ _t221 = _t220 & 0x00000001u;
|
|
/* 025033C8 */ if (_t221) goto L_025033D4; else goto L_025033CC;
|
|
L_025033CC: ; // 0x25033cc
|
|
/* 025033CC */ _t222 = cpu->r[4] + 0x00000000u;
|
|
/* 025033CC */ rbrew_write32(cpu->mem, _t222, cpu->r[31]);
|
|
/* 025033D0 */ _t223 = cpu->r[4] + 0x00000004u;
|
|
/* 025033D0 */ rbrew_write32(cpu->mem, _t223, cpu->r[30]);
|
|
L_025033D4: ; // 0x25033d4
|
|
/* 025033D4 */ cpu->r[6] = cpu->r[6] + 0x00000008u;
|
|
/* 025033D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025033D8 */ _t224 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025033D8 */ _t225 = _t224 >> (0x00000002u & 31u);
|
|
/* 025033D8 */ _t226 = _t225 & 0x00000001u;
|
|
/* 025033D8 */ if (_t226) goto L_025033C4; else goto L_025033DC;
|
|
L_025033DC: ; // 0x25033dc
|
|
/* 025033DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025033E0 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025033E0 */ _t228 = _t227 & 0x00000001u;
|
|
/* 025033E0 */ if (_t228) goto L_025033E4; else goto L_02503404;
|
|
L_025033E4: ; // 0x25033e4
|
|
/* 025033E4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 025033E8 */ _t229 = cpu->r[1] + 0x00000034u;
|
|
/* 025033E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t229);
|
|
/* 025033EC */ cpu->r[10] = cpu->r[10] + 0xFFFFDCB8u;
|
|
/* 025033F0 */ _t230 = cpu->r[3] + 0x00000000u;
|
|
/* 025033F0 */ rbrew_write32(cpu->mem, _t230, cpu->r[10]);
|
|
/* 025033F4 */ _t231 = cpu->r[1] + 0x00000030u;
|
|
/* 025033F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t231);
|
|
/* 025033F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 025033FC */ _t232 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025033FC */ _t233 = _t232 & 0x00000001u;
|
|
/* 025033FC */ if (_t233) goto L_02503428; else goto L_02503400;
|
|
L_02503400: ; // 0x2503400
|
|
/* 02503400 */ goto L_02503448;
|
|
L_02503404: ; // 0x2503404
|
|
/* 02503404 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02503408 */ _t234 = cpu->r[1] + 0x00000034u;
|
|
/* 02503408 */ rbrew_write32(cpu->mem, _t234, cpu->r[3]);
|
|
/* 0250340C */ cpu->r[9] = 0x00000005u;
|
|
/* 02503410 */ cpu->r[10] = cpu->r[10] + 0xFFFFDCB8u;
|
|
/* 02503414 */ _t235 = cpu->r[1] + 0x00000030u;
|
|
/* 02503414 */ rbrew_write32(cpu->mem, _t235, cpu->r[9]);
|
|
/* 02503418 */ _t236 = cpu->r[3] + 0x00000000u;
|
|
/* 02503418 */ rbrew_write32(cpu->mem, _t236, cpu->r[10]);
|
|
/* 0250341C */ _t237 = cpu->r[1] + 0x00000030u;
|
|
/* 0250341C */ cpu->r[0] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02503420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02503424 */ _t238 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503424 */ _t239 = _t238 & 0x00000001u;
|
|
/* 02503424 */ if (_t239) goto L_02503428; else goto L_02503448;
|
|
L_02503428: ; // 0x2503428
|
|
/* 02503428 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250342C */ _t240 = cpu->r[1] + 0x00000034u;
|
|
/* 0250342C */ cpu->r[12] = rbrew_read32(cpu->mem, _t240);
|
|
/* 02503430 */ cpu->r[4] = cpu->r[4] + 0xFFFFDCA8u;
|
|
/* 02503434 */ _t241 = cpu->r[12] + 0x00000008u;
|
|
/* 02503434 */ rbrew_write32(cpu->mem, _t241, cpu->r[4]);
|
|
/* 02503438 */ _t242 = cpu->r[1] + 0x00000030u;
|
|
/* 02503438 */ cpu->r[5] = rbrew_read32(cpu->mem, _t242);
|
|
/* 0250343C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 02503440 */ _t243 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503440 */ _t244 = _t243 & 0x00000001u;
|
|
/* 02503440 */ if (_t244) goto L_02503464; else goto L_02503444;
|
|
L_02503444: ; // 0x2503444
|
|
/* 02503444 */ goto L_02503484;
|
|
L_02503448: ; // 0x2503448
|
|
/* 02503448 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250344C */ _t245 = cpu->r[1] + 0x00000034u;
|
|
/* 0250344C */ cpu->r[12] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02503450 */ cpu->r[4] = cpu->r[4] + 0xFFFFDCA8u;
|
|
/* 02503454 */ _t246 = cpu->r[12] + 0x00000000u;
|
|
/* 02503454 */ rbrew_write32(cpu->mem, _t246, cpu->r[4]);
|
|
/* 02503458 */ _t247 = cpu->r[1] + 0x00000030u;
|
|
/* 02503458 */ cpu->r[5] = rbrew_read32(cpu->mem, _t247);
|
|
/* 0250345C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 02503460 */ _t248 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503460 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02503460 */ if (_t249) goto L_02503464; else goto L_02503484;
|
|
L_02503464: ; // 0x2503464
|
|
/* 02503464 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02503468 */ _t250 = cpu->r[1] + 0x00000034u;
|
|
/* 02503468 */ cpu->r[6] = rbrew_read32(cpu->mem, _t250);
|
|
/* 0250346C */ cpu->r[7] = cpu->r[7] + 0xFFFFDCC0u;
|
|
/* 02503470 */ _t251 = cpu->r[6] + 0x00000010u;
|
|
/* 02503470 */ rbrew_write32(cpu->mem, _t251, cpu->r[7]);
|
|
/* 02503474 */ _t252 = cpu->r[1] + 0x00000030u;
|
|
/* 02503474 */ cpu->r[8] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02503478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000003u);
|
|
/* 0250347C */ _t253 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250347C */ _t254 = _t253 & 0x00000001u;
|
|
/* 0250347C */ if (_t254) goto L_025034A0; else goto L_02503480;
|
|
L_02503480: ; // 0x2503480
|
|
/* 02503480 */ goto L_025034F0;
|
|
L_02503484: ; // 0x2503484
|
|
/* 02503484 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02503488 */ _t255 = cpu->r[1] + 0x00000034u;
|
|
/* 02503488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t255);
|
|
/* 0250348C */ cpu->r[7] = cpu->r[7] + 0xFFFFDCC0u;
|
|
/* 02503490 */ _t256 = cpu->r[12] + 0x00000000u;
|
|
/* 02503490 */ rbrew_write32(cpu->mem, _t256, cpu->r[7]);
|
|
/* 02503494 */ _t257 = cpu->r[1] + 0x00000030u;
|
|
/* 02503494 */ cpu->r[8] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02503498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000003u);
|
|
/* 0250349C */ _t258 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250349C */ _t259 = _t258 & 0x00000001u;
|
|
/* 0250349C */ if (_t259) goto L_025034A0; else goto L_025034F0;
|
|
L_025034A0: ; // 0x25034a0
|
|
/* 025034A0 */ cpu->r[10] = 0x100C0000u;
|
|
/* 025034A4 */ _t260 = cpu->r[1] + 0x00000034u;
|
|
/* 025034A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t260);
|
|
/* 025034A8 */ cpu->r[10] = cpu->r[10] + 0xFFFFDCB0u;
|
|
/* 025034AC */ _t261 = cpu->r[9] + 0x00000018u;
|
|
/* 025034AC */ rbrew_write32(cpu->mem, _t261, cpu->r[10]);
|
|
/* 025034B0 */ _t262 = cpu->r[1] + 0x00000030u;
|
|
/* 025034B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t262);
|
|
/* 025034B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 025034B8 */ _t263 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025034B8 */ _t264 = _t263 & 0x00000001u;
|
|
/* 025034B8 */ if (_t264) goto L_0250350C; else goto L_025034BC;
|
|
L_025034BC: ; // 0x25034bc
|
|
/* 025034BC */ cpu->r[4] = 0x100C0000u;
|
|
/* 025034C0 */ _t265 = cpu->r[1] + 0x00000034u;
|
|
/* 025034C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t265);
|
|
/* 025034C4 */ cpu->r[4] = cpu->r[4] + 0xFFFFDCC8u;
|
|
/* 025034C8 */ _t266 = cpu->r[12] + 0x00000000u;
|
|
/* 025034C8 */ rbrew_write32(cpu->mem, _t266, cpu->r[4]);
|
|
/* 025034CC */ _t267 = cpu->r[28] + 0x00000068u;
|
|
/* 025034CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t267);
|
|
/* 025034D0 */ _t268 = cpu->r[10] + 0x000046C0u;
|
|
/* 025034D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t268);
|
|
/* 025034D4 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 025034D8 */ _t269 = cpu->r[1] + 0x00000038u;
|
|
/* 025034D8 */ rbrew_write32(cpu->mem, _t269, cpu->r[5]);
|
|
/* 025034DC */ Gambit_fn_024F07D4(cpu);
|
|
/* 025034E0 */ _t270 = cpu->r[28] + 0x00000170u;
|
|
/* 025034E0 */ rbrew_write32(cpu->mem, _t270, cpu->r[3]);
|
|
/* 025034E4 */ _t271 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025034E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t271);
|
|
/* 025034E8 */ _t272 = cpu->r[28] + 0x00000174u;
|
|
/* 025034E8 */ rbrew_write32(cpu->mem, _t272, cpu->r[6]);
|
|
/* 025034EC */ goto L_0250353C;
|
|
L_025034F0: ; // 0x25034f0
|
|
/* 025034F0 */ cpu->r[10] = 0x100C0000u;
|
|
/* 025034F4 */ _t273 = cpu->r[1] + 0x00000034u;
|
|
/* 025034F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t273);
|
|
/* 025034F8 */ cpu->r[10] = cpu->r[10] + 0xFFFFDCB0u;
|
|
/* 025034FC */ _t274 = cpu->r[12] + 0x00000000u;
|
|
/* 025034FC */ rbrew_write32(cpu->mem, _t274, cpu->r[10]);
|
|
/* 02503500 */ _t275 = cpu->r[1] + 0x00000030u;
|
|
/* 02503500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t275);
|
|
/* 02503504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02503508 */ _t276 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503508 */ _t277 = _t276 & 0x00000001u;
|
|
/* 02503508 */ if (_t277) goto L_0250350C; else goto L_025034BC;
|
|
L_0250350C: ; // 0x250350c
|
|
/* 0250350C */ cpu->r[4] = 0x100C0000u;
|
|
/* 02503510 */ _t278 = cpu->r[1] + 0x00000034u;
|
|
/* 02503510 */ cpu->r[12] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02503514 */ cpu->r[4] = cpu->r[4] + 0xFFFFDCC8u;
|
|
/* 02503518 */ _t279 = cpu->r[12] + 0x00000020u;
|
|
/* 02503518 */ rbrew_write32(cpu->mem, _t279, cpu->r[4]);
|
|
/* 0250351C */ _t280 = cpu->r[28] + 0x00000068u;
|
|
/* 0250351C */ cpu->r[10] = rbrew_read32(cpu->mem, _t280);
|
|
/* 02503520 */ _t281 = cpu->r[10] + 0x000046C0u;
|
|
/* 02503520 */ cpu->r[5] = rbrew_read32(cpu->mem, _t281);
|
|
/* 02503524 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503528 */ _t282 = cpu->r[1] + 0x00000038u;
|
|
/* 02503528 */ rbrew_write32(cpu->mem, _t282, cpu->r[5]);
|
|
/* 0250352C */ Gambit_fn_024F07D4(cpu);
|
|
/* 02503530 */ _t283 = cpu->r[28] + 0x00000170u;
|
|
/* 02503530 */ rbrew_write32(cpu->mem, _t283, cpu->r[3]);
|
|
/* 02503534 */ _t284 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02503534 */ cpu->r[6] = rbrew_read32(cpu->mem, _t284);
|
|
/* 02503538 */ _t285 = cpu->r[28] + 0x00000174u;
|
|
/* 02503538 */ rbrew_write32(cpu->mem, _t285, cpu->r[6]);
|
|
L_0250353C: ; // 0x250353c
|
|
/* 0250353C */ cpu->r[0] = 0x00000005u;
|
|
/* 02503540 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503544 */ cpu->r[4] = cpu->r[28];
|
|
/* 02503548 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250354C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02503550 */ _t286 = cpu->r[1] + 0x00000008u;
|
|
/* 02503550 */ rbrew_write8(cpu->mem, _t286, (uint8_t)cpu->r[0]);
|
|
/* 02503554 */ Gambit_fn_025055A4(cpu);
|
|
/* 02503558 */ cpu->r[26] = 0x02500000u;
|
|
/* 0250355C */ cpu->r[7] = 0x100C0000u;
|
|
/* 02503560 */ cpu->r[26] = cpu->r[26] + 0x00005544u;
|
|
/* 02503564 */ cpu->r[7] = cpu->r[7] + 0xFFFFDCF0u;
|
|
/* 02503568 */ _t287 = cpu->r[1] + 0x00000010u;
|
|
/* 02503568 */ rbrew_write32(cpu->mem, _t287, cpu->r[30]);
|
|
/* 0250356C */ cpu->ctr = cpu->r[26];
|
|
/* 02503570 */ _t288 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503570 */ rbrew_write32(cpu->mem, _t288, cpu->r[7]);
|
|
/* 02503574 */ _t289 = cpu->r[28] + 0x00000020u;
|
|
/* 02503574 */ cpu->r[24] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02503578 */ _t290 = cpu->r[24] + 0x00000000u;
|
|
/* 02503578 */ cpu->r[25] = rbrew_read32(cpu->mem, _t290);
|
|
/* 0250357C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503580 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503584 */ _t291 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02503588 */ _t292 = cpu->r[31] + 0x00000000u;
|
|
/* 02503588 */ cpu->r[29] = rbrew_read8(cpu->mem, _t292);
|
|
/* 0250358C */ _t293 = cpu->r[4] + 0x00000000u;
|
|
/* 0250358C */ cpu->r[0] = rbrew_read8(cpu->mem, _t293);
|
|
/* 02503590 */ cpu->r[31] = 0x00000000u;
|
|
/* 02503594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02503598 */ cpu->r[0] = 0x00080000u;
|
|
/* 0250359C */ _t294 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250359C */ _t295 = _t294 & 0x00000001u;
|
|
/* 0250359C */ if (_t295) goto L_02503378; else goto L_025035A0;
|
|
L_025035A0: ; // 0x25035a0
|
|
/* 025035A0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025035A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 025035A8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 025035AC */ _t296 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025035AC */ _t297 = _t296 & 0x00000001u;
|
|
/* 025035AC */ if (_t297) goto L_025035C0; else goto L_025035B0;
|
|
L_025035B0: ; // 0x25035b0
|
|
/* 025035B0 */ _t298 = cpu->r[4] + 0x00000000u;
|
|
/* 025035B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t298);
|
|
/* 025035B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 025035B8 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025035B8 */ _t300 = _t299 & 0x00000001u;
|
|
/* 025035B8 */ if (_t300) goto L_025035BC; else goto L_025035A0;
|
|
L_025035BC: ; // 0x25035bc
|
|
/* 025035BC */ goto L_025035C4;
|
|
L_025035C0: ; // 0x25035c0
|
|
/* 025035C0 */ cpu->r[31] = 0x00000000u;
|
|
L_025035C4: ; // 0x25035c4
|
|
/* 025035C4 */ _t301 = cpu->r[24] + 0x00000008u;
|
|
/* 025035C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t301);
|
|
/* 025035C8 */ _t302 = cpu->r[1] + 0x00000010u;
|
|
/* 025035C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t302);
|
|
/* 025035CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 025035D0 */ _t303 = cpu->r[10] + 0x00000014u;
|
|
/* 025035D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t303);
|
|
/* 025035D4 */ _t304 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025035D4 */ _t305 = _t304 & 0x00000001u;
|
|
/* 025035D4 */ if (_t305) goto L_025035DC; else goto L_025035D8;
|
|
L_025035D8: ; // 0x25035d8
|
|
/* 025035D8 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_025035DC: ; // 0x25035dc
|
|
/* 025035DC */ cpu->ctr = cpu->r[11];
|
|
/* 025035E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025035E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025035E8 */ _t306 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025035E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t306);
|
|
/* 025035EC */ cpu->r[3] = cpu->r[25];
|
|
/* 025035F0 */ cpu->r[5] = cpu->r[31];
|
|
/* 025035F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025035F8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025035FC */ _t307 = cpu->r[25] + cpu->r[31];
|
|
/* 025035FC */ rbrew_write8(cpu->mem, _t307, (uint8_t)cpu->r[29]);
|
|
/* 02503600 */ cpu->r[9] = 0x00000000u;
|
|
/* 02503604 */ _t308 = cpu->r[1] + 0x00000026u;
|
|
/* 02503604 */ rbrew_write16(cpu->mem, _t308, (uint16_t)cpu->r[27]);
|
|
/* 02503608 */ cpu->r[4] = 0x02500000u;
|
|
/* 0250360C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02503610 */ _t309 = cpu->r[1] + 0x00000008u;
|
|
/* 02503610 */ rbrew_write8(cpu->mem, _t309, (uint8_t)cpu->r[9]);
|
|
/* 02503614 */ cpu->r[4] = cpu->r[4] + 0x00004528u;
|
|
/* 02503618 */ _t310 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02503618 */ rbrew_write16(cpu->mem, _t310, (uint16_t)cpu->r[10]);
|
|
/* 0250361C */ cpu->r[12] = 0x02500000u;
|
|
/* 02503620 */ _t311 = cpu->r[1] + 0x00000024u;
|
|
/* 02503620 */ rbrew_write16(cpu->mem, _t311, (uint16_t)cpu->r[27]);
|
|
/* 02503624 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503628 */ _t312 = cpu->r[1] + 0x00000020u;
|
|
/* 02503628 */ rbrew_write32(cpu->mem, _t312, cpu->r[4]);
|
|
/* 0250362C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503630 */ _t313 = cpu->r[1] + 0x00000014u;
|
|
/* 02503630 */ rbrew_write16(cpu->mem, _t313, (uint16_t)cpu->r[27]);
|
|
/* 02503634 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02503638 */ _t314 = cpu->r[1] + 0x00000016u;
|
|
/* 02503638 */ rbrew_write16(cpu->mem, _t314, (uint16_t)cpu->r[10]);
|
|
/* 0250363C */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503640 */ _t315 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503640 */ rbrew_write16(cpu->mem, _t315, (uint16_t)cpu->r[27]);
|
|
/* 02503644 */ cpu->r[12] = cpu->r[12] + 0x000044D0u;
|
|
/* 02503648 */ _t316 = cpu->r[1] + 0x00000028u;
|
|
/* 02503648 */ rbrew_write32(cpu->mem, _t316, cpu->r[27]);
|
|
/* 0250364C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02503650 */ _t317 = cpu->r[1] + 0x00000018u;
|
|
/* 02503650 */ rbrew_write32(cpu->mem, _t317, cpu->r[12]);
|
|
/* 02503654 */ Gambit_fn_02505854(cpu);
|
|
/* 02503658 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250365C */ _t318 = cpu->r[1] + 0x00000010u;
|
|
/* 0250365C */ rbrew_write32(cpu->mem, _t318, cpu->r[30]);
|
|
/* 02503660 */ cpu->r[5] = cpu->r[5] + 0xFFFFDCD0u;
|
|
/* 02503664 */ _t319 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503664 */ rbrew_write32(cpu->mem, _t319, cpu->r[5]);
|
|
/* 02503668 */ _t320 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02503668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t320);
|
|
/* 0250366C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02503670 */ _t321 = cpu->r[28] + 0x00000020u;
|
|
/* 02503670 */ cpu->r[25] = rbrew_read32(cpu->mem, _t321);
|
|
/* 02503674 */ _t322 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503674 */ _t323 = _t322 & 0x00000001u;
|
|
/* 02503674 */ if (_t323) goto L_02503678; else goto L_0250367C;
|
|
L_02503678: ; // 0x2503678
|
|
/* 02503678 */ cpu->r[25] = cpu->r[25] + 0x00000024u;
|
|
L_0250367C: ; // 0x250367c
|
|
/* 0250367C */ cpu->ctr = cpu->r[26];
|
|
/* 02503680 */ _t324 = cpu->r[25] + 0x00000000u;
|
|
/* 02503680 */ cpu->r[24] = rbrew_read32(cpu->mem, _t324);
|
|
/* 02503684 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503688 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250368C */ _t325 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250368C */ cpu->r[12] = rbrew_read32(cpu->mem, _t325);
|
|
/* 02503690 */ _t326 = cpu->r[12] + 0x00000000u;
|
|
/* 02503690 */ cpu->r[7] = rbrew_read8(cpu->mem, _t326);
|
|
/* 02503694 */ cpu->r[31] = 0x00000000u;
|
|
/* 02503698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 0250369C */ cpu->r[0] = 0x00080000u;
|
|
/* 025036A0 */ _t327 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025036A0 */ _t328 = _t327 & 0x00000001u;
|
|
/* 025036A0 */ if (_t328) goto L_025036C8; else goto L_025036A4;
|
|
L_025036A4: ; // 0x25036a4
|
|
/* 025036A4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025036A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 025036AC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 025036B0 */ _t329 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025036B0 */ _t330 = _t329 & 0x00000001u;
|
|
/* 025036B0 */ if (_t330) goto L_025036C4; else goto L_025036B4;
|
|
L_025036B4: ; // 0x25036b4
|
|
/* 025036B4 */ _t331 = cpu->r[12] + 0x00000000u;
|
|
/* 025036B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t331);
|
|
/* 025036B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 025036BC */ _t332 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025036BC */ _t333 = _t332 & 0x00000001u;
|
|
/* 025036BC */ if (_t333) goto L_025036C0; else goto L_025036A4;
|
|
L_025036C0: ; // 0x25036c0
|
|
/* 025036C0 */ goto L_025036C8;
|
|
L_025036C4: ; // 0x25036c4
|
|
/* 025036C4 */ cpu->r[31] = 0x00000000u;
|
|
L_025036C8: ; // 0x25036c8
|
|
/* 025036C8 */ _t334 = cpu->r[25] + 0x00000008u;
|
|
/* 025036C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t334);
|
|
/* 025036CC */ _t335 = cpu->r[1] + 0x00000010u;
|
|
/* 025036CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t335);
|
|
/* 025036D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 025036D4 */ _t336 = cpu->r[9] + 0x00000014u;
|
|
/* 025036D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t336);
|
|
/* 025036D8 */ _t337 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025036D8 */ _t338 = _t337 & 0x00000001u;
|
|
/* 025036D8 */ if (_t338) goto L_025036E0; else goto L_025036DC;
|
|
L_025036DC: ; // 0x25036dc
|
|
/* 025036DC */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_025036E0: ; // 0x25036e0
|
|
/* 025036E0 */ cpu->ctr = cpu->r[0];
|
|
/* 025036E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025036E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025036EC */ _t339 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025036EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t339);
|
|
/* 025036F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 025036F4 */ cpu->r[5] = cpu->r[31];
|
|
/* 025036F8 */ cpu->r[3] = cpu->r[24];
|
|
/* 025036FC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02503700 */ _t340 = cpu->r[24] + cpu->r[31];
|
|
/* 02503700 */ rbrew_write8(cpu->mem, _t340, (uint8_t)cpu->r[29]);
|
|
/* 02503704 */ cpu->r[0] = 0x00000001u;
|
|
/* 02503708 */ _t341 = cpu->r[1] + 0x00000024u;
|
|
/* 02503708 */ rbrew_write16(cpu->mem, _t341, (uint16_t)cpu->r[27]);
|
|
/* 0250370C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02503710 */ _t342 = cpu->r[1] + 0x00000008u;
|
|
/* 02503710 */ rbrew_write8(cpu->mem, _t342, (uint8_t)cpu->r[0]);
|
|
/* 02503714 */ cpu->r[11] = 0x02500000u;
|
|
/* 02503718 */ _t343 = cpu->r[1] + 0x00000016u;
|
|
/* 02503718 */ rbrew_write16(cpu->mem, _t343, (uint16_t)cpu->r[10]);
|
|
/* 0250371C */ cpu->r[9] = 0x02500000u;
|
|
/* 02503720 */ _t344 = cpu->r[1] + 0x00000026u;
|
|
/* 02503720 */ rbrew_write16(cpu->mem, _t344, (uint16_t)cpu->r[27]);
|
|
/* 02503724 */ _t345 = cpu->r[1] + 0x00000014u;
|
|
/* 02503724 */ rbrew_write16(cpu->mem, _t345, (uint16_t)cpu->r[27]);
|
|
/* 02503728 */ cpu->r[9] = cpu->r[9] + 0x000045C4u;
|
|
/* 0250372C */ _t346 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0250372C */ rbrew_write16(cpu->mem, _t346, (uint16_t)cpu->r[10]);
|
|
/* 02503730 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503734 */ _t347 = cpu->r[1] + 0x00000018u;
|
|
/* 02503734 */ rbrew_write32(cpu->mem, _t347, cpu->r[9]);
|
|
/* 02503738 */ cpu->r[11] = cpu->r[11] + 0x0000454Cu;
|
|
/* 0250373C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02503740 */ _t348 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503740 */ rbrew_write16(cpu->mem, _t348, (uint16_t)cpu->r[27]);
|
|
/* 02503744 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503748 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0250374C */ _t349 = cpu->r[1] + 0x00000020u;
|
|
/* 0250374C */ rbrew_write32(cpu->mem, _t349, cpu->r[11]);
|
|
/* 02503750 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503754 */ _t350 = cpu->r[1] + 0x00000028u;
|
|
/* 02503754 */ rbrew_write32(cpu->mem, _t350, cpu->r[27]);
|
|
/* 02503758 */ Gambit_fn_02505854(cpu);
|
|
/* 0250375C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02503760 */ _t351 = cpu->r[1] + 0x00000010u;
|
|
/* 02503760 */ rbrew_write32(cpu->mem, _t351, cpu->r[30]);
|
|
/* 02503764 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD00u;
|
|
/* 02503768 */ _t352 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503768 */ rbrew_write32(cpu->mem, _t352, cpu->r[11]);
|
|
/* 0250376C */ _t353 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0250376C */ cpu->r[12] = rbrew_read32(cpu->mem, _t353);
|
|
/* 02503770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02503774 */ _t354 = cpu->r[28] + 0x00000020u;
|
|
/* 02503774 */ cpu->r[25] = rbrew_read32(cpu->mem, _t354);
|
|
/* 02503778 */ _t355 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503778 */ _t356 = _t355 & 0x00000001u;
|
|
/* 02503778 */ if (_t356) goto L_0250377C; else goto L_02503780;
|
|
L_0250377C: ; // 0x250377c
|
|
/* 0250377C */ cpu->r[25] = cpu->r[25] + 0x00000048u;
|
|
L_02503780: ; // 0x2503780
|
|
/* 02503780 */ cpu->ctr = cpu->r[26];
|
|
/* 02503784 */ _t357 = cpu->r[25] + 0x00000000u;
|
|
/* 02503784 */ cpu->r[24] = rbrew_read32(cpu->mem, _t357);
|
|
/* 02503788 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250378C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503790 */ _t358 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503790 */ cpu->r[10] = rbrew_read32(cpu->mem, _t358);
|
|
/* 02503794 */ _t359 = cpu->r[10] + 0x00000000u;
|
|
/* 02503794 */ cpu->r[0] = rbrew_read8(cpu->mem, _t359);
|
|
/* 02503798 */ cpu->r[31] = 0x00000000u;
|
|
/* 0250379C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 025037A0 */ cpu->r[11] = 0x00080000u;
|
|
/* 025037A4 */ _t360 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025037A4 */ _t361 = _t360 & 0x00000001u;
|
|
/* 025037A4 */ if (_t361) goto L_025037CC; else goto L_025037A8;
|
|
L_025037A8: ; // 0x25037a8
|
|
/* 025037A8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025037AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 025037B0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 025037B4 */ _t362 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025037B4 */ _t363 = _t362 & 0x00000001u;
|
|
/* 025037B4 */ if (_t363) goto L_025037C8; else goto L_025037B8;
|
|
L_025037B8: ; // 0x25037b8
|
|
/* 025037B8 */ _t364 = cpu->r[10] + 0x00000000u;
|
|
/* 025037B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t364);
|
|
/* 025037BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 025037C0 */ _t365 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025037C0 */ _t366 = _t365 & 0x00000001u;
|
|
/* 025037C0 */ if (_t366) goto L_025037C4; else goto L_025037A8;
|
|
L_025037C4: ; // 0x25037c4
|
|
/* 025037C4 */ goto L_025037CC;
|
|
L_025037C8: ; // 0x25037c8
|
|
/* 025037C8 */ cpu->r[31] = 0x00000000u;
|
|
L_025037CC: ; // 0x25037cc
|
|
/* 025037CC */ _t367 = cpu->r[25] + 0x00000008u;
|
|
/* 025037CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t367);
|
|
/* 025037D0 */ _t368 = cpu->r[1] + 0x00000010u;
|
|
/* 025037D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t368);
|
|
/* 025037D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 025037D8 */ _t369 = cpu->r[5] + 0x00000014u;
|
|
/* 025037D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t369);
|
|
/* 025037DC */ _t370 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025037DC */ _t371 = _t370 & 0x00000001u;
|
|
/* 025037DC */ if (_t371) goto L_025037E4; else goto L_025037E0;
|
|
L_025037E0: ; // 0x25037e0
|
|
/* 025037E0 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_025037E4: ; // 0x25037e4
|
|
/* 025037E4 */ cpu->ctr = cpu->r[6];
|
|
/* 025037E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025037EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025037F0 */ _t372 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025037F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t372);
|
|
/* 025037F4 */ cpu->r[3] = cpu->r[24];
|
|
/* 025037F8 */ cpu->r[5] = cpu->r[31];
|
|
/* 025037FC */ cpu->r[6] = 0x00000000u;
|
|
/* 02503800 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02503804 */ _t373 = cpu->r[24] + cpu->r[31];
|
|
/* 02503804 */ rbrew_write8(cpu->mem, _t373, (uint8_t)cpu->r[29]);
|
|
/* 02503808 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0250380C */ _t374 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250380C */ rbrew_write16(cpu->mem, _t374, (uint16_t)cpu->r[27]);
|
|
/* 02503810 */ cpu->r[0] = 0x00000002u;
|
|
/* 02503814 */ _t375 = cpu->r[1] + 0x00000026u;
|
|
/* 02503814 */ rbrew_write16(cpu->mem, _t375, (uint16_t)cpu->r[9]);
|
|
/* 02503818 */ cpu->r[11] = 0x02500000u;
|
|
/* 0250381C */ _t376 = cpu->r[1] + 0x00000016u;
|
|
/* 0250381C */ rbrew_write16(cpu->mem, _t376, (uint16_t)cpu->r[9]);
|
|
/* 02503820 */ cpu->r[7] = 0x02500000u;
|
|
/* 02503824 */ _t377 = cpu->r[1] + 0x00000008u;
|
|
/* 02503824 */ rbrew_write8(cpu->mem, _t377, (uint8_t)cpu->r[0]);
|
|
/* 02503828 */ _t378 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02503828 */ rbrew_write16(cpu->mem, _t378, (uint16_t)cpu->r[9]);
|
|
/* 0250382C */ cpu->r[9] = 0x02500000u;
|
|
/* 02503830 */ _t379 = cpu->r[1] + 0x00000014u;
|
|
/* 02503830 */ rbrew_write16(cpu->mem, _t379, (uint16_t)cpu->r[27]);
|
|
/* 02503834 */ cpu->r[9] = cpu->r[9] + 0x000051A0u;
|
|
/* 02503838 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 0250383C */ cpu->r[7] = cpu->r[7] + 0x00004AE4u;
|
|
/* 02503840 */ _t380 = cpu->r[1] + 0x00000018u;
|
|
/* 02503840 */ rbrew_write32(cpu->mem, _t380, cpu->r[9]);
|
|
/* 02503844 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503848 */ cpu->r[11] = cpu->r[11] + 0x00005290u;
|
|
/* 0250384C */ _t381 = cpu->r[1] + 0x00000020u;
|
|
/* 0250384C */ rbrew_write32(cpu->mem, _t381, cpu->r[7]);
|
|
/* 02503850 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503854 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02503858 */ _t382 = cpu->r[1] + 0x00000024u;
|
|
/* 02503858 */ rbrew_write16(cpu->mem, _t382, (uint16_t)cpu->r[27]);
|
|
/* 0250385C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02503860 */ _t383 = cpu->r[1] + 0x00000028u;
|
|
/* 02503860 */ rbrew_write32(cpu->mem, _t383, cpu->r[11]);
|
|
/* 02503864 */ Gambit_fn_02505854(cpu);
|
|
/* 02503868 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250386C */ _t384 = cpu->r[1] + 0x00000010u;
|
|
/* 0250386C */ rbrew_write32(cpu->mem, _t384, cpu->r[30]);
|
|
/* 02503870 */ cpu->r[12] = cpu->r[12] + 0xFFFFDCE0u;
|
|
/* 02503874 */ _t385 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503874 */ rbrew_write32(cpu->mem, _t385, cpu->r[12]);
|
|
/* 02503878 */ _t386 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02503878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t386);
|
|
/* 0250387C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02503880 */ _t387 = cpu->r[28] + 0x00000020u;
|
|
/* 02503880 */ cpu->r[25] = rbrew_read32(cpu->mem, _t387);
|
|
/* 02503884 */ _t388 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503884 */ _t389 = _t388 & 0x00000001u;
|
|
/* 02503884 */ if (_t389) goto L_02503888; else goto L_0250388C;
|
|
L_02503888: ; // 0x2503888
|
|
/* 02503888 */ cpu->r[25] = cpu->r[25] + 0x0000006Cu;
|
|
L_0250388C: ; // 0x250388c
|
|
/* 0250388C */ cpu->ctr = cpu->r[26];
|
|
/* 02503890 */ _t390 = cpu->r[25] + 0x00000000u;
|
|
/* 02503890 */ cpu->r[24] = rbrew_read32(cpu->mem, _t390);
|
|
/* 02503894 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250389C */ _t391 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250389C */ cpu->r[8] = rbrew_read32(cpu->mem, _t391);
|
|
/* 025038A0 */ _t392 = cpu->r[8] + 0x00000000u;
|
|
/* 025038A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t392);
|
|
/* 025038A4 */ cpu->r[31] = 0x00000000u;
|
|
/* 025038A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 025038AC */ cpu->r[9] = 0x00080000u;
|
|
/* 025038B0 */ _t393 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025038B0 */ _t394 = _t393 & 0x00000001u;
|
|
/* 025038B0 */ if (_t394) goto L_025038D8; else goto L_025038B4;
|
|
L_025038B4: ; // 0x25038b4
|
|
/* 025038B4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025038B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 025038BC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 025038C0 */ _t395 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025038C0 */ _t396 = _t395 & 0x00000001u;
|
|
/* 025038C0 */ if (_t396) goto L_025038D4; else goto L_025038C4;
|
|
L_025038C4: ; // 0x25038c4
|
|
/* 025038C4 */ _t397 = cpu->r[8] + 0x00000000u;
|
|
/* 025038C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t397);
|
|
/* 025038C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[29]);
|
|
/* 025038CC */ _t398 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025038CC */ _t399 = _t398 & 0x00000001u;
|
|
/* 025038CC */ if (_t399) goto L_025038D0; else goto L_025038B4;
|
|
L_025038D0: ; // 0x25038d0
|
|
/* 025038D0 */ goto L_025038D8;
|
|
L_025038D4: ; // 0x25038d4
|
|
/* 025038D4 */ cpu->r[31] = 0x00000000u;
|
|
L_025038D8: ; // 0x25038d8
|
|
/* 025038D8 */ _t400 = cpu->r[25] + 0x00000008u;
|
|
/* 025038D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t400);
|
|
/* 025038DC */ _t401 = cpu->r[1] + 0x00000010u;
|
|
/* 025038DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t401);
|
|
/* 025038E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 025038E4 */ _t402 = cpu->r[6] + 0x00000014u;
|
|
/* 025038E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t402);
|
|
/* 025038E8 */ _t403 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025038E8 */ _t404 = _t403 & 0x00000001u;
|
|
/* 025038E8 */ if (_t404) goto L_025038F0; else goto L_025038EC;
|
|
L_025038EC: ; // 0x25038ec
|
|
/* 025038EC */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_025038F0: ; // 0x25038f0
|
|
/* 025038F0 */ cpu->ctr = cpu->r[0];
|
|
/* 025038F4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025038F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025038FC */ _t405 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025038FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t405);
|
|
/* 02503900 */ cpu->r[6] = 0x00000000u;
|
|
/* 02503904 */ cpu->r[5] = cpu->r[31];
|
|
/* 02503908 */ cpu->r[3] = cpu->r[24];
|
|
/* 0250390C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02503910 */ _t406 = cpu->r[24] + cpu->r[31];
|
|
/* 02503910 */ rbrew_write8(cpu->mem, _t406, (uint8_t)cpu->r[29]);
|
|
/* 02503914 */ cpu->r[9] = 0x00000003u;
|
|
/* 02503918 */ _t407 = cpu->r[1] + 0x00000026u;
|
|
/* 02503918 */ rbrew_write16(cpu->mem, _t407, (uint16_t)cpu->r[27]);
|
|
/* 0250391C */ cpu->r[8] = 0x02500000u;
|
|
/* 02503920 */ _t408 = cpu->r[1] + 0x00000008u;
|
|
/* 02503920 */ rbrew_write8(cpu->mem, _t408, (uint8_t)cpu->r[9]);
|
|
/* 02503924 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02503928 */ _t409 = cpu->r[1] + 0x00000014u;
|
|
/* 02503928 */ rbrew_write16(cpu->mem, _t409, (uint16_t)cpu->r[27]);
|
|
/* 0250392C */ cpu->r[11] = 0x02500000u;
|
|
/* 02503930 */ _t410 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02503930 */ rbrew_write16(cpu->mem, _t410, (uint16_t)cpu->r[6]);
|
|
/* 02503934 */ _t411 = cpu->r[1] + 0x00000024u;
|
|
/* 02503934 */ rbrew_write16(cpu->mem, _t411, (uint16_t)cpu->r[27]);
|
|
/* 02503938 */ cpu->r[8] = cpu->r[8] + 0x000052A0u;
|
|
/* 0250393C */ _t412 = cpu->r[1] + 0x00000016u;
|
|
/* 0250393C */ rbrew_write16(cpu->mem, _t412, (uint16_t)cpu->r[6]);
|
|
/* 02503940 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02503944 */ cpu->r[11] = cpu->r[11] + 0x000053DCu;
|
|
/* 02503948 */ _t413 = cpu->r[1] + 0x00000020u;
|
|
/* 02503948 */ rbrew_write32(cpu->mem, _t413, cpu->r[8]);
|
|
/* 0250394C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02503950 */ _t414 = cpu->r[1] + 0x00000018u;
|
|
/* 02503950 */ rbrew_write32(cpu->mem, _t414, cpu->r[11]);
|
|
/* 02503954 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503958 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250395C */ _t415 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250395C */ rbrew_write16(cpu->mem, _t415, (uint16_t)cpu->r[27]);
|
|
/* 02503960 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503964 */ _t416 = cpu->r[1] + 0x00000028u;
|
|
/* 02503964 */ rbrew_write32(cpu->mem, _t416, cpu->r[27]);
|
|
/* 02503968 */ Gambit_fn_02505854(cpu);
|
|
/* 0250396C */ cpu->r[12] = 0x100C0000u;
|
|
/* 02503970 */ _t417 = cpu->r[1] + 0x00000010u;
|
|
/* 02503970 */ rbrew_write32(cpu->mem, _t417, cpu->r[30]);
|
|
/* 02503974 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD10u;
|
|
/* 02503978 */ _t418 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503978 */ rbrew_write32(cpu->mem, _t418, cpu->r[12]);
|
|
/* 0250397C */ _t419 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0250397C */ cpu->r[0] = rbrew_read32(cpu->mem, _t419);
|
|
/* 02503980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02503984 */ _t420 = cpu->r[28] + 0x00000020u;
|
|
/* 02503984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t420);
|
|
/* 02503988 */ _t421 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503988 */ _t422 = _t421 & 0x00000001u;
|
|
/* 02503988 */ if (_t422) goto L_0250398C; else goto L_02503990;
|
|
L_0250398C: ; // 0x250398c
|
|
/* 0250398C */ cpu->r[30] = cpu->r[30] + 0x00000090u;
|
|
L_02503990: ; // 0x2503990
|
|
/* 02503990 */ cpu->ctr = cpu->r[26];
|
|
/* 02503994 */ _t423 = cpu->r[30] + 0x00000000u;
|
|
/* 02503994 */ cpu->r[25] = rbrew_read32(cpu->mem, _t423);
|
|
/* 02503998 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250399C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025039A0 */ _t424 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025039A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t424);
|
|
/* 025039A4 */ _t425 = cpu->r[6] + 0x00000000u;
|
|
/* 025039A4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t425);
|
|
/* 025039A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 025039AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 025039B0 */ cpu->r[7] = 0x00080000u;
|
|
/* 025039B4 */ _t426 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025039B4 */ _t427 = _t426 & 0x00000001u;
|
|
/* 025039B4 */ if (_t427) goto L_025039DC; else goto L_025039B8;
|
|
L_025039B8: ; // 0x25039b8
|
|
/* 025039B8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025039BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 025039C0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 025039C4 */ _t428 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025039C4 */ _t429 = _t428 & 0x00000001u;
|
|
/* 025039C4 */ if (_t429) goto L_025039D8; else goto L_025039C8;
|
|
L_025039C8: ; // 0x25039c8
|
|
/* 025039C8 */ _t430 = cpu->r[6] + 0x00000000u;
|
|
/* 025039C8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t430);
|
|
/* 025039CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[29]);
|
|
/* 025039D0 */ _t431 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025039D0 */ _t432 = _t431 & 0x00000001u;
|
|
/* 025039D0 */ if (_t432) goto L_025039D4; else goto L_025039B8;
|
|
L_025039D4: ; // 0x25039d4
|
|
/* 025039D4 */ goto L_025039DC;
|
|
L_025039D8: ; // 0x25039d8
|
|
/* 025039D8 */ cpu->r[31] = 0x00000000u;
|
|
L_025039DC: ; // 0x25039dc
|
|
/* 025039DC */ _t433 = cpu->r[30] + 0x00000008u;
|
|
/* 025039DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t433);
|
|
/* 025039E0 */ _t434 = cpu->r[1] + 0x00000010u;
|
|
/* 025039E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t434);
|
|
/* 025039E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 025039E8 */ _t435 = cpu->r[7] + 0x00000014u;
|
|
/* 025039E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t435);
|
|
/* 025039EC */ _t436 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025039EC */ _t437 = _t436 & 0x00000001u;
|
|
/* 025039EC */ if (_t437) goto L_025039F4; else goto L_025039F0;
|
|
L_025039F0: ; // 0x25039f0
|
|
/* 025039F0 */ cpu->r[31] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_025039F4: ; // 0x25039f4
|
|
/* 025039F4 */ cpu->ctr = cpu->r[8];
|
|
/* 025039F8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025039FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503A00 */ _t438 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503A00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t438);
|
|
/* 02503A04 */ cpu->r[3] = cpu->r[25];
|
|
/* 02503A08 */ cpu->r[5] = cpu->r[31];
|
|
/* 02503A0C */ cpu->r[6] = 0x00000000u;
|
|
/* 02503A10 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02503A14 */ _t439 = cpu->r[25] + cpu->r[31];
|
|
/* 02503A14 */ rbrew_write8(cpu->mem, _t439, (uint8_t)cpu->r[29]);
|
|
/* 02503A18 */ cpu->r[9] = 0x02500000u;
|
|
/* 02503A1C */ _t440 = cpu->r[1] + 0x00000014u;
|
|
/* 02503A1C */ rbrew_write16(cpu->mem, _t440, (uint16_t)cpu->r[27]);
|
|
/* 02503A20 */ cpu->r[0] = 0x00000004u;
|
|
/* 02503A24 */ _t441 = cpu->r[1] + 0x00000028u;
|
|
/* 02503A24 */ rbrew_write32(cpu->mem, _t441, cpu->r[27]);
|
|
/* 02503A28 */ cpu->r[9] = cpu->r[9] + 0x00005488u;
|
|
/* 02503A2C */ _t442 = cpu->r[1] + 0x00000008u;
|
|
/* 02503A2C */ rbrew_write8(cpu->mem, _t442, (uint8_t)cpu->r[0]);
|
|
/* 02503A30 */ cpu->r[0] = 0x02500000u;
|
|
/* 02503A34 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02503A38 */ _t443 = cpu->r[1] + 0x00000020u;
|
|
/* 02503A38 */ rbrew_write32(cpu->mem, _t443, cpu->r[9]);
|
|
/* 02503A3C */ cpu->r[0] = cpu->r[0] + 0x000055A0u;
|
|
/* 02503A40 */ _t444 = cpu->r[1] + 0x00000016u;
|
|
/* 02503A40 */ rbrew_write16(cpu->mem, _t444, (uint16_t)cpu->r[5]);
|
|
/* 02503A44 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503A48 */ _t445 = cpu->r[1] + 0x00000018u;
|
|
/* 02503A48 */ rbrew_write32(cpu->mem, _t445, cpu->r[0]);
|
|
/* 02503A4C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02503A50 */ _t446 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503A50 */ rbrew_write16(cpu->mem, _t446, (uint16_t)cpu->r[27]);
|
|
/* 02503A54 */ _t447 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02503A54 */ rbrew_write16(cpu->mem, _t447, (uint16_t)cpu->r[5]);
|
|
/* 02503A58 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02503A5C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503A60 */ _t448 = cpu->r[1] + 0x00000026u;
|
|
/* 02503A60 */ rbrew_write16(cpu->mem, _t448, (uint16_t)cpu->r[27]);
|
|
/* 02503A64 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503A68 */ _t449 = cpu->r[1] + 0x00000024u;
|
|
/* 02503A68 */ rbrew_write16(cpu->mem, _t449, (uint16_t)cpu->r[27]);
|
|
/* 02503A6C */ Gambit_fn_02505854(cpu);
|
|
L_02503A70: ; // 0x2503a70
|
|
/* 02503A70 */ cpu->r[3] = cpu->r[28];
|
|
/* 02503A74 */ /* nop */
|
|
/* 02503A78 */ _t450 = cpu->r[1] + 0x00000068u;
|
|
/* 02503A78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t450);
|
|
/* 02503A7C */ _t451 = cpu->r[1] + 0x00000060u;
|
|
/* 02503A7C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t451);
|
|
/* 02503A80 */ _t452 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02503A80 */ _t453 = _t452 & 0x00000001u;
|
|
/* 02503A80 */ if (_t453) goto L_02503A84; // else: addr-0 trap, fall-through
|
|
L_02503A84: ; // 0x2503a84
|
|
/* 02503A84 */ _t454 = cpu->r[1] + 0x00000074u;
|
|
/* 02503A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t454);
|
|
/* 02503A88 */ cpu->lr = cpu->r[0];
|
|
/* 02503A8C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02503A90 */ return;
|
|
}
|
|
|
|
// fn_02502EA8 @ 0x2502ea8
|
|
void Gambit_fn_02502EA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454;
|
|
|
|
L_02502EA8: ; // 0x2502ea8
|
|
/* 02502EA8 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02502EA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02502EA8 */ cpu->r[1] = _t0;
|
|
/* 02502EAC */ _t1 = cpu->r[1] + 0x00000060u;
|
|
/* 02502EAC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02502EB0 */ /* nop */
|
|
/* 02502EB4 */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 02502EB4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02502EB8 */ _t3 = cpu->r[1] + 0x00000074u;
|
|
/* 02502EB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02502EBC */ /* nop */
|
|
/* 02502EC0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02502EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02502EC4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02502EC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502EC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02502EC8 */ if (_t5) goto L_02502ECC; else goto L_02502EDC;
|
|
L_02502ECC: ; // 0x2502ecc
|
|
/* 02502ECC */ cpu->r[3] = 0x000001B0u;
|
|
/* 02502ED0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02502ED4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02502ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02502ED8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502ED8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02502ED8 */ if (_t7) goto L_02503A70; else goto L_02502EDC;
|
|
L_02502EDC: ; // 0x2502edc
|
|
/* 02502EDC */ cpu->r[3] = cpu->r[28];
|
|
/* 02502EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502EE0 */ cpu->r[27] = 0x00000000u;
|
|
/* 02502EE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502EE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02502EE4 */ if (_t9) goto L_02502EE8; else goto L_02502EF8;
|
|
L_02502EE8: ; // 0x2502ee8
|
|
/* 02502EE8 */ cpu->r[3] = 0x00000008u;
|
|
/* 02502EEC */ Gambit_fn_02801A78(cpu);
|
|
/* 02502EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502EF4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502EF4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02502EF4 */ if (_t11) goto L_02502F08; else goto L_02502EF8;
|
|
L_02502EF8: ; // 0x2502ef8
|
|
/* 02502EF8 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02502EFC */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02502EFC */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 02502F00 */ cpu->r[12] = cpu->r[12] + 0xFFFFDBF0u;
|
|
/* 02502F04 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 02502F04 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_02502F08: ; // 0x2502f08
|
|
/* 02502F08 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02502F0C */ cpu->r[0] = cpu->r[0] + 0xFFFFDC30u;
|
|
/* 02502F10 */ cpu->r[31] = cpu->r[28] + 0x00000008u;
|
|
/* 02502F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02502F14 */ _t14 = cpu->r[28] + 0x00000004u;
|
|
/* 02502F14 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02502F18 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502F18 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02502F18 */ if (_t16) goto L_02502F1C; else goto L_02502F2C;
|
|
L_02502F1C: ; // 0x2502f1c
|
|
/* 02502F1C */ cpu->r[3] = 0x00000038u;
|
|
/* 02502F20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02502F24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02502F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02502F28 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502F28 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02502F28 */ if (_t18) goto L_02502F5C; else goto L_02502F2C;
|
|
L_02502F2C: ; // 0x2502f2c
|
|
/* 02502F2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02502F30 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02502F34 */ cpu->r[4] = 0x10000000u;
|
|
/* 02502F38 */ _t19 = cpu->r[31] + 0x00000030u;
|
|
/* 02502F38 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 02502F3C */ cpu->r[4] = cpu->r[4] + 0x00006758u;
|
|
/* 02502F40 */ _t20 = cpu->r[31] + 0x00000034u;
|
|
/* 02502F40 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 02502F44 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02502F44 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 02502F48 */ _t22 = cpu->r[31] + 0x00000024u;
|
|
/* 02502F48 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 02502F4C */ _t23 = cpu->r[31] + 0x00000028u;
|
|
/* 02502F4C */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 02502F50 */ _t24 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02502F50 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 02502F54 */ _t25 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02502F54 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
/* 02502F58 */ _t26 = cpu->r[31] + 0x00000020u;
|
|
/* 02502F58 */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
|
|
L_02502F5C: ; // 0x2502f5c
|
|
/* 02502F5C */ _t27 = cpu->r[28] + 0x00000084u;
|
|
/* 02502F5C */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
|
|
/* 02502F60 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02502F64 */ _t28 = cpu->r[28] + 0x00000064u;
|
|
/* 02502F64 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 02502F68 */ cpu->r[3] = cpu->r[28] + 0x00000088u;
|
|
/* 02502F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502F6C */ _t29 = cpu->r[28] + 0x00000074u;
|
|
/* 02502F6C */ rbrew_write32(cpu->mem, _t29, cpu->r[27]);
|
|
/* 02502F70 */ cpu->r[5] = 0x00000001u;
|
|
/* 02502F74 */ _t30 = cpu->r[28] + 0x00000068u;
|
|
/* 02502F74 */ rbrew_write32(cpu->mem, _t30, cpu->r[27]);
|
|
/* 02502F78 */ _t31 = cpu->r[11] + 0xFFFFDCA4u;
|
|
/* 02502F78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02502F7C */ _t32 = cpu->r[28] + 0x00000060u;
|
|
/* 02502F7C */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 02502F80 */ _t33 = cpu->r[28] + 0x00000049u;
|
|
/* 02502F80 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[27]);
|
|
/* 02502F84 */ _t34 = cpu->r[28] + 0x0000006Cu;
|
|
/* 02502F84 */ rbrew_write32(cpu->mem, _t34, cpu->r[27]);
|
|
/* 02502F88 */ _t35 = cpu->r[28] + 0x00000080u;
|
|
/* 02502F88 */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 02502F8C */ _t36 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02502F8C */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 02502F90 */ _t37 = cpu->r[28] + 0x00000048u;
|
|
/* 02502F90 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[27]);
|
|
/* 02502F94 */ _t38 = cpu->r[28] + 0x00000070u;
|
|
/* 02502F94 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 02502F98 */ _t39 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02502F98 */ rbrew_write32(cpu->mem, _t39, cpu->r[27]);
|
|
/* 02502F9C */ _t40 = cpu->r[28] + 0x00000058u;
|
|
/* 02502F9C */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 02502FA0 */ _t41 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02502FA0 */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
|
|
/* 02502FA4 */ _t42 = cpu->r[28] + 0x00000040u;
|
|
/* 02502FA4 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 02502FA8 */ _t43 = cpu->r[28] + 0x00000078u;
|
|
/* 02502FA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 02502FAC */ _t44 = cpu->r[28] + 0x00000050u;
|
|
/* 02502FAC */ rbrew_write32(cpu->mem, _t44, cpu->r[5]);
|
|
/* 02502FB0 */ _t45 = cpu->r[28] + 0x00000054u;
|
|
/* 02502FB0 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02502FB4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FB4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02502FB4 */ if (_t47) goto L_02502FB8; else goto L_02502FC8;
|
|
L_02502FB8: ; // 0x2502fb8
|
|
/* 02502FB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02502FBC */ Gambit_fn_02801A78(cpu);
|
|
/* 02502FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502FC4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FC4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02502FC4 */ if (_t49) goto L_02502FEC; else goto L_02502FC8;
|
|
L_02502FC8: ; // 0x2502fc8
|
|
/* 02502FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502FCC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FCC */ _t51 = _t50 & 0x00000001u;
|
|
/* 02502FCC */ if (_t51) goto L_02502FD0; else goto L_02502FE0;
|
|
L_02502FD0: ; // 0x2502fd0
|
|
/* 02502FD0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02502FD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02502FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502FDC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FDC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02502FDC */ if (_t53) goto L_02502FEC; else goto L_02502FE0;
|
|
L_02502FE0: ; // 0x2502fe0
|
|
/* 02502FE0 */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 02502FE0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[31]);
|
|
/* 02502FE4 */ _t55 = cpu->r[3] + 0x00000000u;
|
|
/* 02502FE4 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[31]);
|
|
/* 02502FE8 */ _t56 = cpu->r[3] + 0x00000008u;
|
|
/* 02502FE8 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[31]);
|
|
L_02502FEC: ; // 0x2502fec
|
|
/* 02502FEC */ cpu->r[3] = cpu->r[28] + 0x00000094u;
|
|
/* 02502FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02502FF0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02502FF0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02502FF0 */ if (_t58) goto L_02502FF4; else goto L_02503004;
|
|
L_02502FF4: ; // 0x2502ff4
|
|
/* 02502FF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02502FF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02502FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503000 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503000 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02503000 */ if (_t60) goto L_02503028; else goto L_02503004;
|
|
L_02503004: ; // 0x2503004
|
|
/* 02503004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503008 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503008 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02503008 */ if (_t62) goto L_0250300C; else goto L_0250301C;
|
|
L_0250300C: ; // 0x250300c
|
|
/* 0250300C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503010 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503018 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503018 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02503018 */ if (_t64) goto L_02503028; else goto L_0250301C;
|
|
L_0250301C: ; // 0x250301c
|
|
/* 0250301C */ _t65 = cpu->r[3] + 0x00000004u;
|
|
/* 0250301C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[31]);
|
|
/* 02503020 */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 02503020 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[31]);
|
|
/* 02503024 */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 02503024 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
L_02503028: ; // 0x2503028
|
|
/* 02503028 */ cpu->r[3] = cpu->r[28] + 0x000000A0u;
|
|
/* 02503028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250302C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250302C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0250302C */ if (_t69) goto L_02503030; else goto L_02503040;
|
|
L_02503030: ; // 0x2503030
|
|
/* 02503030 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503034 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250303C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250303C */ _t71 = _t70 & 0x00000001u;
|
|
/* 0250303C */ if (_t71) goto L_02503064; else goto L_02503040;
|
|
L_02503040: ; // 0x2503040
|
|
/* 02503040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503044 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503044 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02503044 */ if (_t73) goto L_02503048; else goto L_02503058;
|
|
L_02503048: ; // 0x2503048
|
|
/* 02503048 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250304C */ Gambit_fn_02801A78(cpu);
|
|
/* 02503050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503054 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503054 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02503054 */ if (_t75) goto L_02503064; else goto L_02503058;
|
|
L_02503058: ; // 0x2503058
|
|
/* 02503058 */ _t76 = cpu->r[3] + 0x00000004u;
|
|
/* 02503058 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[31]);
|
|
/* 0250305C */ _t77 = cpu->r[3] + 0x00000000u;
|
|
/* 0250305C */ rbrew_write_f32(cpu->mem, _t77, cpu->f[31]);
|
|
/* 02503060 */ _t78 = cpu->r[3] + 0x00000008u;
|
|
/* 02503060 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[31]);
|
|
L_02503064: ; // 0x2503064
|
|
/* 02503064 */ cpu->r[31] = cpu->r[28] + 0x000000ACu;
|
|
/* 02503064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503068 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503068 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02503068 */ if (_t80) goto L_0250306C; else goto L_0250307C;
|
|
L_0250306C: ; // 0x250306c
|
|
/* 0250306C */ cpu->r[3] = 0x00000024u;
|
|
/* 02503070 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503074 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503078 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503078 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02503078 */ if (_t82) goto L_025030AC; else goto L_0250307C;
|
|
L_0250307C: ; // 0x250307c
|
|
/* 0250307C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503080 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503080 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02503080 */ if (_t84) goto L_02503084; else goto L_0250308C;
|
|
L_02503084: ; // 0x2503084
|
|
/* 02503084 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503088 */ Gambit_fn_02801A78(cpu);
|
|
L_0250308C: ; // 0x250308c
|
|
/* 0250308C */ cpu->r[6] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250308C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02503090 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503090 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02503090 */ if (_t86) goto L_02503094; else goto L_0250309C;
|
|
L_02503094: ; // 0x2503094
|
|
/* 02503094 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503098 */ Gambit_fn_02801A78(cpu);
|
|
L_0250309C: ; // 0x250309c
|
|
/* 0250309C */ cpu->r[7] = cpu->r[31] + 0x00000018u;
|
|
/* 0250309C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 025030A0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030A0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 025030A0 */ if (_t88) goto L_025030A4; else goto L_025030AC;
|
|
L_025030A4: ; // 0x25030a4
|
|
/* 025030A4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025030A8 */ Gambit_fn_02801A78(cpu);
|
|
L_025030AC: ; // 0x25030ac
|
|
/* 025030AC */ cpu->r[3] = cpu->r[28] + 0x000000D0u;
|
|
/* 025030AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030B0 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030B0 */ _t90 = _t89 & 0x00000001u;
|
|
/* 025030B0 */ if (_t90) goto L_025030B4; else goto L_025030C4;
|
|
L_025030B4: ; // 0x25030b4
|
|
/* 025030B4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025030B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025030BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030C0 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030C0 */ _t92 = _t91 & 0x00000001u;
|
|
/* 025030C0 */ if (_t92) goto L_025030E8; else goto L_025030C4;
|
|
L_025030C4: ; // 0x25030c4
|
|
/* 025030C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030C8 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030C8 */ _t94 = _t93 & 0x00000001u;
|
|
/* 025030C8 */ if (_t94) goto L_025030CC; else goto L_025030DC;
|
|
L_025030CC: ; // 0x25030cc
|
|
/* 025030CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025030D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025030D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030D8 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030D8 */ _t96 = _t95 & 0x00000001u;
|
|
/* 025030D8 */ if (_t96) goto L_025030E8; else goto L_025030DC;
|
|
L_025030DC: ; // 0x25030dc
|
|
/* 025030DC */ _t97 = cpu->r[3] + 0x00000004u;
|
|
/* 025030DC */ rbrew_write_f32(cpu->mem, _t97, cpu->f[31]);
|
|
/* 025030E0 */ _t98 = cpu->r[3] + 0x00000000u;
|
|
/* 025030E0 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[31]);
|
|
/* 025030E4 */ _t99 = cpu->r[3] + 0x00000008u;
|
|
/* 025030E4 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[31]);
|
|
L_025030E8: ; // 0x25030e8
|
|
/* 025030E8 */ cpu->r[3] = cpu->r[28] + 0x000000DCu;
|
|
/* 025030E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030EC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030EC */ _t101 = _t100 & 0x00000001u;
|
|
/* 025030EC */ if (_t101) goto L_025030F0; else goto L_02503100;
|
|
L_025030F0: ; // 0x25030f0
|
|
/* 025030F0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025030F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025030F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025030FC */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025030FC */ _t103 = _t102 & 0x00000001u;
|
|
/* 025030FC */ if (_t103) goto L_02503124; else goto L_02503100;
|
|
L_02503100: ; // 0x2503100
|
|
/* 02503100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503104 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503104 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02503104 */ if (_t105) goto L_02503108; else goto L_02503118;
|
|
L_02503108: ; // 0x2503108
|
|
/* 02503108 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250310C */ Gambit_fn_02801A78(cpu);
|
|
/* 02503110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503114 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503114 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02503114 */ if (_t107) goto L_02503124; else goto L_02503118;
|
|
L_02503118: ; // 0x2503118
|
|
/* 02503118 */ _t108 = cpu->r[3] + 0x00000004u;
|
|
/* 02503118 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[31]);
|
|
/* 0250311C */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 0250311C */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 02503120 */ _t110 = cpu->r[3] + 0x00000008u;
|
|
/* 02503120 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[31]);
|
|
L_02503124: ; // 0x2503124
|
|
/* 02503124 */ cpu->r[3] = cpu->r[28] + 0x000000E8u;
|
|
/* 02503124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503128 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503128 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02503128 */ if (_t112) goto L_0250312C; else goto L_0250313C;
|
|
L_0250312C: ; // 0x250312c
|
|
/* 0250312C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503130 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503138 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503138 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02503138 */ if (_t114) goto L_02503160; else goto L_0250313C;
|
|
L_0250313C: ; // 0x250313c
|
|
/* 0250313C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503140 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503140 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02503140 */ if (_t116) goto L_02503144; else goto L_02503154;
|
|
L_02503144: ; // 0x2503144
|
|
/* 02503144 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250314C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503150 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503150 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02503150 */ if (_t118) goto L_02503160; else goto L_02503154;
|
|
L_02503154: ; // 0x2503154
|
|
/* 02503154 */ _t119 = cpu->r[3] + 0x00000004u;
|
|
/* 02503154 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[31]);
|
|
/* 02503158 */ _t120 = cpu->r[3] + 0x00000000u;
|
|
/* 02503158 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[31]);
|
|
/* 0250315C */ _t121 = cpu->r[3] + 0x00000008u;
|
|
/* 0250315C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[31]);
|
|
L_02503160: ; // 0x2503160
|
|
/* 02503160 */ cpu->r[31] = cpu->r[28] + 0x000000F4u;
|
|
/* 02503160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503164 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503164 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02503164 */ if (_t123) goto L_02503168; else goto L_02503178;
|
|
L_02503168: ; // 0x2503168
|
|
/* 02503168 */ cpu->r[3] = 0x00000024u;
|
|
/* 0250316C */ Gambit_fn_02801A78(cpu);
|
|
/* 02503170 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503174 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503174 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02503174 */ if (_t125) goto L_025031A8; else goto L_02503178;
|
|
L_02503178: ; // 0x2503178
|
|
/* 02503178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250317C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250317C */ _t127 = _t126 & 0x00000001u;
|
|
/* 0250317C */ if (_t127) goto L_02503180; else goto L_02503188;
|
|
L_02503180: ; // 0x2503180
|
|
/* 02503180 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503184 */ Gambit_fn_02801A78(cpu);
|
|
L_02503188: ; // 0x2503188
|
|
/* 02503188 */ cpu->r[8] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02503188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250318C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250318C */ _t129 = _t128 & 0x00000001u;
|
|
/* 0250318C */ if (_t129) goto L_02503190; else goto L_02503198;
|
|
L_02503190: ; // 0x2503190
|
|
/* 02503190 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02503194 */ Gambit_fn_02801A78(cpu);
|
|
L_02503198: ; // 0x2503198
|
|
/* 02503198 */ cpu->r[9] = cpu->r[31] + 0x00000018u;
|
|
/* 02503198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250319C */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250319C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0250319C */ if (_t131) goto L_025031A0; else goto L_025031A8;
|
|
L_025031A0: ; // 0x25031a0
|
|
/* 025031A0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025031A4 */ Gambit_fn_02801A78(cpu);
|
|
L_025031A8: ; // 0x25031a8
|
|
/* 025031A8 */ _t132 = cpu->r[28] + 0x00000126u;
|
|
/* 025031A8 */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[27]);
|
|
/* 025031AC */ cpu->r[0] = 0x00000001u;
|
|
/* 025031B0 */ _t133 = cpu->r[28] + 0x00000118u;
|
|
/* 025031B0 */ rbrew_write_f32(cpu->mem, _t133, cpu->f[31]);
|
|
/* 025031B4 */ cpu->r[7] = 0x101F0000u;
|
|
/* 025031B8 */ _t134 = cpu->r[28] + 0x00000120u;
|
|
/* 025031B8 */ rbrew_write32(cpu->mem, _t134, cpu->r[27]);
|
|
/* 025031BC */ _t135 = cpu->r[28] + 0x0000011Cu;
|
|
/* 025031BC */ rbrew_write32(cpu->mem, _t135, cpu->r[0]);
|
|
/* 025031C0 */ _t136 = cpu->r[28] + 0x00000124u;
|
|
/* 025031C0 */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[27]);
|
|
/* 025031C4 */ _t137 = cpu->r[28] + 0x00000125u;
|
|
/* 025031C4 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[27]);
|
|
/* 025031C8 */ _t138 = cpu->r[7] + 0x00006338u;
|
|
/* 025031C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t138);
|
|
/* 025031C8 */ cpu->r[7] = _t138;
|
|
/* 025031CC */ _t139 = cpu->r[28] + 0x00000128u;
|
|
/* 025031CC */ rbrew_write32(cpu->mem, _t139, cpu->r[11]);
|
|
/* 025031D0 */ _t140 = cpu->r[7] + 0x00000004u;
|
|
/* 025031D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
|
|
/* 025031D4 */ _t141 = cpu->r[28] + 0x0000012Cu;
|
|
/* 025031D4 */ rbrew_write32(cpu->mem, _t141, cpu->r[12]);
|
|
/* 025031D8 */ _t142 = cpu->r[7] + 0x00000008u;
|
|
/* 025031D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 025031DC */ _t143 = cpu->r[28] + 0x00000130u;
|
|
/* 025031DC */ rbrew_write32(cpu->mem, _t143, cpu->r[0]);
|
|
/* 025031E0 */ _t144 = cpu->r[7] + 0x00000000u;
|
|
/* 025031E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t144);
|
|
/* 025031E4 */ _t145 = cpu->r[28] + 0x00000134u;
|
|
/* 025031E4 */ rbrew_write32(cpu->mem, _t145, cpu->r[4]);
|
|
/* 025031E8 */ _t146 = cpu->r[7] + 0x00000004u;
|
|
/* 025031E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 025031EC */ _t147 = cpu->r[28] + 0x00000138u;
|
|
/* 025031EC */ rbrew_write32(cpu->mem, _t147, cpu->r[5]);
|
|
/* 025031F0 */ _t148 = cpu->r[7] + 0x00000008u;
|
|
/* 025031F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
|
|
/* 025031F4 */ _t149 = cpu->r[28] + 0x0000013Cu;
|
|
/* 025031F4 */ rbrew_write32(cpu->mem, _t149, cpu->r[6]);
|
|
/* 025031F8 */ _t150 = cpu->r[7] + 0x00000000u;
|
|
/* 025031F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t150);
|
|
/* 025031FC */ _t151 = cpu->r[28] + 0x00000140u;
|
|
/* 025031FC */ rbrew_write32(cpu->mem, _t151, cpu->r[10]);
|
|
/* 02503200 */ _t152 = cpu->r[7] + 0x00000004u;
|
|
/* 02503200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02503204 */ _t153 = cpu->r[28] + 0x00000144u;
|
|
/* 02503204 */ rbrew_write32(cpu->mem, _t153, cpu->r[0]);
|
|
/* 02503208 */ _t154 = cpu->r[7] + 0x00000008u;
|
|
/* 02503208 */ cpu->r[5] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0250320C */ _t155 = cpu->r[28] + 0x00000148u;
|
|
/* 0250320C */ rbrew_write32(cpu->mem, _t155, cpu->r[5]);
|
|
/* 02503210 */ _t156 = cpu->r[7] + 0x00000000u;
|
|
/* 02503210 */ cpu->r[6] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02503214 */ _t157 = cpu->r[28] + 0x0000014Cu;
|
|
/* 02503214 */ rbrew_write32(cpu->mem, _t157, cpu->r[6]);
|
|
/* 02503218 */ _t158 = cpu->r[7] + 0x00000004u;
|
|
/* 02503218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t158);
|
|
/* 0250321C */ _t159 = cpu->r[28] + 0x00000150u;
|
|
/* 0250321C */ rbrew_write32(cpu->mem, _t159, cpu->r[8]);
|
|
/* 02503220 */ _t160 = cpu->r[7] + 0x00000008u;
|
|
/* 02503220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02503224 */ _t161 = cpu->r[28] + 0x00000154u;
|
|
/* 02503224 */ rbrew_write32(cpu->mem, _t161, cpu->r[9]);
|
|
/* 02503228 */ _t162 = cpu->r[7] + 0x00000000u;
|
|
/* 02503228 */ cpu->r[11] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0250322C */ _t163 = cpu->r[28] + 0x00000158u;
|
|
/* 0250322C */ rbrew_write32(cpu->mem, _t163, cpu->r[11]);
|
|
/* 02503230 */ _t164 = cpu->r[7] + 0x00000004u;
|
|
/* 02503230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02503234 */ _t165 = cpu->r[28] + 0x0000015Cu;
|
|
/* 02503234 */ rbrew_write32(cpu->mem, _t165, cpu->r[12]);
|
|
/* 02503238 */ _t166 = cpu->r[7] + 0x00000008u;
|
|
/* 02503238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 0250323C */ _t167 = cpu->r[28] + 0x00000160u;
|
|
/* 0250323C */ rbrew_write32(cpu->mem, _t167, cpu->r[0]);
|
|
/* 02503240 */ _t168 = cpu->r[7] + 0x00000000u;
|
|
/* 02503240 */ cpu->r[5] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02503244 */ _t169 = cpu->r[28] + 0x00000164u;
|
|
/* 02503244 */ rbrew_write32(cpu->mem, _t169, cpu->r[5]);
|
|
/* 02503248 */ _t170 = cpu->r[7] + 0x00000004u;
|
|
/* 02503248 */ cpu->r[6] = rbrew_read32(cpu->mem, _t170);
|
|
/* 0250324C */ _t171 = cpu->r[28] + 0x00000168u;
|
|
/* 0250324C */ rbrew_write32(cpu->mem, _t171, cpu->r[6]);
|
|
/* 02503250 */ _t172 = cpu->r[7] + 0x00000008u;
|
|
/* 02503250 */ cpu->r[8] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02503254 */ _t173 = cpu->r[28] + 0x00000170u;
|
|
/* 02503254 */ rbrew_write32(cpu->mem, _t173, cpu->r[27]);
|
|
/* 02503258 */ _t174 = cpu->r[28] + 0x0000016Cu;
|
|
/* 02503258 */ rbrew_write32(cpu->mem, _t174, cpu->r[8]);
|
|
/* 0250325C */ _t175 = cpu->r[28] + 0x00000174u;
|
|
/* 0250325C */ rbrew_write32(cpu->mem, _t175, cpu->r[27]);
|
|
/* 02503260 */ _t176 = cpu->r[28] + 0x00000178u;
|
|
/* 02503260 */ rbrew_write32(cpu->mem, _t176, cpu->r[27]);
|
|
/* 02503264 */ cpu->r[31] = cpu->r[28] + 0x00000180u;
|
|
/* 02503264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503268 */ _t177 = cpu->r[28] + 0x0000017Cu;
|
|
/* 02503268 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[31]);
|
|
/* 0250326C */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250326C */ _t179 = _t178 & 0x00000001u;
|
|
/* 0250326C */ if (_t179) goto L_02503270; else goto L_02503280;
|
|
L_02503270: ; // 0x2503270
|
|
/* 02503270 */ cpu->r[3] = 0x00000024u;
|
|
/* 02503274 */ Gambit_fn_02801A78(cpu);
|
|
/* 02503278 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250327C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250327C */ _t181 = _t180 & 0x00000001u;
|
|
/* 0250327C */ if (_t181) goto L_025032B0; else goto L_02503280;
|
|
L_02503280: ; // 0x2503280
|
|
/* 02503280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02503284 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503284 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02503284 */ if (_t183) goto L_02503288; else goto L_02503290;
|
|
L_02503288: ; // 0x2503288
|
|
/* 02503288 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250328C */ Gambit_fn_02801A78(cpu);
|
|
L_02503290: ; // 0x2503290
|
|
/* 02503290 */ cpu->r[9] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02503290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02503294 */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503294 */ _t185 = _t184 & 0x00000001u;
|
|
/* 02503294 */ if (_t185) goto L_02503298; else goto L_025032A0;
|
|
L_02503298: ; // 0x2503298
|
|
/* 02503298 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250329C */ Gambit_fn_02801A78(cpu);
|
|
L_025032A0: ; // 0x25032a0
|
|
/* 025032A0 */ cpu->r[10] = cpu->r[31] + 0x00000018u;
|
|
/* 025032A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025032A4 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025032A4 */ _t187 = _t186 & 0x00000001u;
|
|
/* 025032A4 */ if (_t187) goto L_025032A8; else goto L_025032B0;
|
|
L_025032A8: ; // 0x25032a8
|
|
/* 025032A8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025032AC */ Gambit_fn_02801A78(cpu);
|
|
L_025032B0: ; // 0x25032b0
|
|
/* 025032B0 */ cpu->r[11] = cpu->r[28] + 0x00000180u;
|
|
/* 025032B4 */ cpu->r[12] = cpu->r[11] + 0x00000024u;
|
|
/* 025032B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025032B8 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025032B8 */ _t189 = _t188 & 0x00000001u;
|
|
/* 025032B8 */ if (_t189) goto L_025032BC; else goto L_025032C4;
|
|
L_025032BC: ; // 0x25032bc
|
|
/* 025032BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025032C0 */ Gambit_fn_02801A78(cpu);
|
|
L_025032C4: ; // 0x25032c4
|
|
/* 025032C4 */ _t190 = cpu->r[29] + 0x00000000u;
|
|
/* 025032C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t190);
|
|
/* 025032C8 */ _t191 = cpu->r[28] + 0x00000040u;
|
|
/* 025032C8 */ rbrew_write32(cpu->mem, _t191, cpu->r[8]);
|
|
/* 025032CC */ _t192 = cpu->r[29] + 0x00000004u;
|
|
/* 025032CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t192);
|
|
/* 025032D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025032D4 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025032D4 */ _t194 = _t193 & 0x00000001u;
|
|
/* 025032D4 */ if (_t194) goto L_025032D8; else goto L_025032DC;
|
|
L_025032D8: ; // 0x25032d8
|
|
/* 025032D8 */ cpu->r[11] = cpu->r[8] + 0x00000054u;
|
|
L_025032DC: ; // 0x25032dc
|
|
/* 025032DC */ _t195 = cpu->r[28] + 0x00000044u;
|
|
/* 025032DC */ rbrew_write32(cpu->mem, _t195, cpu->r[11]);
|
|
/* 025032E0 */ _t196 = cpu->r[29] + 0x00000008u;
|
|
/* 025032E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t196);
|
|
/* 025032E4 */ _t197 = cpu->r[28] + 0x00000048u;
|
|
/* 025032E4 */ rbrew_write8(cpu->mem, _t197, (uint8_t)cpu->r[0]);
|
|
/* 025032E8 */ _t198 = cpu->r[29] + 0x00000009u;
|
|
/* 025032E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t198);
|
|
/* 025032EC */ cpu->r[3] = cpu->r[28];
|
|
/* 025032F0 */ _t199 = cpu->r[28] + 0x00000049u;
|
|
/* 025032F0 */ rbrew_write8(cpu->mem, _t199, (uint8_t)cpu->r[4]);
|
|
/* 025032F4 */ Gambit_fn_02502A24(cpu);
|
|
/* 025032F8 */ cpu->r[30] = 0x100C0000u;
|
|
/* 025032FC */ _t200 = cpu->r[29] + 0x0000000Au;
|
|
/* 025032FC */ cpu->r[5] = rbrew_read8(cpu->mem, _t200);
|
|
/* 02503300 */ cpu->r[30] = cpu->r[30] + 0xFFFFDBC0u;
|
|
/* 02503304 */ cpu->r[31] = 0x10110000u;
|
|
/* 02503308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0250330C */ cpu->r[31] = cpu->r[31] + 0x00007399u;
|
|
/* 02503310 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503310 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02503310 */ if (_t202) goto L_02503314; else goto L_0250337C;
|
|
L_02503314: ; // 0x2503314
|
|
/* 02503314 */ cpu->r[0] = 0x00000005u;
|
|
/* 02503318 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 0250331C */ cpu->r[4] = cpu->r[28];
|
|
/* 02503320 */ cpu->r[6] = 0x00000000u;
|
|
/* 02503324 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02503328 */ _t203 = cpu->r[1] + 0x00000008u;
|
|
/* 02503328 */ rbrew_write8(cpu->mem, _t203, (uint8_t)cpu->r[0]);
|
|
/* 0250332C */ Gambit_fn_025055A4(cpu);
|
|
/* 02503330 */ cpu->r[26] = 0x02500000u;
|
|
/* 02503334 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02503338 */ cpu->r[26] = cpu->r[26] + 0x00005544u;
|
|
/* 0250333C */ cpu->r[7] = cpu->r[7] + 0xFFFFDCF0u;
|
|
/* 02503340 */ _t204 = cpu->r[1] + 0x00000010u;
|
|
/* 02503340 */ rbrew_write32(cpu->mem, _t204, cpu->r[30]);
|
|
/* 02503344 */ cpu->ctr = cpu->r[26];
|
|
/* 02503348 */ _t205 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503348 */ rbrew_write32(cpu->mem, _t205, cpu->r[7]);
|
|
/* 0250334C */ _t206 = cpu->r[28] + 0x00000020u;
|
|
/* 0250334C */ cpu->r[24] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02503350 */ _t207 = cpu->r[24] + 0x00000000u;
|
|
/* 02503350 */ cpu->r[25] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02503354 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503358 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250335C */ _t208 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250335C */ cpu->r[4] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02503360 */ _t209 = cpu->r[31] + 0x00000000u;
|
|
/* 02503360 */ cpu->r[29] = rbrew_read8(cpu->mem, _t209);
|
|
/* 02503364 */ _t210 = cpu->r[4] + 0x00000000u;
|
|
/* 02503364 */ cpu->r[0] = rbrew_read8(cpu->mem, _t210);
|
|
/* 02503368 */ cpu->r[31] = 0x00000000u;
|
|
/* 0250336C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02503370 */ cpu->r[0] = 0x00080000u;
|
|
/* 02503374 */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503374 */ _t212 = _t211 & 0x00000001u;
|
|
/* 02503374 */ if (_t212) goto L_02503378; else goto L_025035A0;
|
|
L_02503378: ; // 0x2503378
|
|
/* 02503378 */ goto L_025035C4;
|
|
L_0250337C: ; // 0x250337c
|
|
/* 0250337C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503380 */ Gambit_fn_024F0B2C(cpu);
|
|
/* 02503384 */ _t213 = cpu->r[28] + 0x00000040u;
|
|
/* 02503384 */ cpu->r[8] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02503388 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0250338C */ _t214 = cpu->r[8] + 0x00000008u;
|
|
/* 0250338C */ cpu->r[9] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02503390 */ _t215 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02503390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t215);
|
|
/* 02503394 */ _t216 = cpu->r[9] + 0x000000A4u;
|
|
/* 02503394 */ cpu->r[6] = rbrew_read32(cpu->mem, _t216);
|
|
/* 02503398 */ _t217 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503398 */ rbrew_write32(cpu->mem, _t217, cpu->r[6]);
|
|
/* 0250339C */ Gambit_fn_02826F20(cpu);
|
|
/* 025033A0 */ _t218 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025033A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t218);
|
|
/* 025033A4 */ _t219 = cpu->r[7] + 0x00000034u;
|
|
/* 025033A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t219);
|
|
/* 025033A8 */ cpu->ctr = cpu->r[8];
|
|
/* 025033AC */ cpu->r[4] = 0x00000028u;
|
|
/* 025033B0 */ cpu->r[5] = 0x00000004u;
|
|
/* 025033B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025033B8 */ cpu->r[11] = 0x00000005u;
|
|
/* 025033BC */ cpu->ctr = cpu->r[11];
|
|
/* 025033C0 */ cpu->r[6] = 0x00000000u;
|
|
L_025033C4: ; // 0x25033c4
|
|
/* 025033C4 */ cpu->r[4] = cpu->r[3] + cpu->r[6];
|
|
/* 025033C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 025033C8 */ _t220 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025033C8 */ _t221 = _t220 & 0x00000001u;
|
|
/* 025033C8 */ if (_t221) goto L_025033D4; else goto L_025033CC;
|
|
L_025033CC: ; // 0x25033cc
|
|
/* 025033CC */ _t222 = cpu->r[4] + 0x00000000u;
|
|
/* 025033CC */ rbrew_write32(cpu->mem, _t222, cpu->r[31]);
|
|
/* 025033D0 */ _t223 = cpu->r[4] + 0x00000004u;
|
|
/* 025033D0 */ rbrew_write32(cpu->mem, _t223, cpu->r[30]);
|
|
L_025033D4: ; // 0x25033d4
|
|
/* 025033D4 */ cpu->r[6] = cpu->r[6] + 0x00000008u;
|
|
/* 025033D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025033D8 */ _t224 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025033D8 */ _t225 = _t224 >> (0x00000002u & 31u);
|
|
/* 025033D8 */ _t226 = _t225 & 0x00000001u;
|
|
/* 025033D8 */ if (_t226) goto L_025033C4; else goto L_025033DC;
|
|
L_025033DC: ; // 0x25033dc
|
|
/* 025033DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025033E0 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025033E0 */ _t228 = _t227 & 0x00000001u;
|
|
/* 025033E0 */ if (_t228) goto L_025033E4; else goto L_02503404;
|
|
L_025033E4: ; // 0x25033e4
|
|
/* 025033E4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 025033E8 */ _t229 = cpu->r[1] + 0x00000034u;
|
|
/* 025033E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t229);
|
|
/* 025033EC */ cpu->r[10] = cpu->r[10] + 0xFFFFDCB8u;
|
|
/* 025033F0 */ _t230 = cpu->r[3] + 0x00000000u;
|
|
/* 025033F0 */ rbrew_write32(cpu->mem, _t230, cpu->r[10]);
|
|
/* 025033F4 */ _t231 = cpu->r[1] + 0x00000030u;
|
|
/* 025033F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t231);
|
|
/* 025033F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 025033FC */ _t232 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025033FC */ _t233 = _t232 & 0x00000001u;
|
|
/* 025033FC */ if (_t233) goto L_02503428; else goto L_02503400;
|
|
L_02503400: ; // 0x2503400
|
|
/* 02503400 */ goto L_02503448;
|
|
L_02503404: ; // 0x2503404
|
|
/* 02503404 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02503408 */ _t234 = cpu->r[1] + 0x00000034u;
|
|
/* 02503408 */ rbrew_write32(cpu->mem, _t234, cpu->r[3]);
|
|
/* 0250340C */ cpu->r[9] = 0x00000005u;
|
|
/* 02503410 */ cpu->r[10] = cpu->r[10] + 0xFFFFDCB8u;
|
|
/* 02503414 */ _t235 = cpu->r[1] + 0x00000030u;
|
|
/* 02503414 */ rbrew_write32(cpu->mem, _t235, cpu->r[9]);
|
|
/* 02503418 */ _t236 = cpu->r[3] + 0x00000000u;
|
|
/* 02503418 */ rbrew_write32(cpu->mem, _t236, cpu->r[10]);
|
|
/* 0250341C */ _t237 = cpu->r[1] + 0x00000030u;
|
|
/* 0250341C */ cpu->r[0] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02503420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02503424 */ _t238 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503424 */ _t239 = _t238 & 0x00000001u;
|
|
/* 02503424 */ if (_t239) goto L_02503428; else goto L_02503448;
|
|
L_02503428: ; // 0x2503428
|
|
/* 02503428 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250342C */ _t240 = cpu->r[1] + 0x00000034u;
|
|
/* 0250342C */ cpu->r[12] = rbrew_read32(cpu->mem, _t240);
|
|
/* 02503430 */ cpu->r[4] = cpu->r[4] + 0xFFFFDCA8u;
|
|
/* 02503434 */ _t241 = cpu->r[12] + 0x00000008u;
|
|
/* 02503434 */ rbrew_write32(cpu->mem, _t241, cpu->r[4]);
|
|
/* 02503438 */ _t242 = cpu->r[1] + 0x00000030u;
|
|
/* 02503438 */ cpu->r[5] = rbrew_read32(cpu->mem, _t242);
|
|
/* 0250343C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 02503440 */ _t243 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503440 */ _t244 = _t243 & 0x00000001u;
|
|
/* 02503440 */ if (_t244) goto L_02503464; else goto L_02503444;
|
|
L_02503444: ; // 0x2503444
|
|
/* 02503444 */ goto L_02503484;
|
|
L_02503448: ; // 0x2503448
|
|
/* 02503448 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250344C */ _t245 = cpu->r[1] + 0x00000034u;
|
|
/* 0250344C */ cpu->r[12] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02503450 */ cpu->r[4] = cpu->r[4] + 0xFFFFDCA8u;
|
|
/* 02503454 */ _t246 = cpu->r[12] + 0x00000000u;
|
|
/* 02503454 */ rbrew_write32(cpu->mem, _t246, cpu->r[4]);
|
|
/* 02503458 */ _t247 = cpu->r[1] + 0x00000030u;
|
|
/* 02503458 */ cpu->r[5] = rbrew_read32(cpu->mem, _t247);
|
|
/* 0250345C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 02503460 */ _t248 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503460 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02503460 */ if (_t249) goto L_02503464; else goto L_02503484;
|
|
L_02503464: ; // 0x2503464
|
|
/* 02503464 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02503468 */ _t250 = cpu->r[1] + 0x00000034u;
|
|
/* 02503468 */ cpu->r[6] = rbrew_read32(cpu->mem, _t250);
|
|
/* 0250346C */ cpu->r[7] = cpu->r[7] + 0xFFFFDCC0u;
|
|
/* 02503470 */ _t251 = cpu->r[6] + 0x00000010u;
|
|
/* 02503470 */ rbrew_write32(cpu->mem, _t251, cpu->r[7]);
|
|
/* 02503474 */ _t252 = cpu->r[1] + 0x00000030u;
|
|
/* 02503474 */ cpu->r[8] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02503478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000003u);
|
|
/* 0250347C */ _t253 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250347C */ _t254 = _t253 & 0x00000001u;
|
|
/* 0250347C */ if (_t254) goto L_025034A0; else goto L_02503480;
|
|
L_02503480: ; // 0x2503480
|
|
/* 02503480 */ goto L_025034F0;
|
|
L_02503484: ; // 0x2503484
|
|
/* 02503484 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02503488 */ _t255 = cpu->r[1] + 0x00000034u;
|
|
/* 02503488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t255);
|
|
/* 0250348C */ cpu->r[7] = cpu->r[7] + 0xFFFFDCC0u;
|
|
/* 02503490 */ _t256 = cpu->r[12] + 0x00000000u;
|
|
/* 02503490 */ rbrew_write32(cpu->mem, _t256, cpu->r[7]);
|
|
/* 02503494 */ _t257 = cpu->r[1] + 0x00000030u;
|
|
/* 02503494 */ cpu->r[8] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02503498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000003u);
|
|
/* 0250349C */ _t258 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250349C */ _t259 = _t258 & 0x00000001u;
|
|
/* 0250349C */ if (_t259) goto L_025034A0; else goto L_025034F0;
|
|
L_025034A0: ; // 0x25034a0
|
|
/* 025034A0 */ cpu->r[10] = 0x100C0000u;
|
|
/* 025034A4 */ _t260 = cpu->r[1] + 0x00000034u;
|
|
/* 025034A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t260);
|
|
/* 025034A8 */ cpu->r[10] = cpu->r[10] + 0xFFFFDCB0u;
|
|
/* 025034AC */ _t261 = cpu->r[9] + 0x00000018u;
|
|
/* 025034AC */ rbrew_write32(cpu->mem, _t261, cpu->r[10]);
|
|
/* 025034B0 */ _t262 = cpu->r[1] + 0x00000030u;
|
|
/* 025034B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t262);
|
|
/* 025034B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 025034B8 */ _t263 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025034B8 */ _t264 = _t263 & 0x00000001u;
|
|
/* 025034B8 */ if (_t264) goto L_0250350C; else goto L_025034BC;
|
|
L_025034BC: ; // 0x25034bc
|
|
/* 025034BC */ cpu->r[4] = 0x100C0000u;
|
|
/* 025034C0 */ _t265 = cpu->r[1] + 0x00000034u;
|
|
/* 025034C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t265);
|
|
/* 025034C4 */ cpu->r[4] = cpu->r[4] + 0xFFFFDCC8u;
|
|
/* 025034C8 */ _t266 = cpu->r[12] + 0x00000000u;
|
|
/* 025034C8 */ rbrew_write32(cpu->mem, _t266, cpu->r[4]);
|
|
/* 025034CC */ _t267 = cpu->r[28] + 0x00000068u;
|
|
/* 025034CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t267);
|
|
/* 025034D0 */ _t268 = cpu->r[10] + 0x000046C0u;
|
|
/* 025034D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t268);
|
|
/* 025034D4 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 025034D8 */ _t269 = cpu->r[1] + 0x00000038u;
|
|
/* 025034D8 */ rbrew_write32(cpu->mem, _t269, cpu->r[5]);
|
|
/* 025034DC */ Gambit_fn_024F07D4(cpu);
|
|
/* 025034E0 */ _t270 = cpu->r[28] + 0x00000170u;
|
|
/* 025034E0 */ rbrew_write32(cpu->mem, _t270, cpu->r[3]);
|
|
/* 025034E4 */ _t271 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025034E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t271);
|
|
/* 025034E8 */ _t272 = cpu->r[28] + 0x00000174u;
|
|
/* 025034E8 */ rbrew_write32(cpu->mem, _t272, cpu->r[6]);
|
|
/* 025034EC */ goto L_0250353C;
|
|
L_025034F0: ; // 0x25034f0
|
|
/* 025034F0 */ cpu->r[10] = 0x100C0000u;
|
|
/* 025034F4 */ _t273 = cpu->r[1] + 0x00000034u;
|
|
/* 025034F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t273);
|
|
/* 025034F8 */ cpu->r[10] = cpu->r[10] + 0xFFFFDCB0u;
|
|
/* 025034FC */ _t274 = cpu->r[12] + 0x00000000u;
|
|
/* 025034FC */ rbrew_write32(cpu->mem, _t274, cpu->r[10]);
|
|
/* 02503500 */ _t275 = cpu->r[1] + 0x00000030u;
|
|
/* 02503500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t275);
|
|
/* 02503504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02503508 */ _t276 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503508 */ _t277 = _t276 & 0x00000001u;
|
|
/* 02503508 */ if (_t277) goto L_0250350C; else goto L_025034BC;
|
|
L_0250350C: ; // 0x250350c
|
|
/* 0250350C */ cpu->r[4] = 0x100C0000u;
|
|
/* 02503510 */ _t278 = cpu->r[1] + 0x00000034u;
|
|
/* 02503510 */ cpu->r[12] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02503514 */ cpu->r[4] = cpu->r[4] + 0xFFFFDCC8u;
|
|
/* 02503518 */ _t279 = cpu->r[12] + 0x00000020u;
|
|
/* 02503518 */ rbrew_write32(cpu->mem, _t279, cpu->r[4]);
|
|
/* 0250351C */ _t280 = cpu->r[28] + 0x00000068u;
|
|
/* 0250351C */ cpu->r[10] = rbrew_read32(cpu->mem, _t280);
|
|
/* 02503520 */ _t281 = cpu->r[10] + 0x000046C0u;
|
|
/* 02503520 */ cpu->r[5] = rbrew_read32(cpu->mem, _t281);
|
|
/* 02503524 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503528 */ _t282 = cpu->r[1] + 0x00000038u;
|
|
/* 02503528 */ rbrew_write32(cpu->mem, _t282, cpu->r[5]);
|
|
/* 0250352C */ Gambit_fn_024F07D4(cpu);
|
|
/* 02503530 */ _t283 = cpu->r[28] + 0x00000170u;
|
|
/* 02503530 */ rbrew_write32(cpu->mem, _t283, cpu->r[3]);
|
|
/* 02503534 */ _t284 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02503534 */ cpu->r[6] = rbrew_read32(cpu->mem, _t284);
|
|
/* 02503538 */ _t285 = cpu->r[28] + 0x00000174u;
|
|
/* 02503538 */ rbrew_write32(cpu->mem, _t285, cpu->r[6]);
|
|
L_0250353C: ; // 0x250353c
|
|
/* 0250353C */ cpu->r[0] = 0x00000005u;
|
|
/* 02503540 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503544 */ cpu->r[4] = cpu->r[28];
|
|
/* 02503548 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250354C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02503550 */ _t286 = cpu->r[1] + 0x00000008u;
|
|
/* 02503550 */ rbrew_write8(cpu->mem, _t286, (uint8_t)cpu->r[0]);
|
|
/* 02503554 */ Gambit_fn_025055A4(cpu);
|
|
/* 02503558 */ cpu->r[26] = 0x02500000u;
|
|
/* 0250355C */ cpu->r[7] = 0x100C0000u;
|
|
/* 02503560 */ cpu->r[26] = cpu->r[26] + 0x00005544u;
|
|
/* 02503564 */ cpu->r[7] = cpu->r[7] + 0xFFFFDCF0u;
|
|
/* 02503568 */ _t287 = cpu->r[1] + 0x00000010u;
|
|
/* 02503568 */ rbrew_write32(cpu->mem, _t287, cpu->r[30]);
|
|
/* 0250356C */ cpu->ctr = cpu->r[26];
|
|
/* 02503570 */ _t288 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503570 */ rbrew_write32(cpu->mem, _t288, cpu->r[7]);
|
|
/* 02503574 */ _t289 = cpu->r[28] + 0x00000020u;
|
|
/* 02503574 */ cpu->r[24] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02503578 */ _t290 = cpu->r[24] + 0x00000000u;
|
|
/* 02503578 */ cpu->r[25] = rbrew_read32(cpu->mem, _t290);
|
|
/* 0250357C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503580 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503584 */ _t291 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02503588 */ _t292 = cpu->r[31] + 0x00000000u;
|
|
/* 02503588 */ cpu->r[29] = rbrew_read8(cpu->mem, _t292);
|
|
/* 0250358C */ _t293 = cpu->r[4] + 0x00000000u;
|
|
/* 0250358C */ cpu->r[0] = rbrew_read8(cpu->mem, _t293);
|
|
/* 02503590 */ cpu->r[31] = 0x00000000u;
|
|
/* 02503594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02503598 */ cpu->r[0] = 0x00080000u;
|
|
/* 0250359C */ _t294 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250359C */ _t295 = _t294 & 0x00000001u;
|
|
/* 0250359C */ if (_t295) goto L_02503378; else goto L_025035A0;
|
|
L_025035A0: ; // 0x25035a0
|
|
/* 025035A0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025035A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 025035A8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 025035AC */ _t296 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025035AC */ _t297 = _t296 & 0x00000001u;
|
|
/* 025035AC */ if (_t297) goto L_025035C0; else goto L_025035B0;
|
|
L_025035B0: ; // 0x25035b0
|
|
/* 025035B0 */ _t298 = cpu->r[4] + 0x00000000u;
|
|
/* 025035B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t298);
|
|
/* 025035B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 025035B8 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025035B8 */ _t300 = _t299 & 0x00000001u;
|
|
/* 025035B8 */ if (_t300) goto L_025035BC; else goto L_025035A0;
|
|
L_025035BC: ; // 0x25035bc
|
|
/* 025035BC */ goto L_025035C4;
|
|
L_025035C0: ; // 0x25035c0
|
|
/* 025035C0 */ cpu->r[31] = 0x00000000u;
|
|
L_025035C4: ; // 0x25035c4
|
|
/* 025035C4 */ _t301 = cpu->r[24] + 0x00000008u;
|
|
/* 025035C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t301);
|
|
/* 025035C8 */ _t302 = cpu->r[1] + 0x00000010u;
|
|
/* 025035C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t302);
|
|
/* 025035CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 025035D0 */ _t303 = cpu->r[10] + 0x00000014u;
|
|
/* 025035D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t303);
|
|
/* 025035D4 */ _t304 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025035D4 */ _t305 = _t304 & 0x00000001u;
|
|
/* 025035D4 */ if (_t305) goto L_025035DC; else goto L_025035D8;
|
|
L_025035D8: ; // 0x25035d8
|
|
/* 025035D8 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_025035DC: ; // 0x25035dc
|
|
/* 025035DC */ cpu->ctr = cpu->r[11];
|
|
/* 025035E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025035E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025035E8 */ _t306 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025035E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t306);
|
|
/* 025035EC */ cpu->r[3] = cpu->r[25];
|
|
/* 025035F0 */ cpu->r[5] = cpu->r[31];
|
|
/* 025035F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025035F8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025035FC */ _t307 = cpu->r[25] + cpu->r[31];
|
|
/* 025035FC */ rbrew_write8(cpu->mem, _t307, (uint8_t)cpu->r[29]);
|
|
/* 02503600 */ cpu->r[9] = 0x00000000u;
|
|
/* 02503604 */ _t308 = cpu->r[1] + 0x00000026u;
|
|
/* 02503604 */ rbrew_write16(cpu->mem, _t308, (uint16_t)cpu->r[27]);
|
|
/* 02503608 */ cpu->r[4] = 0x02500000u;
|
|
/* 0250360C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02503610 */ _t309 = cpu->r[1] + 0x00000008u;
|
|
/* 02503610 */ rbrew_write8(cpu->mem, _t309, (uint8_t)cpu->r[9]);
|
|
/* 02503614 */ cpu->r[4] = cpu->r[4] + 0x00004528u;
|
|
/* 02503618 */ _t310 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02503618 */ rbrew_write16(cpu->mem, _t310, (uint16_t)cpu->r[10]);
|
|
/* 0250361C */ cpu->r[12] = 0x02500000u;
|
|
/* 02503620 */ _t311 = cpu->r[1] + 0x00000024u;
|
|
/* 02503620 */ rbrew_write16(cpu->mem, _t311, (uint16_t)cpu->r[27]);
|
|
/* 02503624 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503628 */ _t312 = cpu->r[1] + 0x00000020u;
|
|
/* 02503628 */ rbrew_write32(cpu->mem, _t312, cpu->r[4]);
|
|
/* 0250362C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503630 */ _t313 = cpu->r[1] + 0x00000014u;
|
|
/* 02503630 */ rbrew_write16(cpu->mem, _t313, (uint16_t)cpu->r[27]);
|
|
/* 02503634 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02503638 */ _t314 = cpu->r[1] + 0x00000016u;
|
|
/* 02503638 */ rbrew_write16(cpu->mem, _t314, (uint16_t)cpu->r[10]);
|
|
/* 0250363C */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503640 */ _t315 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503640 */ rbrew_write16(cpu->mem, _t315, (uint16_t)cpu->r[27]);
|
|
/* 02503644 */ cpu->r[12] = cpu->r[12] + 0x000044D0u;
|
|
/* 02503648 */ _t316 = cpu->r[1] + 0x00000028u;
|
|
/* 02503648 */ rbrew_write32(cpu->mem, _t316, cpu->r[27]);
|
|
/* 0250364C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02503650 */ _t317 = cpu->r[1] + 0x00000018u;
|
|
/* 02503650 */ rbrew_write32(cpu->mem, _t317, cpu->r[12]);
|
|
/* 02503654 */ Gambit_fn_02505854(cpu);
|
|
/* 02503658 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250365C */ _t318 = cpu->r[1] + 0x00000010u;
|
|
/* 0250365C */ rbrew_write32(cpu->mem, _t318, cpu->r[30]);
|
|
/* 02503660 */ cpu->r[5] = cpu->r[5] + 0xFFFFDCD0u;
|
|
/* 02503664 */ _t319 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503664 */ rbrew_write32(cpu->mem, _t319, cpu->r[5]);
|
|
/* 02503668 */ _t320 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02503668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t320);
|
|
/* 0250366C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02503670 */ _t321 = cpu->r[28] + 0x00000020u;
|
|
/* 02503670 */ cpu->r[25] = rbrew_read32(cpu->mem, _t321);
|
|
/* 02503674 */ _t322 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503674 */ _t323 = _t322 & 0x00000001u;
|
|
/* 02503674 */ if (_t323) goto L_02503678; else goto L_0250367C;
|
|
L_02503678: ; // 0x2503678
|
|
/* 02503678 */ cpu->r[25] = cpu->r[25] + 0x00000024u;
|
|
L_0250367C: ; // 0x250367c
|
|
/* 0250367C */ cpu->ctr = cpu->r[26];
|
|
/* 02503680 */ _t324 = cpu->r[25] + 0x00000000u;
|
|
/* 02503680 */ cpu->r[24] = rbrew_read32(cpu->mem, _t324);
|
|
/* 02503684 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503688 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250368C */ _t325 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250368C */ cpu->r[12] = rbrew_read32(cpu->mem, _t325);
|
|
/* 02503690 */ _t326 = cpu->r[12] + 0x00000000u;
|
|
/* 02503690 */ cpu->r[7] = rbrew_read8(cpu->mem, _t326);
|
|
/* 02503694 */ cpu->r[31] = 0x00000000u;
|
|
/* 02503698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 0250369C */ cpu->r[0] = 0x00080000u;
|
|
/* 025036A0 */ _t327 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025036A0 */ _t328 = _t327 & 0x00000001u;
|
|
/* 025036A0 */ if (_t328) goto L_025036C8; else goto L_025036A4;
|
|
L_025036A4: ; // 0x25036a4
|
|
/* 025036A4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025036A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 025036AC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 025036B0 */ _t329 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025036B0 */ _t330 = _t329 & 0x00000001u;
|
|
/* 025036B0 */ if (_t330) goto L_025036C4; else goto L_025036B4;
|
|
L_025036B4: ; // 0x25036b4
|
|
/* 025036B4 */ _t331 = cpu->r[12] + 0x00000000u;
|
|
/* 025036B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t331);
|
|
/* 025036B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 025036BC */ _t332 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025036BC */ _t333 = _t332 & 0x00000001u;
|
|
/* 025036BC */ if (_t333) goto L_025036C0; else goto L_025036A4;
|
|
L_025036C0: ; // 0x25036c0
|
|
/* 025036C0 */ goto L_025036C8;
|
|
L_025036C4: ; // 0x25036c4
|
|
/* 025036C4 */ cpu->r[31] = 0x00000000u;
|
|
L_025036C8: ; // 0x25036c8
|
|
/* 025036C8 */ _t334 = cpu->r[25] + 0x00000008u;
|
|
/* 025036C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t334);
|
|
/* 025036CC */ _t335 = cpu->r[1] + 0x00000010u;
|
|
/* 025036CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t335);
|
|
/* 025036D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 025036D4 */ _t336 = cpu->r[9] + 0x00000014u;
|
|
/* 025036D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t336);
|
|
/* 025036D8 */ _t337 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025036D8 */ _t338 = _t337 & 0x00000001u;
|
|
/* 025036D8 */ if (_t338) goto L_025036E0; else goto L_025036DC;
|
|
L_025036DC: ; // 0x25036dc
|
|
/* 025036DC */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_025036E0: ; // 0x25036e0
|
|
/* 025036E0 */ cpu->ctr = cpu->r[0];
|
|
/* 025036E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025036E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025036EC */ _t339 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025036EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t339);
|
|
/* 025036F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 025036F4 */ cpu->r[5] = cpu->r[31];
|
|
/* 025036F8 */ cpu->r[3] = cpu->r[24];
|
|
/* 025036FC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02503700 */ _t340 = cpu->r[24] + cpu->r[31];
|
|
/* 02503700 */ rbrew_write8(cpu->mem, _t340, (uint8_t)cpu->r[29]);
|
|
/* 02503704 */ cpu->r[0] = 0x00000001u;
|
|
/* 02503708 */ _t341 = cpu->r[1] + 0x00000024u;
|
|
/* 02503708 */ rbrew_write16(cpu->mem, _t341, (uint16_t)cpu->r[27]);
|
|
/* 0250370C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02503710 */ _t342 = cpu->r[1] + 0x00000008u;
|
|
/* 02503710 */ rbrew_write8(cpu->mem, _t342, (uint8_t)cpu->r[0]);
|
|
/* 02503714 */ cpu->r[11] = 0x02500000u;
|
|
/* 02503718 */ _t343 = cpu->r[1] + 0x00000016u;
|
|
/* 02503718 */ rbrew_write16(cpu->mem, _t343, (uint16_t)cpu->r[10]);
|
|
/* 0250371C */ cpu->r[9] = 0x02500000u;
|
|
/* 02503720 */ _t344 = cpu->r[1] + 0x00000026u;
|
|
/* 02503720 */ rbrew_write16(cpu->mem, _t344, (uint16_t)cpu->r[27]);
|
|
/* 02503724 */ _t345 = cpu->r[1] + 0x00000014u;
|
|
/* 02503724 */ rbrew_write16(cpu->mem, _t345, (uint16_t)cpu->r[27]);
|
|
/* 02503728 */ cpu->r[9] = cpu->r[9] + 0x000045C4u;
|
|
/* 0250372C */ _t346 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0250372C */ rbrew_write16(cpu->mem, _t346, (uint16_t)cpu->r[10]);
|
|
/* 02503730 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503734 */ _t347 = cpu->r[1] + 0x00000018u;
|
|
/* 02503734 */ rbrew_write32(cpu->mem, _t347, cpu->r[9]);
|
|
/* 02503738 */ cpu->r[11] = cpu->r[11] + 0x0000454Cu;
|
|
/* 0250373C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02503740 */ _t348 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503740 */ rbrew_write16(cpu->mem, _t348, (uint16_t)cpu->r[27]);
|
|
/* 02503744 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503748 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0250374C */ _t349 = cpu->r[1] + 0x00000020u;
|
|
/* 0250374C */ rbrew_write32(cpu->mem, _t349, cpu->r[11]);
|
|
/* 02503750 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503754 */ _t350 = cpu->r[1] + 0x00000028u;
|
|
/* 02503754 */ rbrew_write32(cpu->mem, _t350, cpu->r[27]);
|
|
/* 02503758 */ Gambit_fn_02505854(cpu);
|
|
/* 0250375C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02503760 */ _t351 = cpu->r[1] + 0x00000010u;
|
|
/* 02503760 */ rbrew_write32(cpu->mem, _t351, cpu->r[30]);
|
|
/* 02503764 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD00u;
|
|
/* 02503768 */ _t352 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503768 */ rbrew_write32(cpu->mem, _t352, cpu->r[11]);
|
|
/* 0250376C */ _t353 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0250376C */ cpu->r[12] = rbrew_read32(cpu->mem, _t353);
|
|
/* 02503770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02503774 */ _t354 = cpu->r[28] + 0x00000020u;
|
|
/* 02503774 */ cpu->r[25] = rbrew_read32(cpu->mem, _t354);
|
|
/* 02503778 */ _t355 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503778 */ _t356 = _t355 & 0x00000001u;
|
|
/* 02503778 */ if (_t356) goto L_0250377C; else goto L_02503780;
|
|
L_0250377C: ; // 0x250377c
|
|
/* 0250377C */ cpu->r[25] = cpu->r[25] + 0x00000048u;
|
|
L_02503780: ; // 0x2503780
|
|
/* 02503780 */ cpu->ctr = cpu->r[26];
|
|
/* 02503784 */ _t357 = cpu->r[25] + 0x00000000u;
|
|
/* 02503784 */ cpu->r[24] = rbrew_read32(cpu->mem, _t357);
|
|
/* 02503788 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250378C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503790 */ _t358 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503790 */ cpu->r[10] = rbrew_read32(cpu->mem, _t358);
|
|
/* 02503794 */ _t359 = cpu->r[10] + 0x00000000u;
|
|
/* 02503794 */ cpu->r[0] = rbrew_read8(cpu->mem, _t359);
|
|
/* 02503798 */ cpu->r[31] = 0x00000000u;
|
|
/* 0250379C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 025037A0 */ cpu->r[11] = 0x00080000u;
|
|
/* 025037A4 */ _t360 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025037A4 */ _t361 = _t360 & 0x00000001u;
|
|
/* 025037A4 */ if (_t361) goto L_025037CC; else goto L_025037A8;
|
|
L_025037A8: ; // 0x25037a8
|
|
/* 025037A8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025037AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 025037B0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 025037B4 */ _t362 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025037B4 */ _t363 = _t362 & 0x00000001u;
|
|
/* 025037B4 */ if (_t363) goto L_025037C8; else goto L_025037B8;
|
|
L_025037B8: ; // 0x25037b8
|
|
/* 025037B8 */ _t364 = cpu->r[10] + 0x00000000u;
|
|
/* 025037B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t364);
|
|
/* 025037BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 025037C0 */ _t365 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025037C0 */ _t366 = _t365 & 0x00000001u;
|
|
/* 025037C0 */ if (_t366) goto L_025037C4; else goto L_025037A8;
|
|
L_025037C4: ; // 0x25037c4
|
|
/* 025037C4 */ goto L_025037CC;
|
|
L_025037C8: ; // 0x25037c8
|
|
/* 025037C8 */ cpu->r[31] = 0x00000000u;
|
|
L_025037CC: ; // 0x25037cc
|
|
/* 025037CC */ _t367 = cpu->r[25] + 0x00000008u;
|
|
/* 025037CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t367);
|
|
/* 025037D0 */ _t368 = cpu->r[1] + 0x00000010u;
|
|
/* 025037D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t368);
|
|
/* 025037D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 025037D8 */ _t369 = cpu->r[5] + 0x00000014u;
|
|
/* 025037D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t369);
|
|
/* 025037DC */ _t370 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025037DC */ _t371 = _t370 & 0x00000001u;
|
|
/* 025037DC */ if (_t371) goto L_025037E4; else goto L_025037E0;
|
|
L_025037E0: ; // 0x25037e0
|
|
/* 025037E0 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_025037E4: ; // 0x25037e4
|
|
/* 025037E4 */ cpu->ctr = cpu->r[6];
|
|
/* 025037E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025037EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025037F0 */ _t372 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025037F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t372);
|
|
/* 025037F4 */ cpu->r[3] = cpu->r[24];
|
|
/* 025037F8 */ cpu->r[5] = cpu->r[31];
|
|
/* 025037FC */ cpu->r[6] = 0x00000000u;
|
|
/* 02503800 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02503804 */ _t373 = cpu->r[24] + cpu->r[31];
|
|
/* 02503804 */ rbrew_write8(cpu->mem, _t373, (uint8_t)cpu->r[29]);
|
|
/* 02503808 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0250380C */ _t374 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250380C */ rbrew_write16(cpu->mem, _t374, (uint16_t)cpu->r[27]);
|
|
/* 02503810 */ cpu->r[0] = 0x00000002u;
|
|
/* 02503814 */ _t375 = cpu->r[1] + 0x00000026u;
|
|
/* 02503814 */ rbrew_write16(cpu->mem, _t375, (uint16_t)cpu->r[9]);
|
|
/* 02503818 */ cpu->r[11] = 0x02500000u;
|
|
/* 0250381C */ _t376 = cpu->r[1] + 0x00000016u;
|
|
/* 0250381C */ rbrew_write16(cpu->mem, _t376, (uint16_t)cpu->r[9]);
|
|
/* 02503820 */ cpu->r[7] = 0x02500000u;
|
|
/* 02503824 */ _t377 = cpu->r[1] + 0x00000008u;
|
|
/* 02503824 */ rbrew_write8(cpu->mem, _t377, (uint8_t)cpu->r[0]);
|
|
/* 02503828 */ _t378 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02503828 */ rbrew_write16(cpu->mem, _t378, (uint16_t)cpu->r[9]);
|
|
/* 0250382C */ cpu->r[9] = 0x02500000u;
|
|
/* 02503830 */ _t379 = cpu->r[1] + 0x00000014u;
|
|
/* 02503830 */ rbrew_write16(cpu->mem, _t379, (uint16_t)cpu->r[27]);
|
|
/* 02503834 */ cpu->r[9] = cpu->r[9] + 0x000051A0u;
|
|
/* 02503838 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 0250383C */ cpu->r[7] = cpu->r[7] + 0x00004AE4u;
|
|
/* 02503840 */ _t380 = cpu->r[1] + 0x00000018u;
|
|
/* 02503840 */ rbrew_write32(cpu->mem, _t380, cpu->r[9]);
|
|
/* 02503844 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503848 */ cpu->r[11] = cpu->r[11] + 0x00005290u;
|
|
/* 0250384C */ _t381 = cpu->r[1] + 0x00000020u;
|
|
/* 0250384C */ rbrew_write32(cpu->mem, _t381, cpu->r[7]);
|
|
/* 02503850 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503854 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02503858 */ _t382 = cpu->r[1] + 0x00000024u;
|
|
/* 02503858 */ rbrew_write16(cpu->mem, _t382, (uint16_t)cpu->r[27]);
|
|
/* 0250385C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02503860 */ _t383 = cpu->r[1] + 0x00000028u;
|
|
/* 02503860 */ rbrew_write32(cpu->mem, _t383, cpu->r[11]);
|
|
/* 02503864 */ Gambit_fn_02505854(cpu);
|
|
/* 02503868 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250386C */ _t384 = cpu->r[1] + 0x00000010u;
|
|
/* 0250386C */ rbrew_write32(cpu->mem, _t384, cpu->r[30]);
|
|
/* 02503870 */ cpu->r[12] = cpu->r[12] + 0xFFFFDCE0u;
|
|
/* 02503874 */ _t385 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503874 */ rbrew_write32(cpu->mem, _t385, cpu->r[12]);
|
|
/* 02503878 */ _t386 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02503878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t386);
|
|
/* 0250387C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02503880 */ _t387 = cpu->r[28] + 0x00000020u;
|
|
/* 02503880 */ cpu->r[25] = rbrew_read32(cpu->mem, _t387);
|
|
/* 02503884 */ _t388 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503884 */ _t389 = _t388 & 0x00000001u;
|
|
/* 02503884 */ if (_t389) goto L_02503888; else goto L_0250388C;
|
|
L_02503888: ; // 0x2503888
|
|
/* 02503888 */ cpu->r[25] = cpu->r[25] + 0x0000006Cu;
|
|
L_0250388C: ; // 0x250388c
|
|
/* 0250388C */ cpu->ctr = cpu->r[26];
|
|
/* 02503890 */ _t390 = cpu->r[25] + 0x00000000u;
|
|
/* 02503890 */ cpu->r[24] = rbrew_read32(cpu->mem, _t390);
|
|
/* 02503894 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250389C */ _t391 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250389C */ cpu->r[8] = rbrew_read32(cpu->mem, _t391);
|
|
/* 025038A0 */ _t392 = cpu->r[8] + 0x00000000u;
|
|
/* 025038A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t392);
|
|
/* 025038A4 */ cpu->r[31] = 0x00000000u;
|
|
/* 025038A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 025038AC */ cpu->r[9] = 0x00080000u;
|
|
/* 025038B0 */ _t393 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025038B0 */ _t394 = _t393 & 0x00000001u;
|
|
/* 025038B0 */ if (_t394) goto L_025038D8; else goto L_025038B4;
|
|
L_025038B4: ; // 0x25038b4
|
|
/* 025038B4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025038B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 025038BC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 025038C0 */ _t395 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025038C0 */ _t396 = _t395 & 0x00000001u;
|
|
/* 025038C0 */ if (_t396) goto L_025038D4; else goto L_025038C4;
|
|
L_025038C4: ; // 0x25038c4
|
|
/* 025038C4 */ _t397 = cpu->r[8] + 0x00000000u;
|
|
/* 025038C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t397);
|
|
/* 025038C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[29]);
|
|
/* 025038CC */ _t398 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025038CC */ _t399 = _t398 & 0x00000001u;
|
|
/* 025038CC */ if (_t399) goto L_025038D0; else goto L_025038B4;
|
|
L_025038D0: ; // 0x25038d0
|
|
/* 025038D0 */ goto L_025038D8;
|
|
L_025038D4: ; // 0x25038d4
|
|
/* 025038D4 */ cpu->r[31] = 0x00000000u;
|
|
L_025038D8: ; // 0x25038d8
|
|
/* 025038D8 */ _t400 = cpu->r[25] + 0x00000008u;
|
|
/* 025038D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t400);
|
|
/* 025038DC */ _t401 = cpu->r[1] + 0x00000010u;
|
|
/* 025038DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t401);
|
|
/* 025038E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 025038E4 */ _t402 = cpu->r[6] + 0x00000014u;
|
|
/* 025038E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t402);
|
|
/* 025038E8 */ _t403 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025038E8 */ _t404 = _t403 & 0x00000001u;
|
|
/* 025038E8 */ if (_t404) goto L_025038F0; else goto L_025038EC;
|
|
L_025038EC: ; // 0x25038ec
|
|
/* 025038EC */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_025038F0: ; // 0x25038f0
|
|
/* 025038F0 */ cpu->ctr = cpu->r[0];
|
|
/* 025038F4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025038F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025038FC */ _t405 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025038FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t405);
|
|
/* 02503900 */ cpu->r[6] = 0x00000000u;
|
|
/* 02503904 */ cpu->r[5] = cpu->r[31];
|
|
/* 02503908 */ cpu->r[3] = cpu->r[24];
|
|
/* 0250390C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02503910 */ _t406 = cpu->r[24] + cpu->r[31];
|
|
/* 02503910 */ rbrew_write8(cpu->mem, _t406, (uint8_t)cpu->r[29]);
|
|
/* 02503914 */ cpu->r[9] = 0x00000003u;
|
|
/* 02503918 */ _t407 = cpu->r[1] + 0x00000026u;
|
|
/* 02503918 */ rbrew_write16(cpu->mem, _t407, (uint16_t)cpu->r[27]);
|
|
/* 0250391C */ cpu->r[8] = 0x02500000u;
|
|
/* 02503920 */ _t408 = cpu->r[1] + 0x00000008u;
|
|
/* 02503920 */ rbrew_write8(cpu->mem, _t408, (uint8_t)cpu->r[9]);
|
|
/* 02503924 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02503928 */ _t409 = cpu->r[1] + 0x00000014u;
|
|
/* 02503928 */ rbrew_write16(cpu->mem, _t409, (uint16_t)cpu->r[27]);
|
|
/* 0250392C */ cpu->r[11] = 0x02500000u;
|
|
/* 02503930 */ _t410 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02503930 */ rbrew_write16(cpu->mem, _t410, (uint16_t)cpu->r[6]);
|
|
/* 02503934 */ _t411 = cpu->r[1] + 0x00000024u;
|
|
/* 02503934 */ rbrew_write16(cpu->mem, _t411, (uint16_t)cpu->r[27]);
|
|
/* 02503938 */ cpu->r[8] = cpu->r[8] + 0x000052A0u;
|
|
/* 0250393C */ _t412 = cpu->r[1] + 0x00000016u;
|
|
/* 0250393C */ rbrew_write16(cpu->mem, _t412, (uint16_t)cpu->r[6]);
|
|
/* 02503940 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02503944 */ cpu->r[11] = cpu->r[11] + 0x000053DCu;
|
|
/* 02503948 */ _t413 = cpu->r[1] + 0x00000020u;
|
|
/* 02503948 */ rbrew_write32(cpu->mem, _t413, cpu->r[8]);
|
|
/* 0250394C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02503950 */ _t414 = cpu->r[1] + 0x00000018u;
|
|
/* 02503950 */ rbrew_write32(cpu->mem, _t414, cpu->r[11]);
|
|
/* 02503954 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503958 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250395C */ _t415 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250395C */ rbrew_write16(cpu->mem, _t415, (uint16_t)cpu->r[27]);
|
|
/* 02503960 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503964 */ _t416 = cpu->r[1] + 0x00000028u;
|
|
/* 02503964 */ rbrew_write32(cpu->mem, _t416, cpu->r[27]);
|
|
/* 02503968 */ Gambit_fn_02505854(cpu);
|
|
/* 0250396C */ cpu->r[12] = 0x100C0000u;
|
|
/* 02503970 */ _t417 = cpu->r[1] + 0x00000010u;
|
|
/* 02503970 */ rbrew_write32(cpu->mem, _t417, cpu->r[30]);
|
|
/* 02503974 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD10u;
|
|
/* 02503978 */ _t418 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503978 */ rbrew_write32(cpu->mem, _t418, cpu->r[12]);
|
|
/* 0250397C */ _t419 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0250397C */ cpu->r[0] = rbrew_read32(cpu->mem, _t419);
|
|
/* 02503980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02503984 */ _t420 = cpu->r[28] + 0x00000020u;
|
|
/* 02503984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t420);
|
|
/* 02503988 */ _t421 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02503988 */ _t422 = _t421 & 0x00000001u;
|
|
/* 02503988 */ if (_t422) goto L_0250398C; else goto L_02503990;
|
|
L_0250398C: ; // 0x250398c
|
|
/* 0250398C */ cpu->r[30] = cpu->r[30] + 0x00000090u;
|
|
L_02503990: ; // 0x2503990
|
|
/* 02503990 */ cpu->ctr = cpu->r[26];
|
|
/* 02503994 */ _t423 = cpu->r[30] + 0x00000000u;
|
|
/* 02503994 */ cpu->r[25] = rbrew_read32(cpu->mem, _t423);
|
|
/* 02503998 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250399C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025039A0 */ _t424 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025039A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t424);
|
|
/* 025039A4 */ _t425 = cpu->r[6] + 0x00000000u;
|
|
/* 025039A4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t425);
|
|
/* 025039A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 025039AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 025039B0 */ cpu->r[7] = 0x00080000u;
|
|
/* 025039B4 */ _t426 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025039B4 */ _t427 = _t426 & 0x00000001u;
|
|
/* 025039B4 */ if (_t427) goto L_025039DC; else goto L_025039B8;
|
|
L_025039B8: ; // 0x25039b8
|
|
/* 025039B8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025039BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 025039C0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 025039C4 */ _t428 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025039C4 */ _t429 = _t428 & 0x00000001u;
|
|
/* 025039C4 */ if (_t429) goto L_025039D8; else goto L_025039C8;
|
|
L_025039C8: ; // 0x25039c8
|
|
/* 025039C8 */ _t430 = cpu->r[6] + 0x00000000u;
|
|
/* 025039C8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t430);
|
|
/* 025039CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[29]);
|
|
/* 025039D0 */ _t431 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025039D0 */ _t432 = _t431 & 0x00000001u;
|
|
/* 025039D0 */ if (_t432) goto L_025039D4; else goto L_025039B8;
|
|
L_025039D4: ; // 0x25039d4
|
|
/* 025039D4 */ goto L_025039DC;
|
|
L_025039D8: ; // 0x25039d8
|
|
/* 025039D8 */ cpu->r[31] = 0x00000000u;
|
|
L_025039DC: ; // 0x25039dc
|
|
/* 025039DC */ _t433 = cpu->r[30] + 0x00000008u;
|
|
/* 025039DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t433);
|
|
/* 025039E0 */ _t434 = cpu->r[1] + 0x00000010u;
|
|
/* 025039E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t434);
|
|
/* 025039E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 025039E8 */ _t435 = cpu->r[7] + 0x00000014u;
|
|
/* 025039E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t435);
|
|
/* 025039EC */ _t436 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025039EC */ _t437 = _t436 & 0x00000001u;
|
|
/* 025039EC */ if (_t437) goto L_025039F4; else goto L_025039F0;
|
|
L_025039F0: ; // 0x25039f0
|
|
/* 025039F0 */ cpu->r[31] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_025039F4: ; // 0x25039f4
|
|
/* 025039F4 */ cpu->ctr = cpu->r[8];
|
|
/* 025039F8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025039FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503A00 */ _t438 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503A00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t438);
|
|
/* 02503A04 */ cpu->r[3] = cpu->r[25];
|
|
/* 02503A08 */ cpu->r[5] = cpu->r[31];
|
|
/* 02503A0C */ cpu->r[6] = 0x00000000u;
|
|
/* 02503A10 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02503A14 */ _t439 = cpu->r[25] + cpu->r[31];
|
|
/* 02503A14 */ rbrew_write8(cpu->mem, _t439, (uint8_t)cpu->r[29]);
|
|
/* 02503A18 */ cpu->r[9] = 0x02500000u;
|
|
/* 02503A1C */ _t440 = cpu->r[1] + 0x00000014u;
|
|
/* 02503A1C */ rbrew_write16(cpu->mem, _t440, (uint16_t)cpu->r[27]);
|
|
/* 02503A20 */ cpu->r[0] = 0x00000004u;
|
|
/* 02503A24 */ _t441 = cpu->r[1] + 0x00000028u;
|
|
/* 02503A24 */ rbrew_write32(cpu->mem, _t441, cpu->r[27]);
|
|
/* 02503A28 */ cpu->r[9] = cpu->r[9] + 0x00005488u;
|
|
/* 02503A2C */ _t442 = cpu->r[1] + 0x00000008u;
|
|
/* 02503A2C */ rbrew_write8(cpu->mem, _t442, (uint8_t)cpu->r[0]);
|
|
/* 02503A30 */ cpu->r[0] = 0x02500000u;
|
|
/* 02503A34 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02503A38 */ _t443 = cpu->r[1] + 0x00000020u;
|
|
/* 02503A38 */ rbrew_write32(cpu->mem, _t443, cpu->r[9]);
|
|
/* 02503A3C */ cpu->r[0] = cpu->r[0] + 0x000055A0u;
|
|
/* 02503A40 */ _t444 = cpu->r[1] + 0x00000016u;
|
|
/* 02503A40 */ rbrew_write16(cpu->mem, _t444, (uint16_t)cpu->r[5]);
|
|
/* 02503A44 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503A48 */ _t445 = cpu->r[1] + 0x00000018u;
|
|
/* 02503A48 */ rbrew_write32(cpu->mem, _t445, cpu->r[0]);
|
|
/* 02503A4C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02503A50 */ _t446 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503A50 */ rbrew_write16(cpu->mem, _t446, (uint16_t)cpu->r[27]);
|
|
/* 02503A54 */ _t447 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02503A54 */ rbrew_write16(cpu->mem, _t447, (uint16_t)cpu->r[5]);
|
|
/* 02503A58 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02503A5C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02503A60 */ _t448 = cpu->r[1] + 0x00000026u;
|
|
/* 02503A60 */ rbrew_write16(cpu->mem, _t448, (uint16_t)cpu->r[27]);
|
|
/* 02503A64 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 02503A68 */ _t449 = cpu->r[1] + 0x00000024u;
|
|
/* 02503A68 */ rbrew_write16(cpu->mem, _t449, (uint16_t)cpu->r[27]);
|
|
/* 02503A6C */ Gambit_fn_02505854(cpu);
|
|
L_02503A70: ; // 0x2503a70
|
|
/* 02503A70 */ cpu->r[3] = cpu->r[28];
|
|
/* 02503A74 */ /* nop */
|
|
/* 02503A78 */ _t450 = cpu->r[1] + 0x00000068u;
|
|
/* 02503A78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t450);
|
|
/* 02503A7C */ _t451 = cpu->r[1] + 0x00000060u;
|
|
/* 02503A7C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t451);
|
|
/* 02503A80 */ _t452 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02503A80 */ _t453 = _t452 & 0x00000001u;
|
|
/* 02503A80 */ if (_t453) goto L_02503A84; // else: addr-0 trap, fall-through
|
|
L_02503A84: ; // 0x2503a84
|
|
/* 02503A84 */ _t454 = cpu->r[1] + 0x00000074u;
|
|
/* 02503A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t454);
|
|
/* 02503A88 */ cpu->lr = cpu->r[0];
|
|
/* 02503A8C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02503A90 */ return;
|
|
}
|
|
|
|
// fn_02503A94 @ 0x2503a94
|
|
void Gambit_fn_02503A94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02503A94: ; // 0x2503a94
|
|
/* 02503A94 */ cpu->r[0] = cpu->lr;
|
|
/* 02503A98 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02503A9C */ cpu->r[10] = cpu->r[10] + 0xFFFFDD20u;
|
|
/* 02503AA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02503AA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503AA0 */ cpu->r[1] = _t0;
|
|
/* 02503AA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02503AA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02503AA8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02503AA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02503AAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02503AAC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02503AB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02503AB4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503AB4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02503AB8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02503ABC */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02503ABC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02503AC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFDBC0u;
|
|
/* 02503AC4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02503AC8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503AC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02503ACC */ _t7 = cpu->r[9] + 0x00000050u;
|
|
/* 02503ACC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02503AD0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02503AD4 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02503AD8 */ cpu->r[12] = rbrew_clz32(cpu->r[3]);
|
|
/* 02503ADC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02503ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02503AE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503AE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02503AE0 */ if (_t9) goto L_02503B00; else goto L_02503AE4;
|
|
L_02503AE4: ; // 0x2503ae4
|
|
/* 02503AE4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02503AE8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02503AE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02503AEC */ cpu->lr = cpu->r[0];
|
|
/* 02503AF0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02503AF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02503AF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02503AF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02503AFC */ return;
|
|
L_02503B00: ; // 0x2503b00
|
|
/* 02503B00 */ cpu->r[4] = cpu->r[31];
|
|
/* 02503B04 */ cpu->r[3] = 0x000001B0u;
|
|
/* 02503B08 */ cpu->r[5] = 0x00000004u;
|
|
/* 02503B0C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02503B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503B14 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503B14 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02503B14 */ if (_t14) goto L_02503B20; else goto L_02503B18;
|
|
L_02503B18: ; // 0x2503b18
|
|
/* 02503B18 */ cpu->r[4] = cpu->r[30];
|
|
/* 02503B1C */ Gambit_fn_02502EA4(cpu);
|
|
L_02503B20: ; // 0x2503b20
|
|
/* 02503B20 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02503B24 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02503B24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02503B28 */ cpu->lr = cpu->r[0];
|
|
/* 02503B2C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02503B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02503B30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02503B34 */ return;
|
|
}
|
|
|
|
// fn_02503AA0 @ 0x2503aa0
|
|
void Gambit_fn_02503AA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02503AA0: ; // 0x2503aa0
|
|
/* 02503AA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02503AA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503AA0 */ cpu->r[1] = _t0;
|
|
/* 02503AA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02503AA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02503AA8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02503AA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02503AAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02503AAC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02503AB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02503AB4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503AB4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02503AB8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02503ABC */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02503ABC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02503AC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFDBC0u;
|
|
/* 02503AC4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02503AC8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503AC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02503ACC */ _t7 = cpu->r[9] + 0x00000050u;
|
|
/* 02503ACC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02503AD0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02503AD4 */ Gambit_fn_020F0AA8(cpu);
|
|
/* 02503AD8 */ cpu->r[12] = rbrew_clz32(cpu->r[3]);
|
|
/* 02503ADC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02503ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02503AE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503AE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02503AE0 */ if (_t9) goto L_02503B00; else goto L_02503AE4;
|
|
L_02503AE4: ; // 0x2503ae4
|
|
/* 02503AE4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02503AE8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02503AE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02503AEC */ cpu->lr = cpu->r[0];
|
|
/* 02503AF0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02503AF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02503AF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02503AF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02503AFC */ return;
|
|
L_02503B00: ; // 0x2503b00
|
|
/* 02503B00 */ cpu->r[4] = cpu->r[31];
|
|
/* 02503B04 */ cpu->r[3] = 0x000001B0u;
|
|
/* 02503B08 */ cpu->r[5] = 0x00000004u;
|
|
/* 02503B0C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02503B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02503B14 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503B14 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02503B14 */ if (_t14) goto L_02503B20; else goto L_02503B18;
|
|
L_02503B18: ; // 0x2503b18
|
|
/* 02503B18 */ cpu->r[4] = cpu->r[30];
|
|
/* 02503B1C */ Gambit_fn_02502EA4(cpu);
|
|
L_02503B20: ; // 0x2503b20
|
|
/* 02503B20 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02503B24 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02503B24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02503B28 */ cpu->lr = cpu->r[0];
|
|
/* 02503B2C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02503B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02503B30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02503B34 */ return;
|
|
}
|
|
|
|
// fn_02503B38 @ 0x2503b38
|
|
void Gambit_fn_02503B38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100;
|
|
|
|
L_02503B38: ; // 0x2503b38
|
|
/* 02503B38 */ cpu->r[0] = cpu->lr;
|
|
/* 02503B3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02503B3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503B3C */ cpu->r[1] = _t0;
|
|
/* 02503B40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503B40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02503B44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503B48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02503B48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02503B4C */ _t3 = cpu->r[31] + 0x00000068u;
|
|
/* 02503B4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02503B50 */ _t4 = cpu->r[31] + 0x00000074u;
|
|
/* 02503B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02503B54 */ _t5 = cpu->r[11] + 0x000046C0u;
|
|
/* 02503B54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02503B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02503B5C */ cpu->r[8] = 0x00000000u;
|
|
/* 02503B60 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02503B60 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02503B60 */ if (_t7) goto L_02503B64; else goto L_02503B70;
|
|
L_02503B64: ; // 0x2503b64
|
|
/* 02503B64 */ _t8 = cpu->r[11] + 0x000046C8u;
|
|
/* 02503B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02503B68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02503B6C */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02503B6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
L_02503B70: ; // 0x2503b70
|
|
/* 02503B70 */ _t10 = cpu->r[31] + 0x00000068u;
|
|
/* 02503B70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02503B74 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 02503B74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02503B78 */ _t12 = cpu->r[31] + 0x00000080u;
|
|
/* 02503B78 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02503B7C */ _t13 = cpu->r[11] + 0x000046C0u;
|
|
/* 02503B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02503B80 */ cpu->r[8] = 0x00000000u;
|
|
/* 02503B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02503B88 */ _t14 = cpu->r[31] + 0x00000080u;
|
|
/* 02503B88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02503B8C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02503B8C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02503B8C */ if (_t16) goto L_02503B90; else goto L_02503B9C;
|
|
L_02503B90: ; // 0x2503b90
|
|
/* 02503B90 */ _t17 = cpu->r[11] + 0x000046C8u;
|
|
/* 02503B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02503B94 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02503B98 */ _t18 = cpu->r[12] + cpu->r[0];
|
|
/* 02503B98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
L_02503B9C: ; // 0x2503b9c
|
|
/* 02503B9C */ _t19 = cpu->r[31] + 0x00000084u;
|
|
/* 02503B9C */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02503BA0 */ _t20 = cpu->r[3] + 0x000046BCu;
|
|
/* 02503BA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02503BA4 */ _t21 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02503BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02503BA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02503BAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503BB0 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02503BB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02503BB4 */ _t23 = cpu->r[31] + 0x00000088u;
|
|
/* 02503BB4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02503BB8 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02503BB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02503BBC */ _t25 = cpu->r[31] + 0x00000080u;
|
|
/* 02503BBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02503BC0 */ _t26 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02503BC0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02503BC4 */ _t27 = cpu->r[3] + 0x00000008u;
|
|
/* 02503BC4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02503BC8 */ _t28 = cpu->r[31] + 0x00000090u;
|
|
/* 02503BC8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 02503BCC */ _t29 = cpu->r[11] + 0x000046D8u;
|
|
/* 02503BCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02503BD0 */ _t30 = cpu->r[31] + 0x00000094u;
|
|
/* 02503BD0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02503BD4 */ _t31 = cpu->r[11] + 0x000046DCu;
|
|
/* 02503BD4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02503BD8 */ _t32 = cpu->r[31] + 0x00000098u;
|
|
/* 02503BD8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 02503BDC */ _t33 = cpu->r[11] + 0x000046E0u;
|
|
/* 02503BDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02503BE0 */ _t34 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02503BE0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02503BE4 */ _t35 = cpu->r[11] + 0x000046E4u;
|
|
/* 02503BE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02503BE8 */ _t36 = cpu->r[31] + 0x000000A0u;
|
|
/* 02503BE8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02503BEC */ _t37 = cpu->r[11] + 0x000046E8u;
|
|
/* 02503BEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02503BF0 */ _t38 = cpu->r[31] + 0x000000A4u;
|
|
/* 02503BF0 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02503BF4 */ _t39 = cpu->r[11] + 0x000046ECu;
|
|
/* 02503BF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02503BF8 */ _t40 = cpu->r[31] + 0x00000084u;
|
|
/* 02503BF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02503BFC */ _t41 = cpu->r[31] + 0x000000A8u;
|
|
/* 02503BFC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02503C00 */ _t42 = cpu->r[11] + 0x00000068u;
|
|
/* 02503C00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02503C04 */ _t43 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02503C04 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02503C08 */ _t44 = cpu->r[11] + 0x00000074u;
|
|
/* 02503C08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02503C0C */ _t45 = cpu->r[31] + 0x000000ACu;
|
|
/* 02503C0C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 02503C10 */ _t46 = cpu->r[31] + 0x000000B0u;
|
|
/* 02503C10 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02503C14 */ _t47 = cpu->r[31] + 0x000000B4u;
|
|
/* 02503C14 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 02503C18 */ _t48 = cpu->r[11] + 0x00000078u;
|
|
/* 02503C18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02503C1C */ _t49 = cpu->r[11] + 0x00000060u;
|
|
/* 02503C1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02503C20 */ _t50 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02503C20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02503C24 */ _t51 = cpu->r[31] + 0x000000B8u;
|
|
/* 02503C24 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[12]);
|
|
/* 02503C28 */ _t52 = cpu->r[31] + 0x000000BCu;
|
|
/* 02503C28 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[13]);
|
|
/* 02503C2C */ _t53 = cpu->r[31] + 0x000000C0u;
|
|
/* 02503C2C */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 02503C30 */ _t54 = cpu->r[11] + 0x00000070u;
|
|
/* 02503C30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02503C34 */ _t55 = cpu->r[11] + 0x00000064u;
|
|
/* 02503C34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02503C38 */ _t56 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02503C38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02503C3C */ _t57 = cpu->r[31] + 0x000000C4u;
|
|
/* 02503C3C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[12]);
|
|
/* 02503C40 */ _t58 = cpu->r[31] + 0x000000C8u;
|
|
/* 02503C40 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 02503C44 */ _t59 = cpu->r[31] + 0x000000CCu;
|
|
/* 02503C44 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 02503C48 */ _t60 = cpu->r[3] + 0x000046BCu;
|
|
/* 02503C48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02503C4C */ _t61 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02503C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02503C50 */ cpu->ctr = cpu->r[0];
|
|
/* 02503C54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503C58 */ _t62 = cpu->r[3] + 0x00000000u;
|
|
/* 02503C58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02503C5C */ _t63 = cpu->r[31] + 0x000000D0u;
|
|
/* 02503C5C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 02503C60 */ _t64 = cpu->r[3] + 0x00000004u;
|
|
/* 02503C60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02503C64 */ _t65 = cpu->r[31] + 0x00000084u;
|
|
/* 02503C64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02503C68 */ _t66 = cpu->r[31] + 0x000000D4u;
|
|
/* 02503C68 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02503C6C */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 02503C6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02503C70 */ _t68 = cpu->r[31] + 0x000000D8u;
|
|
/* 02503C70 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 02503C74 */ _t69 = cpu->r[11] + 0x000046D8u;
|
|
/* 02503C74 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02503C78 */ _t70 = cpu->r[31] + 0x000000DCu;
|
|
/* 02503C78 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[13]);
|
|
/* 02503C7C */ _t71 = cpu->r[11] + 0x000046DCu;
|
|
/* 02503C7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02503C80 */ _t72 = cpu->r[31] + 0x000000E0u;
|
|
/* 02503C80 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[0]);
|
|
/* 02503C84 */ _t73 = cpu->r[11] + 0x000046E0u;
|
|
/* 02503C84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02503C88 */ _t74 = cpu->r[31] + 0x000000E4u;
|
|
/* 02503C88 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[13]);
|
|
/* 02503C8C */ _t75 = cpu->r[11] + 0x000046E4u;
|
|
/* 02503C8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02503C90 */ _t76 = cpu->r[31] + 0x000000E8u;
|
|
/* 02503C90 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[0]);
|
|
/* 02503C94 */ _t77 = cpu->r[11] + 0x000046E8u;
|
|
/* 02503C94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02503C98 */ _t78 = cpu->r[31] + 0x000000ECu;
|
|
/* 02503C98 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[13]);
|
|
/* 02503C9C */ _t79 = cpu->r[11] + 0x000046ECu;
|
|
/* 02503C9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02503CA0 */ _t80 = cpu->r[31] + 0x000000F0u;
|
|
/* 02503CA0 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[0]);
|
|
/* 02503CA4 */ _t81 = cpu->r[11] + 0x00000068u;
|
|
/* 02503CA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02503CA8 */ _t82 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02503CA8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02503CAC */ _t83 = cpu->r[11] + 0x00000074u;
|
|
/* 02503CAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02503CB0 */ _t84 = cpu->r[31] + 0x000000F4u;
|
|
/* 02503CB0 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[12]);
|
|
/* 02503CB4 */ _t85 = cpu->r[31] + 0x000000F8u;
|
|
/* 02503CB4 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]);
|
|
/* 02503CB8 */ _t86 = cpu->r[31] + 0x000000FCu;
|
|
/* 02503CB8 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02503CBC */ _t87 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02503CBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02503CC0 */ _t88 = cpu->r[11] + 0x00000060u;
|
|
/* 02503CC0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02503CC4 */ _t89 = cpu->r[11] + 0x00000078u;
|
|
/* 02503CC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02503CC8 */ _t90 = cpu->r[31] + 0x00000100u;
|
|
/* 02503CC8 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[12]);
|
|
/* 02503CCC */ _t91 = cpu->r[31] + 0x00000104u;
|
|
/* 02503CCC */ rbrew_write_f32(cpu->mem, _t91, cpu->f[13]);
|
|
/* 02503CD0 */ _t92 = cpu->r[31] + 0x00000108u;
|
|
/* 02503CD0 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[0]);
|
|
/* 02503CD4 */ _t93 = cpu->r[11] + 0x00000064u;
|
|
/* 02503CD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02503CD8 */ _t94 = cpu->r[11] + 0x00000070u;
|
|
/* 02503CD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02503CDC */ _t95 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02503CDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02503CE0 */ _t96 = cpu->r[31] + 0x00000110u;
|
|
/* 02503CE0 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[13]);
|
|
/* 02503CE4 */ _t97 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02503CE4 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[12]);
|
|
/* 02503CE8 */ _t98 = cpu->r[31] + 0x00000114u;
|
|
/* 02503CE8 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
|
|
/* 02503CEC */ _t99 = cpu->r[1] + 0x00000014u;
|
|
/* 02503CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02503CF0 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503CF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02503CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02503CF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02503CFC */ return;
|
|
}
|
|
|
|
// fn_02503B3C @ 0x2503b3c
|
|
void Gambit_fn_02503B3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100;
|
|
|
|
L_02503B3C: ; // 0x2503b3c
|
|
/* 02503B3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02503B3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503B3C */ cpu->r[1] = _t0;
|
|
/* 02503B40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503B40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02503B44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503B48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02503B48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02503B4C */ _t3 = cpu->r[31] + 0x00000068u;
|
|
/* 02503B4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02503B50 */ _t4 = cpu->r[31] + 0x00000074u;
|
|
/* 02503B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02503B54 */ _t5 = cpu->r[11] + 0x000046C0u;
|
|
/* 02503B54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02503B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02503B5C */ cpu->r[8] = 0x00000000u;
|
|
/* 02503B60 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02503B60 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02503B60 */ if (_t7) goto L_02503B64; else goto L_02503B70;
|
|
L_02503B64: ; // 0x2503b64
|
|
/* 02503B64 */ _t8 = cpu->r[11] + 0x000046C8u;
|
|
/* 02503B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02503B68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02503B6C */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02503B6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
L_02503B70: ; // 0x2503b70
|
|
/* 02503B70 */ _t10 = cpu->r[31] + 0x00000068u;
|
|
/* 02503B70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02503B74 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 02503B74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02503B78 */ _t12 = cpu->r[31] + 0x00000080u;
|
|
/* 02503B78 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02503B7C */ _t13 = cpu->r[11] + 0x000046C0u;
|
|
/* 02503B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02503B80 */ cpu->r[8] = 0x00000000u;
|
|
/* 02503B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02503B88 */ _t14 = cpu->r[31] + 0x00000080u;
|
|
/* 02503B88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02503B8C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02503B8C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02503B8C */ if (_t16) goto L_02503B90; else goto L_02503B9C;
|
|
L_02503B90: ; // 0x2503b90
|
|
/* 02503B90 */ _t17 = cpu->r[11] + 0x000046C8u;
|
|
/* 02503B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02503B94 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02503B98 */ _t18 = cpu->r[12] + cpu->r[0];
|
|
/* 02503B98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
L_02503B9C: ; // 0x2503b9c
|
|
/* 02503B9C */ _t19 = cpu->r[31] + 0x00000084u;
|
|
/* 02503B9C */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02503BA0 */ _t20 = cpu->r[3] + 0x000046BCu;
|
|
/* 02503BA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02503BA4 */ _t21 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02503BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02503BA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02503BAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503BB0 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02503BB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02503BB4 */ _t23 = cpu->r[31] + 0x00000088u;
|
|
/* 02503BB4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02503BB8 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02503BB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02503BBC */ _t25 = cpu->r[31] + 0x00000080u;
|
|
/* 02503BBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02503BC0 */ _t26 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02503BC0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02503BC4 */ _t27 = cpu->r[3] + 0x00000008u;
|
|
/* 02503BC4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02503BC8 */ _t28 = cpu->r[31] + 0x00000090u;
|
|
/* 02503BC8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 02503BCC */ _t29 = cpu->r[11] + 0x000046D8u;
|
|
/* 02503BCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02503BD0 */ _t30 = cpu->r[31] + 0x00000094u;
|
|
/* 02503BD0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02503BD4 */ _t31 = cpu->r[11] + 0x000046DCu;
|
|
/* 02503BD4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02503BD8 */ _t32 = cpu->r[31] + 0x00000098u;
|
|
/* 02503BD8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 02503BDC */ _t33 = cpu->r[11] + 0x000046E0u;
|
|
/* 02503BDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02503BE0 */ _t34 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02503BE0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02503BE4 */ _t35 = cpu->r[11] + 0x000046E4u;
|
|
/* 02503BE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02503BE8 */ _t36 = cpu->r[31] + 0x000000A0u;
|
|
/* 02503BE8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02503BEC */ _t37 = cpu->r[11] + 0x000046E8u;
|
|
/* 02503BEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02503BF0 */ _t38 = cpu->r[31] + 0x000000A4u;
|
|
/* 02503BF0 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02503BF4 */ _t39 = cpu->r[11] + 0x000046ECu;
|
|
/* 02503BF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02503BF8 */ _t40 = cpu->r[31] + 0x00000084u;
|
|
/* 02503BF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02503BFC */ _t41 = cpu->r[31] + 0x000000A8u;
|
|
/* 02503BFC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02503C00 */ _t42 = cpu->r[11] + 0x00000068u;
|
|
/* 02503C00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02503C04 */ _t43 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02503C04 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02503C08 */ _t44 = cpu->r[11] + 0x00000074u;
|
|
/* 02503C08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02503C0C */ _t45 = cpu->r[31] + 0x000000ACu;
|
|
/* 02503C0C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 02503C10 */ _t46 = cpu->r[31] + 0x000000B0u;
|
|
/* 02503C10 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02503C14 */ _t47 = cpu->r[31] + 0x000000B4u;
|
|
/* 02503C14 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 02503C18 */ _t48 = cpu->r[11] + 0x00000078u;
|
|
/* 02503C18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02503C1C */ _t49 = cpu->r[11] + 0x00000060u;
|
|
/* 02503C1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02503C20 */ _t50 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02503C20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02503C24 */ _t51 = cpu->r[31] + 0x000000B8u;
|
|
/* 02503C24 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[12]);
|
|
/* 02503C28 */ _t52 = cpu->r[31] + 0x000000BCu;
|
|
/* 02503C28 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[13]);
|
|
/* 02503C2C */ _t53 = cpu->r[31] + 0x000000C0u;
|
|
/* 02503C2C */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 02503C30 */ _t54 = cpu->r[11] + 0x00000070u;
|
|
/* 02503C30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02503C34 */ _t55 = cpu->r[11] + 0x00000064u;
|
|
/* 02503C34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02503C38 */ _t56 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02503C38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02503C3C */ _t57 = cpu->r[31] + 0x000000C4u;
|
|
/* 02503C3C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[12]);
|
|
/* 02503C40 */ _t58 = cpu->r[31] + 0x000000C8u;
|
|
/* 02503C40 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 02503C44 */ _t59 = cpu->r[31] + 0x000000CCu;
|
|
/* 02503C44 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 02503C48 */ _t60 = cpu->r[3] + 0x000046BCu;
|
|
/* 02503C48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02503C4C */ _t61 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02503C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02503C50 */ cpu->ctr = cpu->r[0];
|
|
/* 02503C54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503C58 */ _t62 = cpu->r[3] + 0x00000000u;
|
|
/* 02503C58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02503C5C */ _t63 = cpu->r[31] + 0x000000D0u;
|
|
/* 02503C5C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 02503C60 */ _t64 = cpu->r[3] + 0x00000004u;
|
|
/* 02503C60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02503C64 */ _t65 = cpu->r[31] + 0x00000084u;
|
|
/* 02503C64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02503C68 */ _t66 = cpu->r[31] + 0x000000D4u;
|
|
/* 02503C68 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02503C6C */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 02503C6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02503C70 */ _t68 = cpu->r[31] + 0x000000D8u;
|
|
/* 02503C70 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 02503C74 */ _t69 = cpu->r[11] + 0x000046D8u;
|
|
/* 02503C74 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02503C78 */ _t70 = cpu->r[31] + 0x000000DCu;
|
|
/* 02503C78 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[13]);
|
|
/* 02503C7C */ _t71 = cpu->r[11] + 0x000046DCu;
|
|
/* 02503C7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02503C80 */ _t72 = cpu->r[31] + 0x000000E0u;
|
|
/* 02503C80 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[0]);
|
|
/* 02503C84 */ _t73 = cpu->r[11] + 0x000046E0u;
|
|
/* 02503C84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02503C88 */ _t74 = cpu->r[31] + 0x000000E4u;
|
|
/* 02503C88 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[13]);
|
|
/* 02503C8C */ _t75 = cpu->r[11] + 0x000046E4u;
|
|
/* 02503C8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02503C90 */ _t76 = cpu->r[31] + 0x000000E8u;
|
|
/* 02503C90 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[0]);
|
|
/* 02503C94 */ _t77 = cpu->r[11] + 0x000046E8u;
|
|
/* 02503C94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02503C98 */ _t78 = cpu->r[31] + 0x000000ECu;
|
|
/* 02503C98 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[13]);
|
|
/* 02503C9C */ _t79 = cpu->r[11] + 0x000046ECu;
|
|
/* 02503C9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02503CA0 */ _t80 = cpu->r[31] + 0x000000F0u;
|
|
/* 02503CA0 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[0]);
|
|
/* 02503CA4 */ _t81 = cpu->r[11] + 0x00000068u;
|
|
/* 02503CA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02503CA8 */ _t82 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02503CA8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02503CAC */ _t83 = cpu->r[11] + 0x00000074u;
|
|
/* 02503CAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02503CB0 */ _t84 = cpu->r[31] + 0x000000F4u;
|
|
/* 02503CB0 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[12]);
|
|
/* 02503CB4 */ _t85 = cpu->r[31] + 0x000000F8u;
|
|
/* 02503CB4 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]);
|
|
/* 02503CB8 */ _t86 = cpu->r[31] + 0x000000FCu;
|
|
/* 02503CB8 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02503CBC */ _t87 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02503CBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02503CC0 */ _t88 = cpu->r[11] + 0x00000060u;
|
|
/* 02503CC0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02503CC4 */ _t89 = cpu->r[11] + 0x00000078u;
|
|
/* 02503CC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02503CC8 */ _t90 = cpu->r[31] + 0x00000100u;
|
|
/* 02503CC8 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[12]);
|
|
/* 02503CCC */ _t91 = cpu->r[31] + 0x00000104u;
|
|
/* 02503CCC */ rbrew_write_f32(cpu->mem, _t91, cpu->f[13]);
|
|
/* 02503CD0 */ _t92 = cpu->r[31] + 0x00000108u;
|
|
/* 02503CD0 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[0]);
|
|
/* 02503CD4 */ _t93 = cpu->r[11] + 0x00000064u;
|
|
/* 02503CD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02503CD8 */ _t94 = cpu->r[11] + 0x00000070u;
|
|
/* 02503CD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02503CDC */ _t95 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02503CDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02503CE0 */ _t96 = cpu->r[31] + 0x00000110u;
|
|
/* 02503CE0 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[13]);
|
|
/* 02503CE4 */ _t97 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02503CE4 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[12]);
|
|
/* 02503CE8 */ _t98 = cpu->r[31] + 0x00000114u;
|
|
/* 02503CE8 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
|
|
/* 02503CEC */ _t99 = cpu->r[1] + 0x00000014u;
|
|
/* 02503CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02503CF0 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503CF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02503CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02503CF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02503CFC */ return;
|
|
}
|
|
|
|
// fn_02503D00 @ 0x2503d00
|
|
void Gambit_fn_02503D00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_02503D00: ; // 0x2503d00
|
|
/* 02503D00 */ cpu->r[0] = cpu->lr;
|
|
/* 02503D04 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02503D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503D04 */ cpu->r[1] = _t0;
|
|
/* 02503D08 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503D08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02503D0C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02503D0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02503D10 */ _t3 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02503D10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02503D14 */ _t4 = cpu->r[3] + 0x00000078u;
|
|
/* 02503D14 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02503D18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503D1C */ _t5 = cpu->r[3] + 0x00000074u;
|
|
/* 02503D1C */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02503D20 */ Gambit_fn_02503B38(cpu);
|
|
/* 02503D24 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02503D28 */ cpu->r[12] = 0x00000000u;
|
|
/* 02503D2C */ _t6 = cpu->r[11] + 0xFFFFDCA4u;
|
|
/* 02503D2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02503D30 */ _t7 = cpu->r[31] + 0x00000124u;
|
|
/* 02503D30 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02503D34 */ _t8 = cpu->r[31] + 0x00000118u;
|
|
/* 02503D34 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02503D38 */ cpu->r[11] = 0x00000001u;
|
|
/* 02503D3C */ _t9 = cpu->r[31] + 0x00000125u;
|
|
/* 02503D3C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 02503D40 */ _t10 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02503D40 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02503D44 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02503D48 */ _t11 = cpu->r[31] + 0x00000126u;
|
|
/* 02503D48 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02503D4C */ _t12 = cpu->r[9] + 0x00006338u;
|
|
/* 02503D4C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02503D4C */ cpu->r[9] = _t12;
|
|
/* 02503D50 */ _t13 = cpu->r[31] + 0x00000128u;
|
|
/* 02503D50 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[9]);
|
|
/* 02503D54 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02503D54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02503D58 */ _t15 = cpu->r[31] + 0x00000044u;
|
|
/* 02503D58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02503D5C */ _t16 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02503D5C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02503D60 */ _t17 = cpu->r[9] + 0x00000008u;
|
|
/* 02503D60 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02503D64 */ _t18 = cpu->r[31] + 0x00000134u;
|
|
/* 02503D64 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[9]);
|
|
/* 02503D68 */ _t19 = cpu->r[31] + 0x00000130u;
|
|
/* 02503D68 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[8]);
|
|
/* 02503D6C */ _t20 = cpu->r[31] + 0x00000138u;
|
|
/* 02503D6C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02503D70 */ _t21 = cpu->r[31] + 0x0000013Cu;
|
|
/* 02503D70 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[8]);
|
|
/* 02503D74 */ _t22 = cpu->r[10] + 0x00000024u;
|
|
/* 02503D74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02503D78 */ _t23 = cpu->r[31] + 0x0000014Cu;
|
|
/* 02503D78 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02503D7C */ _t24 = cpu->r[10] + 0x00000028u;
|
|
/* 02503D7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02503D80 */ _t25 = cpu->r[31] + 0x00000150u;
|
|
/* 02503D80 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 02503D84 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02503D84 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02503D88 */ _t27 = cpu->r[31] + 0x000001ACu;
|
|
/* 02503D88 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02503D8C */ _t28 = cpu->r[31] + 0x00000140u;
|
|
/* 02503D8C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02503D90 */ cpu->f[5] = cpu->f[6] - cpu->f[8];
|
|
/* 02503D94 */ /* nop */
|
|
/* 02503D98 */ _t29 = cpu->r[31] + 0x00000144u;
|
|
/* 02503D98 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02503D9C */ /* nop */
|
|
/* 02503DA0 */ /* nop */
|
|
/* 02503DA4 */ /* nop */
|
|
/* 02503DA8 */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 02503DA8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[5]);
|
|
/* 02503DAC */ /* nop */
|
|
/* 02503DB0 */ /* nop */
|
|
/* 02503DB4 */ _t31 = cpu->r[31] + 0x00000154u;
|
|
/* 02503DB4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[6]);
|
|
/* 02503DB8 */ /* nop */
|
|
/* 02503DBC */ _t32 = cpu->r[31] + 0x00000188u;
|
|
/* 02503DBC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02503DC0 */ /* nop */
|
|
/* 02503DC4 */ /* nop */
|
|
/* 02503DC8 */ _t33 = cpu->r[31] + 0x00000194u;
|
|
/* 02503DC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02503DCC */ /* nop */
|
|
/* 02503DD0 */ _t34 = cpu->r[31] + 0x00000148u;
|
|
/* 02503DD0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[6]);
|
|
/* 02503DD4 */ cpu->f[11] = fma(cpu->f[5], cpu->f[10], cpu->f[11]);
|
|
/* 02503DD8 */ _t35 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02503DD8 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02503DDC */ cpu->f[0] = fma(cpu->f[5], cpu->f[13], cpu->f[12]);
|
|
/* 02503DE0 */ _t36 = cpu->r[31] + 0x00000016u;
|
|
/* 02503DE0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02503DE4 */ /* nop */
|
|
/* 02503DE8 */ _t37 = cpu->r[31] + 0x000001A0u;
|
|
/* 02503DE8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02503DEC */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503DEC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02503DF0 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02503DF4 */ /* nop */
|
|
/* 02503DF8 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02503DF8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
|
|
/* 02503DFC */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02503DFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02503E00 */ cpu->f[10] = fma(cpu->f[5], cpu->f[9], cpu->f[12]);
|
|
/* 02503E04 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02503E04 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02503E08 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02503E08 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02503E0C */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02503E0C */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 02503E10 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02503E10 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02503E14 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02503E14 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]);
|
|
/* 02503E18 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02503E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02503E1C */ _t48 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02503E1C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
|
|
/* 02503E20 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503E20 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02503E24 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02503E28 */ _t51 = cpu->r[31] + 0x00000158u;
|
|
/* 02503E28 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[7]);
|
|
/* 02503E2C */ _t52 = cpu->r[31] + 0x00000160u;
|
|
/* 02503E2C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02503E30 */ _t53 = cpu->r[31] + 0x00000168u;
|
|
/* 02503E30 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[11]);
|
|
/* 02503E34 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02503E38 */ _t54 = cpu->r[31] + 0x00000164u;
|
|
/* 02503E38 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
/* 02503E3C */ /* nop */
|
|
/* 02503E40 */ _t55 = cpu->r[31] + 0x0000016Cu;
|
|
/* 02503E40 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 02503E44 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02503E48 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02503E4C */ Gambit_fn_0205BECC(cpu);
|
|
/* 02503E50 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 02503E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02503E54 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503E54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02503E58 */ cpu->lr = cpu->r[0];
|
|
/* 02503E5C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02503E60 */ return;
|
|
}
|
|
|
|
// fn_02503D04 @ 0x2503d04
|
|
void Gambit_fn_02503D04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_02503D04: ; // 0x2503d04
|
|
/* 02503D04 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02503D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503D04 */ cpu->r[1] = _t0;
|
|
/* 02503D08 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503D08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02503D0C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02503D0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02503D10 */ _t3 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02503D10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02503D14 */ _t4 = cpu->r[3] + 0x00000078u;
|
|
/* 02503D14 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02503D18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503D1C */ _t5 = cpu->r[3] + 0x00000074u;
|
|
/* 02503D1C */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02503D20 */ Gambit_fn_02503B38(cpu);
|
|
/* 02503D24 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02503D28 */ cpu->r[12] = 0x00000000u;
|
|
/* 02503D2C */ _t6 = cpu->r[11] + 0xFFFFDCA4u;
|
|
/* 02503D2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02503D30 */ _t7 = cpu->r[31] + 0x00000124u;
|
|
/* 02503D30 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02503D34 */ _t8 = cpu->r[31] + 0x00000118u;
|
|
/* 02503D34 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02503D38 */ cpu->r[11] = 0x00000001u;
|
|
/* 02503D3C */ _t9 = cpu->r[31] + 0x00000125u;
|
|
/* 02503D3C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 02503D40 */ _t10 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02503D40 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02503D44 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02503D48 */ _t11 = cpu->r[31] + 0x00000126u;
|
|
/* 02503D48 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02503D4C */ _t12 = cpu->r[9] + 0x00006338u;
|
|
/* 02503D4C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02503D4C */ cpu->r[9] = _t12;
|
|
/* 02503D50 */ _t13 = cpu->r[31] + 0x00000128u;
|
|
/* 02503D50 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[9]);
|
|
/* 02503D54 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02503D54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02503D58 */ _t15 = cpu->r[31] + 0x00000044u;
|
|
/* 02503D58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02503D5C */ _t16 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02503D5C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02503D60 */ _t17 = cpu->r[9] + 0x00000008u;
|
|
/* 02503D60 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02503D64 */ _t18 = cpu->r[31] + 0x00000134u;
|
|
/* 02503D64 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[9]);
|
|
/* 02503D68 */ _t19 = cpu->r[31] + 0x00000130u;
|
|
/* 02503D68 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[8]);
|
|
/* 02503D6C */ _t20 = cpu->r[31] + 0x00000138u;
|
|
/* 02503D6C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02503D70 */ _t21 = cpu->r[31] + 0x0000013Cu;
|
|
/* 02503D70 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[8]);
|
|
/* 02503D74 */ _t22 = cpu->r[10] + 0x00000024u;
|
|
/* 02503D74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02503D78 */ _t23 = cpu->r[31] + 0x0000014Cu;
|
|
/* 02503D78 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02503D7C */ _t24 = cpu->r[10] + 0x00000028u;
|
|
/* 02503D7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02503D80 */ _t25 = cpu->r[31] + 0x00000150u;
|
|
/* 02503D80 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 02503D84 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02503D84 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02503D88 */ _t27 = cpu->r[31] + 0x000001ACu;
|
|
/* 02503D88 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02503D8C */ _t28 = cpu->r[31] + 0x00000140u;
|
|
/* 02503D8C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02503D90 */ cpu->f[5] = cpu->f[6] - cpu->f[8];
|
|
/* 02503D94 */ /* nop */
|
|
/* 02503D98 */ _t29 = cpu->r[31] + 0x00000144u;
|
|
/* 02503D98 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02503D9C */ /* nop */
|
|
/* 02503DA0 */ /* nop */
|
|
/* 02503DA4 */ /* nop */
|
|
/* 02503DA8 */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 02503DA8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[5]);
|
|
/* 02503DAC */ /* nop */
|
|
/* 02503DB0 */ /* nop */
|
|
/* 02503DB4 */ _t31 = cpu->r[31] + 0x00000154u;
|
|
/* 02503DB4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[6]);
|
|
/* 02503DB8 */ /* nop */
|
|
/* 02503DBC */ _t32 = cpu->r[31] + 0x00000188u;
|
|
/* 02503DBC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02503DC0 */ /* nop */
|
|
/* 02503DC4 */ /* nop */
|
|
/* 02503DC8 */ _t33 = cpu->r[31] + 0x00000194u;
|
|
/* 02503DC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02503DCC */ /* nop */
|
|
/* 02503DD0 */ _t34 = cpu->r[31] + 0x00000148u;
|
|
/* 02503DD0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[6]);
|
|
/* 02503DD4 */ cpu->f[11] = fma(cpu->f[5], cpu->f[10], cpu->f[11]);
|
|
/* 02503DD8 */ _t35 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02503DD8 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02503DDC */ cpu->f[0] = fma(cpu->f[5], cpu->f[13], cpu->f[12]);
|
|
/* 02503DE0 */ _t36 = cpu->r[31] + 0x00000016u;
|
|
/* 02503DE0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02503DE4 */ /* nop */
|
|
/* 02503DE8 */ _t37 = cpu->r[31] + 0x000001A0u;
|
|
/* 02503DE8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02503DEC */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503DEC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02503DF0 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02503DF4 */ /* nop */
|
|
/* 02503DF8 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02503DF8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
|
|
/* 02503DFC */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02503DFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02503E00 */ cpu->f[10] = fma(cpu->f[5], cpu->f[9], cpu->f[12]);
|
|
/* 02503E04 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02503E04 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02503E08 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02503E08 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02503E0C */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02503E0C */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 02503E10 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02503E10 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02503E14 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02503E14 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]);
|
|
/* 02503E18 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02503E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02503E1C */ _t48 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02503E1C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
|
|
/* 02503E20 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503E20 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02503E24 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02503E28 */ _t51 = cpu->r[31] + 0x00000158u;
|
|
/* 02503E28 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[7]);
|
|
/* 02503E2C */ _t52 = cpu->r[31] + 0x00000160u;
|
|
/* 02503E2C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02503E30 */ _t53 = cpu->r[31] + 0x00000168u;
|
|
/* 02503E30 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[11]);
|
|
/* 02503E34 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02503E38 */ _t54 = cpu->r[31] + 0x00000164u;
|
|
/* 02503E38 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
/* 02503E3C */ /* nop */
|
|
/* 02503E40 */ _t55 = cpu->r[31] + 0x0000016Cu;
|
|
/* 02503E40 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 02503E44 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02503E48 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02503E4C */ Gambit_fn_0205BECC(cpu);
|
|
/* 02503E50 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 02503E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02503E54 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02503E54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02503E58 */ cpu->lr = cpu->r[0];
|
|
/* 02503E5C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02503E60 */ return;
|
|
}
|
|
|
|
// fn_02503E64 @ 0x2503e64
|
|
void Gambit_fn_02503E64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_0205C0D4: ; // 0x205c0d4
|
|
/* 0205C0D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0205C0D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0205C0D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0205C0D8 */ cpu->r[1] = _t0;
|
|
/* 0205C0DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0205C0DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0205C0E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0205C0E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0205C0E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0205C0E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0205C0E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0205C0EC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0205C0EC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0205C0F0 */ /* nop */
|
|
/* 0205C0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0205C0F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0205C0FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205C0FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0205C0FC */ if (_t6) goto L_0205C100; else goto L_0205C114;
|
|
L_0205C100: ; // 0x205c100
|
|
/* 0205C100 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0205C100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0205C104 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0205C104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0205C108 */ cpu->ctr = cpu->r[0];
|
|
/* 0205C10C */ cpu->r[3] = cpu->r[30];
|
|
/* 0205C110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0205C114: ; // 0x205c114
|
|
/* 0205C114 */ cpu->r[3] = cpu->r[30];
|
|
/* 0205C118 */ cpu->r[4] = cpu->r[31];
|
|
/* 0205C11C */ Gambit_fn_0205C04C(cpu);
|
|
/* 0205C120 */ cpu->r[3] = cpu->r[30];
|
|
/* 0205C124 */ /* nop */
|
|
/* 0205C128 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0205C12C */ cpu->r[3] = cpu->r[30];
|
|
/* 0205C130 */ Gambit_fn_0205BECC(cpu);
|
|
/* 0205C134 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0205C134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0205C138 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0205C138 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0205C13C */ cpu->lr = cpu->r[0];
|
|
/* 0205C140 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0205C140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0205C144 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0205C148 */ return;
|
|
L_02503E64: ; // 0x2503e64
|
|
/* 02503E64 */ cpu->r[12] = cpu->r[3];
|
|
/* 02503E68 */ _t12 = cpu->r[12] + 0x00000124u;
|
|
/* 02503E68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02503E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02503E70 */ cpu->r[11] = 0x00000000u;
|
|
/* 02503E74 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503E74 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02503E74 */ if (_t14) goto L_02503E98; else goto L_02503E78;
|
|
L_02503E78: ; // 0x2503e78
|
|
/* 02503E78 */ _t15 = cpu->r[12] + 0x00000124u;
|
|
/* 02503E78 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[11]);
|
|
/* 02503E7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02503E80 */ _t16 = cpu->r[12] + 0x00000125u;
|
|
/* 02503E80 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[11]);
|
|
/* 02503E84 */ cpu->r[4] = 0x00000001u;
|
|
/* 02503E88 */ _t17 = cpu->r[12] + 0x00000126u;
|
|
/* 02503E88 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
|
|
/* 02503E8C */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02503E90 */ _t18 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02503E90 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02503E94 */ goto L_0205C0D4;
|
|
L_02503E98: ; // 0x2503e98
|
|
/* 02503E98 */ _t19 = cpu->r[12] + 0x00000125u;
|
|
/* 02503E98 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02503E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02503EA0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02503EA0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02503EA0 */ if (_t21) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02503EA0 */ goto L_02503EA4;
|
|
L_02503EA4: ; // 0x2503ea4
|
|
/* 02503EA4 */ _t22 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02503EA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02503EA8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02503EAC */ _t23 = cpu->r[12] + 0x00000124u;
|
|
/* 02503EAC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 02503EB0 */ cpu->r[10] = (uint32_t)(-(int32_t)cpu->r[10]);
|
|
/* 02503EB4 */ _t24 = cpu->r[12] + 0x00000125u;
|
|
/* 02503EB4 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[11]);
|
|
/* 02503EB8 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02503EBC */ _t25 = cpu->r[12] + 0x00000126u;
|
|
/* 02503EBC */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[4]);
|
|
/* 02503EC0 */ _t26 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02503EC0 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02503EC4 */ goto L_0205C0D4;
|
|
}
|
|
|
|
// fn_02503EC8 @ 0x2503ec8
|
|
void Gambit_fn_02503EC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68;
|
|
|
|
L_02503EC8: ; // 0x2503ec8
|
|
/* 02503EC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02503ECC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02503ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503ECC */ cpu->r[1] = _t0;
|
|
/* 02503ED0 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02503ED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02503ED4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503ED8 */ _t2 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02503ED8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02503EDC */ Gambit_fn_02503E64(cpu);
|
|
/* 02503EE0 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02503EE4 */ Gambit_fn_0205BFDC(cpu);
|
|
/* 02503EE8 */ _t3 = cpu->r[31] + 0x00000140u;
|
|
/* 02503EE8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02503EEC */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 02503EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02503EF0 */ _t5 = cpu->r[31] + 0x0000014Cu;
|
|
/* 02503EF0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[9]);
|
|
/* 02503EF4 */ _t6 = cpu->r[31] + 0x00000144u;
|
|
/* 02503EF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02503EF8 */ _t7 = cpu->r[31] + 0x00000148u;
|
|
/* 02503EF8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02503EFC */ _t8 = cpu->r[31] + 0x00000150u;
|
|
/* 02503EFC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[10]);
|
|
/* 02503F00 */ _t9 = cpu->r[31] + 0x00000154u;
|
|
/* 02503F00 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[3]);
|
|
/* 02503F04 */ _t10 = cpu->r[12] + 0x00000024u;
|
|
/* 02503F04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02503F08 */ _t11 = cpu->r[31] + 0x00000140u;
|
|
/* 02503F08 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 02503F0C */ _t12 = cpu->r[12] + 0x00000028u;
|
|
/* 02503F0C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02503F10 */ /* nop */
|
|
/* 02503F14 */ _t13 = cpu->r[31] + 0x00000144u;
|
|
/* 02503F14 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[12]);
|
|
/* 02503F18 */ /* nop */
|
|
/* 02503F1C */ _t14 = cpu->r[31] + 0x00000158u;
|
|
/* 02503F1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02503F20 */ /* nop */
|
|
/* 02503F24 */ /* nop */
|
|
/* 02503F28 */ _t15 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02503F28 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02503F2C */ _t16 = cpu->r[31] + 0x000001ACu;
|
|
/* 02503F2C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02503F30 */ _t17 = cpu->r[31] + 0x00000148u;
|
|
/* 02503F30 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[4]);
|
|
/* 02503F34 */ cpu->f[2] = cpu->f[4] - cpu->f[7];
|
|
/* 02503F38 */ /* nop */
|
|
/* 02503F3C */ /* nop */
|
|
/* 02503F40 */ _t18 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02503F40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02503F44 */ /* nop */
|
|
/* 02503F48 */ _t19 = cpu->r[31] + 0x00000164u;
|
|
/* 02503F48 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02503F4C */ /* nop */
|
|
/* 02503F50 */ /* nop */
|
|
/* 02503F54 */ /* nop */
|
|
/* 02503F58 */ _t20 = cpu->r[31] + 0x00000188u;
|
|
/* 02503F58 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02503F5C */ /* nop */
|
|
/* 02503F60 */ _t21 = cpu->r[31] + 0x00000168u;
|
|
/* 02503F60 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02503F64 */ /* nop */
|
|
/* 02503F68 */ _t22 = cpu->r[31] + 0x00000194u;
|
|
/* 02503F68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02503F6C */ cpu->f[12] = fma(cpu->f[2], cpu->f[11], cpu->f[10]);
|
|
/* 02503F70 */ _t23 = cpu->r[31] + 0x00000160u;
|
|
/* 02503F70 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02503F74 */ cpu->f[7] = fma(cpu->f[2], cpu->f[0], cpu->f[13]);
|
|
/* 02503F78 */ _t24 = cpu->r[31] + 0x000001A0u;
|
|
/* 02503F78 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02503F7C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02503F7C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[12]);
|
|
/* 02503F80 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02503F80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02503F84 */ _t27 = cpu->r[31] + 0x0000016Cu;
|
|
/* 02503F84 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[8]);
|
|
/* 02503F88 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02503F88 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[7]);
|
|
/* 02503F8C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02503F8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02503F90 */ cpu->f[11] = fma(cpu->f[2], cpu->f[10], cpu->f[9]);
|
|
/* 02503F94 */ _t30 = cpu->r[1] + 0x00000038u;
|
|
/* 02503F94 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02503F98 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503F98 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[11]);
|
|
/* 02503F9C */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02503FA0 */ _t33 = cpu->r[1] + 0x00000038u;
|
|
/* 02503FA0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02503FA4 */ /* nop */
|
|
/* 02503FA8 */ cpu->f[9] = cpu->f[4] - cpu->f[3];
|
|
/* 02503FAC */ _t34 = cpu->r[31] + 0x00000158u;
|
|
/* 02503FAC */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 02503FB0 */ /* nop */
|
|
/* 02503FB4 */ _t35 = cpu->r[1] + 0x00000040u;
|
|
/* 02503FB4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02503FB8 */ _t36 = cpu->r[1] + 0x00000040u;
|
|
/* 02503FB8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02503FBC */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02503FBC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02503FC0 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02503FC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02503FC4 */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 02503FC4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[9]);
|
|
/* 02503FC8 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02503FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02503FCC */ /* nop */
|
|
/* 02503FD0 */ _t41 = cpu->r[1] + 0x00000020u;
|
|
/* 02503FD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02503FD4 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02503FD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02503FD8 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02503FD8 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 02503FDC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02503FDC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02503FE0 */ _t45 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02503FE0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 02503FE4 */ /* nop */
|
|
/* 02503FE8 */ /* nop */
|
|
/* 02503FEC */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02503FEC */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02503FF0 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02503FF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02503FF4 */ /* nop */
|
|
/* 02503FF8 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503FF8 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
/* 02503FFC */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503FFC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02504000 */ /* nop */
|
|
/* 02504004 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02504008 */ _t51 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02504008 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[11]);
|
|
/* 0250400C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0250400C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02504010 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02504010 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02504014 */ _t54 = cpu->r[1] + 0x00000030u;
|
|
/* 02504014 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02504018 */ cpu->f[8] = cpu->f[6] - cpu->f[8];
|
|
/* 0250401C */ _t55 = cpu->r[31] + 0x00000130u;
|
|
/* 0250401C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 02504020 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504020 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 02504024 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504024 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02504028 */ _t58 = cpu->r[1] + 0x00000034u;
|
|
/* 02504028 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[8]);
|
|
/* 0250402C */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 0250402C */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02504030 */ _t60 = cpu->r[31] + 0x00000138u;
|
|
/* 02504030 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[12]);
|
|
/* 02504034 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 02504034 */ rbrew_write32(cpu->mem, _t61, cpu->r[10]);
|
|
/* 02504038 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02504038 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 0250403C */ _t63 = cpu->r[31] + 0x00000128u;
|
|
/* 0250403C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02504040 */ _t64 = cpu->r[31] + 0x0000013Cu;
|
|
/* 02504040 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 02504044 */ _t65 = cpu->r[31] + 0x00000134u;
|
|
/* 02504044 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[7]);
|
|
/* 02504048 */ _t66 = cpu->r[31] + 0x00000160u;
|
|
/* 02504048 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[6]);
|
|
/* 0250404C */ _t67 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250404C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02504050 */ _t68 = cpu->r[1] + 0x00000054u;
|
|
/* 02504050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02504054 */ cpu->lr = cpu->r[0];
|
|
/* 02504058 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0250405C */ return;
|
|
}
|
|
|
|
// fn_02503ECC @ 0x2503ecc
|
|
void Gambit_fn_02503ECC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68;
|
|
|
|
L_02503ECC: ; // 0x2503ecc
|
|
/* 02503ECC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02503ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503ECC */ cpu->r[1] = _t0;
|
|
/* 02503ED0 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02503ED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02503ED4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503ED8 */ _t2 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02503ED8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02503EDC */ Gambit_fn_02503E64(cpu);
|
|
/* 02503EE0 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02503EE4 */ Gambit_fn_0205BFDC(cpu);
|
|
/* 02503EE8 */ _t3 = cpu->r[31] + 0x00000140u;
|
|
/* 02503EE8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02503EEC */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 02503EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02503EF0 */ _t5 = cpu->r[31] + 0x0000014Cu;
|
|
/* 02503EF0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[9]);
|
|
/* 02503EF4 */ _t6 = cpu->r[31] + 0x00000144u;
|
|
/* 02503EF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02503EF8 */ _t7 = cpu->r[31] + 0x00000148u;
|
|
/* 02503EF8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02503EFC */ _t8 = cpu->r[31] + 0x00000150u;
|
|
/* 02503EFC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[10]);
|
|
/* 02503F00 */ _t9 = cpu->r[31] + 0x00000154u;
|
|
/* 02503F00 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[3]);
|
|
/* 02503F04 */ _t10 = cpu->r[12] + 0x00000024u;
|
|
/* 02503F04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02503F08 */ _t11 = cpu->r[31] + 0x00000140u;
|
|
/* 02503F08 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 02503F0C */ _t12 = cpu->r[12] + 0x00000028u;
|
|
/* 02503F0C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02503F10 */ /* nop */
|
|
/* 02503F14 */ _t13 = cpu->r[31] + 0x00000144u;
|
|
/* 02503F14 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[12]);
|
|
/* 02503F18 */ /* nop */
|
|
/* 02503F1C */ _t14 = cpu->r[31] + 0x00000158u;
|
|
/* 02503F1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02503F20 */ /* nop */
|
|
/* 02503F24 */ /* nop */
|
|
/* 02503F28 */ _t15 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02503F28 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02503F2C */ _t16 = cpu->r[31] + 0x000001ACu;
|
|
/* 02503F2C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02503F30 */ _t17 = cpu->r[31] + 0x00000148u;
|
|
/* 02503F30 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[4]);
|
|
/* 02503F34 */ cpu->f[2] = cpu->f[4] - cpu->f[7];
|
|
/* 02503F38 */ /* nop */
|
|
/* 02503F3C */ /* nop */
|
|
/* 02503F40 */ _t18 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02503F40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02503F44 */ /* nop */
|
|
/* 02503F48 */ _t19 = cpu->r[31] + 0x00000164u;
|
|
/* 02503F48 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02503F4C */ /* nop */
|
|
/* 02503F50 */ /* nop */
|
|
/* 02503F54 */ /* nop */
|
|
/* 02503F58 */ _t20 = cpu->r[31] + 0x00000188u;
|
|
/* 02503F58 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02503F5C */ /* nop */
|
|
/* 02503F60 */ _t21 = cpu->r[31] + 0x00000168u;
|
|
/* 02503F60 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02503F64 */ /* nop */
|
|
/* 02503F68 */ _t22 = cpu->r[31] + 0x00000194u;
|
|
/* 02503F68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02503F6C */ cpu->f[12] = fma(cpu->f[2], cpu->f[11], cpu->f[10]);
|
|
/* 02503F70 */ _t23 = cpu->r[31] + 0x00000160u;
|
|
/* 02503F70 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02503F74 */ cpu->f[7] = fma(cpu->f[2], cpu->f[0], cpu->f[13]);
|
|
/* 02503F78 */ _t24 = cpu->r[31] + 0x000001A0u;
|
|
/* 02503F78 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02503F7C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02503F7C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[12]);
|
|
/* 02503F80 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02503F80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02503F84 */ _t27 = cpu->r[31] + 0x0000016Cu;
|
|
/* 02503F84 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[8]);
|
|
/* 02503F88 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02503F88 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[7]);
|
|
/* 02503F8C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02503F8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02503F90 */ cpu->f[11] = fma(cpu->f[2], cpu->f[10], cpu->f[9]);
|
|
/* 02503F94 */ _t30 = cpu->r[1] + 0x00000038u;
|
|
/* 02503F94 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02503F98 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503F98 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[11]);
|
|
/* 02503F9C */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02503F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02503FA0 */ _t33 = cpu->r[1] + 0x00000038u;
|
|
/* 02503FA0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02503FA4 */ /* nop */
|
|
/* 02503FA8 */ cpu->f[9] = cpu->f[4] - cpu->f[3];
|
|
/* 02503FAC */ _t34 = cpu->r[31] + 0x00000158u;
|
|
/* 02503FAC */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 02503FB0 */ /* nop */
|
|
/* 02503FB4 */ _t35 = cpu->r[1] + 0x00000040u;
|
|
/* 02503FB4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02503FB8 */ _t36 = cpu->r[1] + 0x00000040u;
|
|
/* 02503FB8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02503FBC */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02503FBC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02503FC0 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02503FC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02503FC4 */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 02503FC4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[9]);
|
|
/* 02503FC8 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02503FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02503FCC */ /* nop */
|
|
/* 02503FD0 */ _t41 = cpu->r[1] + 0x00000020u;
|
|
/* 02503FD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02503FD4 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02503FD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02503FD8 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02503FD8 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 02503FDC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02503FDC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02503FE0 */ _t45 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02503FE0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 02503FE4 */ /* nop */
|
|
/* 02503FE8 */ /* nop */
|
|
/* 02503FEC */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02503FEC */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02503FF0 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02503FF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02503FF4 */ /* nop */
|
|
/* 02503FF8 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503FF8 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
/* 02503FFC */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503FFC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02504000 */ /* nop */
|
|
/* 02504004 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02504008 */ _t51 = cpu->r[31] + 0x0000012Cu;
|
|
/* 02504008 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[11]);
|
|
/* 0250400C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0250400C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02504010 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02504010 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02504014 */ _t54 = cpu->r[1] + 0x00000030u;
|
|
/* 02504014 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02504018 */ cpu->f[8] = cpu->f[6] - cpu->f[8];
|
|
/* 0250401C */ _t55 = cpu->r[31] + 0x00000130u;
|
|
/* 0250401C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 02504020 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504020 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 02504024 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504024 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02504028 */ _t58 = cpu->r[1] + 0x00000034u;
|
|
/* 02504028 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[8]);
|
|
/* 0250402C */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 0250402C */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02504030 */ _t60 = cpu->r[31] + 0x00000138u;
|
|
/* 02504030 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[12]);
|
|
/* 02504034 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 02504034 */ rbrew_write32(cpu->mem, _t61, cpu->r[10]);
|
|
/* 02504038 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02504038 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 0250403C */ _t63 = cpu->r[31] + 0x00000128u;
|
|
/* 0250403C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02504040 */ _t64 = cpu->r[31] + 0x0000013Cu;
|
|
/* 02504040 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 02504044 */ _t65 = cpu->r[31] + 0x00000134u;
|
|
/* 02504044 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[7]);
|
|
/* 02504048 */ _t66 = cpu->r[31] + 0x00000160u;
|
|
/* 02504048 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[6]);
|
|
/* 0250404C */ _t67 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250404C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02504050 */ _t68 = cpu->r[1] + 0x00000054u;
|
|
/* 02504050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02504054 */ cpu->lr = cpu->r[0];
|
|
/* 02504058 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0250405C */ return;
|
|
}
|
|
|
|
// fn_02504084 @ 0x2504084
|
|
void Gambit_fn_02504084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_02504084: ; // 0x2504084
|
|
/* 02504084 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02504084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504084 */ cpu->r[1] = _t0;
|
|
/* 02504088 */ /* nop */
|
|
/* 0250408C */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 0250408C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02504090 */ cpu->r[0] = cpu->lr;
|
|
/* 02504094 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02504094 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02504098 */ /* nop */
|
|
/* 0250409C */ _t3 = cpu->r[1] + 0x00000050u;
|
|
/* 0250409C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 025040A0 */ /* nop */
|
|
/* 025040A4 */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 025040A4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 025040A8 */ _t5 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025040A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025040AC */ cpu->r[29] = cpu->r[5];
|
|
/* 025040B0 */ cpu->r[11] = 0x100C0000u;
|
|
/* 025040B4 */ _t6 = cpu->r[11] + 0xFFFFDCA4u;
|
|
/* 025040B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 025040B8 */ cpu->r[27] = cpu->r[3];
|
|
/* 025040BC */ _t7 = cpu->r[27] + 0x00000000u;
|
|
/* 025040BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025040C0 */ _t8 = cpu->r[27] + 0x00000004u;
|
|
/* 025040C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025040C4 */ cpu->r[28] = cpu->r[4];
|
|
/* 025040C8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 025040C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 025040CC */ cpu->r[30] = cpu->r[6];
|
|
/* 025040D0 */ _t10 = cpu->r[27] + 0x00000008u;
|
|
/* 025040D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025040D4 */ cpu->r[31] = cpu->r[7];
|
|
/* 025040D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025040D8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 025040D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 025040DC */ cpu->r[24] = 0x00000000u;
|
|
/* 025040E0 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 025040E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 025040E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025040E4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 025040E4 */ if (_t14) goto L_025040E8; else goto L_02504188;
|
|
L_025040E8: ; // 0x25040e8
|
|
/* 025040E8 */ cpu->r[9] = 0x100C0000u;
|
|
/* 025040EC */ cpu->r[8] = 0x43300000u;
|
|
/* 025040F0 */ _t15 = cpu->r[9] + 0xFFFFDD28u;
|
|
/* 025040F0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 025040F4 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 025040F8 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 025040F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 025040FC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025040FC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02504100 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02504100 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02504104 */ cpu->f[11] = cpu->f[13] - cpu->f[0];
|
|
/* 02504108 */ cpu->r[26] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250410C */ cpu->f[30] = (double)(float)cpu->f[11];
|
|
/* 02504110 */ cpu->r[25] = cpu->r[1] + 0x00000010u;
|
|
L_02504114: ; // 0x2504114
|
|
/* 02504114 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02504118 */ cpu->r[11] = 0x43300000u;
|
|
/* 0250411C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02504120 */ _t19 = cpu->r[7] + 0xFFFFDD28u;
|
|
/* 02504120 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 02504124 */ cpu->r[12] = cpu->r[24] ^ 0x80000000u;
|
|
/* 02504128 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02504128 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0250412C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250412C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02504130 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02504130 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02504134 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 02504138 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 0250413C */ cpu->f[1] = cpu->f[12] / cpu->f[30];
|
|
/* 02504140 */ cpu->r[7] = cpu->r[30];
|
|
/* 02504144 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504148 */ cpu->r[6] = cpu->r[29];
|
|
/* 0250414C */ cpu->r[5] = cpu->r[28];
|
|
/* 02504150 */ cpu->r[4] = cpu->r[27];
|
|
/* 02504154 */ Gambit_fn_0204F194(cpu);
|
|
/* 02504158 */ cpu->r[3] = cpu->r[25];
|
|
/* 0250415C */ cpu->r[4] = cpu->r[26];
|
|
/* 02504160 */ Gambit_fn_02C693A4(cpu);
|
|
/* 02504164 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02504164 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02504168 */ cpu->f[31] = cpu->f[31] + cpu->f[1];
|
|
/* 0250416C */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 0250416C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02504170 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02504170 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02504174 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504174 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02504178 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02504178 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 0250417C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0250417C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02504180 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02504180 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02504184 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504184 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02504184 */ if (_t30) goto L_02504188; else goto L_02504114;
|
|
L_02504188: ; // 0x2504188
|
|
/* 02504188 */ /* nop */
|
|
/* 0250418C */ _t31 = cpu->r[1] + 0x00000050u;
|
|
/* 0250418C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02504190 */ cpu->f[1] = cpu->f[31];
|
|
/* 02504194 */ _t32 = cpu->r[1] + 0x00000060u;
|
|
/* 02504194 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02504198 */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 02504198 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 0250419C */ _t34 = cpu->r[1] + 0x00000058u;
|
|
/* 0250419C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 025041A0 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025041A0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 025041A0 */ if (_t36) goto L_025041A4; // else: addr-0 trap, fall-through
|
|
L_025041A4: ; // 0x25041a4
|
|
/* 025041A4 */ _t37 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025041A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025041A8 */ cpu->lr = cpu->r[0];
|
|
/* 025041AC */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 025041B0 */ return;
|
|
}
|
|
|
|
// fn_025041B4 @ 0x25041b4
|
|
void Gambit_fn_025041B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_025041B4: ; // 0x25041b4
|
|
/* 025041B4 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 025041B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025041B4 */ cpu->r[1] = _t0;
|
|
/* 025041B8 */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 025041B8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 025041BC */ /* nop */
|
|
/* 025041C0 */ _t2 = cpu->r[1] + 0x00000080u;
|
|
/* 025041C0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[28]);
|
|
/* 025041C4 */ cpu->r[0] = cpu->lr;
|
|
/* 025041C8 */ _t3 = cpu->r[1] + 0x00000088u;
|
|
/* 025041C8 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 025041CC */ _t4 = cpu->r[1] + 0x00000098u;
|
|
/* 025041CC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 025041D0 */ /* nop */
|
|
/* 025041D4 */ _t5 = cpu->r[1] + 0x000000A8u;
|
|
/* 025041D4 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 025041D8 */ /* nop */
|
|
/* 025041DC */ _t6 = cpu->r[1] + 0x00000090u;
|
|
/* 025041DC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 025041E0 */ /* nop */
|
|
/* 025041E4 */ _t7 = cpu->r[1] + 0x000000A0u;
|
|
/* 025041E4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 025041E8 */ _t8 = cpu->r[1] + 0x000000B0u;
|
|
/* 025041E8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 025041EC */ _t9 = cpu->r[1] + 0x000000BCu;
|
|
/* 025041EC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 025041F0 */ /* nop */
|
|
/* 025041F4 */ cpu->r[29] = cpu->r[5];
|
|
/* 025041F8 */ cpu->f[31] = cpu->f[1];
|
|
/* 025041FC */ cpu->r[12] = 0x100C0000u;
|
|
/* 02504200 */ _t10 = cpu->r[12] + 0xFFFFDCA4u;
|
|
/* 02504200 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02504204 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[30]);
|
|
/* 02504208 */ cpu->r[30] = cpu->r[6];
|
|
/* 0250420C */ cpu->r[28] = cpu->r[4];
|
|
/* 02504210 */ cpu->r[27] = cpu->r[3];
|
|
/* 02504214 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504214 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02504214 */ if (_t12) goto L_02504218; else goto L_02504494;
|
|
L_02504218: ; // 0x2504218
|
|
/* 02504218 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250421C */ _t13 = cpu->r[11] + 0xFFFFDD30u;
|
|
/* 0250421C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02504220 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 02504224 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504224 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02504224 */ if (_t15) goto L_02504228; else goto L_02504494;
|
|
L_02504228: ; // 0x2504228
|
|
/* 02504228 */ _t16 = cpu->r[27] + 0x00000004u;
|
|
/* 02504228 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250422C */ cpu->r[8] = 0x100C0000u;
|
|
/* 02504230 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 02504230 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02504234 */ cpu->r[22] = 0x00000000u;
|
|
/* 02504238 */ _t18 = cpu->r[27] + 0x00000008u;
|
|
/* 02504238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250423C */ _t19 = cpu->r[8] + 0xFFFFDD34u;
|
|
/* 0250423C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02504240 */ cpu->r[23] = 0x00000009u;
|
|
/* 02504244 */ cpu->r[25] = cpu->r[1] + 0x00000010u;
|
|
/* 02504248 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02504248 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0250424C */ cpu->r[31] = cpu->r[1] + 0x00000028u;
|
|
/* 02504250 */ cpu->f[28] = cpu->f[29];
|
|
/* 02504254 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02504254 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 02504258 */ cpu->r[26] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250425C */ cpu->r[24] = cpu->r[31];
|
|
/* 02504260 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02504260 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_02504264: ; // 0x2504264
|
|
/* 02504264 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02504268 */ cpu->r[12] = 0x43300000u;
|
|
/* 0250426C */ _t23 = cpu->r[7] + 0xFFFFDD28u;
|
|
/* 0250426C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02504270 */ cpu->r[0] = cpu->r[22] ^ 0x80000000u;
|
|
/* 02504274 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02504274 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 02504278 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504278 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0250427C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0250427C */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02504280 */ cpu->f[7] = cpu->f[6] - cpu->f[9];
|
|
/* 02504284 */ cpu->f[8] = (double)(float)cpu->f[7];
|
|
/* 02504288 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250428C */ cpu->r[4] = cpu->r[27];
|
|
/* 02504290 */ cpu->f[1] = cpu->f[8] * cpu->f[28];
|
|
/* 02504294 */ cpu->r[7] = cpu->r[30];
|
|
/* 02504298 */ cpu->r[6] = cpu->r[29];
|
|
/* 0250429C */ cpu->r[5] = cpu->r[28];
|
|
/* 025042A0 */ Gambit_fn_0204F194(cpu);
|
|
/* 025042A4 */ cpu->r[4] = cpu->r[26];
|
|
/* 025042A8 */ cpu->r[3] = cpu->r[25];
|
|
/* 025042AC */ Gambit_fn_02C693A4(cpu);
|
|
/* 025042B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000009u);
|
|
/* 025042B4 */ cpu->f[30] = cpu->f[30] + cpu->f[1];
|
|
/* 025042B8 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025042B8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025042B8 */ if (_t28) goto L_025042BC; else goto L_025042EC;
|
|
L_025042BC: ; // 0x25042bc
|
|
/* 025042BC */ _t29 = cpu->r[24] + 0x00000000u;
|
|
/* 025042BC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[30]);
|
|
/* 025042C0 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 025042C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 025042C4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025042C4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 025042C8 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 025042C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 025042CC */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 025042CC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[8]);
|
|
/* 025042D0 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 025042D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 025042D4 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 025042D4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[11]);
|
|
/* 025042D8 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 025042DC */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 025042E0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 025042E0 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[10]);
|
|
/* 025042E4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025042E4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 025042E4 */ if (_t37) goto L_025042E8; else goto L_02504264;
|
|
L_025042E8: ; // 0x25042e8
|
|
/* 025042E8 */ goto L_02504318;
|
|
L_025042EC: ; // 0x25042ec
|
|
/* 025042EC */ _t38 = cpu->r[31] + 0x00000000u;
|
|
/* 025042EC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[30]);
|
|
/* 025042F0 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 025042F0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 025042F4 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025042F4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 025042F8 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 025042F8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 025042FC */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 025042FC */ rbrew_write_f32(cpu->mem, _t42, cpu->f[8]);
|
|
/* 02504300 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02504300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02504304 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02504304 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[11]);
|
|
/* 02504308 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 0250430C */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02504310 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02504310 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[10]);
|
|
/* 02504314 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504314 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02504314 */ if (_t46) goto L_02504318; else goto L_02504264;
|
|
L_02504318: ; // 0x2504318
|
|
/* 02504318 */ _t47 = cpu->r[31] + 0x00000020u;
|
|
/* 02504318 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 0250431C */ cpu->r[10] = 0x00000009u;
|
|
/* 02504320 */ cpu->r[6] = 0x00000000u;
|
|
L_02504324: ; // 0x2504324
|
|
/* 02504324 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02504328 */ _t48 = cpu->r[31] + cpu->r[5];
|
|
/* 02504328 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0250432C */ cpu->f[12] = cpu->f[12] / cpu->f[8];
|
|
/* 02504330 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02504334 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02504334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02504338 */ _t49 = cpu->r[31] + cpu->r[5];
|
|
/* 02504338 */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
/* 0250433C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250433C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0250433C */ if (_t51) goto L_02504360; else goto L_02504340;
|
|
L_02504340: ; // 0x2504340
|
|
/* 02504340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000009u);
|
|
/* 02504344 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504344 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02504344 */ if (_t53) goto L_02504324; else goto L_02504348;
|
|
L_02504348: ; // 0x2504348
|
|
/* 02504348 */ _t54 = cpu->r[31] + 0x00000000u;
|
|
/* 02504348 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0250434C */ cpu->f[0] = cpu->f[0] / cpu->f[8];
|
|
/* 02504350 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02504354 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02504354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02504358 */ _t55 = cpu->r[31] + 0x00000000u;
|
|
/* 02504358 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 0250435C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250435C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0250435C */ if (_t57) goto L_02504360; else goto L_02504340;
|
|
L_02504360: ; // 0x2504360
|
|
/* 02504360 */ cpu->r[3] = 0x00000000u;
|
|
/* 02504364 */ cpu->r[5] = cpu->r[31];
|
|
/* 02504368 */ goto L_02504374;
|
|
L_0250436C: ; // 0x250436c
|
|
/* 0250436C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000009u);
|
|
/* 02504370 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504370 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02504370 */ if (_t59) goto L_02504374; else goto L_02504388;
|
|
L_02504374: ; // 0x2504374
|
|
/* 02504374 */ cpu->r[9] = cpu->r[3] + 0x00000001u;
|
|
/* 02504378 */ cpu->r[8] = cpu->r[5];
|
|
/* 0250437C */ cpu->r[11] = cpu->r[5];
|
|
/* 02504380 */ cpu->r[12] = cpu->r[9];
|
|
/* 02504384 */ goto L_02504390;
|
|
L_02504388: ; // 0x2504388
|
|
/* 02504388 */ cpu->r[9] = cpu->r[3] + 0x00000001u;
|
|
/* 0250438C */ cpu->r[8] = cpu->r[31];
|
|
L_02504390: ; // 0x2504390
|
|
/* 02504390 */ _t60 = cpu->r[8] + 0x00000000u;
|
|
/* 02504390 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02504394 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[6]);
|
|
/* 02504398 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504398 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02504398 */ if (_t62) goto L_025043C0; else goto L_0250439C;
|
|
L_0250439C: ; // 0x250439c
|
|
/* 0250439C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 025043A0 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025043A0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 025043A0 */ if (_t64) goto L_025043A4; else goto L_025043B4;
|
|
L_025043A4: ; // 0x25043a4
|
|
/* 025043A4 */ _t65 = cpu->r[11] + 0x00000004u;
|
|
/* 025043A4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 025043A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[7]);
|
|
/* 025043AC */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025043AC */ _t67 = _t66 & 0x00000001u;
|
|
/* 025043AC */ if (_t67) goto L_025043C0; else goto L_025043B0;
|
|
L_025043B0: ; // 0x25043b0
|
|
/* 025043B0 */ goto L_025043DC;
|
|
L_025043B4: ; // 0x25043b4
|
|
/* 025043B4 */ _t68 = cpu->r[31] + 0x00000000u;
|
|
/* 025043B4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 025043B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[7]);
|
|
/* 025043BC */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025043BC */ _t70 = _t69 & 0x00000001u;
|
|
/* 025043BC */ if (_t70) goto L_025043C0; else goto L_025043DC;
|
|
L_025043C0: ; // 0x25043c0
|
|
/* 025043C0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 025043C4 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 025043C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000009u);
|
|
/* 025043CC */ cpu->r[3] = cpu->r[9];
|
|
/* 025043D0 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 025043D4 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025043D4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 025043D4 */ if (_t72) goto L_0250436C; else goto L_025043D8;
|
|
L_025043D8: ; // 0x25043d8
|
|
/* 025043D8 */ cpu->r[9] = cpu->r[3] + 0x00000001u;
|
|
L_025043DC: ; // 0x25043dc
|
|
/* 025043DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000009u);
|
|
/* 025043E0 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025043E0 */ _t74 = _t73 & 0x00000001u;
|
|
/* 025043E0 */ if (_t74) goto L_025043E4; else goto L_025043F8;
|
|
L_025043E4: ; // 0x25043e4
|
|
/* 025043E4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025043E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000009u);
|
|
/* 025043EC */ cpu->r[11] = cpu->r[31] + cpu->r[6];
|
|
/* 025043F0 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025043F0 */ _t76 = _t75 & 0x00000001u;
|
|
/* 025043F0 */ if (_t76) goto L_02504404; else goto L_025043F4;
|
|
L_025043F4: ; // 0x25043f4
|
|
/* 025043F4 */ goto L_02504424;
|
|
L_025043F8: ; // 0x25043f8
|
|
/* 025043F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000009u);
|
|
/* 025043FC */ cpu->r[11] = cpu->r[31];
|
|
/* 02504400 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504400 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02504400 */ if (_t78) goto L_02504404; else goto L_02504424;
|
|
L_02504404: ; // 0x2504404
|
|
/* 02504404 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02504408 */ _t79 = cpu->r[11] + 0x00000000u;
|
|
/* 02504408 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 0250440C */ cpu->r[8] = cpu->r[31] + cpu->r[7];
|
|
/* 02504410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000009u);
|
|
/* 02504414 */ cpu->r[4] = cpu->r[8] + 0x00000004u;
|
|
/* 02504418 */ _t80 = cpu->r[8] + 0x00000004u;
|
|
/* 02504418 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 0250441C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250441C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0250441C */ if (_t82) goto L_02504438; else goto L_02504420;
|
|
L_02504420: ; // 0x2504420
|
|
/* 02504420 */ goto L_02504440;
|
|
L_02504424: ; // 0x2504424
|
|
/* 02504424 */ _t83 = cpu->r[11] + 0x00000000u;
|
|
/* 02504424 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02504428 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250442C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000009u);
|
|
/* 02504430 */ _t84 = cpu->r[4] + 0x00000000u;
|
|
/* 02504430 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02504434 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504434 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02504434 */ if (_t86) goto L_02504438; else goto L_02504420;
|
|
L_02504438: ; // 0x2504438
|
|
/* 02504438 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250443C */ cpu->r[31] = cpu->r[31] + cpu->r[0];
|
|
L_02504440: ; // 0x2504440
|
|
/* 02504440 */ _t87 = cpu->r[31] + 0x00000000u;
|
|
/* 02504440 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02504444 */ cpu->f[9] = cpu->f[31] - cpu->f[10];
|
|
/* 02504448 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 0250444C */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 02504450 */ _t88 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504450 */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 02504454 */ cpu->r[4] = 0x43300000u;
|
|
/* 02504458 */ _t89 = cpu->r[1] + 0x00000008u;
|
|
/* 02504458 */ rbrew_write32(cpu->mem, _t89, cpu->r[4]);
|
|
/* 0250445C */ cpu->f[9] = cpu->f[9] / cpu->f[11];
|
|
/* 02504460 */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 02504460 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 02504464 */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02504468 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504468 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 0250446C */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 0250446C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 02504470 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02504474 */ _t93 = cpu->r[12] + 0xFFFFDD28u;
|
|
/* 02504474 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 02504478 */ cpu->f[10] = cpu->f[8] - cpu->f[0];
|
|
/* 0250447C */ cpu->f[6] = cpu->f[13] - cpu->f[0];
|
|
/* 02504480 */ cpu->f[12] = (double)(float)cpu->f[10];
|
|
/* 02504484 */ cpu->f[11] = (double)(float)cpu->f[6];
|
|
/* 02504488 */ cpu->f[7] = cpu->f[11] - cpu->f[12];
|
|
/* 0250448C */ cpu->f[9] = fma(cpu->f[7], cpu->f[9], cpu->f[12]);
|
|
/* 02504490 */ cpu->f[31] = cpu->f[9] * cpu->f[29];
|
|
L_02504494: ; // 0x2504494
|
|
/* 02504494 */ /* nop */
|
|
/* 02504498 */ _t94 = cpu->r[1] + 0x000000A0u;
|
|
/* 02504498 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 0250449C */ _t95 = cpu->r[1] + 0x00000090u;
|
|
/* 0250449C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 025044A0 */ _t96 = cpu->r[1] + 0x00000098u;
|
|
/* 025044A0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 025044A4 */ _t97 = cpu->r[1] + 0x00000088u;
|
|
/* 025044A4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 025044A8 */ _t98 = cpu->r[1] + 0x00000080u;
|
|
/* 025044A8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 025044AC */ cpu->f[1] = cpu->f[31];
|
|
/* 025044B0 */ _t99 = cpu->r[1] + 0x000000B0u;
|
|
/* 025044B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 025044B4 */ _t100 = cpu->r[1] + 0x00000078u;
|
|
/* 025044B4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t100);
|
|
/* 025044B8 */ _t101 = cpu->r[1] + 0x000000A8u;
|
|
/* 025044B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 025044BC */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025044BC */ _t103 = _t102 & 0x00000001u;
|
|
/* 025044BC */ if (_t103) goto L_025044C0; // else: addr-0 trap, fall-through
|
|
L_025044C0: ; // 0x25044c0
|
|
/* 025044C0 */ _t104 = cpu->r[1] + 0x000000BCu;
|
|
/* 025044C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 025044C4 */ cpu->lr = cpu->r[0];
|
|
/* 025044C8 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 025044CC */ return;
|
|
}
|
|
|
|
// fn_025044DC @ 0x25044dc
|
|
void Gambit_fn_025044DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_025044DC: ; // 0x25044dc
|
|
/* 025044DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025044DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025044DC */ cpu->r[1] = _t0;
|
|
/* 025044E0 */ _t1 = cpu->r[12] + 0x00000170u;
|
|
/* 025044E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025044E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025044E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025044E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025044E8 */ if (_t3) goto L_02504518; else goto L_025044EC;
|
|
L_025044EC: ; // 0x25044ec
|
|
/* 025044EC */ cpu->r[11] = 0x100C0000u;
|
|
/* 025044F0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025044F4 */ _t4 = cpu->r[12] + 0x00000174u;
|
|
/* 025044F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025044F8 */ cpu->r[11] = cpu->r[11] + 0xFFFFDBC0u;
|
|
/* 025044FC */ cpu->r[0] = cpu->r[0] + 0xFFFFDD38u;
|
|
/* 02504500 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02504504 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504504 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02504508 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0250450C */ cpu->r[7] = cpu->r[6];
|
|
/* 02504510 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02504510 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02504514 */ Gambit_fn_024F0900(cpu);
|
|
L_02504518: ; // 0x2504518
|
|
/* 02504518 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250451C */ cpu->lr = cpu->r[0];
|
|
/* 02504520 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02504524 */ return;
|
|
}
|
|
|
|
// fn_02504550 @ 0x2504550
|
|
void Gambit_fn_02504550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02504550: ; // 0x2504550
|
|
/* 02504550 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02504550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504550 */ cpu->r[1] = _t0;
|
|
/* 02504554 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02504554 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02504558 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250455C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250455C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02504560 */ _t3 = cpu->r[31] + 0x00000170u;
|
|
/* 02504560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02504564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02504568 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504568 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02504568 */ if (_t5) goto L_02504598; else goto L_0250456C;
|
|
L_0250456C: ; // 0x250456c
|
|
/* 0250456C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02504570 */ cpu->r[0] = cpu->r[0] + 0xFFFFDBC0u;
|
|
/* 02504574 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02504578 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504578 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0250457C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02504580 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02504584 */ _t7 = cpu->r[31] + 0x00000174u;
|
|
/* 02504584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02504588 */ cpu->r[0] = cpu->r[0] + 0xFFFFDD40u;
|
|
/* 0250458C */ cpu->r[7] = cpu->r[6];
|
|
/* 02504590 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02504590 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02504594 */ Gambit_fn_024F0900(cpu);
|
|
L_02504598: ; // 0x2504598
|
|
/* 02504598 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02504598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250459C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025045A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025045A0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025045A0 */ if (_t11) goto L_025045A4; else goto L_025045B0;
|
|
L_025045A4: ; // 0x25045a4
|
|
/* 025045A4 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 025045A8 */ cpu->r[4] = 0x00000002u;
|
|
/* 025045AC */ Gambit_fn_0205C0D4(cpu);
|
|
L_025045B0: ; // 0x25045b0
|
|
/* 025045B0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025045B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025045B4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 025045B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025045B8 */ cpu->lr = cpu->r[0];
|
|
/* 025045BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025045C0 */ return;
|
|
}
|
|
|
|
// fn_025045C8 @ 0x25045c8
|
|
void Gambit_fn_025045C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_025045C8: ; // 0x25045c8
|
|
/* 025045C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025045C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025045C8 */ cpu->r[1] = _t0;
|
|
/* 025045CC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025045CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025045D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025045D4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025045D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025045D8 */ _t3 = cpu->r[31] + 0x00000170u;
|
|
/* 025045D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025045DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025045E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025045E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025045E0 */ if (_t5) goto L_0250461C; else goto L_025045E4;
|
|
L_025045E4: ; // 0x25045e4
|
|
/* 025045E4 */ _t6 = cpu->r[31] + 0x00000174u;
|
|
/* 025045E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025045E8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025045EC */ cpu->r[12] = 0x100C0000u;
|
|
/* 025045F0 */ _t7 = cpu->r[31] + 0x0000004Cu;
|
|
/* 025045F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025045F4 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 025045F8 */ cpu->r[12] = cpu->r[12] + 0xFFFFDBC0u;
|
|
/* 025045FC */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 025045FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02504600 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02504604 */ cpu->r[0] = cpu->r[0] + 0xFFFFDD48u;
|
|
/* 02504608 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504608 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0250460C */ cpu->r[6] = cpu->r[8] - cpu->r[10];
|
|
/* 02504610 */ cpu->r[8] = cpu->r[7];
|
|
/* 02504614 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02504614 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02504618 */ Gambit_fn_024F0A9C(cpu);
|
|
L_0250461C: ; // 0x250461c
|
|
/* 0250461C */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 0250461C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02504620 */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02504620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02504624 */ cpu->r[9] = cpu->r[11] + 0x00000001u;
|
|
/* 02504628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 0250462C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250462C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0250462C */ if (_t14) goto L_0250463C; else goto L_02504630;
|
|
L_02504630: ; // 0x2504630
|
|
/* 02504630 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02504634 */ cpu->r[4] = 0x00000002u;
|
|
/* 02504638 */ Gambit_fn_0205C0D4(cpu);
|
|
L_0250463C: ; // 0x250463c
|
|
/* 0250463C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250463C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02504640 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02504640 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02504644 */ cpu->lr = cpu->r[0];
|
|
/* 02504648 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0250464C */ return;
|
|
}
|
|
|
|
// fn_02504650 @ 0x2504650
|
|
void Gambit_fn_02504650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112;
|
|
|
|
L_02503B38: ; // 0x2503b38
|
|
/* 02503B38 */ cpu->r[0] = cpu->lr;
|
|
/* 02503B3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02503B3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02503B3C */ cpu->r[1] = _t0;
|
|
/* 02503B40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503B40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02503B44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02503B48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02503B48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02503B4C */ _t3 = cpu->r[31] + 0x00000068u;
|
|
/* 02503B4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02503B50 */ _t4 = cpu->r[31] + 0x00000074u;
|
|
/* 02503B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02503B54 */ _t5 = cpu->r[11] + 0x000046C0u;
|
|
/* 02503B54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02503B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02503B5C */ cpu->r[8] = 0x00000000u;
|
|
/* 02503B60 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02503B60 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02503B60 */ if (_t7) goto L_02503B64; else goto L_02503B70;
|
|
L_02503B64: ; // 0x2503b64
|
|
/* 02503B64 */ _t8 = cpu->r[11] + 0x000046C8u;
|
|
/* 02503B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02503B68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02503B6C */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02503B6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
L_02503B70: ; // 0x2503b70
|
|
/* 02503B70 */ _t10 = cpu->r[31] + 0x00000068u;
|
|
/* 02503B70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02503B74 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 02503B74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02503B78 */ _t12 = cpu->r[31] + 0x00000080u;
|
|
/* 02503B78 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02503B7C */ _t13 = cpu->r[11] + 0x000046C0u;
|
|
/* 02503B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02503B80 */ cpu->r[8] = 0x00000000u;
|
|
/* 02503B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02503B88 */ _t14 = cpu->r[31] + 0x00000080u;
|
|
/* 02503B88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02503B8C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02503B8C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02503B8C */ if (_t16) goto L_02503B90; else goto L_02503B9C;
|
|
L_02503B90: ; // 0x2503b90
|
|
/* 02503B90 */ _t17 = cpu->r[11] + 0x000046C8u;
|
|
/* 02503B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02503B94 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02503B98 */ _t18 = cpu->r[12] + cpu->r[0];
|
|
/* 02503B98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
L_02503B9C: ; // 0x2503b9c
|
|
/* 02503B9C */ _t19 = cpu->r[31] + 0x00000084u;
|
|
/* 02503B9C */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02503BA0 */ _t20 = cpu->r[3] + 0x000046BCu;
|
|
/* 02503BA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02503BA4 */ _t21 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02503BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02503BA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02503BAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503BB0 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02503BB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02503BB4 */ _t23 = cpu->r[31] + 0x00000088u;
|
|
/* 02503BB4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02503BB8 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02503BB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02503BBC */ _t25 = cpu->r[31] + 0x00000080u;
|
|
/* 02503BBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02503BC0 */ _t26 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02503BC0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02503BC4 */ _t27 = cpu->r[3] + 0x00000008u;
|
|
/* 02503BC4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02503BC8 */ _t28 = cpu->r[31] + 0x00000090u;
|
|
/* 02503BC8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 02503BCC */ _t29 = cpu->r[11] + 0x000046D8u;
|
|
/* 02503BCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02503BD0 */ _t30 = cpu->r[31] + 0x00000094u;
|
|
/* 02503BD0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02503BD4 */ _t31 = cpu->r[11] + 0x000046DCu;
|
|
/* 02503BD4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02503BD8 */ _t32 = cpu->r[31] + 0x00000098u;
|
|
/* 02503BD8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 02503BDC */ _t33 = cpu->r[11] + 0x000046E0u;
|
|
/* 02503BDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02503BE0 */ _t34 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02503BE0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02503BE4 */ _t35 = cpu->r[11] + 0x000046E4u;
|
|
/* 02503BE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02503BE8 */ _t36 = cpu->r[31] + 0x000000A0u;
|
|
/* 02503BE8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02503BEC */ _t37 = cpu->r[11] + 0x000046E8u;
|
|
/* 02503BEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02503BF0 */ _t38 = cpu->r[31] + 0x000000A4u;
|
|
/* 02503BF0 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02503BF4 */ _t39 = cpu->r[11] + 0x000046ECu;
|
|
/* 02503BF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02503BF8 */ _t40 = cpu->r[31] + 0x00000084u;
|
|
/* 02503BF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02503BFC */ _t41 = cpu->r[31] + 0x000000A8u;
|
|
/* 02503BFC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02503C00 */ _t42 = cpu->r[11] + 0x00000068u;
|
|
/* 02503C00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02503C04 */ _t43 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02503C04 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02503C08 */ _t44 = cpu->r[11] + 0x00000074u;
|
|
/* 02503C08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02503C0C */ _t45 = cpu->r[31] + 0x000000ACu;
|
|
/* 02503C0C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 02503C10 */ _t46 = cpu->r[31] + 0x000000B0u;
|
|
/* 02503C10 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02503C14 */ _t47 = cpu->r[31] + 0x000000B4u;
|
|
/* 02503C14 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 02503C18 */ _t48 = cpu->r[11] + 0x00000078u;
|
|
/* 02503C18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02503C1C */ _t49 = cpu->r[11] + 0x00000060u;
|
|
/* 02503C1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02503C20 */ _t50 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02503C20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02503C24 */ _t51 = cpu->r[31] + 0x000000B8u;
|
|
/* 02503C24 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[12]);
|
|
/* 02503C28 */ _t52 = cpu->r[31] + 0x000000BCu;
|
|
/* 02503C28 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[13]);
|
|
/* 02503C2C */ _t53 = cpu->r[31] + 0x000000C0u;
|
|
/* 02503C2C */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 02503C30 */ _t54 = cpu->r[11] + 0x00000070u;
|
|
/* 02503C30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02503C34 */ _t55 = cpu->r[11] + 0x00000064u;
|
|
/* 02503C34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02503C38 */ _t56 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02503C38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02503C3C */ _t57 = cpu->r[31] + 0x000000C4u;
|
|
/* 02503C3C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[12]);
|
|
/* 02503C40 */ _t58 = cpu->r[31] + 0x000000C8u;
|
|
/* 02503C40 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 02503C44 */ _t59 = cpu->r[31] + 0x000000CCu;
|
|
/* 02503C44 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 02503C48 */ _t60 = cpu->r[3] + 0x000046BCu;
|
|
/* 02503C48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02503C4C */ _t61 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02503C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02503C50 */ cpu->ctr = cpu->r[0];
|
|
/* 02503C54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02503C58 */ _t62 = cpu->r[3] + 0x00000000u;
|
|
/* 02503C58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02503C5C */ _t63 = cpu->r[31] + 0x000000D0u;
|
|
/* 02503C5C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 02503C60 */ _t64 = cpu->r[3] + 0x00000004u;
|
|
/* 02503C60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02503C64 */ _t65 = cpu->r[31] + 0x00000084u;
|
|
/* 02503C64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02503C68 */ _t66 = cpu->r[31] + 0x000000D4u;
|
|
/* 02503C68 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02503C6C */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 02503C6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02503C70 */ _t68 = cpu->r[31] + 0x000000D8u;
|
|
/* 02503C70 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 02503C74 */ _t69 = cpu->r[11] + 0x000046D8u;
|
|
/* 02503C74 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02503C78 */ _t70 = cpu->r[31] + 0x000000DCu;
|
|
/* 02503C78 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[13]);
|
|
/* 02503C7C */ _t71 = cpu->r[11] + 0x000046DCu;
|
|
/* 02503C7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02503C80 */ _t72 = cpu->r[31] + 0x000000E0u;
|
|
/* 02503C80 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[0]);
|
|
/* 02503C84 */ _t73 = cpu->r[11] + 0x000046E0u;
|
|
/* 02503C84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02503C88 */ _t74 = cpu->r[31] + 0x000000E4u;
|
|
/* 02503C88 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[13]);
|
|
/* 02503C8C */ _t75 = cpu->r[11] + 0x000046E4u;
|
|
/* 02503C8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02503C90 */ _t76 = cpu->r[31] + 0x000000E8u;
|
|
/* 02503C90 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[0]);
|
|
/* 02503C94 */ _t77 = cpu->r[11] + 0x000046E8u;
|
|
/* 02503C94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02503C98 */ _t78 = cpu->r[31] + 0x000000ECu;
|
|
/* 02503C98 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[13]);
|
|
/* 02503C9C */ _t79 = cpu->r[11] + 0x000046ECu;
|
|
/* 02503C9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02503CA0 */ _t80 = cpu->r[31] + 0x000000F0u;
|
|
/* 02503CA0 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[0]);
|
|
/* 02503CA4 */ _t81 = cpu->r[11] + 0x00000068u;
|
|
/* 02503CA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02503CA8 */ _t82 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02503CA8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02503CAC */ _t83 = cpu->r[11] + 0x00000074u;
|
|
/* 02503CAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02503CB0 */ _t84 = cpu->r[31] + 0x000000F4u;
|
|
/* 02503CB0 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[12]);
|
|
/* 02503CB4 */ _t85 = cpu->r[31] + 0x000000F8u;
|
|
/* 02503CB4 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]);
|
|
/* 02503CB8 */ _t86 = cpu->r[31] + 0x000000FCu;
|
|
/* 02503CB8 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02503CBC */ _t87 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02503CBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02503CC0 */ _t88 = cpu->r[11] + 0x00000060u;
|
|
/* 02503CC0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02503CC4 */ _t89 = cpu->r[11] + 0x00000078u;
|
|
/* 02503CC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02503CC8 */ _t90 = cpu->r[31] + 0x00000100u;
|
|
/* 02503CC8 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[12]);
|
|
/* 02503CCC */ _t91 = cpu->r[31] + 0x00000104u;
|
|
/* 02503CCC */ rbrew_write_f32(cpu->mem, _t91, cpu->f[13]);
|
|
/* 02503CD0 */ _t92 = cpu->r[31] + 0x00000108u;
|
|
/* 02503CD0 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[0]);
|
|
/* 02503CD4 */ _t93 = cpu->r[11] + 0x00000064u;
|
|
/* 02503CD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02503CD8 */ _t94 = cpu->r[11] + 0x00000070u;
|
|
/* 02503CD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02503CDC */ _t95 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02503CDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02503CE0 */ _t96 = cpu->r[31] + 0x00000110u;
|
|
/* 02503CE0 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[13]);
|
|
/* 02503CE4 */ _t97 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02503CE4 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[12]);
|
|
/* 02503CE8 */ _t98 = cpu->r[31] + 0x00000114u;
|
|
/* 02503CE8 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
|
|
/* 02503CEC */ _t99 = cpu->r[1] + 0x00000014u;
|
|
/* 02503CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02503CF0 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02503CF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02503CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02503CF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02503CFC */ return;
|
|
L_02504650: ; // 0x2504650
|
|
/* 02504650 */ _t101 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02504650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02504654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02504658 */ _t102 = cpu->r[3] + 0x00000074u;
|
|
/* 02504658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0250465C */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250465C */ _t104 = _t103 & 0x00000001u;
|
|
/* 0250465C */ if (_t104) goto L_02504660; else goto L_02504674;
|
|
L_02504660: ; // 0x2504660
|
|
/* 02504660 */ _t105 = cpu->r[3] + 0x00000070u;
|
|
/* 02504660 */ cpu->r[12] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02504664 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02504668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0250466C */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250466C */ _t107 = _t106 & 0x00000001u;
|
|
/* 0250466C */ if (_t107) goto L_02504670; else goto L_02504674;
|
|
L_02504670: ; // 0x2504670
|
|
/* 02504670 */ return;
|
|
L_02504674: ; // 0x2504674
|
|
/* 02504674 */ _t108 = cpu->r[3] + 0x00000078u;
|
|
/* 02504674 */ rbrew_write32(cpu->mem, _t108, cpu->r[11]);
|
|
/* 02504678 */ _t109 = cpu->r[3] + 0x00000074u;
|
|
/* 02504678 */ cpu->r[11] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0250467C */ _t110 = cpu->r[3] + 0x0000011Cu;
|
|
/* 0250467C */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02504680 */ _t111 = cpu->r[3] + 0x00000070u;
|
|
/* 02504680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02504684 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
/* 02504688 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 0250468C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] / (int32_t)cpu->r[12]);
|
|
/* 02504690 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[12]);
|
|
/* 02504694 */ cpu->r[0] = cpu->r[11] - cpu->r[10];
|
|
/* 02504698 */ _t112 = cpu->r[3] + 0x00000074u;
|
|
/* 02504698 */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 0250469C */ goto L_02503B38;
|
|
}
|
|
|
|
// fn_025046A0 @ 0x25046a0
|
|
void Gambit_fn_025046A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_025046A0: ; // 0x25046a0
|
|
/* 025046A0 */ cpu->r[0] = cpu->lr;
|
|
/* 025046A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025046A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025046A4 */ cpu->r[1] = _t0;
|
|
/* 025046A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025046A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025046AC */ cpu->r[31] = cpu->r[3];
|
|
/* 025046B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025046B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025046B4 */ _t3 = cpu->r[31] + 0x0000011Cu;
|
|
/* 025046B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025046B8 */ _t4 = cpu->r[31] + 0x00000074u;
|
|
/* 025046B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025046BC */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
/* 025046BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025046C0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025046C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025046C0 */ if (_t6) goto L_025046D0; else goto L_025046C4;
|
|
L_025046C4: ; // 0x25046c4
|
|
/* 025046C4 */ _t7 = cpu->r[31] + 0x00000070u;
|
|
/* 025046C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025046C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 025046CC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025046CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 025046CC */ if (_t9) goto L_025046F4; else goto L_025046D0;
|
|
L_025046D0: ; // 0x25046d0
|
|
/* 025046D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025046D4 */ Gambit_fn_02504650(cpu);
|
|
/* 025046D8 */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 025046D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025046DC */ _t11 = cpu->r[31] + 0x00000088u;
|
|
/* 025046DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025046E0 */ _t12 = cpu->r[11] + 0x00000024u;
|
|
/* 025046E0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 025046E4 */ _t13 = cpu->r[31] + 0x0000008Cu;
|
|
/* 025046E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025046E8 */ _t14 = cpu->r[11] + 0x00000028u;
|
|
/* 025046E8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 025046EC */ _t15 = cpu->r[31] + 0x00000090u;
|
|
/* 025046EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025046F0 */ _t16 = cpu->r[11] + 0x0000002Cu;
|
|
/* 025046F0 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
L_025046F4: ; // 0x25046f4
|
|
/* 025046F4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 025046F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025046F8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025046F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025046FC */ cpu->lr = cpu->r[0];
|
|
/* 02504700 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02504704 */ return;
|
|
}
|
|
|
|
// fn_025046A4 @ 0x25046a4
|
|
void Gambit_fn_025046A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_025046A4: ; // 0x25046a4
|
|
/* 025046A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025046A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025046A4 */ cpu->r[1] = _t0;
|
|
/* 025046A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025046A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025046AC */ cpu->r[31] = cpu->r[3];
|
|
/* 025046B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025046B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025046B4 */ _t3 = cpu->r[31] + 0x0000011Cu;
|
|
/* 025046B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025046B8 */ _t4 = cpu->r[31] + 0x00000074u;
|
|
/* 025046B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025046BC */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
/* 025046BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025046C0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025046C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025046C0 */ if (_t6) goto L_025046D0; else goto L_025046C4;
|
|
L_025046C4: ; // 0x25046c4
|
|
/* 025046C4 */ _t7 = cpu->r[31] + 0x00000070u;
|
|
/* 025046C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025046C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 025046CC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025046CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 025046CC */ if (_t9) goto L_025046F4; else goto L_025046D0;
|
|
L_025046D0: ; // 0x25046d0
|
|
/* 025046D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025046D4 */ Gambit_fn_02504650(cpu);
|
|
/* 025046D8 */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 025046D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025046DC */ _t11 = cpu->r[31] + 0x00000088u;
|
|
/* 025046DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025046E0 */ _t12 = cpu->r[11] + 0x00000024u;
|
|
/* 025046E0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 025046E4 */ _t13 = cpu->r[31] + 0x0000008Cu;
|
|
/* 025046E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025046E8 */ _t14 = cpu->r[11] + 0x00000028u;
|
|
/* 025046E8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 025046EC */ _t15 = cpu->r[31] + 0x00000090u;
|
|
/* 025046EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025046F0 */ _t16 = cpu->r[11] + 0x0000002Cu;
|
|
/* 025046F0 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
L_025046F4: ; // 0x25046f4
|
|
/* 025046F4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 025046F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025046F8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025046F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025046FC */ cpu->lr = cpu->r[0];
|
|
/* 02504700 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02504704 */ return;
|
|
}
|
|
|
|
// fn_02504708 @ 0x2504708
|
|
void Gambit_fn_02504708(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108;
|
|
|
|
L_02504708: ; // 0x2504708
|
|
/* 02504708 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02504708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504708 */ cpu->r[1] = _t0;
|
|
/* 0250470C */ cpu->r[0] = cpu->lr;
|
|
/* 02504710 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02504710 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 02504714 */ /* nop */
|
|
/* 02504718 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02504718 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 0250471C */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 0250471C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02504720 */ /* nop */
|
|
/* 02504724 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02504724 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02504728 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 02504728 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 0250472C */ _t6 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250472C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02504730 */ /* nop */
|
|
/* 02504734 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02504734 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02504738 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250473C */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 0250473C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02504740 */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 02504740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02504744 */ cpu->r[4] = cpu->r[31] + 0x00000088u;
|
|
/* 02504748 */ cpu->r[3] = cpu->r[12] + 0x00000024u;
|
|
/* 0250474C */ Gambit_fn_02C693A4(cpu);
|
|
/* 02504750 */ _t10 = cpu->r[31] + 0x00000060u;
|
|
/* 02504750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02504754 */ cpu->f[29] = cpu->f[1];
|
|
/* 02504758 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250475C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02504760 */ _t11 = cpu->r[10] + 0xFFFFDCA4u;
|
|
/* 02504760 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02504764 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504764 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02504764 */ if (_t13) goto L_0250479C; else goto L_02504768;
|
|
L_02504768: ; // 0x2504768
|
|
/* 02504768 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504768 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02504768 */ if (_t15) goto L_0250484C; else goto L_0250476C;
|
|
L_0250476C: ; // 0x250476c
|
|
/* 0250476C */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 0250476C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02504770 */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 02504770 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02504774 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02504774 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02504778 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 02504778 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250477C */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 0250477C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02504780 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02504780 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02504784 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02504784 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02504788 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504788 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02504788 */ if (_t24) goto L_0250478C; // else: addr-0 trap, fall-through
|
|
L_0250478C: ; // 0x250478c
|
|
/* 0250478C */ _t25 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250478C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02504790 */ cpu->lr = cpu->r[0];
|
|
/* 02504794 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02504798 */ return;
|
|
L_0250479C: ; // 0x250479c
|
|
/* 0250479C */ cpu->r[4] = cpu->r[31] + 0x00000088u;
|
|
/* 025047A0 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 025047A4 */ Gambit_fn_02C693A4(cpu);
|
|
/* 025047A8 */ cpu->r[11] = 0x100C0000u;
|
|
/* 025047AC */ cpu->f[0] = cpu->f[1];
|
|
/* 025047B0 */ _t26 = cpu->r[11] + 0xFFFFDD50u;
|
|
/* 025047B0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025047B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 025047B8 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025047B8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025047B8 */ if (_t28) goto L_025047D8; else goto L_025047BC;
|
|
L_025047BC: ; // 0x25047bc
|
|
/* 025047BC */ cpu->r[11] = 0x100C0000u;
|
|
/* 025047C0 */ _t29 = cpu->r[11] + 0xFFFFDD54u;
|
|
/* 025047C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 025047C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[10]);
|
|
/* 025047C8 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025047C8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 025047C8 */ if (_t31) goto L_025047D8; else goto L_025047CC;
|
|
L_025047CC: ; // 0x25047cc
|
|
/* 025047CC */ _t32 = cpu->r[31] + 0x00000050u;
|
|
/* 025047CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025047D0 */ _t33 = cpu->r[31] + 0x00000120u;
|
|
/* 025047D0 */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
|
|
/* 025047D4 */ goto L_025049E4;
|
|
L_025047D8: ; // 0x25047d8
|
|
/* 025047D8 */ cpu->f[9] = cpu->f[29] / cpu->f[1];
|
|
/* 025047DC */ cpu->r[10] = 0x43300000u;
|
|
/* 025047E0 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 025047E0 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 025047E4 */ _t35 = cpu->r[31] + 0x00000050u;
|
|
/* 025047E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025047E8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 025047EC */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025047EC */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 025047F0 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 025047F0 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 025047F4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 025047F8 */ _t38 = cpu->r[12] + 0xFFFFDD28u;
|
|
/* 025047F8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 025047FC */ cpu->f[11] = cpu->f[10] - cpu->f[8];
|
|
/* 02504800 */ cpu->f[0] = (double)(float)cpu->f[11];
|
|
/* 02504804 */ cpu->f[13] = cpu->f[0] * cpu->f[9];
|
|
/* 02504808 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 0250480C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02504810 */ /* nop */
|
|
/* 02504814 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02504814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02504818 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02504818 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 0250481C */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02504820 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504820 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02504824 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02504824 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t42);
|
|
/* 02504828 */ cpu->f[12] = cpu->f[10] - cpu->f[8];
|
|
/* 0250482C */ cpu->f[8] = (double)(float)cpu->f[12];
|
|
/* 02504830 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
|
|
/* 02504834 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504834 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02504834 */ if (_t44) goto L_02504844; else goto L_02504838;
|
|
L_02504838: ; // 0x2504838
|
|
/* 02504838 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 0250483C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250483C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0250483C */ if (_t46) goto L_02504840; else goto L_02504844;
|
|
L_02504840: ; // 0x2504840
|
|
/* 02504840 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02504844: ; // 0x2504844
|
|
/* 02504844 */ _t47 = cpu->r[31] + 0x00000120u;
|
|
/* 02504844 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]);
|
|
/* 02504848 */ goto L_025049E4;
|
|
L_0250484C: ; // 0x250484c
|
|
/* 0250484C */ _t48 = cpu->r[31] + 0x00000050u;
|
|
/* 0250484C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02504850 */ cpu->r[11] = 0x43300000u;
|
|
/* 02504854 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504858 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02504858 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 0250485C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02504860 */ _t50 = cpu->r[10] + 0xFFFFDD28u;
|
|
/* 02504860 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 02504864 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504868 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504868 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 0250486C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0250486C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02504870 */ _t53 = cpu->r[10] + 0xFFFFDD58u;
|
|
/* 02504870 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02504874 */ cpu->f[13] = cpu->f[11] - cpu->f[9];
|
|
/* 02504878 */ _t54 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02504878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0250487C */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02504880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02504884 */ cpu->f[30] = cpu->f[12] / cpu->f[0];
|
|
/* 02504888 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504888 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02504888 */ if (_t56) goto L_025048C0; else goto L_0250488C;
|
|
L_0250488C: ; // 0x250488c
|
|
/* 0250488C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250488C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0250488C */ if (_t58) goto L_02504914; else goto L_02504890;
|
|
L_02504890: ; // 0x2504890
|
|
/* 02504890 */ _t59 = cpu->r[1] + 0x00000040u;
|
|
/* 02504890 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02504894 */ _t60 = cpu->r[1] + 0x00000030u;
|
|
/* 02504894 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02504898 */ _t61 = cpu->r[1] + 0x00000038u;
|
|
/* 02504898 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 0250489C */ _t62 = cpu->r[1] + 0x00000020u;
|
|
/* 0250489C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 025048A0 */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 025048A0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 025048A4 */ _t64 = cpu->r[1] + 0x00000018u;
|
|
/* 025048A4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 025048A8 */ _t65 = cpu->r[1] + 0x00000014u;
|
|
/* 025048A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 025048AC */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025048AC */ _t67 = _t66 & 0x00000001u;
|
|
/* 025048AC */ if (_t67) goto L_025048B0; // else: addr-0 trap, fall-through
|
|
L_025048B0: ; // 0x25048b0
|
|
/* 025048B0 */ _t68 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025048B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 025048B4 */ cpu->lr = cpu->r[0];
|
|
/* 025048B8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 025048BC */ return;
|
|
L_025048C0: ; // 0x25048c0
|
|
/* 025048C0 */ cpu->f[0] = cpu->f[29] / cpu->f[30];
|
|
/* 025048C4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 025048C8 */ _t69 = cpu->r[10] + 0xFFFFDD28u;
|
|
/* 025048C8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 025048CC */ cpu->f[8] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 025048D0 */ cpu->r[10] = 0x43300000u;
|
|
/* 025048D4 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 025048D8 */ /* nop */
|
|
/* 025048DC */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 025048DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 025048E0 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 025048E0 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 025048E4 */ cpu->r[11] = cpu->r[12] ^ 0x80000000u;
|
|
/* 025048E8 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025048E8 */ rbrew_write32(cpu->mem, _t72, cpu->r[11]);
|
|
/* 025048EC */ _t73 = cpu->r[1] + 0x00000008u;
|
|
/* 025048EC */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t73);
|
|
/* 025048F0 */ cpu->f[9] = cpu->f[8] - cpu->f[13];
|
|
/* 025048F4 */ cpu->f[12] = (double)(float)cpu->f[9];
|
|
/* 025048F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 025048FC */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025048FC */ _t75 = _t74 & 0x00000001u;
|
|
/* 025048FC */ if (_t75) goto L_0250490C; else goto L_02504900;
|
|
L_02504900: ; // 0x2504900
|
|
/* 02504900 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02504904 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504904 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02504904 */ if (_t77) goto L_02504908; else goto L_0250490C;
|
|
L_02504908: ; // 0x2504908
|
|
/* 02504908 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0250490C: ; // 0x250490c
|
|
/* 0250490C */ _t78 = cpu->r[31] + 0x00000120u;
|
|
/* 0250490C */ rbrew_write32(cpu->mem, _t78, cpu->r[12]);
|
|
/* 02504910 */ goto L_025049E4;
|
|
L_02504914: ; // 0x2504914
|
|
/* 02504914 */ _t79 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02504914 */ cpu->r[11] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02504918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250491C */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250491C */ _t81 = _t80 & 0x00000001u;
|
|
/* 0250491C */ if (_t81) goto L_02504920; else goto L_0250497C;
|
|
L_02504920: ; // 0x2504920
|
|
/* 02504920 */ cpu->r[4] = cpu->r[31] + 0x000000E8u;
|
|
/* 02504924 */ cpu->r[5] = cpu->r[31] + 0x00000094u;
|
|
/* 02504928 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 0250492C */ cpu->r[6] = cpu->r[31] + 0x00000088u;
|
|
/* 02504930 */ cpu->r[7] = 0x00000020u;
|
|
/* 02504934 */ Gambit_fn_02504084(cpu);
|
|
/* 02504938 */ cpu->f[10] = cpu->f[1] / cpu->f[30];
|
|
/* 0250493C */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504940 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02504944 */ _t82 = cpu->r[10] + 0xFFFFDD28u;
|
|
/* 02504944 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t82);
|
|
/* 02504948 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0250494C */ cpu->r[11] = 0x43300000u;
|
|
/* 02504950 */ /* nop */
|
|
/* 02504954 */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 02504954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02504958 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02504958 */ rbrew_write32(cpu->mem, _t84, cpu->r[11]);
|
|
/* 0250495C */ cpu->r[11] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02504960 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504960 */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
|
|
/* 02504964 */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 02504964 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 02504968 */ cpu->f[13] = cpu->f[11] - cpu->f[0];
|
|
/* 0250496C */ cpu->f[9] = (double)(float)cpu->f[13];
|
|
/* 02504970 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02504974 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504974 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02504974 */ if (_t88) goto L_02504978; else goto L_025049D4;
|
|
L_02504978: ; // 0x2504978
|
|
/* 02504978 */ goto L_025049E0;
|
|
L_0250497C: ; // 0x250497c
|
|
/* 0250497C */ cpu->r[4] = cpu->r[31] + 0x000000DCu;
|
|
/* 02504980 */ cpu->r[5] = cpu->r[31] + 0x000000A0u;
|
|
/* 02504984 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 02504988 */ cpu->r[6] = cpu->r[31] + 0x00000088u;
|
|
/* 0250498C */ cpu->r[7] = 0x00000020u;
|
|
/* 02504990 */ Gambit_fn_02504084(cpu);
|
|
/* 02504994 */ cpu->f[10] = cpu->f[1] / cpu->f[30];
|
|
/* 02504998 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250499C */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 025049A0 */ _t89 = cpu->r[10] + 0xFFFFDD28u;
|
|
/* 025049A0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 025049A4 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 025049A8 */ cpu->r[11] = 0x43300000u;
|
|
/* 025049AC */ /* nop */
|
|
/* 025049B0 */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 025049B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 025049B4 */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 025049B4 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]);
|
|
/* 025049B8 */ cpu->r[11] = cpu->r[12] ^ 0x80000000u;
|
|
/* 025049BC */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025049BC */ rbrew_write32(cpu->mem, _t92, cpu->r[11]);
|
|
/* 025049C0 */ _t93 = cpu->r[1] + 0x00000008u;
|
|
/* 025049C0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 025049C4 */ cpu->f[13] = cpu->f[11] - cpu->f[0];
|
|
/* 025049C8 */ cpu->f[9] = (double)(float)cpu->f[13];
|
|
/* 025049CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 025049D0 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025049D0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 025049D0 */ if (_t95) goto L_025049E0; else goto L_025049D4;
|
|
L_025049D4: ; // 0x25049d4
|
|
/* 025049D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 025049D8 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025049D8 */ _t97 = _t96 & 0x00000001u;
|
|
/* 025049D8 */ if (_t97) goto L_025049DC; else goto L_025049E0;
|
|
L_025049DC: ; // 0x25049dc
|
|
/* 025049DC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_025049E0: ; // 0x25049e0
|
|
/* 025049E0 */ _t98 = cpu->r[31] + 0x00000120u;
|
|
/* 025049E0 */ rbrew_write32(cpu->mem, _t98, cpu->r[12]);
|
|
L_025049E4: ; // 0x25049e4
|
|
/* 025049E4 */ _t99 = cpu->r[1] + 0x00000040u;
|
|
/* 025049E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 025049E8 */ _t100 = cpu->r[1] + 0x00000030u;
|
|
/* 025049E8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 025049EC */ _t101 = cpu->r[1] + 0x00000038u;
|
|
/* 025049EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 025049F0 */ _t102 = cpu->r[1] + 0x00000020u;
|
|
/* 025049F0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 025049F4 */ _t103 = cpu->r[1] + 0x00000028u;
|
|
/* 025049F4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t103);
|
|
/* 025049F8 */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 025049F8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t104);
|
|
/* 025049FC */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 025049FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02504A00 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504A00 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02504A00 */ if (_t107) goto L_02504A04; // else: addr-0 trap, fall-through
|
|
L_02504A04: ; // 0x2504a04
|
|
/* 02504A04 */ _t108 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02504A08 */ cpu->lr = cpu->r[0];
|
|
/* 02504A0C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02504A10 */ return;
|
|
}
|
|
|
|
// fn_02504A14 @ 0x2504a14
|
|
void Gambit_fn_02504A14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69;
|
|
|
|
L_0205C0D4: ; // 0x205c0d4
|
|
/* 0205C0D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0205C0D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0205C0D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0205C0D8 */ cpu->r[1] = _t0;
|
|
/* 0205C0DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0205C0DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0205C0E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0205C0E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0205C0E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0205C0E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0205C0E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0205C0EC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0205C0EC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0205C0F0 */ /* nop */
|
|
/* 0205C0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0205C0F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0205C0FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205C0FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0205C0FC */ if (_t6) goto L_0205C100; else goto L_0205C114;
|
|
L_0205C100: ; // 0x205c100
|
|
/* 0205C100 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0205C100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0205C104 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0205C104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0205C108 */ cpu->ctr = cpu->r[0];
|
|
/* 0205C10C */ cpu->r[3] = cpu->r[30];
|
|
/* 0205C110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0205C114: ; // 0x205c114
|
|
/* 0205C114 */ cpu->r[3] = cpu->r[30];
|
|
/* 0205C118 */ cpu->r[4] = cpu->r[31];
|
|
/* 0205C11C */ Gambit_fn_0205C04C(cpu);
|
|
/* 0205C120 */ cpu->r[3] = cpu->r[30];
|
|
/* 0205C124 */ /* nop */
|
|
/* 0205C128 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0205C12C */ cpu->r[3] = cpu->r[30];
|
|
/* 0205C130 */ Gambit_fn_0205BECC(cpu);
|
|
/* 0205C134 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0205C134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0205C138 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0205C138 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0205C13C */ cpu->lr = cpu->r[0];
|
|
/* 0205C140 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0205C140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0205C144 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0205C148 */ return;
|
|
L_02504A14: ; // 0x2504a14
|
|
/* 02504A14 */ cpu->r[12] = cpu->r[3];
|
|
/* 02504A18 */ _t12 = cpu->r[12] + 0x00000010u;
|
|
/* 02504A18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02504A1C */ _t13 = cpu->r[12] + 0x00000120u;
|
|
/* 02504A1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02504A20 */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 02504A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 02504A28 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504A28 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02504A28 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02504A28 */ goto L_02504A2C;
|
|
L_02504A2C: ; // 0x2504a2c
|
|
/* 02504A2C */ _t16 = cpu->r[12] + 0x00000126u;
|
|
/* 02504A2C */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02504A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02504A34 */ _t17 = cpu->r[12] + 0x00000074u;
|
|
/* 02504A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02504A38 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504A38 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02504A38 */ if (_t19) goto L_02504A74; else goto L_02504A3C;
|
|
L_02504A3C: ; // 0x2504a3c
|
|
/* 02504A3C */ _t20 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02504A3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02504A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02504A44 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504A44 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02504A44 */ if (_t22) goto L_02504A48; else goto L_02504A58;
|
|
L_02504A48: ; // 0x2504a48
|
|
/* 02504A48 */ cpu->r[4] = 0x00000000u;
|
|
/* 02504A4C */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02504A50 */ _t23 = cpu->r[12] + 0x00000126u;
|
|
/* 02504A50 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[4]);
|
|
/* 02504A54 */ goto L_0205C0D4;
|
|
L_02504A58: ; // 0x2504a58
|
|
/* 02504A58 */ _t24 = cpu->r[12] + 0x00000054u;
|
|
/* 02504A58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02504A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02504A60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02504A64 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504A64 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02504A64 */ if (_t26) goto L_02504A68; else goto L_02504A6C;
|
|
L_02504A68: ; // 0x2504a68
|
|
/* 02504A68 */ cpu->r[4] = 0x00000003u;
|
|
L_02504A6C: ; // 0x2504a6c
|
|
/* 02504A6C */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02504A70 */ goto L_0205C0D4;
|
|
L_02504A74: ; // 0x2504a74
|
|
/* 02504A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02504A78 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504A78 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02504A78 */ if (_t28) goto L_02504A8C; else goto L_02504A7C;
|
|
L_02504A7C: ; // 0x2504a7c
|
|
/* 02504A7C */ _t29 = cpu->r[12] + 0x00000070u;
|
|
/* 02504A7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02504A80 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02504A84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02504A88 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504A88 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02504A88 */ if (_t31) goto L_02504A8C; else goto L_02504AC8;
|
|
L_02504A8C: ; // 0x2504a8c
|
|
/* 02504A8C */ _t32 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02504A8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02504A90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 02504A94 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504A94 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02504A94 */ if (_t34) goto L_02504AB4; else goto L_02504A98;
|
|
L_02504A98: ; // 0x2504a98
|
|
/* 02504A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02504A9C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504A9C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02504A9C */ if (_t36) goto L_02504AC0; else goto L_02504AA0;
|
|
L_02504AA0: ; // 0x2504aa0
|
|
/* 02504AA0 */ _t37 = cpu->r[12] + 0x00000054u;
|
|
/* 02504AA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02504AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02504AA8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02504AAC */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504AAC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02504AAC */ if (_t39) goto L_02504AB0; else goto L_02504ADC;
|
|
L_02504AB0: ; // 0x2504ab0
|
|
/* 02504AB0 */ goto L_02504AD8;
|
|
L_02504AB4: ; // 0x2504ab4
|
|
/* 02504AB4 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02504AB8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02504ABC */ goto L_0205C0D4;
|
|
L_02504AC0: ; // 0x2504ac0
|
|
/* 02504AC0 */ _t40 = cpu->r[12] + 0x00000040u;
|
|
/* 02504AC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02504AC4 */ goto L_02790488;
|
|
L_02504AC8: ; // 0x2504ac8
|
|
/* 02504AC8 */ _t41 = cpu->r[12] + 0x00000054u;
|
|
/* 02504AC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02504ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02504AD0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02504AD4 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504AD4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02504AD4 */ if (_t43) goto L_02504AD8; else goto L_02504ADC;
|
|
L_02504AD8: ; // 0x2504ad8
|
|
/* 02504AD8 */ cpu->r[4] = 0x00000003u;
|
|
L_02504ADC: ; // 0x2504adc
|
|
/* 02504ADC */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02504AE0 */ goto L_0205C0D4;
|
|
L_02790488: ; // 0x2790488
|
|
/* 02790488 */ _t44 = cpu->r[3] + 0x00000018u;
|
|
/* 02790488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0279048C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790490 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790490 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02790490 */ if (_t46) goto L_027904A0; else goto L_02790494;
|
|
L_02790494: ; // 0x2790494
|
|
/* 02790494 */ cpu->r[4] = cpu->r[3];
|
|
/* 02790498 */ cpu->r[3] = cpu->r[0];
|
|
/* 0279049C */ goto L_027914D8;
|
|
L_027904A0: ; // 0x27904a0
|
|
/* 027904A0 */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 027904A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027904A4 */ cpu->r[11] = 0x00000001u;
|
|
/* 027904A8 */ _t48 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027904A8 */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 027904AC */ _t49 = cpu->r[12] + 0x00000084u;
|
|
/* 027904AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027904B0 */ cpu->ctr = cpu->r[0];
|
|
/* 027904B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027914D8: ; // 0x27914d8
|
|
/* 027914D8 */ cpu->r[0] = cpu->lr;
|
|
/* 027914DC */ _t50 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027914DC */ rbrew_write32(cpu->mem, _t50, cpu->r[1]);
|
|
/* 027914DC */ cpu->r[1] = _t50;
|
|
/* 027914E0 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027914E0 */ rbrew_write32(cpu->mem, _t51, cpu->r[31]);
|
|
/* 027914E4 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 027914E4 */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
|
|
/* 027914E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027914EC */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 027914EC */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 027914F0 */ _t54 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027914F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027914F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027914F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027914FC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027914FC */ _t56 = _t55 & 0x00000001u;
|
|
/* 027914FC */ if (_t56) goto L_02791508; else goto L_02791500;
|
|
L_02791500: ; // 0x2791500
|
|
/* 02791500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02791504 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791504 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02791504 */ if (_t58) goto L_02791508; else goto L_02791550;
|
|
L_02791508: ; // 0x2791508
|
|
/* 02791508 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0279150C */ _t59 = cpu->r[3] + 0xFFFF9038u;
|
|
/* 0279150C */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02791510 */ Gambit_fn_02792A14(cpu);
|
|
/* 02791514 */ _t60 = cpu->r[3] + 0x00000008u;
|
|
/* 02791514 */ rbrew_write32(cpu->mem, _t60, cpu->r[31]);
|
|
/* 02791518 */ _t61 = cpu->r[30] + 0x00000210u;
|
|
/* 02791518 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0279151C */ cpu->r[4] = cpu->r[3] + cpu->r[8];
|
|
/* 02791520 */ cpu->r[3] = cpu->r[30] + 0x00000204u;
|
|
/* 02791524 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02791528 */ _t62 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791528 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0279152C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02791530 */ cpu->r[10] = 0x00000000u;
|
|
/* 02791534 */ _t63 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791534 */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
/* 02791538 */ _t64 = cpu->r[31] + 0x00000004u;
|
|
/* 02791538 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0279153C */ _t65 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0279153C */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
|
|
/* 02791540 */ _t66 = cpu->r[11] + 0x00000104u;
|
|
/* 02791540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02791544 */ cpu->ctr = cpu->r[12];
|
|
/* 02791548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0279154C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02791550: ; // 0x2791550
|
|
/* 02791550 */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 02791550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02791554 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 02791554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02791558 */ cpu->lr = cpu->r[0];
|
|
/* 0279155C */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279155C */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02791560 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02791564 */ return;
|
|
}
|
|
|
|
// fn_02504AE8 @ 0x2504ae8
|
|
void Gambit_fn_02504AE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02504AE8: ; // 0x2504ae8
|
|
/* 02504AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02504AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504AE8 */ cpu->r[1] = _t0;
|
|
/* 02504AEC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02504AF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02504AF4 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02504AF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02504AF8 */ _t3 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02504AF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02504AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 02504B00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504B00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02504B00 */ if (_t5) goto L_02504B04; else goto L_02504B0C;
|
|
L_02504B04: ; // 0x2504b04
|
|
/* 02504B04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02504B08 */ Gambit_fn_025046A0(cpu);
|
|
L_02504B0C: ; // 0x2504b0c
|
|
/* 02504B0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02504B10 */ Gambit_fn_02504650(cpu);
|
|
/* 02504B14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02504B18 */ Gambit_fn_02504708(cpu);
|
|
/* 02504B1C */ _t6 = cpu->r[31] + 0x00000170u;
|
|
/* 02504B1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02504B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02504B24 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504B24 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02504B24 */ if (_t8) goto L_02504B54; else goto L_02504B28;
|
|
L_02504B28: ; // 0x2504b28
|
|
/* 02504B28 */ _t9 = cpu->r[31] + 0x00000078u;
|
|
/* 02504B28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02504B2C */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504B30 */ _t10 = cpu->r[31] + 0x00000074u;
|
|
/* 02504B30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02504B34 */ cpu->r[10] = cpu->r[10] + 0xFFFFDBC0u;
|
|
/* 02504B38 */ _t11 = cpu->r[31] + 0x00000174u;
|
|
/* 02504B38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02504B3C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02504B40 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504B40 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02504B44 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD5Cu;
|
|
/* 02504B48 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02504B4C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02504B4C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02504B50 */ Gambit_fn_024F0900(cpu);
|
|
L_02504B54: ; // 0x2504b54
|
|
/* 02504B54 */ _t14 = cpu->r[31] + 0x00000120u;
|
|
/* 02504B54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02504B58 */ cpu->r[9] = 0x100C0000u;
|
|
/* 02504B5C */ cpu->r[0] = 0x43300000u;
|
|
/* 02504B60 */ _t15 = cpu->r[9] + 0xFFFFDD28u;
|
|
/* 02504B60 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02504B64 */ cpu->r[6] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02504B68 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02504B68 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02504B6C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02504B6C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02504B70 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02504B70 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02504B74 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02504B78 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02504B7C */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02504B80 */ _t19 = cpu->r[7] + 0xFFFFDCA4u;
|
|
/* 02504B80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02504B84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02504B88 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504B88 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02504B88 */ if (_t21) goto L_02504B8C; else goto L_02504B94;
|
|
L_02504B8C: ; // 0x2504b8c
|
|
/* 02504B8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02504B90 */ Gambit_fn_02504A14(cpu);
|
|
L_02504B94: ; // 0x2504b94
|
|
/* 02504B94 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02504B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02504B98 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504B98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02504B9C */ cpu->lr = cpu->r[0];
|
|
/* 02504BA0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02504BA4 */ return;
|
|
}
|
|
|
|
// fn_02504BA8 @ 0x2504ba8
|
|
void Gambit_fn_02504BA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02504BA8: ; // 0x2504ba8
|
|
/* 02504BA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02504BAC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02504BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504BAC */ cpu->r[1] = _t0;
|
|
/* 02504BB0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02504BB0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02504BB4 */ /* nop */
|
|
/* 02504BB8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02504BB8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02504BBC */ cpu->r[12] = 0x100C0000u;
|
|
/* 02504BC0 */ _t3 = cpu->r[12] + 0xFFFFDD28u;
|
|
/* 02504BC0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02504BC4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504BC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02504BC8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02504BC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02504BCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02504BD0 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02504BD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02504BD4 */ cpu->r[8] = 0x43300000u;
|
|
/* 02504BD8 */ _t7 = cpu->r[31] + 0x00000120u;
|
|
/* 02504BD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02504BDC */ cpu->r[0] = cpu->r[10] + 0x00000001u;
|
|
/* 02504BE0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02504BE0 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02504BE4 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02504BE8 */ cpu->r[12] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02504BEC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504BEC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02504BF0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02504BF0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02504BF4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504BF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02504BF8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02504BF8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02504BFC */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02504C00 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 02504C04 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 02504C08 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02504C0C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02504C10 */ cpu->f[11] = cpu->f[11] / cpu->f[12];
|
|
/* 02504C14 */ _t13 = cpu->r[11] + 0xFFFFDD30u;
|
|
/* 02504C14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02504C18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[31]);
|
|
/* 02504C1C */ _t14 = cpu->r[31] + 0x00000058u;
|
|
/* 02504C1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02504C20 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504C20 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02504C20 */ if (_t16) goto L_02504C24; else goto L_02504C28;
|
|
L_02504C24: ; // 0x2504c24
|
|
/* 02504C24 */ cpu->f[11] = cpu->f[31];
|
|
L_02504C28: ; // 0x2504c28
|
|
/* 02504C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02504C2C */ _t17 = cpu->r[31] + 0x00000118u;
|
|
/* 02504C2C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[11]);
|
|
/* 02504C30 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504C30 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02504C30 */ if (_t19) goto L_02504C34; else goto L_02504C60;
|
|
L_02504C34: ; // 0x2504c34
|
|
/* 02504C34 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02504C38 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02504C3C */ _t20 = cpu->r[12] + 0xFFFFDD64u;
|
|
/* 02504C3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02504C40 */ _t21 = cpu->r[11] + 0xFFFFDD68u;
|
|
/* 02504C40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02504C44 */ cpu->f[1] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02504C48 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02504C4C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02504C50 */ cpu->f[13] = cpu->f[1] + cpu->f[31];
|
|
/* 02504C54 */ _t22 = cpu->r[11] + 0xFFFFDD6Cu;
|
|
/* 02504C54 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02504C58 */ cpu->f[13] = cpu->f[13] * cpu->f[12];
|
|
/* 02504C5C */ _t23 = cpu->r[31] + 0x00000118u;
|
|
/* 02504C5C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
L_02504C60: ; // 0x2504c60
|
|
/* 02504C60 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02504C60 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02504C64 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02504C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02504C68 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02504C68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02504C6C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504C6C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02504C6C */ if (_t28) goto L_02504C70; // else: addr-0 trap, fall-through
|
|
L_02504C70: ; // 0x2504c70
|
|
/* 02504C70 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504C70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02504C74 */ cpu->lr = cpu->r[0];
|
|
/* 02504C78 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02504C7C */ return;
|
|
}
|
|
|
|
// fn_02504BAC @ 0x2504bac
|
|
void Gambit_fn_02504BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02504BAC: ; // 0x2504bac
|
|
/* 02504BAC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02504BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504BAC */ cpu->r[1] = _t0;
|
|
/* 02504BB0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02504BB0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02504BB4 */ /* nop */
|
|
/* 02504BB8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02504BB8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02504BBC */ cpu->r[12] = 0x100C0000u;
|
|
/* 02504BC0 */ _t3 = cpu->r[12] + 0xFFFFDD28u;
|
|
/* 02504BC0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02504BC4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504BC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02504BC8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02504BC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02504BCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02504BD0 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02504BD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02504BD4 */ cpu->r[8] = 0x43300000u;
|
|
/* 02504BD8 */ _t7 = cpu->r[31] + 0x00000120u;
|
|
/* 02504BD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02504BDC */ cpu->r[0] = cpu->r[10] + 0x00000001u;
|
|
/* 02504BE0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02504BE0 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02504BE4 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02504BE8 */ cpu->r[12] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02504BEC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504BEC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02504BF0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02504BF0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02504BF4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504BF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02504BF8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02504BF8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02504BFC */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02504C00 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 02504C04 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 02504C08 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02504C0C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02504C10 */ cpu->f[11] = cpu->f[11] / cpu->f[12];
|
|
/* 02504C14 */ _t13 = cpu->r[11] + 0xFFFFDD30u;
|
|
/* 02504C14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02504C18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[31]);
|
|
/* 02504C1C */ _t14 = cpu->r[31] + 0x00000058u;
|
|
/* 02504C1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02504C20 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504C20 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02504C20 */ if (_t16) goto L_02504C24; else goto L_02504C28;
|
|
L_02504C24: ; // 0x2504c24
|
|
/* 02504C24 */ cpu->f[11] = cpu->f[31];
|
|
L_02504C28: ; // 0x2504c28
|
|
/* 02504C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02504C2C */ _t17 = cpu->r[31] + 0x00000118u;
|
|
/* 02504C2C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[11]);
|
|
/* 02504C30 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504C30 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02504C30 */ if (_t19) goto L_02504C34; else goto L_02504C60;
|
|
L_02504C34: ; // 0x2504c34
|
|
/* 02504C34 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02504C38 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02504C3C */ _t20 = cpu->r[12] + 0xFFFFDD64u;
|
|
/* 02504C3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02504C40 */ _t21 = cpu->r[11] + 0xFFFFDD68u;
|
|
/* 02504C40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02504C44 */ cpu->f[1] = fma(cpu->f[13], cpu->f[11], cpu->f[0]);
|
|
/* 02504C48 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02504C4C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02504C50 */ cpu->f[13] = cpu->f[1] + cpu->f[31];
|
|
/* 02504C54 */ _t22 = cpu->r[11] + 0xFFFFDD6Cu;
|
|
/* 02504C54 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02504C58 */ cpu->f[13] = cpu->f[13] * cpu->f[12];
|
|
/* 02504C5C */ _t23 = cpu->r[31] + 0x00000118u;
|
|
/* 02504C5C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
L_02504C60: ; // 0x2504c60
|
|
/* 02504C60 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02504C60 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02504C64 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02504C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02504C68 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02504C68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02504C6C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504C6C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02504C6C */ if (_t28) goto L_02504C70; // else: addr-0 trap, fall-through
|
|
L_02504C70: ; // 0x2504c70
|
|
/* 02504C70 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504C70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02504C74 */ cpu->lr = cpu->r[0];
|
|
/* 02504C78 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02504C7C */ return;
|
|
}
|
|
|
|
// fn_02504C80 @ 0x2504c80
|
|
void Gambit_fn_02504C80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02504C80: ; // 0x2504c80
|
|
/* 02504C80 */ cpu->r[0] = cpu->lr;
|
|
/* 02504C84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02504C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504C84 */ cpu->r[1] = _t0;
|
|
/* 02504C88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504C88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02504C8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02504C90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02504C90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02504C94 */ _t3 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02504C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02504C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02504C9C */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 02504CA0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504CA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02504CA0 */ if (_t5) goto L_02504CA4; else goto L_02504CC0;
|
|
L_02504CA4: ; // 0x2504ca4
|
|
/* 02504CA4 */ _t6 = cpu->r[31] + 0x00000118u;
|
|
/* 02504CA4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02504CA8 */ cpu->r[4] = cpu->r[31] + 0x000000E8u;
|
|
/* 02504CAC */ cpu->r[5] = cpu->r[31] + 0x00000094u;
|
|
/* 02504CB0 */ cpu->r[6] = cpu->r[31] + 0x00000088u;
|
|
/* 02504CB4 */ Gambit_fn_025041B4(cpu);
|
|
/* 02504CB8 */ _t7 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02504CB8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[1]);
|
|
/* 02504CBC */ goto L_02504CD8;
|
|
L_02504CC0: ; // 0x2504cc0
|
|
/* 02504CC0 */ _t8 = cpu->r[31] + 0x00000118u;
|
|
/* 02504CC0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02504CC4 */ cpu->r[4] = cpu->r[31] + 0x000000DCu;
|
|
/* 02504CC8 */ cpu->r[5] = cpu->r[31] + 0x000000A0u;
|
|
/* 02504CCC */ cpu->r[6] = cpu->r[31] + 0x00000088u;
|
|
/* 02504CD0 */ Gambit_fn_025041B4(cpu);
|
|
/* 02504CD4 */ _t9 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02504CD4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[1]);
|
|
L_02504CD8: ; // 0x2504cd8
|
|
/* 02504CD8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02504CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02504CDC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02504CE0 */ cpu->lr = cpu->r[0];
|
|
/* 02504CE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02504CE8 */ return;
|
|
}
|
|
|
|
// fn_02504C84 @ 0x2504c84
|
|
void Gambit_fn_02504C84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02504C84: ; // 0x2504c84
|
|
/* 02504C84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02504C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504C84 */ cpu->r[1] = _t0;
|
|
/* 02504C88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504C88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02504C8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02504C90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02504C90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02504C94 */ _t3 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02504C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02504C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02504C9C */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 02504CA0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504CA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02504CA0 */ if (_t5) goto L_02504CA4; else goto L_02504CC0;
|
|
L_02504CA4: ; // 0x2504ca4
|
|
/* 02504CA4 */ _t6 = cpu->r[31] + 0x00000118u;
|
|
/* 02504CA4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02504CA8 */ cpu->r[4] = cpu->r[31] + 0x000000E8u;
|
|
/* 02504CAC */ cpu->r[5] = cpu->r[31] + 0x00000094u;
|
|
/* 02504CB0 */ cpu->r[6] = cpu->r[31] + 0x00000088u;
|
|
/* 02504CB4 */ Gambit_fn_025041B4(cpu);
|
|
/* 02504CB8 */ _t7 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02504CB8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[1]);
|
|
/* 02504CBC */ goto L_02504CD8;
|
|
L_02504CC0: ; // 0x2504cc0
|
|
/* 02504CC0 */ _t8 = cpu->r[31] + 0x00000118u;
|
|
/* 02504CC0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02504CC4 */ cpu->r[4] = cpu->r[31] + 0x000000DCu;
|
|
/* 02504CC8 */ cpu->r[5] = cpu->r[31] + 0x000000A0u;
|
|
/* 02504CCC */ cpu->r[6] = cpu->r[31] + 0x00000088u;
|
|
/* 02504CD0 */ Gambit_fn_025041B4(cpu);
|
|
/* 02504CD4 */ _t9 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02504CD4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[1]);
|
|
L_02504CD8: ; // 0x2504cd8
|
|
/* 02504CD8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02504CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02504CDC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02504CE0 */ cpu->lr = cpu->r[0];
|
|
/* 02504CE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02504CE8 */ return;
|
|
}
|
|
|
|
// fn_02504CF0 @ 0x2504cf0
|
|
void Gambit_fn_02504CF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02504CF0: ; // 0x2504cf0
|
|
/* 02504CF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02504CF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504CF0 */ cpu->r[1] = _t0;
|
|
/* 02504CF4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02504CF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02504CF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02504CFC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504CFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02504D00 */ _t3 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02504D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02504D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02504D08 */ cpu->r[4] = cpu->r[31] + 0x000000D0u;
|
|
/* 02504D0C */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504D0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02504D0C */ if (_t5) goto L_02504D10; else goto L_02504D48;
|
|
L_02504D10: ; // 0x2504d10
|
|
/* 02504D10 */ _t6 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02504D10 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02504D14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02504D18 */ cpu->r[7] = cpu->r[31] + 0x00000088u;
|
|
/* 02504D1C */ cpu->r[6] = cpu->r[31] + 0x00000094u;
|
|
/* 02504D20 */ cpu->r[5] = cpu->r[31] + 0x000000E8u;
|
|
/* 02504D24 */ Gambit_fn_0204F194(cpu);
|
|
/* 02504D28 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02504D28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02504D2C */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02504D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02504D30 */ _t9 = cpu->r[12] + 0x00000024u;
|
|
/* 02504D30 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02504D34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504D34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02504D38 */ _t11 = cpu->r[12] + 0x00000028u;
|
|
/* 02504D38 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02504D3C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02504D3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02504D40 */ _t13 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02504D40 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02504D44 */ goto L_02504D7C;
|
|
L_02504D48: ; // 0x2504d48
|
|
/* 02504D48 */ _t14 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02504D48 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02504D4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02504D50 */ cpu->r[7] = cpu->r[31] + 0x00000088u;
|
|
/* 02504D54 */ cpu->r[6] = cpu->r[31] + 0x000000A0u;
|
|
/* 02504D58 */ cpu->r[5] = cpu->r[31] + 0x000000DCu;
|
|
/* 02504D5C */ Gambit_fn_0204F194(cpu);
|
|
/* 02504D60 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02504D60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02504D64 */ _t16 = cpu->r[31] + 0x00000044u;
|
|
/* 02504D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02504D68 */ _t17 = cpu->r[12] + 0x00000024u;
|
|
/* 02504D68 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02504D6C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504D6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02504D70 */ _t19 = cpu->r[12] + 0x00000028u;
|
|
/* 02504D70 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02504D74 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02504D74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02504D78 */ _t21 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02504D78 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
L_02504D7C: ; // 0x2504d7c
|
|
/* 02504D7C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02504D80 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02504D80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02504D84 */ cpu->lr = cpu->r[0];
|
|
/* 02504D88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02504D8C */ return;
|
|
}
|
|
|
|
// fn_02504D90 @ 0x2504d90
|
|
void Gambit_fn_02504D90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93;
|
|
double _ft24, _ft25;
|
|
|
|
L_02504D90: ; // 0x2504d90
|
|
/* 02504D90 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02504D90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504D90 */ cpu->r[1] = _t0;
|
|
/* 02504D94 */ _t1 = cpu->r[3] + 0x00000044u;
|
|
/* 02504D94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02504D98 */ cpu->r[11] = cpu->r[8] + 0x00000024u;
|
|
/* 02504D9C */ /* nop */
|
|
/* 02504DA0 */ cpu->r[7] = cpu->r[11];
|
|
/* 02504DA4 */ /* nop */
|
|
/* 02504DA8 */ /* nop */
|
|
/* 02504DAC */ /* nop */
|
|
/* 02504DB0 */ _t2 = cpu->r[7] + 0x00000008u;
|
|
/* 02504DB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02504DB4 */ _t3 = cpu->r[3] + 0x00000090u;
|
|
/* 02504DB4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02504DB8 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02504DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02504DBC */ cpu->f[7] = cpu->f[12] - cpu->f[13];
|
|
/* 02504DC0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02504DC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02504DC4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02504DC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02504DC8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504DC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02504DCC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504DCC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02504DD0 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02504DD0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[7]);
|
|
/* 02504DD4 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02504DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02504DD8 */ cpu->f[12] = cpu->f[12] * cpu->f[12];
|
|
/* 02504DDC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02504DDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02504DE0 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02504DE0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02504DE4 */ cpu->f[13] = fma(cpu->f[0], cpu->f[0], cpu->f[12]);
|
|
/* 02504DE8 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02504DE8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02504DEC */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504DF0 */ cpu->f[9] = fma(cpu->f[5], cpu->f[5], cpu->f[13]);
|
|
/* 02504DF4 */ _t14 = cpu->r[10] + 0xFFFFDCA4u;
|
|
/* 02504DF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02504DF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02504DFC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504DFC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02504DFC */ if (_t16) goto L_02504E18; else goto L_02504E00;
|
|
L_02504E00: ; // 0x2504e00
|
|
/* 02504E00 */ _t17 = cpu->r[3] + 0x00000060u;
|
|
/* 02504E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02504E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02504E08 */ /* nop */
|
|
/* 02504E0C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504E0C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02504E0C */ if (_t19) goto L_02504E74; else goto L_02504E10;
|
|
L_02504E10: ; // 0x2504e10
|
|
/* 02504E10 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504E10 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02504E10 */ if (_t21) goto L_02504F28; else goto L_02504E14;
|
|
L_02504E14: ; // 0x2504e14
|
|
/* 02504E14 */ goto L_02504F68;
|
|
L_02504E18: ; // 0x2504e18
|
|
/* 02504E18 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504E1C */ cpu->r[9] = 0x100C0000u;
|
|
/* 02504E20 */ _t22 = cpu->r[10] + 0xFFFFDD70u;
|
|
/* 02504E20 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02504E24 */ _t23 = cpu->r[9] + 0xFFFFDD6Cu;
|
|
/* 02504E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02504E28 */ _ft24 = sqrt(cpu->f[9]);
|
|
/* 02504E28 */ _ft25 = (double)(int32_t)0x00000001u;
|
|
/* 02504E28 */ cpu->f[12] = _ft25 / _ft24;
|
|
/* 02504E2C */ cpu->f[13] = cpu->f[12] * cpu->f[12];
|
|
/* 02504E30 */ cpu->f[8] = cpu->f[12] * cpu->f[0];
|
|
/* 02504E34 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[9], -(cpu->f[7]));
|
|
/* 02504E38 */ cpu->f[12] = cpu->f[13] * cpu->f[8];
|
|
/* 02504E3C */ _t26 = cpu->r[3] + 0x00000044u;
|
|
/* 02504E3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02504E40 */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 02504E44 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02504E44 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02504E48 */ _t28 = cpu->r[3] + 0x00000060u;
|
|
/* 02504E48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02504E4C */ cpu->f[5] = cpu->f[5] * cpu->f[12];
|
|
/* 02504E50 */ /* nop */
|
|
/* 02504E54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02504E58 */ cpu->r[11] = cpu->r[8] + 0x00000024u;
|
|
/* 02504E5C */ /* nop */
|
|
/* 02504E60 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02504E60 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[5]);
|
|
/* 02504E64 */ /* nop */
|
|
/* 02504E68 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504E68 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02504E68 */ if (_t31) goto L_02504E74; else goto L_02504E6C;
|
|
L_02504E6C: ; // 0x2504e6c
|
|
/* 02504E6C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504E6C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02504E6C */ if (_t33) goto L_02504F28; else goto L_02504E70;
|
|
L_02504E70: ; // 0x2504e70
|
|
/* 02504E70 */ goto L_02504F68;
|
|
L_02504E74: ; // 0x2504e74
|
|
/* 02504E74 */ _t34 = cpu->r[3] + 0x00000120u;
|
|
/* 02504E74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02504E78 */ _t35 = cpu->r[3] + 0x00000010u;
|
|
/* 02504E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02504E7C */ cpu->r[0] = cpu->r[9] - cpu->r[0];
|
|
/* 02504E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02504E80 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504E80 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02504E80 */ if (_t37) goto L_02504E88; else goto L_02504E84;
|
|
L_02504E84: ; // 0x2504e84
|
|
/* 02504E84 */ cpu->r[0] = 0x00000001u;
|
|
L_02504E88: ; // 0x2504e88
|
|
/* 02504E88 */ cpu->r[9] = 0x100C0000u;
|
|
/* 02504E8C */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02504E90 */ _t38 = cpu->r[9] + 0xFFFFDD28u;
|
|
/* 02504E90 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02504E94 */ cpu->r[10] = 0x43300000u;
|
|
/* 02504E98 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504E98 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 02504E9C */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02504E9C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02504EA0 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02504EA0 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02504EA4 */ cpu->f[12] = cpu->f[10] - cpu->f[11];
|
|
/* 02504EA8 */ cpu->f[13] = (double)(float)cpu->f[12];
|
|
/* 02504EAC */ cpu->f[10] = cpu->f[9] / cpu->f[13];
|
|
/* 02504EB0 */ /* nop */
|
|
/* 02504EB4 */ /* nop */
|
|
/* 02504EB8 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504EB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02504EBC */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02504EBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02504EC0 */ cpu->f[11] = cpu->f[5] * cpu->f[10];
|
|
/* 02504EC4 */ _t44 = cpu->r[1] + 0x00000050u;
|
|
/* 02504EC4 */ rbrew_write32(cpu->mem, _t44, cpu->r[8]);
|
|
/* 02504EC8 */ _t45 = cpu->r[1] + 0x00000054u;
|
|
/* 02504EC8 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 02504ECC */ /* nop */
|
|
/* 02504ED0 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02504ED0 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[11]);
|
|
/* 02504ED4 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 02504ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02504ED8 */ /* nop */
|
|
/* 02504EDC */ /* nop */
|
|
/* 02504EE0 */ _t48 = cpu->r[1] + 0x00000058u;
|
|
/* 02504EE0 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02504EE4 */ _t49 = cpu->r[7] + 0x00000008u;
|
|
/* 02504EE4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02504EE8 */ _t50 = cpu->r[1] + 0x00000058u;
|
|
/* 02504EE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02504EEC */ _t51 = cpu->r[1] + 0x00000038u;
|
|
/* 02504EEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02504EF0 */ cpu->f[7] = cpu->f[10] + cpu->f[11];
|
|
/* 02504EF4 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02504EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02504EF8 */ _t53 = cpu->r[1] + 0x00000044u;
|
|
/* 02504EF8 */ rbrew_write32(cpu->mem, _t53, cpu->r[9]);
|
|
/* 02504EFC */ _t54 = cpu->r[1] + 0x00000040u;
|
|
/* 02504EFC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
/* 02504F00 */ _t55 = cpu->r[1] + 0x00000040u;
|
|
/* 02504F00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02504F04 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 02504F04 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02504F08 */ _t57 = cpu->r[1] + 0x00000048u;
|
|
/* 02504F08 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02504F0C */ _t58 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504F0C */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 02504F10 */ _t59 = cpu->r[11] + 0x00000000u;
|
|
/* 02504F10 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[7]);
|
|
/* 02504F14 */ _t60 = cpu->r[1] + 0x00000048u;
|
|
/* 02504F14 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02504F18 */ _t61 = cpu->r[11] + 0x00000004u;
|
|
/* 02504F18 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[8]);
|
|
/* 02504F1C */ _t62 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504F1C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02504F20 */ _t63 = cpu->r[11] + 0x00000008u;
|
|
/* 02504F20 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02504F24 */ goto L_02504FDC;
|
|
L_02504F28: ; // 0x2504f28
|
|
/* 02504F28 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504F2C */ _t64 = cpu->r[10] + 0xFFFFDD28u;
|
|
/* 02504F2C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 02504F30 */ cpu->r[8] = 0x43300000u;
|
|
/* 02504F34 */ _t65 = cpu->r[3] + 0x00000050u;
|
|
/* 02504F34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02504F38 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 02504F38 */ rbrew_write32(cpu->mem, _t66, cpu->r[8]);
|
|
/* 02504F3C */ cpu->r[0] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02504F40 */ _t67 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504F40 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02504F44 */ _t68 = cpu->r[1] + 0x00000018u;
|
|
/* 02504F44 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 02504F48 */ cpu->f[7] = cpu->f[0] - cpu->f[12];
|
|
/* 02504F4C */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504F50 */ cpu->f[11] = (double)(float)cpu->f[7];
|
|
/* 02504F54 */ _t69 = cpu->r[10] + 0xFFFFDD58u;
|
|
/* 02504F54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02504F58 */ cpu->f[10] = cpu->f[13] / cpu->f[11];
|
|
/* 02504F5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[9]);
|
|
/* 02504F60 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504F60 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02504F60 */ if (_t71) goto L_02504F64; else goto L_02504F68;
|
|
L_02504F64: ; // 0x2504f64
|
|
/* 02504F64 */ cpu->f[10] = cpu->f[9];
|
|
L_02504F68: ; // 0x2504f68
|
|
/* 02504F68 */ /* nop */
|
|
/* 02504F6C */ /* nop */
|
|
/* 02504F70 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504F70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02504F74 */ _t73 = cpu->r[1] + 0x00000030u;
|
|
/* 02504F74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02504F78 */ cpu->f[11] = cpu->f[5] * cpu->f[10];
|
|
/* 02504F7C */ _t74 = cpu->r[1] + 0x00000050u;
|
|
/* 02504F7C */ rbrew_write32(cpu->mem, _t74, cpu->r[8]);
|
|
/* 02504F80 */ _t75 = cpu->r[1] + 0x00000054u;
|
|
/* 02504F80 */ rbrew_write32(cpu->mem, _t75, cpu->r[9]);
|
|
/* 02504F84 */ /* nop */
|
|
/* 02504F88 */ _t76 = cpu->r[1] + 0x00000034u;
|
|
/* 02504F88 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]);
|
|
/* 02504F8C */ _t77 = cpu->r[1] + 0x00000034u;
|
|
/* 02504F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02504F90 */ /* nop */
|
|
/* 02504F94 */ /* nop */
|
|
/* 02504F98 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 02504F98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02504F9C */ _t79 = cpu->r[1] + 0x00000058u;
|
|
/* 02504F9C */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 02504FA0 */ _t80 = cpu->r[1] + 0x00000058u;
|
|
/* 02504FA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02504FA4 */ _t81 = cpu->r[7] + 0x00000008u;
|
|
/* 02504FA4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02504FA8 */ _t82 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02504FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02504FAC */ cpu->f[7] = cpu->f[10] + cpu->f[11];
|
|
/* 02504FB0 */ _t83 = cpu->r[1] + 0x00000044u;
|
|
/* 02504FB0 */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
/* 02504FB4 */ _t84 = cpu->r[1] + 0x00000048u;
|
|
/* 02504FB4 */ rbrew_write32(cpu->mem, _t84, cpu->r[0]);
|
|
/* 02504FB8 */ _t85 = cpu->r[1] + 0x00000040u;
|
|
/* 02504FB8 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[7]);
|
|
/* 02504FBC */ _t86 = cpu->r[1] + 0x00000040u;
|
|
/* 02504FBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02504FC0 */ _t87 = cpu->r[1] + 0x00000044u;
|
|
/* 02504FC0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02504FC4 */ _t88 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504FC4 */ rbrew_write32(cpu->mem, _t88, cpu->r[9]);
|
|
/* 02504FC8 */ _t89 = cpu->r[11] + 0x00000000u;
|
|
/* 02504FC8 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[7]);
|
|
/* 02504FCC */ _t90 = cpu->r[1] + 0x00000048u;
|
|
/* 02504FCC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02504FD0 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02504FD0 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[8]);
|
|
/* 02504FD4 */ _t92 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504FD4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02504FD8 */ _t93 = cpu->r[11] + 0x00000008u;
|
|
/* 02504FD8 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[10]);
|
|
L_02504FDC: ; // 0x2504fdc
|
|
/* 02504FDC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02504FE0 */ return;
|
|
}
|
|
|
|
// fn_0250502C @ 0x250502c
|
|
void Gambit_fn_0250502C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134;
|
|
double _ft48, _ft49;
|
|
|
|
L_02504CEC: ; // 0x2504cec
|
|
/* 02504CEC */ cpu->r[0] = cpu->lr;
|
|
/* 02504CF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02504CF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02504CF0 */ cpu->r[1] = _t0;
|
|
/* 02504CF4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02504CF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02504CF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02504CFC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504CFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02504D00 */ _t3 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02504D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02504D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02504D08 */ cpu->r[4] = cpu->r[31] + 0x000000D0u;
|
|
/* 02504D0C */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504D0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02504D0C */ if (_t5) goto L_02504D10; else goto L_02504D48;
|
|
L_02504D10: ; // 0x2504d10
|
|
/* 02504D10 */ _t6 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02504D10 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02504D14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02504D18 */ cpu->r[7] = cpu->r[31] + 0x00000088u;
|
|
/* 02504D1C */ cpu->r[6] = cpu->r[31] + 0x00000094u;
|
|
/* 02504D20 */ cpu->r[5] = cpu->r[31] + 0x000000E8u;
|
|
/* 02504D24 */ Gambit_fn_0204F194(cpu);
|
|
/* 02504D28 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02504D28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02504D2C */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02504D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02504D30 */ _t9 = cpu->r[12] + 0x00000024u;
|
|
/* 02504D30 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02504D34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504D34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02504D38 */ _t11 = cpu->r[12] + 0x00000028u;
|
|
/* 02504D38 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02504D3C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02504D3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02504D40 */ _t13 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02504D40 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02504D44 */ goto L_02504D7C;
|
|
L_02504D48: ; // 0x2504d48
|
|
/* 02504D48 */ _t14 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02504D48 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02504D4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02504D50 */ cpu->r[7] = cpu->r[31] + 0x00000088u;
|
|
/* 02504D54 */ cpu->r[6] = cpu->r[31] + 0x000000A0u;
|
|
/* 02504D58 */ cpu->r[5] = cpu->r[31] + 0x000000DCu;
|
|
/* 02504D5C */ Gambit_fn_0204F194(cpu);
|
|
/* 02504D60 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02504D60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02504D64 */ _t16 = cpu->r[31] + 0x00000044u;
|
|
/* 02504D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02504D68 */ _t17 = cpu->r[12] + 0x00000024u;
|
|
/* 02504D68 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02504D6C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504D6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02504D70 */ _t19 = cpu->r[12] + 0x00000028u;
|
|
/* 02504D70 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02504D74 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02504D74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02504D78 */ _t21 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02504D78 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
L_02504D7C: ; // 0x2504d7c
|
|
/* 02504D7C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02504D80 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02504D80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02504D84 */ cpu->lr = cpu->r[0];
|
|
/* 02504D88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02504D8C */ return;
|
|
L_02504D90: ; // 0x2504d90
|
|
/* 02504D90 */ _t24 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02504D90 */ rbrew_write32(cpu->mem, _t24, cpu->r[1]);
|
|
/* 02504D90 */ cpu->r[1] = _t24;
|
|
/* 02504D94 */ _t25 = cpu->r[3] + 0x00000044u;
|
|
/* 02504D94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02504D98 */ cpu->r[11] = cpu->r[8] + 0x00000024u;
|
|
/* 02504D9C */ /* nop */
|
|
/* 02504DA0 */ cpu->r[7] = cpu->r[11];
|
|
/* 02504DA4 */ /* nop */
|
|
/* 02504DA8 */ /* nop */
|
|
/* 02504DAC */ /* nop */
|
|
/* 02504DB0 */ _t26 = cpu->r[7] + 0x00000008u;
|
|
/* 02504DB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02504DB4 */ _t27 = cpu->r[3] + 0x00000090u;
|
|
/* 02504DB4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02504DB8 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02504DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02504DBC */ cpu->f[7] = cpu->f[12] - cpu->f[13];
|
|
/* 02504DC0 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02504DC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02504DC4 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02504DC4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02504DC8 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504DC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02504DCC */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02504DCC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02504DD0 */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 02504DD0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[7]);
|
|
/* 02504DD4 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 02504DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02504DD8 */ cpu->f[12] = cpu->f[12] * cpu->f[12];
|
|
/* 02504DDC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02504DDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02504DE0 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02504DE0 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02504DE4 */ cpu->f[13] = fma(cpu->f[0], cpu->f[0], cpu->f[12]);
|
|
/* 02504DE8 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02504DE8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02504DEC */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504DF0 */ cpu->f[9] = fma(cpu->f[5], cpu->f[5], cpu->f[13]);
|
|
/* 02504DF4 */ _t38 = cpu->r[10] + 0xFFFFDCA4u;
|
|
/* 02504DF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02504DF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02504DFC */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504DFC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02504DFC */ if (_t40) goto L_02504E18; else goto L_02504E00;
|
|
L_02504E00: ; // 0x2504e00
|
|
/* 02504E00 */ _t41 = cpu->r[3] + 0x00000060u;
|
|
/* 02504E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02504E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02504E08 */ /* nop */
|
|
/* 02504E0C */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504E0C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02504E0C */ if (_t43) goto L_02504E74; else goto L_02504E10;
|
|
L_02504E10: ; // 0x2504e10
|
|
/* 02504E10 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504E10 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02504E10 */ if (_t45) goto L_02504F28; else goto L_02504E14;
|
|
L_02504E14: ; // 0x2504e14
|
|
/* 02504E14 */ goto L_02504F68;
|
|
L_02504E18: ; // 0x2504e18
|
|
/* 02504E18 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504E1C */ cpu->r[9] = 0x100C0000u;
|
|
/* 02504E20 */ _t46 = cpu->r[10] + 0xFFFFDD70u;
|
|
/* 02504E20 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02504E24 */ _t47 = cpu->r[9] + 0xFFFFDD6Cu;
|
|
/* 02504E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02504E28 */ _ft48 = sqrt(cpu->f[9]);
|
|
/* 02504E28 */ _ft49 = (double)(int32_t)0x00000001u;
|
|
/* 02504E28 */ cpu->f[12] = _ft49 / _ft48;
|
|
/* 02504E2C */ cpu->f[13] = cpu->f[12] * cpu->f[12];
|
|
/* 02504E30 */ cpu->f[8] = cpu->f[12] * cpu->f[0];
|
|
/* 02504E34 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[9], -(cpu->f[7]));
|
|
/* 02504E38 */ cpu->f[12] = cpu->f[13] * cpu->f[8];
|
|
/* 02504E3C */ _t50 = cpu->r[3] + 0x00000044u;
|
|
/* 02504E3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02504E40 */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 02504E44 */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 02504E44 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02504E48 */ _t52 = cpu->r[3] + 0x00000060u;
|
|
/* 02504E48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02504E4C */ cpu->f[5] = cpu->f[5] * cpu->f[12];
|
|
/* 02504E50 */ /* nop */
|
|
/* 02504E54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02504E58 */ cpu->r[11] = cpu->r[8] + 0x00000024u;
|
|
/* 02504E5C */ /* nop */
|
|
/* 02504E60 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02504E60 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[5]);
|
|
/* 02504E64 */ /* nop */
|
|
/* 02504E68 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02504E68 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02504E68 */ if (_t55) goto L_02504E74; else goto L_02504E6C;
|
|
L_02504E6C: ; // 0x2504e6c
|
|
/* 02504E6C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02504E6C */ _t57 = _t56 & 0x00000001u;
|
|
/* 02504E6C */ if (_t57) goto L_02504F28; else goto L_02504E70;
|
|
L_02504E70: ; // 0x2504e70
|
|
/* 02504E70 */ goto L_02504F68;
|
|
L_02504E74: ; // 0x2504e74
|
|
/* 02504E74 */ _t58 = cpu->r[3] + 0x00000120u;
|
|
/* 02504E74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02504E78 */ _t59 = cpu->r[3] + 0x00000010u;
|
|
/* 02504E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02504E7C */ cpu->r[0] = cpu->r[9] - cpu->r[0];
|
|
/* 02504E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02504E80 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504E80 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02504E80 */ if (_t61) goto L_02504E88; else goto L_02504E84;
|
|
L_02504E84: ; // 0x2504e84
|
|
/* 02504E84 */ cpu->r[0] = 0x00000001u;
|
|
L_02504E88: ; // 0x2504e88
|
|
/* 02504E88 */ cpu->r[9] = 0x100C0000u;
|
|
/* 02504E8C */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02504E90 */ _t62 = cpu->r[9] + 0xFFFFDD28u;
|
|
/* 02504E90 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 02504E94 */ cpu->r[10] = 0x43300000u;
|
|
/* 02504E98 */ _t63 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504E98 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 02504E9C */ _t64 = cpu->r[1] + 0x00000018u;
|
|
/* 02504E9C */ rbrew_write32(cpu->mem, _t64, cpu->r[10]);
|
|
/* 02504EA0 */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 02504EA0 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02504EA4 */ cpu->f[12] = cpu->f[10] - cpu->f[11];
|
|
/* 02504EA8 */ cpu->f[13] = (double)(float)cpu->f[12];
|
|
/* 02504EAC */ cpu->f[10] = cpu->f[9] / cpu->f[13];
|
|
/* 02504EB0 */ /* nop */
|
|
/* 02504EB4 */ /* nop */
|
|
/* 02504EB8 */ _t66 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504EB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02504EBC */ _t67 = cpu->r[1] + 0x00000030u;
|
|
/* 02504EBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02504EC0 */ cpu->f[11] = cpu->f[5] * cpu->f[10];
|
|
/* 02504EC4 */ _t68 = cpu->r[1] + 0x00000050u;
|
|
/* 02504EC4 */ rbrew_write32(cpu->mem, _t68, cpu->r[8]);
|
|
/* 02504EC8 */ _t69 = cpu->r[1] + 0x00000054u;
|
|
/* 02504EC8 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 02504ECC */ /* nop */
|
|
/* 02504ED0 */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 02504ED0 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[11]);
|
|
/* 02504ED4 */ _t71 = cpu->r[1] + 0x00000034u;
|
|
/* 02504ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02504ED8 */ /* nop */
|
|
/* 02504EDC */ /* nop */
|
|
/* 02504EE0 */ _t72 = cpu->r[1] + 0x00000058u;
|
|
/* 02504EE0 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 02504EE4 */ _t73 = cpu->r[7] + 0x00000008u;
|
|
/* 02504EE4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02504EE8 */ _t74 = cpu->r[1] + 0x00000058u;
|
|
/* 02504EE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02504EEC */ _t75 = cpu->r[1] + 0x00000038u;
|
|
/* 02504EEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02504EF0 */ cpu->f[7] = cpu->f[10] + cpu->f[11];
|
|
/* 02504EF4 */ _t76 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02504EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02504EF8 */ _t77 = cpu->r[1] + 0x00000044u;
|
|
/* 02504EF8 */ rbrew_write32(cpu->mem, _t77, cpu->r[9]);
|
|
/* 02504EFC */ _t78 = cpu->r[1] + 0x00000040u;
|
|
/* 02504EFC */ rbrew_write_f32(cpu->mem, _t78, cpu->f[7]);
|
|
/* 02504F00 */ _t79 = cpu->r[1] + 0x00000040u;
|
|
/* 02504F00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02504F04 */ _t80 = cpu->r[1] + 0x00000044u;
|
|
/* 02504F04 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02504F08 */ _t81 = cpu->r[1] + 0x00000048u;
|
|
/* 02504F08 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 02504F0C */ _t82 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504F0C */ rbrew_write32(cpu->mem, _t82, cpu->r[9]);
|
|
/* 02504F10 */ _t83 = cpu->r[11] + 0x00000000u;
|
|
/* 02504F10 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[7]);
|
|
/* 02504F14 */ _t84 = cpu->r[1] + 0x00000048u;
|
|
/* 02504F14 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02504F18 */ _t85 = cpu->r[11] + 0x00000004u;
|
|
/* 02504F18 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[8]);
|
|
/* 02504F1C */ _t86 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504F1C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02504F20 */ _t87 = cpu->r[11] + 0x00000008u;
|
|
/* 02504F20 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[10]);
|
|
/* 02504F24 */ goto L_02504FDC;
|
|
L_02504F28: ; // 0x2504f28
|
|
/* 02504F28 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504F2C */ _t88 = cpu->r[10] + 0xFFFFDD28u;
|
|
/* 02504F2C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 02504F30 */ cpu->r[8] = 0x43300000u;
|
|
/* 02504F34 */ _t89 = cpu->r[3] + 0x00000050u;
|
|
/* 02504F34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02504F38 */ _t90 = cpu->r[1] + 0x00000018u;
|
|
/* 02504F38 */ rbrew_write32(cpu->mem, _t90, cpu->r[8]);
|
|
/* 02504F3C */ cpu->r[0] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02504F40 */ _t91 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02504F40 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 02504F44 */ _t92 = cpu->r[1] + 0x00000018u;
|
|
/* 02504F44 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 02504F48 */ cpu->f[7] = cpu->f[0] - cpu->f[12];
|
|
/* 02504F4C */ cpu->r[10] = 0x100C0000u;
|
|
/* 02504F50 */ cpu->f[11] = (double)(float)cpu->f[7];
|
|
/* 02504F54 */ _t93 = cpu->r[10] + 0xFFFFDD58u;
|
|
/* 02504F54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02504F58 */ cpu->f[10] = cpu->f[13] / cpu->f[11];
|
|
/* 02504F5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[9]);
|
|
/* 02504F60 */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02504F60 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02504F60 */ if (_t95) goto L_02504F64; else goto L_02504F68;
|
|
L_02504F64: ; // 0x2504f64
|
|
/* 02504F64 */ cpu->f[10] = cpu->f[9];
|
|
L_02504F68: ; // 0x2504f68
|
|
/* 02504F68 */ /* nop */
|
|
/* 02504F6C */ /* nop */
|
|
/* 02504F70 */ _t96 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02504F70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02504F74 */ _t97 = cpu->r[1] + 0x00000030u;
|
|
/* 02504F74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02504F78 */ cpu->f[11] = cpu->f[5] * cpu->f[10];
|
|
/* 02504F7C */ _t98 = cpu->r[1] + 0x00000050u;
|
|
/* 02504F7C */ rbrew_write32(cpu->mem, _t98, cpu->r[8]);
|
|
/* 02504F80 */ _t99 = cpu->r[1] + 0x00000054u;
|
|
/* 02504F80 */ rbrew_write32(cpu->mem, _t99, cpu->r[9]);
|
|
/* 02504F84 */ /* nop */
|
|
/* 02504F88 */ _t100 = cpu->r[1] + 0x00000034u;
|
|
/* 02504F88 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[11]);
|
|
/* 02504F8C */ _t101 = cpu->r[1] + 0x00000034u;
|
|
/* 02504F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02504F90 */ /* nop */
|
|
/* 02504F94 */ /* nop */
|
|
/* 02504F98 */ _t102 = cpu->r[1] + 0x00000038u;
|
|
/* 02504F98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02504F9C */ _t103 = cpu->r[1] + 0x00000058u;
|
|
/* 02504F9C */ rbrew_write32(cpu->mem, _t103, cpu->r[0]);
|
|
/* 02504FA0 */ _t104 = cpu->r[1] + 0x00000058u;
|
|
/* 02504FA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02504FA4 */ _t105 = cpu->r[7] + 0x00000008u;
|
|
/* 02504FA4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02504FA8 */ _t106 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02504FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02504FAC */ cpu->f[7] = cpu->f[10] + cpu->f[11];
|
|
/* 02504FB0 */ _t107 = cpu->r[1] + 0x00000044u;
|
|
/* 02504FB0 */ rbrew_write32(cpu->mem, _t107, cpu->r[9]);
|
|
/* 02504FB4 */ _t108 = cpu->r[1] + 0x00000048u;
|
|
/* 02504FB4 */ rbrew_write32(cpu->mem, _t108, cpu->r[0]);
|
|
/* 02504FB8 */ _t109 = cpu->r[1] + 0x00000040u;
|
|
/* 02504FB8 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[7]);
|
|
/* 02504FBC */ _t110 = cpu->r[1] + 0x00000040u;
|
|
/* 02504FBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02504FC0 */ _t111 = cpu->r[1] + 0x00000044u;
|
|
/* 02504FC0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02504FC4 */ _t112 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504FC4 */ rbrew_write32(cpu->mem, _t112, cpu->r[9]);
|
|
/* 02504FC8 */ _t113 = cpu->r[11] + 0x00000000u;
|
|
/* 02504FC8 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[7]);
|
|
/* 02504FCC */ _t114 = cpu->r[1] + 0x00000048u;
|
|
/* 02504FCC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02504FD0 */ _t115 = cpu->r[11] + 0x00000004u;
|
|
/* 02504FD0 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[8]);
|
|
/* 02504FD4 */ _t116 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02504FD4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02504FD8 */ _t117 = cpu->r[11] + 0x00000008u;
|
|
/* 02504FD8 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[10]);
|
|
L_02504FDC: ; // 0x2504fdc
|
|
/* 02504FDC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02504FE0 */ return;
|
|
L_02504FE4: ; // 0x2504fe4
|
|
/* 02504FE4 */ _t118 = cpu->r[3] + 0x000000D0u;
|
|
/* 02504FE4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02504FE8 */ _t119 = cpu->r[3] + 0x00000088u;
|
|
/* 02504FE8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02504FEC */ _t120 = cpu->r[3] + 0x00000118u;
|
|
/* 02504FEC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02504FF0 */ cpu->f[9] = cpu->f[10] - cpu->f[8];
|
|
/* 02504FF4 */ _t121 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02504FF4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02504FF8 */ cpu->f[7] = fma(cpu->f[9], cpu->f[6], cpu->f[8]);
|
|
/* 02504FFC */ _t122 = cpu->r[3] + 0x000000D4u;
|
|
/* 02504FFC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02505000 */ cpu->f[11] = cpu->f[12] - cpu->f[8];
|
|
/* 02505004 */ cpu->f[12] = fma(cpu->f[11], cpu->f[6], cpu->f[8]);
|
|
/* 02505008 */ _t123 = cpu->r[3] + 0x000000D8u;
|
|
/* 02505008 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 0250500C */ _t124 = cpu->r[3] + 0x00000090u;
|
|
/* 0250500C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 02505010 */ _t125 = cpu->r[3] + 0x00000044u;
|
|
/* 02505010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02505014 */ cpu->f[13] = cpu->f[0] - cpu->f[8];
|
|
/* 02505018 */ _t126 = cpu->r[12] + 0x00000024u;
|
|
/* 02505018 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[7]);
|
|
/* 0250501C */ cpu->f[11] = fma(cpu->f[13], cpu->f[6], cpu->f[8]);
|
|
/* 02505020 */ _t127 = cpu->r[12] + 0x00000028u;
|
|
/* 02505020 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[12]);
|
|
/* 02505024 */ _t128 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02505024 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[11]);
|
|
/* 02505028 */ return;
|
|
L_0250502C: ; // 0x250502c
|
|
/* 0250502C */ _t129 = cpu->r[3] + 0x0000006Cu;
|
|
/* 0250502C */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02505030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02505034 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505034 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02505034 */ if (_t131) goto L_02505038; else goto L_0250503C;
|
|
L_02505038: ; // 0x2505038
|
|
/* 02505038 */ goto L_02504CEC;
|
|
L_0250503C: ; // 0x250503c
|
|
/* 0250503C */ _t132 = cpu->r[3] + 0x00000058u;
|
|
/* 0250503C */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02505040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02505044 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505044 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02505044 */ if (_t134) goto L_02505048; else goto L_0250504C;
|
|
L_02505048: ; // 0x2505048
|
|
/* 02505048 */ goto L_02504D90;
|
|
L_0250504C: ; // 0x250504c
|
|
/* 0250504C */ goto L_02504FE4;
|
|
}
|
|
|
|
// fn_02505050 @ 0x2505050
|
|
void Gambit_fn_02505050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_02505050: ; // 0x2505050
|
|
/* 02505050 */ cpu->r[0] = cpu->lr;
|
|
/* 02505054 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02505054 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505054 */ cpu->r[1] = _t0;
|
|
/* 02505058 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505058 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250505C */ cpu->r[31] = cpu->r[3];
|
|
/* 02505060 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02505060 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02505064 */ _t3 = cpu->r[31] + 0x00000060u;
|
|
/* 02505064 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02505068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 0250506C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250506C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0250506C */ if (_t5) goto L_02505070; else goto L_025050E8;
|
|
L_02505070: ; // 0x2505070
|
|
/* 02505070 */ _t6 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02505070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02505074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02505078 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505078 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02505078 */ if (_t8) goto L_0250507C; else goto L_025050E8;
|
|
L_0250507C: ; // 0x250507c
|
|
/* 0250507C */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 0250507C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02505080 */ _t10 = cpu->r[31] + 0x000000F4u;
|
|
/* 02505080 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02505084 */ _t11 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02505084 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02505088 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02505088 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0250508C */ _t13 = cpu->r[31] + 0x000000F8u;
|
|
/* 0250508C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02505090 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02505090 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02505094 */ _t15 = cpu->r[31] + 0x000000FCu;
|
|
/* 02505094 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02505098 */ _t16 = cpu->r[9] + 0x00000008u;
|
|
/* 02505098 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 0250509C */ _t17 = cpu->r[31] + 0x00000100u;
|
|
/* 0250509C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025050A0 */ _t18 = cpu->r[9] + 0x0000000Cu;
|
|
/* 025050A0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 025050A4 */ _t19 = cpu->r[31] + 0x00000104u;
|
|
/* 025050A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 025050A8 */ _t20 = cpu->r[9] + 0x00000010u;
|
|
/* 025050A8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 025050AC */ _t21 = cpu->r[31] + 0x00000108u;
|
|
/* 025050AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 025050B0 */ _t22 = cpu->r[9] + 0x00000014u;
|
|
/* 025050B0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 025050B4 */ _t23 = cpu->r[31] + 0x0000010Cu;
|
|
/* 025050B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025050B8 */ _t24 = cpu->r[9] + 0x00000018u;
|
|
/* 025050B8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 025050BC */ _t25 = cpu->r[31] + 0x00000110u;
|
|
/* 025050BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025050C0 */ _t26 = cpu->r[9] + 0x0000001Cu;
|
|
/* 025050C0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 025050C4 */ _t27 = cpu->r[31] + 0x00000114u;
|
|
/* 025050C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025050C8 */ _t28 = cpu->r[9] + 0x00000020u;
|
|
/* 025050C8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 025050CC */ _t29 = cpu->r[31] + 0x00000044u;
|
|
/* 025050CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025050D0 */ cpu->r[4] = cpu->r[31] + 0x000000ACu;
|
|
/* 025050D4 */ Gambit_fn_0204B794(cpu);
|
|
/* 025050D8 */ _t30 = cpu->r[31] + 0x00000178u;
|
|
/* 025050D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025050DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025050E0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025050E0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 025050E0 */ if (_t32) goto L_02505164; else goto L_025050E4;
|
|
L_025050E4: ; // 0x25050e4
|
|
/* 025050E4 */ goto L_02505150;
|
|
L_025050E8: ; // 0x25050e8
|
|
/* 025050E8 */ _t33 = cpu->r[31] + 0x00000044u;
|
|
/* 025050E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025050EC */ _t34 = cpu->r[31] + 0x000000F4u;
|
|
/* 025050EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 025050F0 */ _t35 = cpu->r[31] + 0x00000118u;
|
|
/* 025050F0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 025050F4 */ _t36 = cpu->r[9] + 0x00000000u;
|
|
/* 025050F4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 025050F8 */ _t37 = cpu->r[31] + 0x000000F8u;
|
|
/* 025050F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 025050FC */ _t38 = cpu->r[9] + 0x00000004u;
|
|
/* 025050FC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02505100 */ _t39 = cpu->r[31] + 0x000000FCu;
|
|
/* 02505100 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02505104 */ _t40 = cpu->r[9] + 0x00000008u;
|
|
/* 02505104 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02505108 */ _t41 = cpu->r[31] + 0x00000100u;
|
|
/* 02505108 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0250510C */ _t42 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0250510C */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 02505110 */ _t43 = cpu->r[31] + 0x00000104u;
|
|
/* 02505110 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02505114 */ _t44 = cpu->r[9] + 0x00000010u;
|
|
/* 02505114 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
|
|
/* 02505118 */ _t45 = cpu->r[31] + 0x00000108u;
|
|
/* 02505118 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0250511C */ _t46 = cpu->r[9] + 0x00000014u;
|
|
/* 0250511C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02505120 */ _t47 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02505120 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02505124 */ _t48 = cpu->r[9] + 0x00000018u;
|
|
/* 02505124 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 02505128 */ _t49 = cpu->r[31] + 0x00000110u;
|
|
/* 02505128 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0250512C */ _t50 = cpu->r[9] + 0x0000001Cu;
|
|
/* 0250512C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 02505130 */ _t51 = cpu->r[31] + 0x00000114u;
|
|
/* 02505130 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02505134 */ _t52 = cpu->r[9] + 0x00000020u;
|
|
/* 02505134 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02505138 */ _t53 = cpu->r[31] + 0x00000044u;
|
|
/* 02505138 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0250513C */ cpu->r[4] = cpu->r[31] + 0x000000ACu;
|
|
/* 02505140 */ Gambit_fn_0204B794(cpu);
|
|
/* 02505144 */ _t54 = cpu->r[31] + 0x00000178u;
|
|
/* 02505144 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02505148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250514C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250514C */ _t56 = _t55 & 0x00000001u;
|
|
/* 0250514C */ if (_t56) goto L_02505164; else goto L_02505150;
|
|
L_02505150: ; // 0x2505150
|
|
/* 02505150 */ _t57 = cpu->r[3] + 0x00000000u;
|
|
/* 02505150 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02505154 */ _t58 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02505154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02505158 */ cpu->ctr = cpu->r[12];
|
|
/* 0250515C */ _t59 = cpu->r[31] + 0x00000040u;
|
|
/* 0250515C */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02505160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02505164: ; // 0x2505164
|
|
/* 02505164 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02505164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02505168 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0250516C */ cpu->lr = cpu->r[0];
|
|
/* 02505170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02505174 */ return;
|
|
}
|
|
|
|
// fn_02505054 @ 0x2505054
|
|
void Gambit_fn_02505054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_02505054: ; // 0x2505054
|
|
/* 02505054 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02505054 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505054 */ cpu->r[1] = _t0;
|
|
/* 02505058 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505058 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250505C */ cpu->r[31] = cpu->r[3];
|
|
/* 02505060 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02505060 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02505064 */ _t3 = cpu->r[31] + 0x00000060u;
|
|
/* 02505064 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02505068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 0250506C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250506C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0250506C */ if (_t5) goto L_02505070; else goto L_025050E8;
|
|
L_02505070: ; // 0x2505070
|
|
/* 02505070 */ _t6 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02505070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02505074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02505078 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505078 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02505078 */ if (_t8) goto L_0250507C; else goto L_025050E8;
|
|
L_0250507C: ; // 0x250507c
|
|
/* 0250507C */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 0250507C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02505080 */ _t10 = cpu->r[31] + 0x000000F4u;
|
|
/* 02505080 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02505084 */ _t11 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02505084 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02505088 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02505088 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0250508C */ _t13 = cpu->r[31] + 0x000000F8u;
|
|
/* 0250508C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02505090 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02505090 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02505094 */ _t15 = cpu->r[31] + 0x000000FCu;
|
|
/* 02505094 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02505098 */ _t16 = cpu->r[9] + 0x00000008u;
|
|
/* 02505098 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 0250509C */ _t17 = cpu->r[31] + 0x00000100u;
|
|
/* 0250509C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025050A0 */ _t18 = cpu->r[9] + 0x0000000Cu;
|
|
/* 025050A0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 025050A4 */ _t19 = cpu->r[31] + 0x00000104u;
|
|
/* 025050A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 025050A8 */ _t20 = cpu->r[9] + 0x00000010u;
|
|
/* 025050A8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 025050AC */ _t21 = cpu->r[31] + 0x00000108u;
|
|
/* 025050AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 025050B0 */ _t22 = cpu->r[9] + 0x00000014u;
|
|
/* 025050B0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 025050B4 */ _t23 = cpu->r[31] + 0x0000010Cu;
|
|
/* 025050B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025050B8 */ _t24 = cpu->r[9] + 0x00000018u;
|
|
/* 025050B8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 025050BC */ _t25 = cpu->r[31] + 0x00000110u;
|
|
/* 025050BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025050C0 */ _t26 = cpu->r[9] + 0x0000001Cu;
|
|
/* 025050C0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 025050C4 */ _t27 = cpu->r[31] + 0x00000114u;
|
|
/* 025050C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025050C8 */ _t28 = cpu->r[9] + 0x00000020u;
|
|
/* 025050C8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 025050CC */ _t29 = cpu->r[31] + 0x00000044u;
|
|
/* 025050CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025050D0 */ cpu->r[4] = cpu->r[31] + 0x000000ACu;
|
|
/* 025050D4 */ Gambit_fn_0204B794(cpu);
|
|
/* 025050D8 */ _t30 = cpu->r[31] + 0x00000178u;
|
|
/* 025050D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025050DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025050E0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025050E0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 025050E0 */ if (_t32) goto L_02505164; else goto L_025050E4;
|
|
L_025050E4: ; // 0x25050e4
|
|
/* 025050E4 */ goto L_02505150;
|
|
L_025050E8: ; // 0x25050e8
|
|
/* 025050E8 */ _t33 = cpu->r[31] + 0x00000044u;
|
|
/* 025050E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025050EC */ _t34 = cpu->r[31] + 0x000000F4u;
|
|
/* 025050EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 025050F0 */ _t35 = cpu->r[31] + 0x00000118u;
|
|
/* 025050F0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 025050F4 */ _t36 = cpu->r[9] + 0x00000000u;
|
|
/* 025050F4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 025050F8 */ _t37 = cpu->r[31] + 0x000000F8u;
|
|
/* 025050F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 025050FC */ _t38 = cpu->r[9] + 0x00000004u;
|
|
/* 025050FC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02505100 */ _t39 = cpu->r[31] + 0x000000FCu;
|
|
/* 02505100 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02505104 */ _t40 = cpu->r[9] + 0x00000008u;
|
|
/* 02505104 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02505108 */ _t41 = cpu->r[31] + 0x00000100u;
|
|
/* 02505108 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0250510C */ _t42 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0250510C */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 02505110 */ _t43 = cpu->r[31] + 0x00000104u;
|
|
/* 02505110 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02505114 */ _t44 = cpu->r[9] + 0x00000010u;
|
|
/* 02505114 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
|
|
/* 02505118 */ _t45 = cpu->r[31] + 0x00000108u;
|
|
/* 02505118 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0250511C */ _t46 = cpu->r[9] + 0x00000014u;
|
|
/* 0250511C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02505120 */ _t47 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02505120 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02505124 */ _t48 = cpu->r[9] + 0x00000018u;
|
|
/* 02505124 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 02505128 */ _t49 = cpu->r[31] + 0x00000110u;
|
|
/* 02505128 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0250512C */ _t50 = cpu->r[9] + 0x0000001Cu;
|
|
/* 0250512C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 02505130 */ _t51 = cpu->r[31] + 0x00000114u;
|
|
/* 02505130 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02505134 */ _t52 = cpu->r[9] + 0x00000020u;
|
|
/* 02505134 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02505138 */ _t53 = cpu->r[31] + 0x00000044u;
|
|
/* 02505138 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0250513C */ cpu->r[4] = cpu->r[31] + 0x000000ACu;
|
|
/* 02505140 */ Gambit_fn_0204B794(cpu);
|
|
/* 02505144 */ _t54 = cpu->r[31] + 0x00000178u;
|
|
/* 02505144 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02505148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250514C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250514C */ _t56 = _t55 & 0x00000001u;
|
|
/* 0250514C */ if (_t56) goto L_02505164; else goto L_02505150;
|
|
L_02505150: ; // 0x2505150
|
|
/* 02505150 */ _t57 = cpu->r[3] + 0x00000000u;
|
|
/* 02505150 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02505154 */ _t58 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02505154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02505158 */ cpu->ctr = cpu->r[12];
|
|
/* 0250515C */ _t59 = cpu->r[31] + 0x00000040u;
|
|
/* 0250515C */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02505160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02505164: ; // 0x2505164
|
|
/* 02505164 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02505164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02505168 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0250516C */ cpu->lr = cpu->r[0];
|
|
/* 02505170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02505174 */ return;
|
|
}
|
|
|
|
// fn_02505178 @ 0x2505178
|
|
void Gambit_fn_02505178(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02505178: ; // 0x2505178
|
|
/* 02505178 */ _t0 = cpu->r[3] + 0x00000084u;
|
|
/* 02505178 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250517C */ _t1 = cpu->r[3] + 0x00000080u;
|
|
/* 0250517C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02505180 */ _t2 = cpu->r[11] + 0x0000008Cu;
|
|
/* 02505180 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02505184 */ _t3 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02505184 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02505188 */ cpu->f[12] = cpu->f[0] - cpu->f[13];
|
|
/* 0250518C */ _t4 = cpu->r[3] + 0x00000118u;
|
|
/* 0250518C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02505190 */ cpu->f[13] = fma(cpu->f[12], cpu->f[0], cpu->f[13]);
|
|
/* 02505194 */ _t5 = cpu->r[3] + 0x00000040u;
|
|
/* 02505194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02505198 */ _t6 = cpu->r[12] + 0x000000E4u;
|
|
/* 02505198 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 0250519C */ return;
|
|
}
|
|
|
|
// fn_025051A4 @ 0x25051a4
|
|
void Gambit_fn_025051A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_025051A4: ; // 0x25051a4
|
|
/* 025051A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025051A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025051A4 */ cpu->r[1] = _t0;
|
|
/* 025051A8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025051A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025051AC */ cpu->r[31] = cpu->r[3];
|
|
/* 025051B0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025051B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025051B4 */ Gambit_fn_02504BA8(cpu);
|
|
/* 025051B8 */ _t3 = cpu->r[31] + 0x0000006Cu;
|
|
/* 025051B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025051BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 025051C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025051C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025051C0 */ if (_t5) goto L_025051C4; else goto L_025051CC;
|
|
L_025051C4: ; // 0x25051c4
|
|
/* 025051C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025051C8 */ Gambit_fn_02504C80(cpu);
|
|
L_025051CC: ; // 0x25051cc
|
|
/* 025051CC */ cpu->r[3] = cpu->r[31];
|
|
/* 025051D0 */ Gambit_fn_0250502C(cpu);
|
|
/* 025051D4 */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 025051D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 025051D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025051DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025051DC */ _t8 = _t7 & 0x00000001u;
|
|
/* 025051DC */ if (_t8) goto L_025051F4; else goto L_025051E0;
|
|
L_025051E0: ; // 0x25051e0
|
|
/* 025051E0 */ _t9 = cpu->r[31] + 0x00000064u;
|
|
/* 025051E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025051E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025051E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025051E8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025051E8 */ if (_t11) goto L_025051EC; else goto L_025051F4;
|
|
L_025051EC: ; // 0x25051ec
|
|
/* 025051EC */ cpu->r[3] = cpu->r[31];
|
|
/* 025051F0 */ Gambit_fn_02505050(cpu);
|
|
L_025051F4: ; // 0x25051f4
|
|
/* 025051F4 */ _t12 = cpu->r[31] + 0x00000049u;
|
|
/* 025051F4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t12);
|
|
/* 025051F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025051FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025051FC */ _t14 = _t13 & 0x00000001u;
|
|
/* 025051FC */ if (_t14) goto L_02505208; else goto L_02505200;
|
|
L_02505200: ; // 0x2505200
|
|
/* 02505200 */ cpu->r[3] = cpu->r[31];
|
|
/* 02505204 */ Gambit_fn_02505178(cpu);
|
|
L_02505208: ; // 0x2505208
|
|
/* 02505208 */ _t15 = cpu->r[31] + 0x00000170u;
|
|
/* 02505208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250520C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505210 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505210 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02505210 */ if (_t17) goto L_0250524C; else goto L_02505214;
|
|
L_02505214: ; // 0x2505214
|
|
/* 02505214 */ _t18 = cpu->r[31] + 0x00000074u;
|
|
/* 02505214 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02505218 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250521C */ _t19 = cpu->r[31] + 0x00000010u;
|
|
/* 0250521C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02505220 */ cpu->r[0] = cpu->r[0] + 0xFFFFDD74u;
|
|
/* 02505224 */ _t20 = cpu->r[31] + 0x00000078u;
|
|
/* 02505224 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02505228 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250522C */ _t21 = cpu->r[31] + 0x00000120u;
|
|
/* 0250522C */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02505230 */ cpu->r[12] = cpu->r[12] + 0xFFFFDBC0u;
|
|
/* 02505234 */ _t22 = cpu->r[31] + 0x00000174u;
|
|
/* 02505234 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02505238 */ cpu->r[6] = cpu->r[10] - cpu->r[11];
|
|
/* 0250523C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0250523C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02505240 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02505244 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505244 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 02505248 */ Gambit_fn_024F0A9C(cpu);
|
|
L_0250524C: ; // 0x250524c
|
|
/* 0250524C */ cpu->r[3] = cpu->r[31];
|
|
/* 02505250 */ Gambit_fn_02504A14(cpu);
|
|
/* 02505254 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02505258 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02505258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250525C */ cpu->lr = cpu->r[0];
|
|
/* 02505260 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02505264 */ return;
|
|
}
|
|
|
|
// fn_025052AC @ 0x25052ac
|
|
void Gambit_fn_025052AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_025052AC: ; // 0x25052ac
|
|
/* 025052AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025052AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025052AC */ cpu->r[1] = _t0;
|
|
/* 025052B0 */ _t1 = cpu->r[12] + 0x00000170u;
|
|
/* 025052B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025052B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025052B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025052B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025052B8 */ if (_t3) goto L_025052E8; else goto L_025052BC;
|
|
L_025052BC: ; // 0x25052bc
|
|
/* 025052BC */ cpu->r[11] = 0x100C0000u;
|
|
/* 025052C0 */ _t4 = cpu->r[12] + 0x00000174u;
|
|
/* 025052C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025052C4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 025052C8 */ cpu->r[11] = cpu->r[11] + 0xFFFFDBC0u;
|
|
/* 025052CC */ _t5 = cpu->r[12] + 0x00000074u;
|
|
/* 025052CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025052D0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025052D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFDD7Cu;
|
|
/* 025052D8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025052D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 025052DC */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 025052E0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 025052E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 025052E4 */ Gambit_fn_024F0900(cpu);
|
|
L_025052E8: ; // 0x25052e8
|
|
/* 025052E8 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025052E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025052EC */ cpu->lr = cpu->r[0];
|
|
/* 025052F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025052F4 */ return;
|
|
}
|
|
|
|
// fn_025052F8 @ 0x25052f8
|
|
void Gambit_fn_025052F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_025052F8: ; // 0x25052f8
|
|
/* 025052F8 */ cpu->r[0] = cpu->lr;
|
|
/* 025052FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025052FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025052FC */ cpu->r[1] = _t0;
|
|
/* 02505300 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02505300 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02505304 */ cpu->r[31] = cpu->r[3];
|
|
/* 02505308 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505308 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250530C */ _t3 = cpu->r[31] + 0x00000044u;
|
|
/* 0250530C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02505310 */ _t4 = cpu->r[31] + 0x00000054u;
|
|
/* 02505310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02505314 */ _t5 = cpu->r[31] + 0x000000F4u;
|
|
/* 02505314 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02505318 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02505318 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250531C */ cpu->r[9] = 0x43300000u;
|
|
/* 02505320 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 02505320 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02505324 */ _t8 = cpu->r[31] + 0x000000F8u;
|
|
/* 02505324 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02505328 */ cpu->r[10] = cpu->r[7] ^ 0x80000000u;
|
|
/* 0250532C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0250532C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02505330 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505330 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02505334 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02505334 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02505338 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02505338 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0250533C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02505340 */ _t13 = cpu->r[31] + 0x000000FCu;
|
|
/* 02505340 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02505344 */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02505348 */ _t14 = cpu->r[11] + 0xFFFFDD28u;
|
|
/* 02505348 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0250534C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250534C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02505350 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02505350 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02505354 */ cpu->f[13] = cpu->f[11] - cpu->f[0];
|
|
/* 02505358 */ _t17 = cpu->r[8] + 0x00000008u;
|
|
/* 02505358 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 0250535C */ cpu->f[12] = cpu->f[10] - cpu->f[0];
|
|
/* 02505360 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02505364 */ _t18 = cpu->r[31] + 0x00000100u;
|
|
/* 02505364 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02505368 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 0250536C */ _t19 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0250536C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
|
|
/* 02505370 */ _t20 = cpu->r[31] + 0x00000104u;
|
|
/* 02505370 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02505374 */ cpu->f[1] = cpu->f[0] / cpu->f[12];
|
|
/* 02505378 */ _t21 = cpu->r[8] + 0x00000010u;
|
|
/* 02505378 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 0250537C */ _t22 = cpu->r[31] + 0x00000108u;
|
|
/* 0250537C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02505380 */ _t23 = cpu->r[8] + 0x00000014u;
|
|
/* 02505380 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02505384 */ _t24 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02505384 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02505388 */ _t25 = cpu->r[8] + 0x00000018u;
|
|
/* 02505388 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[12]);
|
|
/* 0250538C */ _t26 = cpu->r[31] + 0x00000110u;
|
|
/* 0250538C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02505390 */ _t27 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02505390 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02505394 */ _t28 = cpu->r[31] + 0x00000114u;
|
|
/* 02505394 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02505398 */ _t29 = cpu->r[8] + 0x00000020u;
|
|
/* 02505398 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 0250539C */ _t30 = cpu->r[31] + 0x00000044u;
|
|
/* 0250539C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025053A0 */ cpu->r[4] = cpu->r[31] + 0x000000ACu;
|
|
/* 025053A4 */ Gambit_fn_0204B794(cpu);
|
|
/* 025053A8 */ _t31 = cpu->r[31] + 0x00000178u;
|
|
/* 025053A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025053AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025053B0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025053B0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 025053B0 */ if (_t33) goto L_025053C8; else goto L_025053B4;
|
|
L_025053B4: ; // 0x25053b4
|
|
/* 025053B4 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 025053B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025053B8 */ _t35 = cpu->r[6] + 0x0000000Cu;
|
|
/* 025053B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025053BC */ cpu->ctr = cpu->r[8];
|
|
/* 025053C0 */ _t36 = cpu->r[31] + 0x00000040u;
|
|
/* 025053C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025053C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025053C8: ; // 0x25053c8
|
|
/* 025053C8 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025053C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025053CC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 025053CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025053D0 */ cpu->lr = cpu->r[0];
|
|
/* 025053D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025053D8 */ return;
|
|
}
|
|
|
|
// fn_025052FC @ 0x25052fc
|
|
void Gambit_fn_025052FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_025052FC: ; // 0x25052fc
|
|
/* 025052FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025052FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025052FC */ cpu->r[1] = _t0;
|
|
/* 02505300 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02505300 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02505304 */ cpu->r[31] = cpu->r[3];
|
|
/* 02505308 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505308 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250530C */ _t3 = cpu->r[31] + 0x00000044u;
|
|
/* 0250530C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02505310 */ _t4 = cpu->r[31] + 0x00000054u;
|
|
/* 02505310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02505314 */ _t5 = cpu->r[31] + 0x000000F4u;
|
|
/* 02505314 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02505318 */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02505318 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250531C */ cpu->r[9] = 0x43300000u;
|
|
/* 02505320 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 02505320 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02505324 */ _t8 = cpu->r[31] + 0x000000F8u;
|
|
/* 02505324 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02505328 */ cpu->r[10] = cpu->r[7] ^ 0x80000000u;
|
|
/* 0250532C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0250532C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02505330 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505330 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02505334 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02505334 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02505338 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02505338 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0250533C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02505340 */ _t13 = cpu->r[31] + 0x000000FCu;
|
|
/* 02505340 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02505344 */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02505348 */ _t14 = cpu->r[11] + 0xFFFFDD28u;
|
|
/* 02505348 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0250534C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250534C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02505350 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02505350 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02505354 */ cpu->f[13] = cpu->f[11] - cpu->f[0];
|
|
/* 02505358 */ _t17 = cpu->r[8] + 0x00000008u;
|
|
/* 02505358 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 0250535C */ cpu->f[12] = cpu->f[10] - cpu->f[0];
|
|
/* 02505360 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02505364 */ _t18 = cpu->r[31] + 0x00000100u;
|
|
/* 02505364 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02505368 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 0250536C */ _t19 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0250536C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
|
|
/* 02505370 */ _t20 = cpu->r[31] + 0x00000104u;
|
|
/* 02505370 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02505374 */ cpu->f[1] = cpu->f[0] / cpu->f[12];
|
|
/* 02505378 */ _t21 = cpu->r[8] + 0x00000010u;
|
|
/* 02505378 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 0250537C */ _t22 = cpu->r[31] + 0x00000108u;
|
|
/* 0250537C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02505380 */ _t23 = cpu->r[8] + 0x00000014u;
|
|
/* 02505380 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02505384 */ _t24 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02505384 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02505388 */ _t25 = cpu->r[8] + 0x00000018u;
|
|
/* 02505388 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[12]);
|
|
/* 0250538C */ _t26 = cpu->r[31] + 0x00000110u;
|
|
/* 0250538C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02505390 */ _t27 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02505390 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02505394 */ _t28 = cpu->r[31] + 0x00000114u;
|
|
/* 02505394 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02505398 */ _t29 = cpu->r[8] + 0x00000020u;
|
|
/* 02505398 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 0250539C */ _t30 = cpu->r[31] + 0x00000044u;
|
|
/* 0250539C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025053A0 */ cpu->r[4] = cpu->r[31] + 0x000000ACu;
|
|
/* 025053A4 */ Gambit_fn_0204B794(cpu);
|
|
/* 025053A8 */ _t31 = cpu->r[31] + 0x00000178u;
|
|
/* 025053A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025053AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025053B0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025053B0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 025053B0 */ if (_t33) goto L_025053C8; else goto L_025053B4;
|
|
L_025053B4: ; // 0x25053b4
|
|
/* 025053B4 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 025053B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025053B8 */ _t35 = cpu->r[6] + 0x0000000Cu;
|
|
/* 025053B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025053BC */ cpu->ctr = cpu->r[8];
|
|
/* 025053C0 */ _t36 = cpu->r[31] + 0x00000040u;
|
|
/* 025053C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025053C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025053C8: ; // 0x25053c8
|
|
/* 025053C8 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025053C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025053CC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 025053CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025053D0 */ cpu->lr = cpu->r[0];
|
|
/* 025053D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025053D8 */ return;
|
|
}
|
|
|
|
// fn_025053E0 @ 0x25053e0
|
|
void Gambit_fn_025053E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_025053E0: ; // 0x25053e0
|
|
/* 025053E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025053E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025053E0 */ cpu->r[1] = _t0;
|
|
/* 025053E4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025053E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025053E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025053EC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025053EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025053F0 */ _t3 = cpu->r[31] + 0x00000048u;
|
|
/* 025053F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025053F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025053F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025053F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025053F8 */ if (_t5) goto L_02505410; else goto L_025053FC;
|
|
L_025053FC: ; // 0x25053fc
|
|
/* 025053FC */ _t6 = cpu->r[31] + 0x00000064u;
|
|
/* 025053FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02505400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02505404 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505404 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02505404 */ if (_t8) goto L_02505408; else goto L_02505410;
|
|
L_02505408: ; // 0x2505408
|
|
/* 02505408 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250540C */ Gambit_fn_025052F8(cpu);
|
|
L_02505410: ; // 0x2505410
|
|
/* 02505410 */ _t9 = cpu->r[31] + 0x00000170u;
|
|
/* 02505410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02505414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505418 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505418 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02505418 */ if (_t11) goto L_02505454; else goto L_0250541C;
|
|
L_0250541C: ; // 0x250541c
|
|
/* 0250541C */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 0250541C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02505420 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02505424 */ _t13 = cpu->r[31] + 0x00000054u;
|
|
/* 02505424 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02505428 */ cpu->r[12] = cpu->r[12] + 0xFFFFDBC0u;
|
|
/* 0250542C */ _t14 = cpu->r[31] + 0x00000174u;
|
|
/* 0250542C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02505430 */ cpu->r[6] = cpu->r[10] - cpu->r[11];
|
|
/* 02505434 */ _t15 = cpu->r[31] + 0x00000074u;
|
|
/* 02505434 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02505438 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250543C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02505440 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505440 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02505444 */ cpu->r[0] = cpu->r[0] + 0xFFFFDD84u;
|
|
/* 02505448 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0250544C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0250544C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02505450 */ Gambit_fn_024F0A9C(cpu);
|
|
L_02505454: ; // 0x2505454
|
|
/* 02505454 */ _t18 = cpu->r[31] + 0x00000010u;
|
|
/* 02505454 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02505458 */ _t19 = cpu->r[31] + 0x00000054u;
|
|
/* 02505458 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250545C */ cpu->r[0] = cpu->r[6] + 0x00000001u;
|
|
/* 02505460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 02505464 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02505464 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02505464 */ if (_t21) goto L_02505474; else goto L_02505468;
|
|
L_02505468: ; // 0x2505468
|
|
/* 02505468 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0250546C */ cpu->r[4] = 0x00000002u;
|
|
/* 02505470 */ Gambit_fn_0205C0D4(cpu);
|
|
L_02505474: ; // 0x2505474
|
|
/* 02505474 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02505478 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02505478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250547C */ cpu->lr = cpu->r[0];
|
|
/* 02505480 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02505484 */ return;
|
|
}
|
|
|
|
// fn_02505494 @ 0x2505494
|
|
void Gambit_fn_02505494(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02505494: ; // 0x2505494
|
|
/* 02505494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02505494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505494 */ cpu->r[1] = _t0;
|
|
/* 02505498 */ _t1 = cpu->r[12] + 0x00000170u;
|
|
/* 02505498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250549C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025054A0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025054A0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025054A0 */ if (_t3) goto L_025054D0; else goto L_025054A4;
|
|
L_025054A4: ; // 0x25054a4
|
|
/* 025054A4 */ cpu->r[11] = 0x100C0000u;
|
|
/* 025054A8 */ _t4 = cpu->r[12] + 0x00000174u;
|
|
/* 025054A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025054AC */ cpu->r[0] = 0x100C0000u;
|
|
/* 025054B0 */ cpu->r[11] = cpu->r[11] + 0xFFFFDBC0u;
|
|
/* 025054B4 */ _t5 = cpu->r[12] + 0x00000074u;
|
|
/* 025054B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025054B8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025054BC */ cpu->r[0] = cpu->r[0] + 0xFFFFDD8Cu;
|
|
/* 025054C0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025054C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 025054C4 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 025054C8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 025054C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 025054CC */ Gambit_fn_024F0900(cpu);
|
|
L_025054D0: ; // 0x25054d0
|
|
/* 025054D0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025054D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025054D4 */ cpu->lr = cpu->r[0];
|
|
/* 025054D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025054DC */ return;
|
|
}
|
|
|
|
// fn_025054E0 @ 0x25054e0
|
|
void Gambit_fn_025054E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_025054E0: ; // 0x25054e0
|
|
/* 025054E0 */ cpu->r[0] = cpu->lr;
|
|
/* 025054E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 025054E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 025054E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025054EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 025054EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 025054EC */ cpu->r[1] = _t1;
|
|
/* 025054F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025054F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025054F0 */ if (_t3) goto L_025054F4; else goto L_02505504;
|
|
L_025054F4: ; // 0x25054f4
|
|
/* 025054F4 */ cpu->r[3] = 0x00000010u;
|
|
/* 025054F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025054FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505500 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02505500 */ if (_t5) goto L_02505520; else goto L_02505504;
|
|
L_02505504: ; // 0x2505504
|
|
/* 02505504 */ cpu->r[0] = 0x00000000u;
|
|
/* 02505508 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02505508 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0250550C */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250550C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02505510 */ _t8 = cpu->r[3] + 0x00000009u;
|
|
/* 02505510 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02505514 */ _t9 = cpu->r[3] + 0x0000000Au;
|
|
/* 02505514 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 02505518 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02505518 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0250551C */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 0250551C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_02505520: ; // 0x2505520
|
|
/* 02505520 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02505524 */ cpu->lr = cpu->r[0];
|
|
/* 02505528 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0250552C */ return;
|
|
}
|
|
|
|
// fn_025054EC @ 0x25054ec
|
|
void Gambit_fn_025054EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025054EC: ; // 0x25054ec
|
|
/* 025054EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 025054EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025054EC */ cpu->r[1] = _t0;
|
|
/* 025054F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025054F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025054F0 */ if (_t2) goto L_025054F4; else goto L_02505504;
|
|
L_025054F4: ; // 0x25054f4
|
|
/* 025054F4 */ cpu->r[3] = 0x00000010u;
|
|
/* 025054F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025054FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505500 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505500 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02505500 */ if (_t4) goto L_02505520; else goto L_02505504;
|
|
L_02505504: ; // 0x2505504
|
|
/* 02505504 */ cpu->r[0] = 0x00000000u;
|
|
/* 02505508 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02505508 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0250550C */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250550C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02505510 */ _t7 = cpu->r[3] + 0x00000009u;
|
|
/* 02505510 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02505514 */ _t8 = cpu->r[3] + 0x0000000Au;
|
|
/* 02505514 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02505518 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02505518 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0250551C */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 0250551C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
L_02505520: ; // 0x2505520
|
|
/* 02505520 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02505524 */ cpu->lr = cpu->r[0];
|
|
/* 02505528 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0250552C */ return;
|
|
}
|
|
|
|
// fn_02505530 @ 0x2505530
|
|
void Gambit_fn_02505530(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02505530: ; // 0x2505530
|
|
/* 02505530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505534 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505534 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02505534 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02505534 */ goto L_02505538;
|
|
L_02505538: ; // 0x2505538
|
|
/* 02505538 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02505538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250553C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250553C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250553C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250553C */ goto L_02505540;
|
|
L_02505540: ; // 0x2505540
|
|
/* 02505540 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02505544 @ 0x2505544
|
|
void Gambit_fn_02505544(CPUState* cpu) {
|
|
L_02505544: ; // 0x2505544
|
|
/* 02505544 */ return;
|
|
}
|
|
|
|
// fn_02505548 @ 0x2505548
|
|
void Gambit_fn_02505548(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02505548: ; // 0x2505548
|
|
/* 02505548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250554C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250554C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250554C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250554C */ goto L_02505550;
|
|
L_02505550: ; // 0x2505550
|
|
/* 02505550 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02505550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02505554 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505554 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02505554 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02505554 */ goto L_02505558;
|
|
L_02505558: ; // 0x2505558
|
|
/* 02505558 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250555C @ 0x250555c
|
|
void Gambit_fn_0250555C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0250555C: ; // 0x250555c
|
|
/* 0250555C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0250555C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02505560 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02505560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02505564 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02505568 */ cpu->r[11] = 0x10110000u;
|
|
/* 0250556C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0250556C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02505570 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02505570 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02505574 */ return;
|
|
}
|
|
|
|
// fn_02505578 @ 0x2505578
|
|
void Gambit_fn_02505578(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02505578: ; // 0x2505578
|
|
/* 02505578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250557C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250557C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250557C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250557C */ goto L_02505580;
|
|
L_02505580: ; // 0x2505580
|
|
/* 02505580 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02505580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02505584 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505584 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02505584 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02505584 */ goto L_02505588;
|
|
L_02505588: ; // 0x2505588
|
|
/* 02505588 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250558C @ 0x250558c
|
|
void Gambit_fn_0250558C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250558C: ; // 0x250558c
|
|
/* 0250558C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505590 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505590 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02505590 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02505590 */ goto L_02505594;
|
|
L_02505594: ; // 0x2505594
|
|
/* 02505594 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02505594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02505598 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505598 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02505598 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02505598 */ goto L_0250559C;
|
|
L_0250559C: ; // 0x250559c
|
|
/* 0250559C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025055A4 @ 0x25055a4
|
|
void Gambit_fn_025055A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_025055A4: ; // 0x25055a4
|
|
/* 025055A4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 025055A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025055A4 */ cpu->r[1] = _t0;
|
|
/* 025055A8 */ /* nop */
|
|
/* 025055AC */ cpu->r[0] = cpu->lr;
|
|
/* 025055B0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 025055B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025055B4 */ cpu->r[29] = cpu->r[6];
|
|
/* 025055B8 */ cpu->r[28] = cpu->r[3];
|
|
/* 025055BC */ cpu->r[30] = cpu->r[5];
|
|
/* 025055C0 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 025055C0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 025055C4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 025055C8 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 025055C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 025055CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025055D0 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 025055D0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 025055D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025055D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025055D4 */ if (_t6) goto L_02505618; else goto L_025055D8;
|
|
L_025055D8: ; // 0x25055d8
|
|
/* 025055D8 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025055D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025055DC */ Gambit_fn_02826F20(cpu);
|
|
/* 025055E0 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025055E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025055E4 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 025055E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025055E8 */ cpu->ctr = cpu->r[0];
|
|
/* 025055EC */ cpu->r[5] = 0x00000004u;
|
|
/* 025055F0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025055F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025055F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025055FC */ cpu->r[0] = cpu->r[27];
|
|
/* 02505600 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505600 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02505600 */ if (_t11) goto L_02505608; else goto L_02505604;
|
|
L_02505604: ; // 0x2505604
|
|
/* 02505604 */ cpu->r[0] = 0x00000001u;
|
|
L_02505608: ; // 0x2505608
|
|
/* 02505608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250560C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250560C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250560C */ if (_t13) goto L_02505618; else goto L_02505610;
|
|
L_02505610: ; // 0x2505610
|
|
/* 02505610 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02505610 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02505614 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02505614 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02505618: ; // 0x2505618
|
|
/* 02505618 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02505618 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250561C */ cpu->r[0] = 0x00000000u;
|
|
/* 02505620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02505624 */ cpu->r[12] = cpu->r[0];
|
|
/* 02505628 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505628 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02505628 */ if (_t18) goto L_0250562C; else goto L_02505650;
|
|
L_0250562C: ; // 0x250562c
|
|
/* 0250562C */ cpu->ctr = cpu->r[7];
|
|
/* 02505630 */ cpu->r[10] = 0x00000000u;
|
|
L_02505634: ; // 0x2505634
|
|
/* 02505634 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02505634 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02505638 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02505638 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0250563C */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02505640 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02505640 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02505644 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02505648 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02505648 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0250564C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250564C */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250564C */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0250564C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0250564C */ if (_t25) goto L_02505634; else goto L_02505650;
|
|
L_02505650: ; // 0x2505650
|
|
/* 02505650 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02505650 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02505654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02505658 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505658 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02505658 */ if (_t28) goto L_0250569C; else goto L_0250565C;
|
|
L_0250565C: ; // 0x250565c
|
|
/* 0250565C */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0250565C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02505660 */ Gambit_fn_02826F20(cpu);
|
|
/* 02505664 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02505664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02505668 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02505668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250566C */ cpu->ctr = cpu->r[0];
|
|
/* 02505670 */ cpu->r[5] = 0x00000004u;
|
|
/* 02505674 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02505678 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250567C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02505680 */ cpu->r[11] = cpu->r[27];
|
|
/* 02505684 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505684 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02505684 */ if (_t33) goto L_0250568C; else goto L_02505688;
|
|
L_02505688: ; // 0x2505688
|
|
/* 02505688 */ cpu->r[11] = 0x00000001u;
|
|
L_0250568C: ; // 0x250568c
|
|
/* 0250568C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505690 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505690 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02505690 */ if (_t35) goto L_0250569C; else goto L_02505694;
|
|
L_02505694: ; // 0x2505694
|
|
/* 02505694 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02505694 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02505698 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02505698 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0250569C: ; // 0x250569c
|
|
/* 0250569C */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0250569C */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025056A0 */ cpu->r[0] = 0x00000000u;
|
|
/* 025056A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 025056A8 */ cpu->r[12] = cpu->r[0];
|
|
/* 025056AC */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025056AC */ _t40 = _t39 & 0x00000001u;
|
|
/* 025056AC */ if (_t40) goto L_025056B0; else goto L_025056D4;
|
|
L_025056B0: ; // 0x25056b0
|
|
/* 025056B0 */ cpu->ctr = cpu->r[6];
|
|
/* 025056B4 */ cpu->r[9] = 0x00000000u;
|
|
L_025056B8: ; // 0x25056b8
|
|
/* 025056B8 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 025056B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025056BC */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 025056BC */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 025056C0 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 025056C4 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 025056C4 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 025056C8 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 025056CC */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 025056CC */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 025056D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025056D0 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025056D0 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 025056D0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 025056D0 */ if (_t47) goto L_025056B8; else goto L_025056D4;
|
|
L_025056D4: ; // 0x25056d4
|
|
/* 025056D4 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 025056D4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 025056D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025056DC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025056DC */ _t50 = _t49 & 0x00000001u;
|
|
/* 025056DC */ if (_t50) goto L_02505720; else goto L_025056E0;
|
|
L_025056E0: ; // 0x25056e0
|
|
/* 025056E0 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025056E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025056E4 */ Gambit_fn_02826F20(cpu);
|
|
/* 025056E8 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025056E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025056EC */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 025056EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025056F0 */ cpu->ctr = cpu->r[0];
|
|
/* 025056F4 */ cpu->r[5] = 0x00000004u;
|
|
/* 025056F8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025056FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02505704 */ cpu->r[10] = cpu->r[27];
|
|
/* 02505708 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505708 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02505708 */ if (_t55) goto L_02505710; else goto L_0250570C;
|
|
L_0250570C: ; // 0x250570c
|
|
/* 0250570C */ cpu->r[10] = 0x00000001u;
|
|
L_02505710: ; // 0x2505710
|
|
/* 02505710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505714 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505714 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02505714 */ if (_t57) goto L_02505720; else goto L_02505718;
|
|
L_02505718: ; // 0x2505718
|
|
/* 02505718 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02505718 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0250571C */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0250571C */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02505720: ; // 0x2505720
|
|
/* 02505720 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02505720 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02505724 */ cpu->r[0] = 0x00000000u;
|
|
/* 02505728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250572C */ cpu->r[5] = cpu->r[0];
|
|
/* 02505730 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505730 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02505730 */ if (_t62) goto L_02505734; else goto L_02505758;
|
|
L_02505734: ; // 0x2505734
|
|
/* 02505734 */ cpu->ctr = cpu->r[12];
|
|
/* 02505738 */ cpu->r[8] = 0x00000000u;
|
|
L_0250573C: ; // 0x250573c
|
|
/* 0250573C */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0250573C */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02505740 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02505740 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02505744 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02505748 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02505748 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0250574C */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02505750 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02505750 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02505754 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02505754 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02505754 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02505754 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02505754 */ if (_t69) goto L_0250573C; else goto L_02505758;
|
|
L_02505758: ; // 0x2505758
|
|
/* 02505758 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02505758 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0250575C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02505760 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505760 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02505760 */ if (_t72) goto L_0250583C; else goto L_02505764;
|
|
L_02505764: ; // 0x2505764
|
|
/* 02505764 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02505764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02505768 */ Gambit_fn_02826F20(cpu);
|
|
/* 0250576C */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250576C */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02505770 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02505770 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02505774 */ cpu->ctr = cpu->r[12];
|
|
/* 02505778 */ cpu->r[5] = 0x00000004u;
|
|
/* 0250577C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02505780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505784 */ cpu->r[24] = cpu->r[3];
|
|
/* 02505788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0250578C */ cpu->r[30] = cpu->r[25];
|
|
/* 02505790 */ cpu->r[7] = 0x00000000u;
|
|
/* 02505794 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505794 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02505794 */ if (_t77) goto L_0250579C; else goto L_02505798;
|
|
L_02505798: ; // 0x2505798
|
|
/* 02505798 */ cpu->r[30] = 0x00000001u;
|
|
L_0250579C: ; // 0x250579c
|
|
/* 0250579C */ cpu->r[31] = 0x10110000u;
|
|
/* 025057A0 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 025057A4 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 025057A4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 025057A8 */ cpu->r[23] = 0x00000018u;
|
|
L_025057AC: ; // 0x25057ac
|
|
/* 025057AC */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 025057AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025057B0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025057B0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 025057B0 */ if (_t80) goto L_02505820; else goto L_025057B4;
|
|
L_025057B4: ; // 0x25057b4
|
|
/* 025057B4 */ cpu->r[26] = cpu->r[27];
|
|
/* 025057B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 025057B8 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025057B8 */ _t82 = _t81 & 0x00000001u;
|
|
/* 025057B8 */ if (_t82) goto L_025057BC; else goto L_025057CC;
|
|
L_025057BC: ; // 0x25057bc
|
|
/* 025057BC */ cpu->r[3] = 0x00000024u;
|
|
/* 025057C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025057C4 */ cpu->r[26] = cpu->r[3];
|
|
/* 025057C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 025057C8 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025057C8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 025057C8 */ if (_t84) goto L_02505814; else goto L_025057CC;
|
|
L_025057CC: ; // 0x25057cc
|
|
/* 025057CC */ cpu->r[11] = cpu->r[26];
|
|
/* 025057CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025057D0 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025057D0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 025057D0 */ if (_t86) goto L_025057D4; else goto L_025057E4;
|
|
L_025057D4: ; // 0x25057d4
|
|
/* 025057D4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025057D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025057DC */ cpu->r[11] = cpu->r[3];
|
|
/* 025057DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025057E0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025057E0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 025057E0 */ if (_t88) goto L_02505800; else goto L_025057E4;
|
|
L_025057E4: ; // 0x25057e4
|
|
/* 025057E4 */ cpu->r[5] = 0x100C0000u;
|
|
/* 025057E8 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 025057E8 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 025057EC */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 025057F0 */ cpu->r[5] = cpu->r[5] + 0xFFFFDBD8u;
|
|
/* 025057F4 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 025057F4 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 025057F8 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 025057F8 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 025057FC */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 025057FC */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02505800: ; // 0x2505800
|
|
/* 02505800 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02505804 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02505804 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02505808 */ cpu->r[6] = cpu->r[6] + 0xFFFFDC00u;
|
|
/* 0250580C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0250580C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02505810 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02505810 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02505814: ; // 0x2505814
|
|
/* 02505814 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02505818 */ cpu->r[0] = cpu->r[0] + 0xFFFFDC18u;
|
|
/* 0250581C */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0250581C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02505820: ; // 0x2505820
|
|
/* 02505820 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02505820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02505824 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02505828 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505828 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02505828 */ if (_t98) goto L_0250582C; else goto L_025057AC;
|
|
L_0250582C: ; // 0x250582c
|
|
/* 0250582C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02505830 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505830 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02505830 */ if (_t100) goto L_0250583C; else goto L_02505834;
|
|
L_02505834: ; // 0x2505834
|
|
/* 02505834 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02505834 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02505838 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02505838 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0250583C: ; // 0x250583c
|
|
/* 0250583C */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0250583C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02505840 */ /* nop */
|
|
/* 02505844 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02505844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02505848 */ cpu->lr = cpu->r[0];
|
|
/* 0250584C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02505850 */ return;
|
|
}
|
|
|
|
// fn_02505854 @ 0x2505854
|
|
void Gambit_fn_02505854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02505854: ; // 0x2505854
|
|
/* 02505854 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02505854 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02505858 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02505858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250585C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0250585C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02505860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02505864 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02505864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02505868 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02505868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02505868 */ if (_t5) goto L_0250586C; else goto L_02505874;
|
|
L_0250586C: ; // 0x250586c
|
|
/* 0250586C */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02505870 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02505874: ; // 0x2505874
|
|
/* 02505874 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02505874 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02505878 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02505878 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250587C */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0250587C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02505880 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02505880 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02505884 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02505884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02505888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0250588C */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0250588C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02505890 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02505890 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02505890 */ if (_t13) goto L_02505894; else goto L_0250589C;
|
|
L_02505894: ; // 0x2505894
|
|
/* 02505894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02505898 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0250589C: ; // 0x250589c
|
|
/* 0250589C */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0250589C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025058A0 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 025058A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 025058A4 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 025058A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025058A8 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 025058A8 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 025058AC */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 025058AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025058B0 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 025058B0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 025058B4 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 025058B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025058B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 025058BC */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 025058BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025058C0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025058C0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 025058C0 */ if (_t23) goto L_025058C4; else goto L_025058CC;
|
|
L_025058C4: ; // 0x25058c4
|
|
/* 025058C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025058C8 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_025058CC: ; // 0x25058cc
|
|
/* 025058CC */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 025058CC */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 025058D0 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 025058D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025058D4 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 025058D4 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 025058D8 */ return;
|
|
}
|
|
|
|
// fn_025058DC @ 0x25058dc
|
|
void Gambit_fn_025058DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025058DC: ; // 0x25058dc
|
|
/* 025058DC */ cpu->r[12] = 0x100C0000u;
|
|
/* 025058E0 */ _t0 = cpu->r[12] + 0xFFFFDDBCu;
|
|
/* 025058E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025058E4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 025058E8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025058EC */ _t1 = cpu->r[12] + 0xFFFFDDC0u;
|
|
/* 025058EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 025058F0 */ cpu->r[12] = 0x100C0000u;
|
|
/* 025058F4 */ _t2 = cpu->r[11] + 0xFFFF941Cu;
|
|
/* 025058F4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[13]);
|
|
/* 025058F4 */ cpu->r[11] = _t2;
|
|
/* 025058F8 */ _t3 = cpu->r[12] + 0xFFFFDDC4u;
|
|
/* 025058F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 025058FC */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 025058FC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[12]);
|
|
/* 02505900 */ _t5 = cpu->r[11] + 0x00000008u;
|
|
/* 02505900 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02505904 */ return;
|
|
}
|
|
|
|
// fn_02505908 @ 0x2505908
|
|
void Gambit_fn_02505908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02505908: ; // 0x2505908
|
|
/* 02505908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250590C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250590C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250590C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250590C */ goto L_02505910;
|
|
L_02505910: ; // 0x2505910
|
|
/* 02505910 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02505910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02505914 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505914 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02505914 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02505914 */ goto L_02505918;
|
|
L_02505918: ; // 0x2505918
|
|
/* 02505918 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250591C @ 0x250591c
|
|
void Gambit_fn_0250591C(CPUState* cpu) {
|
|
L_0250591C: ; // 0x250591c
|
|
/* 0250591C */ return;
|
|
}
|
|
|
|
// fn_02505920 @ 0x2505920
|
|
void Gambit_fn_02505920(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126;
|
|
|
|
L_02505920: ; // 0x2505920
|
|
/* 02505920 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02505920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505920 */ cpu->r[1] = _t0;
|
|
/* 02505924 */ cpu->r[0] = cpu->lr;
|
|
/* 02505928 */ /* nop */
|
|
/* 0250592C */ cpu->r[30] = cpu->r[3];
|
|
/* 0250592C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02505930 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02505930 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02505934 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505934 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02505934 */ if (_t3) goto L_02505938; else goto L_02505948;
|
|
L_02505938: ; // 0x2505938
|
|
/* 02505938 */ cpu->r[3] = 0x000001FCu;
|
|
/* 0250593C */ Gambit_fn_02801A78(cpu);
|
|
/* 02505940 */ cpu->r[30] = cpu->r[3];
|
|
/* 02505940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02505944 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505944 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02505944 */ if (_t5) goto L_02505D10; else goto L_02505948;
|
|
L_02505948: ; // 0x2505948
|
|
/* 02505948 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250594C */ Gambit_fn_024F6F3C(cpu);
|
|
/* 02505950 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02505954 */ cpu->r[31] = cpu->r[30] + 0x000001B0u;
|
|
/* 02505954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02505958 */ cpu->r[12] = cpu->r[12] + 0xFFFFDFA4u;
|
|
/* 0250595C */ cpu->r[27] = 0x00000000u;
|
|
/* 02505960 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02505960 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02505964 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505964 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02505964 */ if (_t8) goto L_02505968; else goto L_02505978;
|
|
L_02505968: ; // 0x2505968
|
|
/* 02505968 */ cpu->r[3] = 0x00000038u;
|
|
/* 0250596C */ Gambit_fn_02801A78(cpu);
|
|
/* 02505970 */ cpu->r[31] = cpu->r[3];
|
|
/* 02505970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02505974 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505974 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02505974 */ if (_t10) goto L_025059A8; else goto L_02505978;
|
|
L_02505978: ; // 0x2505978
|
|
/* 02505978 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250597C */ Gambit_fn_027FC29C(cpu);
|
|
/* 02505980 */ cpu->r[0] = 0x100B0000u;
|
|
/* 02505984 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02505984 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 02505988 */ cpu->r[0] = cpu->r[0] + 0xFFFFA44Cu;
|
|
/* 0250598C */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 0250598C */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 02505990 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02505990 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02505994 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02505994 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02505998 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02505998 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 0250599C */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0250599C */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 025059A0 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025059A0 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 025059A4 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 025059A4 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_025059A8: ; // 0x25059a8
|
|
/* 025059A8 */ cpu->r[3] = cpu->r[30] + 0x000001ECu;
|
|
/* 025059A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025059AC */ _t19 = cpu->r[30] + 0x000001E8u;
|
|
/* 025059AC */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 025059B0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025059B0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 025059B0 */ if (_t21) goto L_025059B4; else goto L_025059C4;
|
|
L_025059B4: ; // 0x25059b4
|
|
/* 025059B4 */ cpu->r[3] = 0x00000008u;
|
|
/* 025059B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025059BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025059C0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025059C0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 025059C0 */ if (_t23) goto L_025059CC; else goto L_025059C4;
|
|
L_025059C4: ; // 0x25059c4
|
|
/* 025059C4 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 025059C4 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 025059C8 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 025059C8 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
L_025059CC: ; // 0x25059cc
|
|
/* 025059CC */ _t26 = cpu->r[30] + 0x000001F4u;
|
|
/* 025059CC */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
|
|
/* 025059D0 */ cpu->r[0] = 0x00000003u;
|
|
/* 025059D4 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 025059D8 */ _t27 = cpu->r[30] + 0x000001F8u;
|
|
/* 025059D8 */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
|
|
/* 025059DC */ cpu->r[4] = cpu->r[30];
|
|
/* 025059E0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025059E4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025059E8 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 025059E8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 025059EC */ Gambit_fn_025068A0(cpu);
|
|
/* 025059F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025059F4 */ cpu->r[4] = cpu->r[30] + 0x000001B0u;
|
|
/* 025059F8 */ Gambit_fn_02000834(cpu);
|
|
/* 025059FC */ cpu->r[25] = 0x02500000u;
|
|
/* 02505A00 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02505A04 */ cpu->r[26] = 0x100C0000u;
|
|
/* 02505A08 */ cpu->r[25] = cpu->r[25] + 0x000063A0u;
|
|
/* 02505A0C */ cpu->r[26] = cpu->r[26] + 0xFFFFDDE8u;
|
|
/* 02505A10 */ cpu->ctr = cpu->r[25];
|
|
/* 02505A14 */ cpu->r[5] = cpu->r[5] + 0xFFFFDF58u;
|
|
/* 02505A18 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02505A18 */ rbrew_write32(cpu->mem, _t29, cpu->r[26]);
|
|
/* 02505A1C */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505A1C */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
|
|
/* 02505A20 */ _t31 = cpu->r[30] + 0x000001C8u;
|
|
/* 02505A20 */ cpu->r[24] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02505A24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505A28 */ _t32 = cpu->r[24] + 0x00000000u;
|
|
/* 02505A28 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02505A2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505A30 */ cpu->r[29] = 0x10110000u;
|
|
/* 02505A34 */ _t33 = cpu->r[29] + 0x00007399u;
|
|
/* 02505A34 */ cpu->r[29] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02505A38 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505A38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02505A3C */ _t35 = cpu->r[5] + 0x00000000u;
|
|
/* 02505A3C */ cpu->r[6] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02505A40 */ cpu->r[8] = 0x00080000u;
|
|
/* 02505A44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02505A48 */ cpu->r[31] = 0x00000000u;
|
|
/* 02505A4C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505A4C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02505A4C */ if (_t37) goto L_02505A74; else goto L_02505A50;
|
|
L_02505A50: ; // 0x2505a50
|
|
/* 02505A50 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02505A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02505A58 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02505A5C */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505A5C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02505A5C */ if (_t39) goto L_02505A70; else goto L_02505A60;
|
|
L_02505A60: ; // 0x2505a60
|
|
/* 02505A60 */ _t40 = cpu->r[5] + 0x00000000u;
|
|
/* 02505A60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02505A64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02505A68 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505A68 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02505A68 */ if (_t42) goto L_02505A6C; else goto L_02505A50;
|
|
L_02505A6C: ; // 0x2505a6c
|
|
/* 02505A6C */ goto L_02505A74;
|
|
L_02505A70: ; // 0x2505a70
|
|
/* 02505A70 */ cpu->r[31] = 0x00000000u;
|
|
L_02505A74: ; // 0x2505a74
|
|
/* 02505A74 */ _t43 = cpu->r[24] + 0x00000008u;
|
|
/* 02505A74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02505A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02505A7C */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02505A7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02505A80 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02505A80 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02505A80 */ if (_t46) goto L_02505A88; else goto L_02505A84;
|
|
L_02505A84: ; // 0x2505a84
|
|
/* 02505A84 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02505A88: ; // 0x2505a88
|
|
/* 02505A88 */ _t47 = cpu->r[8] + 0x00000014u;
|
|
/* 02505A88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02505A8C */ cpu->ctr = cpu->r[9];
|
|
/* 02505A90 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505A94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505A98 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505A98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02505A9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02505AA0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02505AA4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02505AA8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02505AAC */ cpu->r[10] = 0x02500000u;
|
|
/* 02505AB0 */ _t49 = cpu->r[28] + cpu->r[31];
|
|
/* 02505AB0 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[29]);
|
|
/* 02505AB4 */ cpu->r[10] = cpu->r[10] + 0x00006150u;
|
|
/* 02505AB8 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02505AB8 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[27]);
|
|
/* 02505ABC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02505AC0 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02505AC0 */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
|
|
/* 02505AC4 */ cpu->r[12] = 0x02500000u;
|
|
/* 02505AC8 */ _t52 = cpu->r[1] + 0x00000026u;
|
|
/* 02505AC8 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[27]);
|
|
/* 02505ACC */ cpu->r[12] = cpu->r[12] + 0x0000619Cu;
|
|
/* 02505AD0 */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 02505AD0 */ rbrew_write32(cpu->mem, _t53, cpu->r[27]);
|
|
/* 02505AD4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02505AD8 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505AD8 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[27]);
|
|
/* 02505ADC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02505AE0 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02505AE0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[9]);
|
|
/* 02505AE4 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02505AE8 */ _t56 = cpu->r[1] + 0x00000024u;
|
|
/* 02505AE8 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[27]);
|
|
/* 02505AEC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02505AF0 */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 02505AF0 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 02505AF4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02505AF8 */ _t58 = cpu->r[1] + 0x00000016u;
|
|
/* 02505AF8 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[11]);
|
|
/* 02505AFC */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505B00 */ _t59 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02505B00 */ rbrew_write16(cpu->mem, _t59, (uint16_t)cpu->r[11]);
|
|
/* 02505B04 */ Gambit_fn_02506B50(cpu);
|
|
/* 02505B08 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02505B0C */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02505B0C */ rbrew_write32(cpu->mem, _t60, cpu->r[26]);
|
|
/* 02505B10 */ cpu->r[6] = cpu->r[6] + 0xFFFFDF68u;
|
|
/* 02505B14 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505B14 */ rbrew_write32(cpu->mem, _t61, cpu->r[6]);
|
|
/* 02505B18 */ _t62 = cpu->r[30] + 0x000001C4u;
|
|
/* 02505B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02505B1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02505B20 */ _t63 = cpu->r[30] + 0x000001C8u;
|
|
/* 02505B20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02505B24 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505B24 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02505B24 */ if (_t65) goto L_02505B28; else goto L_02505B2C;
|
|
L_02505B28: ; // 0x2505b28
|
|
/* 02505B28 */ cpu->r[31] = cpu->r[31] + 0x00000024u;
|
|
L_02505B2C: ; // 0x2505b2c
|
|
/* 02505B2C */ cpu->ctr = cpu->r[25];
|
|
/* 02505B30 */ _t66 = cpu->r[31] + 0x00000000u;
|
|
/* 02505B30 */ cpu->r[24] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02505B34 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505B38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505B3C */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505B3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02505B40 */ _t68 = cpu->r[7] + 0x00000000u;
|
|
/* 02505B40 */ cpu->r[8] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02505B44 */ cpu->r[28] = 0x00000000u;
|
|
/* 02505B48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 02505B4C */ cpu->r[0] = 0x00080000u;
|
|
/* 02505B50 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505B50 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02505B50 */ if (_t70) goto L_02505B78; else goto L_02505B54;
|
|
L_02505B54: ; // 0x2505b54
|
|
/* 02505B54 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02505B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02505B5C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02505B60 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505B60 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02505B60 */ if (_t72) goto L_02505B74; else goto L_02505B64;
|
|
L_02505B64: ; // 0x2505b64
|
|
/* 02505B64 */ _t73 = cpu->r[7] + 0x00000000u;
|
|
/* 02505B64 */ cpu->r[9] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02505B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 02505B6C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505B6C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02505B6C */ if (_t75) goto L_02505B70; else goto L_02505B54;
|
|
L_02505B70: ; // 0x2505b70
|
|
/* 02505B70 */ goto L_02505B78;
|
|
L_02505B74: ; // 0x2505b74
|
|
/* 02505B74 */ cpu->r[28] = 0x00000000u;
|
|
L_02505B78: ; // 0x2505b78
|
|
/* 02505B78 */ _t76 = cpu->r[31] + 0x00000008u;
|
|
/* 02505B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02505B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 02505B80 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02505B80 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02505B80 */ if (_t78) goto L_02505B88; else goto L_02505B84;
|
|
L_02505B84: ; // 0x2505b84
|
|
/* 02505B84 */ cpu->r[28] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02505B88: ; // 0x2505b88
|
|
/* 02505B88 */ _t79 = cpu->r[1] + 0x00000010u;
|
|
/* 02505B88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02505B8C */ _t80 = cpu->r[10] + 0x00000014u;
|
|
/* 02505B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02505B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02505B94 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505B9C */ _t81 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505B9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02505BA0 */ cpu->r[3] = cpu->r[24];
|
|
/* 02505BA4 */ cpu->r[5] = cpu->r[28];
|
|
/* 02505BA8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02505BAC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02505BB0 */ _t82 = cpu->r[24] + cpu->r[28];
|
|
/* 02505BB0 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[29]);
|
|
/* 02505BB4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02505BB8 */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 02505BB8 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 02505BBC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02505BC0 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02505BC0 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[10]);
|
|
/* 02505BC4 */ cpu->r[6] = 0x02500000u;
|
|
/* 02505BC8 */ _t85 = cpu->r[1] + 0x00000026u;
|
|
/* 02505BC8 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[27]);
|
|
/* 02505BCC */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02505BD0 */ _t86 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505BD0 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[27]);
|
|
/* 02505BD4 */ cpu->r[6] = cpu->r[6] + 0x000061B4u;
|
|
/* 02505BD8 */ _t87 = cpu->r[1] + 0x00000016u;
|
|
/* 02505BD8 */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[11]);
|
|
/* 02505BDC */ cpu->r[12] = 0x02500000u;
|
|
/* 02505BE0 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 02505BE0 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[27]);
|
|
/* 02505BE4 */ cpu->r[12] = cpu->r[12] + 0x00006798u;
|
|
/* 02505BE8 */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 02505BE8 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[27]);
|
|
/* 02505BEC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02505BF0 */ _t90 = cpu->r[1] + 0x00000018u;
|
|
/* 02505BF0 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 02505BF4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02505BF8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505BFC */ _t91 = cpu->r[1] + 0x00000020u;
|
|
/* 02505BFC */ rbrew_write32(cpu->mem, _t91, cpu->r[12]);
|
|
/* 02505C00 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02505C04 */ _t92 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02505C04 */ rbrew_write16(cpu->mem, _t92, (uint16_t)cpu->r[11]);
|
|
/* 02505C08 */ Gambit_fn_02506B50(cpu);
|
|
/* 02505C0C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02505C10 */ _t93 = cpu->r[1] + 0x00000010u;
|
|
/* 02505C10 */ rbrew_write32(cpu->mem, _t93, cpu->r[26]);
|
|
/* 02505C14 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF48u;
|
|
/* 02505C18 */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505C18 */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
/* 02505C1C */ _t95 = cpu->r[30] + 0x000001C4u;
|
|
/* 02505C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02505C20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02505C24 */ _t96 = cpu->r[30] + 0x000001C8u;
|
|
/* 02505C24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02505C28 */ _t97 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505C28 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02505C28 */ if (_t98) goto L_02505C2C; else goto L_02505C30;
|
|
L_02505C2C: ; // 0x2505c2c
|
|
/* 02505C2C */ cpu->r[28] = cpu->r[28] + 0x00000048u;
|
|
L_02505C30: ; // 0x2505c30
|
|
/* 02505C30 */ cpu->ctr = cpu->r[25];
|
|
/* 02505C34 */ _t99 = cpu->r[28] + 0x00000000u;
|
|
/* 02505C34 */ cpu->r[26] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02505C38 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505C3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505C40 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505C40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02505C44 */ _t101 = cpu->r[7] + 0x00000000u;
|
|
/* 02505C44 */ cpu->r[6] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02505C48 */ cpu->r[31] = 0x00000000u;
|
|
/* 02505C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02505C50 */ cpu->r[0] = 0x00080000u;
|
|
/* 02505C54 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505C54 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02505C54 */ if (_t103) goto L_02505C7C; else goto L_02505C58;
|
|
L_02505C58: ; // 0x2505c58
|
|
/* 02505C58 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02505C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02505C60 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02505C64 */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505C64 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02505C64 */ if (_t105) goto L_02505C78; else goto L_02505C68;
|
|
L_02505C68: ; // 0x2505c68
|
|
/* 02505C68 */ _t106 = cpu->r[7] + 0x00000000u;
|
|
/* 02505C68 */ cpu->r[8] = rbrew_read8(cpu->mem, _t106);
|
|
/* 02505C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 02505C70 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505C70 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02505C70 */ if (_t108) goto L_02505C74; else goto L_02505C58;
|
|
L_02505C74: ; // 0x2505c74
|
|
/* 02505C74 */ goto L_02505C7C;
|
|
L_02505C78: ; // 0x2505c78
|
|
/* 02505C78 */ cpu->r[31] = 0x00000000u;
|
|
L_02505C7C: ; // 0x2505c7c
|
|
/* 02505C7C */ _t109 = cpu->r[28] + 0x00000008u;
|
|
/* 02505C7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02505C80 */ _t110 = cpu->r[1] + 0x00000010u;
|
|
/* 02505C80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02505C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02505C88 */ _t111 = cpu->r[10] + 0x00000014u;
|
|
/* 02505C88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02505C8C */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02505C8C */ _t113 = _t112 & 0x00000001u;
|
|
/* 02505C8C */ if (_t113) goto L_02505C94; else goto L_02505C90;
|
|
L_02505C90: ; // 0x2505c90
|
|
/* 02505C90 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02505C94: ; // 0x2505c94
|
|
/* 02505C94 */ cpu->ctr = cpu->r[6];
|
|
/* 02505C98 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505C9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505CA0 */ _t114 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505CA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02505CA4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02505CA8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02505CAC */ cpu->r[3] = cpu->r[26];
|
|
/* 02505CB0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02505CB4 */ _t115 = cpu->r[26] + cpu->r[31];
|
|
/* 02505CB4 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[29]);
|
|
/* 02505CB8 */ cpu->r[8] = 0x00000002u;
|
|
/* 02505CBC */ _t116 = cpu->r[1] + 0x00000028u;
|
|
/* 02505CBC */ rbrew_write32(cpu->mem, _t116, cpu->r[27]);
|
|
/* 02505CC0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02505CC4 */ _t117 = cpu->r[1] + 0x00000026u;
|
|
/* 02505CC4 */ rbrew_write16(cpu->mem, _t117, (uint16_t)cpu->r[27]);
|
|
/* 02505CC8 */ cpu->r[0] = 0x02500000u;
|
|
/* 02505CCC */ _t118 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02505CCC */ rbrew_write16(cpu->mem, _t118, (uint16_t)cpu->r[5]);
|
|
/* 02505CD0 */ cpu->r[10] = 0x02500000u;
|
|
/* 02505CD4 */ _t119 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505CD4 */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[27]);
|
|
/* 02505CD8 */ cpu->r[0] = cpu->r[0] + 0x0000630Cu;
|
|
/* 02505CDC */ _t120 = cpu->r[1] + 0x00000016u;
|
|
/* 02505CDC */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[5]);
|
|
/* 02505CE0 */ cpu->r[10] = cpu->r[10] + 0x00006280u;
|
|
/* 02505CE4 */ _t121 = cpu->r[1] + 0x00000024u;
|
|
/* 02505CE4 */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[27]);
|
|
/* 02505CE8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02505CEC */ _t122 = cpu->r[1] + 0x00000020u;
|
|
/* 02505CEC */ rbrew_write32(cpu->mem, _t122, cpu->r[10]);
|
|
/* 02505CF0 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02505CF4 */ _t123 = cpu->r[1] + 0x00000014u;
|
|
/* 02505CF4 */ rbrew_write16(cpu->mem, _t123, (uint16_t)cpu->r[27]);
|
|
/* 02505CF8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505CFC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02505D00 */ _t124 = cpu->r[1] + 0x00000018u;
|
|
/* 02505D00 */ rbrew_write32(cpu->mem, _t124, cpu->r[0]);
|
|
/* 02505D04 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02505D08 */ _t125 = cpu->r[1] + 0x00000008u;
|
|
/* 02505D08 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[8]);
|
|
/* 02505D0C */ Gambit_fn_02506B50(cpu);
|
|
L_02505D10: ; // 0x2505d10
|
|
/* 02505D10 */ cpu->r[3] = cpu->r[30];
|
|
/* 02505D14 */ /* nop */
|
|
/* 02505D18 */ _t126 = cpu->r[1] + 0x00000054u;
|
|
/* 02505D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02505D1C */ cpu->lr = cpu->r[0];
|
|
/* 02505D20 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02505D24 */ return;
|
|
}
|
|
|
|
// fn_02505D28 @ 0x2505d28
|
|
void Gambit_fn_02505D28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02505D28: ; // 0x2505d28
|
|
/* 02505D28 */ cpu->r[0] = cpu->lr;
|
|
/* 02505D2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02505D2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505D2C */ cpu->r[1] = _t0;
|
|
/* 02505D30 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02505D30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02505D34 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02505D34 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02505D38 */ cpu->r[30] = cpu->r[3];
|
|
/* 02505D3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02505D40 */ cpu->r[31] = cpu->r[4];
|
|
/* 02505D44 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505D44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02505D48 */ Gambit_fn_024F6710(cpu);
|
|
/* 02505D4C */ cpu->r[5] = cpu->r[3];
|
|
/* 02505D50 */ cpu->r[4] = cpu->r[31];
|
|
/* 02505D54 */ cpu->r[3] = cpu->r[30];
|
|
/* 02505D58 */ Gambit_fn_024F4798(cpu);
|
|
/* 02505D5C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02505D60 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02505D60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02505D64 */ cpu->lr = cpu->r[0];
|
|
/* 02505D68 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02505D68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02505D6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02505D70 */ return;
|
|
}
|
|
|
|
// fn_02505D2C @ 0x2505d2c
|
|
void Gambit_fn_02505D2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02505D2C: ; // 0x2505d2c
|
|
/* 02505D2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02505D2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505D2C */ cpu->r[1] = _t0;
|
|
/* 02505D30 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02505D30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02505D34 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02505D34 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02505D38 */ cpu->r[30] = cpu->r[3];
|
|
/* 02505D3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02505D40 */ cpu->r[31] = cpu->r[4];
|
|
/* 02505D44 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505D44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02505D48 */ Gambit_fn_024F6710(cpu);
|
|
/* 02505D4C */ cpu->r[5] = cpu->r[3];
|
|
/* 02505D50 */ cpu->r[4] = cpu->r[31];
|
|
/* 02505D54 */ cpu->r[3] = cpu->r[30];
|
|
/* 02505D58 */ Gambit_fn_024F4798(cpu);
|
|
/* 02505D5C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02505D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02505D60 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02505D60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02505D64 */ cpu->lr = cpu->r[0];
|
|
/* 02505D68 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02505D68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02505D6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02505D70 */ return;
|
|
}
|
|
|
|
// fn_02505D74 @ 0x2505d74
|
|
void Gambit_fn_02505D74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02505D74: ; // 0x2505d74
|
|
/* 02505D74 */ cpu->r[0] = cpu->lr;
|
|
/* 02505D78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02505D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505D78 */ cpu->r[1] = _t0;
|
|
/* 02505D7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02505D80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02505D84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02505D84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02505D88 */ _t3 = cpu->r[31] + 0x00000050u;
|
|
/* 02505D88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02505D8C */ Gambit_fn_02393BC8(cpu);
|
|
/* 02505D90 */ cpu->r[3] = 0x000000A0u;
|
|
/* 02505D94 */ Gambit_fn_02801A78(cpu);
|
|
/* 02505D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505D9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505D9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02505D9C */ if (_t5) goto L_02505DA4; else goto L_02505DA0;
|
|
L_02505DA0: ; // 0x2505da0
|
|
/* 02505DA0 */ Gambit_fn_023AFBAC(cpu);
|
|
L_02505DA4: ; // 0x2505da4
|
|
/* 02505DA4 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 02505DA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02505DA8 */ _t7 = cpu->r[31] + 0x000001F4u;
|
|
/* 02505DA8 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02505DAC */ Gambit_fn_023B0294(cpu);
|
|
/* 02505DB0 */ _t8 = cpu->r[31] + 0x000001F4u;
|
|
/* 02505DB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02505DB4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02505DB8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02505DBC */ _t9 = cpu->r[12] + 0x00000038u;
|
|
/* 02505DBC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 02505DC0 */ _t10 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02505DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02505DC4 */ Gambit_fn_02826F20(cpu);
|
|
/* 02505DC8 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02505DC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02505DCC */ _t12 = cpu->r[11] + 0x00000034u;
|
|
/* 02505DCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02505DD0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02505DD4 */ cpu->ctr = cpu->r[12];
|
|
/* 02505DD8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02505DDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505DE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505DE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02505DE4 */ if (_t14) goto L_02505DF4; else goto L_02505DE8;
|
|
L_02505DE8: ; // 0x2505de8
|
|
/* 02505DE8 */ _t15 = cpu->r[31] + 0x000001F0u;
|
|
/* 02505DE8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02505DEC */ cpu->r[0] = 0x00000001u;
|
|
/* 02505DF0 */ _t16 = cpu->r[31] + 0x000001ECu;
|
|
/* 02505DF0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_02505DF4: ; // 0x2505df4
|
|
/* 02505DF4 */ _t17 = cpu->r[31] + 0x000001ECu;
|
|
/* 02505DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02505DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02505DFC */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505DFC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02505DFC */ if (_t19) goto L_02505E00; else goto L_02505E1C;
|
|
L_02505E00: ; // 0x2505e00
|
|
/* 02505E00 */ cpu->r[12] = 0x00000000u;
|
|
/* 02505E04 */ cpu->ctr = cpu->r[0];
|
|
/* 02505E08 */ cpu->r[0] = cpu->r[12];
|
|
L_02505E0C: ; // 0x2505e0c
|
|
/* 02505E0C */ _t20 = cpu->r[31] + 0x000001F0u;
|
|
/* 02505E0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02505E10 */ _t21 = cpu->r[11] + cpu->r[12];
|
|
/* 02505E10 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02505E14 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02505E18 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02505E18 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02505E18 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02505E18 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02505E18 */ if (_t24) goto L_02505E0C; else goto L_02505E1C;
|
|
L_02505E1C: ; // 0x2505e1c
|
|
/* 02505E1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02505E20 */ Gambit_fn_024F6654(cpu);
|
|
/* 02505E24 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02505E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02505E28 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505E28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02505E2C */ cpu->lr = cpu->r[0];
|
|
/* 02505E30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02505E34 */ return;
|
|
}
|
|
|
|
// fn_02505D78 @ 0x2505d78
|
|
void Gambit_fn_02505D78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02505D78: ; // 0x2505d78
|
|
/* 02505D78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02505D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505D78 */ cpu->r[1] = _t0;
|
|
/* 02505D7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02505D80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02505D84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02505D84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02505D88 */ _t3 = cpu->r[31] + 0x00000050u;
|
|
/* 02505D88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02505D8C */ Gambit_fn_02393BC8(cpu);
|
|
/* 02505D90 */ cpu->r[3] = 0x000000A0u;
|
|
/* 02505D94 */ Gambit_fn_02801A78(cpu);
|
|
/* 02505D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505D9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505D9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02505D9C */ if (_t5) goto L_02505DA4; else goto L_02505DA0;
|
|
L_02505DA0: ; // 0x2505da0
|
|
/* 02505DA0 */ Gambit_fn_023AFBAC(cpu);
|
|
L_02505DA4: ; // 0x2505da4
|
|
/* 02505DA4 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 02505DA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02505DA8 */ _t7 = cpu->r[31] + 0x000001F4u;
|
|
/* 02505DA8 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02505DAC */ Gambit_fn_023B0294(cpu);
|
|
/* 02505DB0 */ _t8 = cpu->r[31] + 0x000001F4u;
|
|
/* 02505DB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02505DB4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02505DB8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02505DBC */ _t9 = cpu->r[12] + 0x00000038u;
|
|
/* 02505DBC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 02505DC0 */ _t10 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02505DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02505DC4 */ Gambit_fn_02826F20(cpu);
|
|
/* 02505DC8 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02505DC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02505DCC */ _t12 = cpu->r[11] + 0x00000034u;
|
|
/* 02505DCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02505DD0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02505DD4 */ cpu->ctr = cpu->r[12];
|
|
/* 02505DD8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02505DDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505DE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505DE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02505DE4 */ if (_t14) goto L_02505DF4; else goto L_02505DE8;
|
|
L_02505DE8: ; // 0x2505de8
|
|
/* 02505DE8 */ _t15 = cpu->r[31] + 0x000001F0u;
|
|
/* 02505DE8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02505DEC */ cpu->r[0] = 0x00000001u;
|
|
/* 02505DF0 */ _t16 = cpu->r[31] + 0x000001ECu;
|
|
/* 02505DF0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_02505DF4: ; // 0x2505df4
|
|
/* 02505DF4 */ _t17 = cpu->r[31] + 0x000001ECu;
|
|
/* 02505DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02505DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02505DFC */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02505DFC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02505DFC */ if (_t19) goto L_02505E00; else goto L_02505E1C;
|
|
L_02505E00: ; // 0x2505e00
|
|
/* 02505E00 */ cpu->r[12] = 0x00000000u;
|
|
/* 02505E04 */ cpu->ctr = cpu->r[0];
|
|
/* 02505E08 */ cpu->r[0] = cpu->r[12];
|
|
L_02505E0C: ; // 0x2505e0c
|
|
/* 02505E0C */ _t20 = cpu->r[31] + 0x000001F0u;
|
|
/* 02505E0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02505E10 */ _t21 = cpu->r[11] + cpu->r[12];
|
|
/* 02505E10 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02505E14 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02505E18 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02505E18 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02505E18 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02505E18 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02505E18 */ if (_t24) goto L_02505E0C; else goto L_02505E1C;
|
|
L_02505E1C: ; // 0x2505e1c
|
|
/* 02505E1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02505E20 */ Gambit_fn_024F6654(cpu);
|
|
/* 02505E24 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02505E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02505E28 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505E28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02505E2C */ cpu->lr = cpu->r[0];
|
|
/* 02505E30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02505E34 */ return;
|
|
}
|
|
|
|
// fn_02505E38 @ 0x2505e38
|
|
void Gambit_fn_02505E38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_02505E38: ; // 0x2505e38
|
|
/* 02505E38 */ cpu->r[0] = cpu->lr;
|
|
/* 02505E3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02505E3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505E3C */ cpu->r[1] = _t0;
|
|
/* 02505E40 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02505E40 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02505E44 */ cpu->r[30] = cpu->r[3];
|
|
/* 02505E48 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505E48 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02505E4C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02505E4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02505E50 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02505E54 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02505E58 */ _t4 = cpu->r[11] + 0x00000698u;
|
|
/* 02505E58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02505E58 */ cpu->r[11] = _t4;
|
|
/* 02505E5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02505E60 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02505E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02505E68 */ cpu->r[4] = cpu->r[4] + 0x00000970u;
|
|
/* 02505E6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505E6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02505E6C */ if (_t6) goto L_02505E70; else goto L_02505E84;
|
|
L_02505E70: ; // 0x2505e70
|
|
/* 02505E70 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02505E74 */ cpu->r[0] = 0x00000001u;
|
|
/* 02505E78 */ cpu->r[10] = cpu->r[10] + 0xFFFFDE88u;
|
|
/* 02505E7C */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02505E7C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02505E80 */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 02505E80 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_02505E84: ; // 0x2505e84
|
|
/* 02505E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02505E88 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505E88 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02505E88 */ if (_t10) goto L_02505EA8; else goto L_02505E8C;
|
|
L_02505E8C: ; // 0x2505e8c
|
|
/* 02505E8C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02505E8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02505E90 */ _t12 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02505E90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02505E94 */ cpu->ctr = cpu->r[9];
|
|
/* 02505E98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02505E9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505EA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505EA4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02505EA4 */ if (_t14) goto L_02505EA8; else goto L_02505EAC;
|
|
L_02505EA8: ; // 0x2505ea8
|
|
/* 02505EA8 */ cpu->r[31] = 0x00000000u;
|
|
L_02505EAC: ; // 0x2505eac
|
|
/* 02505EAC */ _t15 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02505EAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02505EB0 */ _t16 = cpu->r[31] + 0x000001DCu;
|
|
/* 02505EB0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02505EB4 */ Gambit_fn_024F1978(cpu);
|
|
/* 02505EB8 */ _t17 = cpu->r[30] + 0x000001F4u;
|
|
/* 02505EB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02505EBC */ Gambit_fn_023B054C(cpu);
|
|
/* 02505EC0 */ _t18 = cpu->r[30] + 0x000001F4u;
|
|
/* 02505EC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02505EC4 */ _t19 = cpu->r[8] + 0x00000008u;
|
|
/* 02505EC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02505EC8 */ _t20 = cpu->r[30] + 0x000000B4u;
|
|
/* 02505EC8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 02505ECC */ _t21 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02505ECC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02505ED0 */ _t22 = cpu->r[30] + 0x000000B8u;
|
|
/* 02505ED0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02505ED4 */ _t23 = cpu->r[8] + 0x00000010u;
|
|
/* 02505ED4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02505ED8 */ _t24 = cpu->r[30] + 0x000000BCu;
|
|
/* 02505ED8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02505EDC */ _t25 = cpu->r[8] + 0x00000014u;
|
|
/* 02505EDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02505EE0 */ _t26 = cpu->r[30] + 0x000000C0u;
|
|
/* 02505EE0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02505EE4 */ _t27 = cpu->r[8] + 0x00000018u;
|
|
/* 02505EE4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02505EE8 */ _t28 = cpu->r[30] + 0x000000C4u;
|
|
/* 02505EE8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[3]);
|
|
/* 02505EEC */ _t29 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02505EEC */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02505EF0 */ _t30 = cpu->r[30] + 0x000000C8u;
|
|
/* 02505EF0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[4]);
|
|
/* 02505EF4 */ _t31 = cpu->r[8] + 0x00000020u;
|
|
/* 02505EF4 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02505EF8 */ _t32 = cpu->r[30] + 0x000000CCu;
|
|
/* 02505EF8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[5]);
|
|
/* 02505EFC */ _t33 = cpu->r[8] + 0x00000024u;
|
|
/* 02505EFC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02505F00 */ _t34 = cpu->r[30] + 0x000000D0u;
|
|
/* 02505F00 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[6]);
|
|
/* 02505F04 */ _t35 = cpu->r[8] + 0x00000028u;
|
|
/* 02505F04 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02505F08 */ _t36 = cpu->r[30] + 0x000000D4u;
|
|
/* 02505F08 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[7]);
|
|
/* 02505F0C */ _t37 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02505F0C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02505F10 */ _t38 = cpu->r[30] + 0x000000D8u;
|
|
/* 02505F10 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[8]);
|
|
/* 02505F14 */ _t39 = cpu->r[8] + 0x00000030u;
|
|
/* 02505F14 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02505F18 */ _t40 = cpu->r[30] + 0x000000DCu;
|
|
/* 02505F18 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[9]);
|
|
/* 02505F1C */ _t41 = cpu->r[8] + 0x00000034u;
|
|
/* 02505F1C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02505F20 */ _t42 = cpu->r[30] + 0x00000054u;
|
|
/* 02505F20 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[11]);
|
|
/* 02505F24 */ _t43 = cpu->r[30] + 0x00000080u;
|
|
/* 02505F24 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02505F28 */ _t44 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02505F28 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[9]);
|
|
/* 02505F2C */ _t45 = cpu->r[30] + 0x000000E0u;
|
|
/* 02505F2C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[10]);
|
|
/* 02505F30 */ _t46 = cpu->r[30] + 0x00000068u;
|
|
/* 02505F30 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[4]);
|
|
/* 02505F34 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02505F38 */ _t47 = cpu->r[30] + 0x00000078u;
|
|
/* 02505F38 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[8]);
|
|
/* 02505F3C */ _t48 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02505F3C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[13]);
|
|
/* 02505F40 */ _t49 = cpu->r[30] + 0x00000074u;
|
|
/* 02505F40 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[7]);
|
|
/* 02505F44 */ _t50 = cpu->r[30] + 0x00000064u;
|
|
/* 02505F44 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[3]);
|
|
/* 02505F48 */ _t51 = cpu->r[30] + 0x00000070u;
|
|
/* 02505F48 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[6]);
|
|
/* 02505F4C */ _t52 = cpu->r[30] + 0x00000060u;
|
|
/* 02505F4C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02505F50 */ _t53 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02505F50 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[5]);
|
|
/* 02505F54 */ _t54 = cpu->r[30] + 0x00000058u;
|
|
/* 02505F54 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 02505F58 */ _t55 = cpu->r[12] + 0x00006000u;
|
|
/* 02505F58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02505F5C */ _t56 = cpu->r[30] + 0x00000050u;
|
|
/* 02505F5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02505F60 */ _t57 = cpu->r[12] + 0x00000264u;
|
|
/* 02505F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02505F64 */ cpu->r[4] = cpu->r[30] + 0x000001ECu;
|
|
/* 02505F68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02505F6C */ Gambit_fn_024FE00C(cpu);
|
|
/* 02505F70 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02505F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02505F74 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02505F74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02505F78 */ cpu->lr = cpu->r[0];
|
|
/* 02505F7C */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02505F80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02505F84 */ return;
|
|
}
|
|
|
|
// fn_02505E3C @ 0x2505e3c
|
|
void Gambit_fn_02505E3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_02505E3C: ; // 0x2505e3c
|
|
/* 02505E3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02505E3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505E3C */ cpu->r[1] = _t0;
|
|
/* 02505E40 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02505E40 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02505E44 */ cpu->r[30] = cpu->r[3];
|
|
/* 02505E48 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505E48 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02505E4C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02505E4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02505E50 */ Gambit_fn_024F65FC(cpu);
|
|
/* 02505E54 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02505E58 */ _t4 = cpu->r[11] + 0x00000698u;
|
|
/* 02505E58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02505E58 */ cpu->r[11] = _t4;
|
|
/* 02505E5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02505E60 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02505E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02505E68 */ cpu->r[4] = cpu->r[4] + 0x00000970u;
|
|
/* 02505E6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505E6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02505E6C */ if (_t6) goto L_02505E70; else goto L_02505E84;
|
|
L_02505E70: ; // 0x2505e70
|
|
/* 02505E70 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02505E74 */ cpu->r[0] = 0x00000001u;
|
|
/* 02505E78 */ cpu->r[10] = cpu->r[10] + 0xFFFFDE88u;
|
|
/* 02505E7C */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02505E7C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02505E80 */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 02505E80 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_02505E84: ; // 0x2505e84
|
|
/* 02505E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02505E88 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505E88 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02505E88 */ if (_t10) goto L_02505EA8; else goto L_02505E8C;
|
|
L_02505E8C: ; // 0x2505e8c
|
|
/* 02505E8C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02505E8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02505E90 */ _t12 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02505E90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02505E94 */ cpu->ctr = cpu->r[9];
|
|
/* 02505E98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02505E9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02505EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02505EA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505EA4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02505EA4 */ if (_t14) goto L_02505EA8; else goto L_02505EAC;
|
|
L_02505EA8: ; // 0x2505ea8
|
|
/* 02505EA8 */ cpu->r[31] = 0x00000000u;
|
|
L_02505EAC: ; // 0x2505eac
|
|
/* 02505EAC */ _t15 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02505EAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02505EB0 */ _t16 = cpu->r[31] + 0x000001DCu;
|
|
/* 02505EB0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02505EB4 */ Gambit_fn_024F1978(cpu);
|
|
/* 02505EB8 */ _t17 = cpu->r[30] + 0x000001F4u;
|
|
/* 02505EB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02505EBC */ Gambit_fn_023B054C(cpu);
|
|
/* 02505EC0 */ _t18 = cpu->r[30] + 0x000001F4u;
|
|
/* 02505EC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02505EC4 */ _t19 = cpu->r[8] + 0x00000008u;
|
|
/* 02505EC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02505EC8 */ _t20 = cpu->r[30] + 0x000000B4u;
|
|
/* 02505EC8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 02505ECC */ _t21 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02505ECC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02505ED0 */ _t22 = cpu->r[30] + 0x000000B8u;
|
|
/* 02505ED0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02505ED4 */ _t23 = cpu->r[8] + 0x00000010u;
|
|
/* 02505ED4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02505ED8 */ _t24 = cpu->r[30] + 0x000000BCu;
|
|
/* 02505ED8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02505EDC */ _t25 = cpu->r[8] + 0x00000014u;
|
|
/* 02505EDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02505EE0 */ _t26 = cpu->r[30] + 0x000000C0u;
|
|
/* 02505EE0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02505EE4 */ _t27 = cpu->r[8] + 0x00000018u;
|
|
/* 02505EE4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02505EE8 */ _t28 = cpu->r[30] + 0x000000C4u;
|
|
/* 02505EE8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[3]);
|
|
/* 02505EEC */ _t29 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02505EEC */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02505EF0 */ _t30 = cpu->r[30] + 0x000000C8u;
|
|
/* 02505EF0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[4]);
|
|
/* 02505EF4 */ _t31 = cpu->r[8] + 0x00000020u;
|
|
/* 02505EF4 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02505EF8 */ _t32 = cpu->r[30] + 0x000000CCu;
|
|
/* 02505EF8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[5]);
|
|
/* 02505EFC */ _t33 = cpu->r[8] + 0x00000024u;
|
|
/* 02505EFC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02505F00 */ _t34 = cpu->r[30] + 0x000000D0u;
|
|
/* 02505F00 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[6]);
|
|
/* 02505F04 */ _t35 = cpu->r[8] + 0x00000028u;
|
|
/* 02505F04 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02505F08 */ _t36 = cpu->r[30] + 0x000000D4u;
|
|
/* 02505F08 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[7]);
|
|
/* 02505F0C */ _t37 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02505F0C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02505F10 */ _t38 = cpu->r[30] + 0x000000D8u;
|
|
/* 02505F10 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[8]);
|
|
/* 02505F14 */ _t39 = cpu->r[8] + 0x00000030u;
|
|
/* 02505F14 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02505F18 */ _t40 = cpu->r[30] + 0x000000DCu;
|
|
/* 02505F18 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[9]);
|
|
/* 02505F1C */ _t41 = cpu->r[8] + 0x00000034u;
|
|
/* 02505F1C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02505F20 */ _t42 = cpu->r[30] + 0x00000054u;
|
|
/* 02505F20 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[11]);
|
|
/* 02505F24 */ _t43 = cpu->r[30] + 0x00000080u;
|
|
/* 02505F24 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02505F28 */ _t44 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02505F28 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[9]);
|
|
/* 02505F2C */ _t45 = cpu->r[30] + 0x000000E0u;
|
|
/* 02505F2C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[10]);
|
|
/* 02505F30 */ _t46 = cpu->r[30] + 0x00000068u;
|
|
/* 02505F30 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[4]);
|
|
/* 02505F34 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02505F38 */ _t47 = cpu->r[30] + 0x00000078u;
|
|
/* 02505F38 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[8]);
|
|
/* 02505F3C */ _t48 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02505F3C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[13]);
|
|
/* 02505F40 */ _t49 = cpu->r[30] + 0x00000074u;
|
|
/* 02505F40 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[7]);
|
|
/* 02505F44 */ _t50 = cpu->r[30] + 0x00000064u;
|
|
/* 02505F44 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[3]);
|
|
/* 02505F48 */ _t51 = cpu->r[30] + 0x00000070u;
|
|
/* 02505F48 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[6]);
|
|
/* 02505F4C */ _t52 = cpu->r[30] + 0x00000060u;
|
|
/* 02505F4C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02505F50 */ _t53 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02505F50 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[5]);
|
|
/* 02505F54 */ _t54 = cpu->r[30] + 0x00000058u;
|
|
/* 02505F54 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 02505F58 */ _t55 = cpu->r[12] + 0x00006000u;
|
|
/* 02505F58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02505F5C */ _t56 = cpu->r[30] + 0x00000050u;
|
|
/* 02505F5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02505F60 */ _t57 = cpu->r[12] + 0x00000264u;
|
|
/* 02505F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02505F64 */ cpu->r[4] = cpu->r[30] + 0x000001ECu;
|
|
/* 02505F68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02505F6C */ Gambit_fn_024FE00C(cpu);
|
|
/* 02505F70 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02505F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02505F74 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02505F74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02505F78 */ cpu->lr = cpu->r[0];
|
|
/* 02505F7C */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02505F80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02505F84 */ return;
|
|
}
|
|
|
|
// fn_02505FDC @ 0x2505fdc
|
|
void Gambit_fn_02505FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_0249475C: ; // 0x249475c
|
|
/* 0249475C */ cpu->r[0] = cpu->lr;
|
|
/* 02494760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494760 */ cpu->r[1] = _t0;
|
|
/* 02494764 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02494764 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02494768 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02494768 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0249476C */ cpu->r[30] = cpu->r[3];
|
|
/* 02494770 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02494770 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02494774 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02494774 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02494778 */ /* nop */
|
|
/* 0249477C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02494780 */ cpu->r[31] = cpu->r[4];
|
|
/* 02494784 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494784 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494784 */ if (_t6) goto L_02494788; else goto L_0249479C;
|
|
L_02494788: ; // 0x2494788
|
|
/* 02494788 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02494788 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0249478C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0249478C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02494790 */ cpu->ctr = cpu->r[0];
|
|
/* 02494794 */ cpu->r[3] = cpu->r[30];
|
|
/* 02494798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0249479C: ; // 0x249479c
|
|
/* 0249479C */ cpu->r[3] = cpu->r[30];
|
|
/* 024947A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 024947A4 */ Gambit_fn_024946D4(cpu);
|
|
/* 024947A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 024947AC */ /* nop */
|
|
/* 024947B0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 024947B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 024947B8 */ Gambit_fn_02494554(cpu);
|
|
/* 024947BC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 024947BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024947C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 024947C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024947C4 */ cpu->lr = cpu->r[0];
|
|
/* 024947C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024947C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024947CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024947D0 */ return;
|
|
L_02505F88: ; // 0x2505f88
|
|
/* 02505F88 */ _t12 = cpu->r[3] + 0x000001BCu;
|
|
/* 02505F88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02505F8C */ /* nop */
|
|
/* 02505F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02505F94 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02505F94 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02505F94 */ if (_t14) goto L_02505FA0; else goto L_02505F98;
|
|
L_02505F98: ; // 0x2505f98
|
|
/* 02505F98 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505F98 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02505F98 */ if (_t16) goto L_02505FB8; else goto L_02505F9C;
|
|
L_02505F9C: ; // 0x2505f9c
|
|
/* 02505F9C */ return;
|
|
L_02505FA0: ; // 0x2505fa0
|
|
/* 02505FA0 */ _t17 = cpu->r[3] + 0x000001E8u;
|
|
/* 02505FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02505FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02505FA8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505FA8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02505FA8 */ _t20 = _t19 ^ 0x00000001u;
|
|
/* 02505FA8 */ if (_t20) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02505FA8 */ goto L_02505FAC;
|
|
L_02505FAC: ; // 0x2505fac
|
|
/* 02505FAC */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 02505FB0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02505FB4 */ goto L_0249475C;
|
|
L_02505FB8: ; // 0x2505fb8
|
|
/* 02505FB8 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02505FBC */ _t21 = cpu->r[12] + 0xFFFFDF78u;
|
|
/* 02505FBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02505FC0 */ _t22 = cpu->r[3] + 0x0000019Cu;
|
|
/* 02505FC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02505FC4 */ _t23 = cpu->r[12] + 0x00000004u;
|
|
/* 02505FC4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02505FC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02505FCC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02505FCC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02505FCC */ _t26 = _t25 ^ 0x00000001u;
|
|
/* 02505FCC */ if (_t26) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02505FCC */ goto L_02505FD0;
|
|
L_02505FD0: ; // 0x2505fd0
|
|
/* 02505FD0 */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 02505FD4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02505FD8 */ goto L_0249475C;
|
|
L_02505FDC: ; // 0x2505fdc
|
|
/* 02505FDC */ goto L_02505F88;
|
|
}
|
|
|
|
// fn_02505FE0 @ 0x2505fe0
|
|
void Gambit_fn_02505FE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02505FE0: ; // 0x2505fe0
|
|
/* 02505FE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02505FE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02505FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505FE4 */ cpu->r[1] = _t0;
|
|
/* 02505FE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02505FEC */ cpu->r[31] = cpu->r[3];
|
|
/* 02505FF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02505FF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02505FF4 */ Gambit_fn_024F606C(cpu);
|
|
/* 02505FF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02505FFC */ Gambit_fn_024F607C(cpu);
|
|
/* 02506000 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02506000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02506004 */ cpu->lr = cpu->r[0];
|
|
/* 02506008 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250600C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02506010 */ return;
|
|
}
|
|
|
|
// fn_02505FE4 @ 0x2505fe4
|
|
void Gambit_fn_02505FE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02505FE4: ; // 0x2505fe4
|
|
/* 02505FE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02505FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02505FE4 */ cpu->r[1] = _t0;
|
|
/* 02505FE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02505FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02505FEC */ cpu->r[31] = cpu->r[3];
|
|
/* 02505FF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02505FF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02505FF4 */ Gambit_fn_024F606C(cpu);
|
|
/* 02505FF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02505FFC */ Gambit_fn_024F607C(cpu);
|
|
/* 02506000 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02506000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02506004 */ cpu->lr = cpu->r[0];
|
|
/* 02506008 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250600C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02506010 */ return;
|
|
}
|
|
|
|
// fn_02506014 @ 0x2506014
|
|
void Gambit_fn_02506014(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02506014: ; // 0x2506014
|
|
/* 02506014 */ cpu->r[0] = cpu->lr;
|
|
/* 02506018 */ cpu->r[5] = cpu->r[3];
|
|
/* 0250601C */ cpu->r[8] = 0x00000000u;
|
|
/* 02506020 */ cpu->r[6] = cpu->r[5] + 0x00000078u;
|
|
/* 02506024 */ cpu->r[9] = cpu->r[8];
|
|
/* 02506028 */ cpu->r[10] = cpu->r[8];
|
|
/* 0250602C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0250602C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02506030 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02506034 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02506034 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02506034 */ cpu->r[1] = _t1;
|
|
/* 02506038 */ _t2 = cpu->r[5] + 0x0000019Cu;
|
|
/* 02506038 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250603C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02506040 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02506040 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02506044 */ Gambit_fn_024F19BC(cpu);
|
|
/* 02506048 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02506048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250604C */ cpu->lr = cpu->r[0];
|
|
/* 02506050 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02506054 */ return;
|
|
}
|
|
|
|
// fn_02506034 @ 0x2506034
|
|
void Gambit_fn_02506034(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02506034: ; // 0x2506034
|
|
/* 02506034 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02506034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02506034 */ cpu->r[1] = _t0;
|
|
/* 02506038 */ _t1 = cpu->r[5] + 0x0000019Cu;
|
|
/* 02506038 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250603C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02506040 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02506040 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02506044 */ Gambit_fn_024F19BC(cpu);
|
|
/* 02506048 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02506048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250604C */ cpu->lr = cpu->r[0];
|
|
/* 02506050 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02506054 */ return;
|
|
}
|
|
|
|
// fn_02506058 @ 0x2506058
|
|
void Gambit_fn_02506058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02506058: ; // 0x2506058
|
|
/* 02506058 */ cpu->r[0] = cpu->lr;
|
|
/* 0250605C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250605C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250605C */ cpu->r[1] = _t0;
|
|
/* 02506060 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506060 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02506064 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02506064 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02506068 */ cpu->r[31] = cpu->r[3];
|
|
/* 02506068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250606C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250606C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02506070 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506070 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02506070 */ if (_t5) goto L_02506074; else goto L_02506084;
|
|
L_02506074: ; // 0x2506074
|
|
/* 02506074 */ cpu->r[3] = 0x000001E8u;
|
|
/* 02506078 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250607C */ cpu->r[31] = cpu->r[3];
|
|
/* 0250607C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02506080 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506080 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02506080 */ if (_t7) goto L_02506104; else goto L_02506084;
|
|
L_02506084: ; // 0x2506084
|
|
/* 02506084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02506088 */ Gambit_fn_025015D0(cpu);
|
|
/* 0250608C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506090 */ cpu->r[0] = cpu->r[0] + 0xFFFFDEA8u;
|
|
/* 02506094 */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 02506094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02506098 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02506098 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0250609C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250609C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250609C */ if (_t10) goto L_025060A0; else goto L_025060B0;
|
|
L_025060A0: ; // 0x25060a0
|
|
/* 025060A0 */ cpu->r[3] = 0x00000060u;
|
|
/* 025060A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025060A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 025060A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025060AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025060AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 025060AC */ if (_t12) goto L_02506104; else goto L_025060B0;
|
|
L_025060B0: ; // 0x25060b0
|
|
/* 025060B0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 025060B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 025060B8 */ cpu->r[6] = 0x100C0000u;
|
|
/* 025060BC */ cpu->r[5] = cpu->r[5] + 0xFFFFDF84u;
|
|
/* 025060C0 */ cpu->r[8] = 0x00000000u;
|
|
/* 025060C4 */ cpu->r[6] = cpu->r[6] + 0xFFFFDF8Cu;
|
|
/* 025060C8 */ cpu->r[7] = cpu->r[5];
|
|
/* 025060CC */ cpu->r[3] = cpu->r[30];
|
|
/* 025060D0 */ Gambit_fn_027F84F0(cpu);
|
|
/* 025060D4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 025060D8 */ cpu->r[11] = 0x100C0000u;
|
|
/* 025060DC */ _t13 = cpu->r[12] + 0xFFFFDF78u;
|
|
/* 025060DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025060E0 */ cpu->r[12] = 0x100C0000u;
|
|
/* 025060E4 */ _t14 = cpu->r[11] + 0xFFFFDF7Cu;
|
|
/* 025060E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025060E8 */ _t15 = cpu->r[12] + 0xFFFFDF80u;
|
|
/* 025060E8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025060EC */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 025060EC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 025060F0 */ cpu->r[0] = 0x10110000u;
|
|
/* 025060F4 */ _t17 = cpu->r[30] + 0x0000005Cu;
|
|
/* 025060F4 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 025060F8 */ cpu->r[0] = cpu->r[0] + 0x00000A2Cu;
|
|
/* 025060FC */ _t18 = cpu->r[30] + 0x00000058u;
|
|
/* 025060FC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02506100 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02506100 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_02506104: ; // 0x2506104
|
|
/* 02506104 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02506104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02506108 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250610C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250610C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02506110 */ cpu->lr = cpu->r[0];
|
|
/* 02506114 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02506114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02506118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250611C */ return;
|
|
}
|
|
|
|
// fn_0250605C @ 0x250605c
|
|
void Gambit_fn_0250605C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_0250605C: ; // 0x250605c
|
|
/* 0250605C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250605C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250605C */ cpu->r[1] = _t0;
|
|
/* 02506060 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506060 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02506064 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02506064 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02506068 */ cpu->r[31] = cpu->r[3];
|
|
/* 02506068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250606C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250606C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02506070 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506070 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02506070 */ if (_t5) goto L_02506074; else goto L_02506084;
|
|
L_02506074: ; // 0x2506074
|
|
/* 02506074 */ cpu->r[3] = 0x000001E8u;
|
|
/* 02506078 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250607C */ cpu->r[31] = cpu->r[3];
|
|
/* 0250607C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02506080 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506080 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02506080 */ if (_t7) goto L_02506104; else goto L_02506084;
|
|
L_02506084: ; // 0x2506084
|
|
/* 02506084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02506088 */ Gambit_fn_025015D0(cpu);
|
|
/* 0250608C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506090 */ cpu->r[0] = cpu->r[0] + 0xFFFFDEA8u;
|
|
/* 02506094 */ cpu->r[30] = cpu->r[31] + 0x00000188u;
|
|
/* 02506094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02506098 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02506098 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0250609C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250609C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250609C */ if (_t10) goto L_025060A0; else goto L_025060B0;
|
|
L_025060A0: ; // 0x25060a0
|
|
/* 025060A0 */ cpu->r[3] = 0x00000060u;
|
|
/* 025060A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025060A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 025060A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025060AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025060AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 025060AC */ if (_t12) goto L_02506104; else goto L_025060B0;
|
|
L_025060B0: ; // 0x25060b0
|
|
/* 025060B0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 025060B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 025060B8 */ cpu->r[6] = 0x100C0000u;
|
|
/* 025060BC */ cpu->r[5] = cpu->r[5] + 0xFFFFDF84u;
|
|
/* 025060C0 */ cpu->r[8] = 0x00000000u;
|
|
/* 025060C4 */ cpu->r[6] = cpu->r[6] + 0xFFFFDF8Cu;
|
|
/* 025060C8 */ cpu->r[7] = cpu->r[5];
|
|
/* 025060CC */ cpu->r[3] = cpu->r[30];
|
|
/* 025060D0 */ Gambit_fn_027F84F0(cpu);
|
|
/* 025060D4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 025060D8 */ cpu->r[11] = 0x100C0000u;
|
|
/* 025060DC */ _t13 = cpu->r[12] + 0xFFFFDF78u;
|
|
/* 025060DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025060E0 */ cpu->r[12] = 0x100C0000u;
|
|
/* 025060E4 */ _t14 = cpu->r[11] + 0xFFFFDF7Cu;
|
|
/* 025060E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025060E8 */ _t15 = cpu->r[12] + 0xFFFFDF80u;
|
|
/* 025060E8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025060EC */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 025060EC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 025060F0 */ cpu->r[0] = 0x10110000u;
|
|
/* 025060F4 */ _t17 = cpu->r[30] + 0x0000005Cu;
|
|
/* 025060F4 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 025060F8 */ cpu->r[0] = cpu->r[0] + 0x00000A2Cu;
|
|
/* 025060FC */ _t18 = cpu->r[30] + 0x00000058u;
|
|
/* 025060FC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02506100 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02506100 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_02506104: ; // 0x2506104
|
|
/* 02506104 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02506104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02506108 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250610C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250610C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02506110 */ cpu->lr = cpu->r[0];
|
|
/* 02506114 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02506114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02506118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250611C */ return;
|
|
}
|
|
|
|
// fn_02506120 @ 0x2506120
|
|
void Gambit_fn_02506120(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02506120: ; // 0x2506120
|
|
/* 02506120 */ cpu->r[0] = cpu->lr;
|
|
/* 02506124 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02506124 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02506128 */ cpu->r[3] = 0x000001E8u;
|
|
/* 0250612C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0250612C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0250612C */ cpu->r[1] = _t1;
|
|
/* 02506130 */ Gambit_fn_02801A78(cpu);
|
|
/* 02506134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506138 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506138 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02506138 */ if (_t3) goto L_02506140; else goto L_0250613C;
|
|
L_0250613C: ; // 0x250613c
|
|
/* 0250613C */ Gambit_fn_02506058(cpu);
|
|
L_02506140: ; // 0x2506140
|
|
/* 02506140 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02506144 */ cpu->lr = cpu->r[0];
|
|
/* 02506148 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0250614C */ return;
|
|
}
|
|
|
|
// fn_0250612C @ 0x250612c
|
|
void Gambit_fn_0250612C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0250612C: ; // 0x250612c
|
|
/* 0250612C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0250612C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250612C */ cpu->r[1] = _t0;
|
|
/* 02506130 */ Gambit_fn_02801A78(cpu);
|
|
/* 02506134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506138 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506138 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02506138 */ if (_t2) goto L_02506140; else goto L_0250613C;
|
|
L_0250613C: ; // 0x250613c
|
|
/* 0250613C */ Gambit_fn_02506058(cpu);
|
|
L_02506140: ; // 0x2506140
|
|
/* 02506140 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02506144 */ cpu->lr = cpu->r[0];
|
|
/* 02506148 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0250614C */ return;
|
|
}
|
|
|
|
// fn_02506154 @ 0x2506154
|
|
void Gambit_fn_02506154(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02506154: ; // 0x2506154
|
|
/* 02506154 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02506154 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02506154 */ cpu->r[1] = _t0;
|
|
/* 02506158 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506158 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250615C */ cpu->r[4] = 0x100C0000u;
|
|
/* 02506160 */ cpu->r[31] = cpu->r[3];
|
|
/* 02506164 */ cpu->r[5] = 0x00000001u;
|
|
/* 02506168 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02506168 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250616C */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 0250616C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02506170 */ cpu->r[4] = cpu->r[4] + 0xFFFFDF94u;
|
|
/* 02506174 */ Gambit_fn_02398850(cpu);
|
|
/* 02506178 */ _t4 = cpu->r[31] + 0x00000050u;
|
|
/* 02506178 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250617C */ _t5 = cpu->r[12] + 0x000046C0u;
|
|
/* 0250617C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02506180 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000003Cu);
|
|
/* 02506184 */ _t6 = cpu->r[31] + 0x000001E8u;
|
|
/* 02506184 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02506188 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02506188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250618C */ cpu->lr = cpu->r[0];
|
|
/* 02506190 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02506194 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02506198 */ return;
|
|
}
|
|
|
|
// fn_025061B8 @ 0x25061b8
|
|
void Gambit_fn_025061B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_025061B8: ; // 0x25061b8
|
|
/* 025061B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025061B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025061B8 */ cpu->r[1] = _t0;
|
|
/* 025061BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025061BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025061C0 */ cpu->r[12] = 0x100C0000u;
|
|
/* 025061C4 */ _t2 = cpu->r[12] + 0xFFFFDF78u;
|
|
/* 025061C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 025061C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025061CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025061CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025061D0 */ _t4 = cpu->r[31] + 0x00000050u;
|
|
/* 025061D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025061D4 */ _t5 = cpu->r[12] + 0x000046E8u;
|
|
/* 025061D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 025061D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025061DC */ _t6 = cpu->r[31] + 0x000001F4u;
|
|
/* 025061DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025061E0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025061E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025061E0 */ if (_t8) goto L_02506228; else goto L_025061E4;
|
|
L_025061E4: ; // 0x25061e4
|
|
/* 025061E4 */ _t9 = cpu->r[12] + 0x000046E8u;
|
|
/* 025061E4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 025061E8 */ cpu->r[4] = cpu->r[31] + 0x00000078u;
|
|
/* 025061EC */ Gambit_fn_023B0DB4(cpu);
|
|
/* 025061F0 */ _t10 = cpu->r[31] + 0x000001F4u;
|
|
/* 025061F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025061F4 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 025061F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025061F8 */ _t12 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025061F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025061FC */ cpu->ctr = cpu->r[0];
|
|
/* 02506200 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02506204 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02506204 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02506208 */ _t14 = cpu->r[31] + 0x00000078u;
|
|
/* 02506208 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 0250620C */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 0250620C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02506210 */ _t16 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02506210 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02506214 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02506214 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02506218 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250621C */ _t18 = cpu->r[31] + 0x00000080u;
|
|
/* 0250621C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02506220 */ Gambit_fn_024F7158(cpu);
|
|
/* 02506224 */ goto L_0250626C;
|
|
L_02506228: ; // 0x2506228
|
|
/* 02506228 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250622C */ _t19 = cpu->r[12] + 0xFFFFDF7Cu;
|
|
/* 0250622C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02506230 */ cpu->r[4] = cpu->r[31] + 0x00000078u;
|
|
/* 02506234 */ Gambit_fn_023B0DB4(cpu);
|
|
/* 02506238 */ _t20 = cpu->r[31] + 0x000001F4u;
|
|
/* 02506238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0250623C */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 0250623C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02506240 */ _t22 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02506240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02506244 */ cpu->ctr = cpu->r[0];
|
|
/* 02506248 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250624C */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0250624C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02506250 */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 02506250 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02506254 */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 02506254 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02506258 */ _t26 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02506258 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 0250625C */ _t27 = cpu->r[3] + 0x00000008u;
|
|
/* 0250625C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02506260 */ cpu->r[3] = cpu->r[31];
|
|
/* 02506264 */ _t28 = cpu->r[31] + 0x00000080u;
|
|
/* 02506264 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02506268 */ Gambit_fn_024F7158(cpu);
|
|
L_0250626C: ; // 0x250626c
|
|
/* 0250626C */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0250626C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02506270 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506270 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02506274 */ cpu->lr = cpu->r[0];
|
|
/* 02506278 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250627C */ return;
|
|
}
|
|
|
|
// fn_02506284 @ 0x2506284
|
|
void Gambit_fn_02506284(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02506284: ; // 0x2506284
|
|
/* 02506284 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02506284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02506284 */ cpu->r[1] = _t0;
|
|
/* 02506288 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250628C */ cpu->r[31] = cpu->r[3];
|
|
/* 02506290 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02506290 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02506294 */ _t3 = cpu->r[31] + 0x000001F0u;
|
|
/* 02506294 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02506298 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02506298 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250629C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025062A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025062A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025062A0 */ if (_t6) goto L_025062F0; else goto L_025062A4;
|
|
L_025062A4: ; // 0x25062a4
|
|
/* 025062A4 */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 025062A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025062A8 */ _t8 = cpu->r[10] + 0x0000001Cu;
|
|
/* 025062A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025062AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 025062B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025062B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025062B0 */ if (_t10) goto L_025062D4; else goto L_025062B4;
|
|
L_025062B4: ; // 0x25062b4
|
|
/* 025062B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 025062B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025062B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025062B8 */ if (_t12) goto L_025062D4; else goto L_025062BC;
|
|
L_025062BC: ; // 0x25062bc
|
|
/* 025062BC */ cpu->r[12] = 0x101C0000u;
|
|
/* 025062C0 */ _t13 = cpu->r[12] + 0x00006000u;
|
|
/* 025062C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025062C4 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 025062C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025062C8 */ _t15 = cpu->r[12] + 0x00000264u;
|
|
/* 025062C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025062CC */ Gambit_fn_027912FC(cpu);
|
|
/* 025062D0 */ _t16 = cpu->r[31] + 0x000001F0u;
|
|
/* 025062D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
L_025062D4: ; // 0x25062d4
|
|
/* 025062D4 */ _t17 = cpu->r[11] + 0x00000000u;
|
|
/* 025062D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025062D8 */ _t18 = cpu->r[31] + 0x00000078u;
|
|
/* 025062D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025062DC */ _t19 = cpu->r[8] + 0x00000078u;
|
|
/* 025062DC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 025062E0 */ _t20 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025062E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 025062E4 */ _t21 = cpu->r[8] + 0x0000007Cu;
|
|
/* 025062E4 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 025062E8 */ _t22 = cpu->r[31] + 0x00000080u;
|
|
/* 025062E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025062EC */ _t23 = cpu->r[8] + 0x00000080u;
|
|
/* 025062EC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
L_025062F0: ; // 0x25062f0
|
|
/* 025062F0 */ cpu->r[0] = 0x00000000u;
|
|
/* 025062F4 */ _t24 = cpu->r[31] + 0x000001F8u;
|
|
/* 025062F4 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 025062F8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 025062F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025062FC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025062FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02506300 */ cpu->lr = cpu->r[0];
|
|
/* 02506304 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02506308 */ return;
|
|
}
|
|
|
|
// fn_02506324 @ 0x2506324
|
|
void Gambit_fn_02506324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_02506324: ; // 0x2506324
|
|
/* 02506324 */ goto L_02790458;
|
|
L_02790458: ; // 0x2790458
|
|
/* 02790458 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02790458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279045C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790460 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790460 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02790460 */ if (_t2) goto L_02790470; else goto L_02790464;
|
|
L_02790464: ; // 0x2790464
|
|
/* 02790464 */ cpu->r[4] = cpu->r[3];
|
|
/* 02790468 */ cpu->r[3] = cpu->r[0];
|
|
/* 0279046C */ goto L_027912FC;
|
|
L_02790470: ; // 0x2790470
|
|
/* 02790470 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02790470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02790474 */ cpu->r[11] = 0x00000003u;
|
|
/* 02790478 */ _t4 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02790478 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0279047C */ _t5 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0279047C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02790480 */ cpu->ctr = cpu->r[0];
|
|
/* 02790484 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027912FC: ; // 0x27912fc
|
|
/* 027912FC */ _t6 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027912FC */ rbrew_write32(cpu->mem, _t6, cpu->r[1]);
|
|
/* 027912FC */ cpu->r[1] = _t6;
|
|
/* 02791300 */ /* nop */
|
|
/* 02791304 */ cpu->r[0] = cpu->lr;
|
|
/* 02791308 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02791308 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0279130C */ cpu->r[31] = cpu->r[4];
|
|
/* 02791310 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02791310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02791318 */ cpu->r[30] = cpu->r[3];
|
|
/* 0279131C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279131C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0279131C */ if (_t10) goto L_02791430; else goto L_02791320;
|
|
L_02791320: ; // 0x2791320
|
|
/* 02791320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02791324 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791324 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02791324 */ if (_t12) goto L_02791430; else goto L_02791328;
|
|
L_02791328: ; // 0x2791328
|
|
/* 02791328 */ _t13 = cpu->r[31] + 0x00000020u;
|
|
/* 02791328 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0279132C */ _t14 = cpu->r[30] + 0x00000030u;
|
|
/* 0279132C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02791330 */ cpu->r[8] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791334 */ _t15 = cpu->r[8] + cpu->r[9];
|
|
/* 02791334 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02791338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0279133C */ _t16 = cpu->r[5] + 0x00000008u;
|
|
/* 0279133C */ cpu->r[27] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791340 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791340 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02791340 */ if (_t18) goto L_02791344; else goto L_02791400;
|
|
L_02791344: ; // 0x2791344
|
|
/* 02791344 */ _t19 = cpu->r[30] + 0x00000210u;
|
|
/* 02791344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02791348 */ cpu->r[0] = cpu->r[30] + 0x00000204u;
|
|
/* 0279134C */ _t20 = cpu->r[30] + 0x00000208u;
|
|
/* 0279134C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02791350 */ cpu->r[0] = cpu->r[0] - cpu->r[11];
|
|
/* 02791354 */ cpu->r[29] = cpu->r[12] - cpu->r[11];
|
|
/* 02791358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 0279135C */ cpu->r[12] = cpu->r[11];
|
|
/* 02791360 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791360 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02791360 */ if (_t22) goto L_027913D4; else goto L_02791364;
|
|
L_02791364: ; // 0x2791364
|
|
/* 02791364 */ cpu->r[26] = 0x101D0000u;
|
|
L_02791368: ; // 0x2791368
|
|
/* 02791368 */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 02791368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0279136C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02791370 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791370 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02791370 */ if (_t25) goto L_02791374; else goto L_027913C0;
|
|
L_02791374: ; // 0x2791374
|
|
/* 02791374 */ cpu->r[3] = cpu->r[29] + cpu->r[11];
|
|
/* 02791378 */ Gambit_fn_02801EDC(cpu);
|
|
/* 0279137C */ _t26 = cpu->r[30] + 0x0000020Cu;
|
|
/* 0279137C */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02791380 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02791384 */ _t27 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791384 */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 02791388 */ _t28 = cpu->r[26] + 0xFFFF9038u;
|
|
/* 02791388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0279138C */ cpu->r[4] = cpu->r[29];
|
|
/* 02791390 */ Gambit_fn_02792A54(cpu);
|
|
/* 02791394 */ cpu->r[6] = cpu->r[28];
|
|
/* 02791398 */ cpu->r[5] = cpu->r[27];
|
|
/* 0279139C */ cpu->r[4] = cpu->r[31];
|
|
/* 027913A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913A4 */ Gambit_fn_02790E50(cpu);
|
|
/* 027913A8 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913AC */ cpu->r[5] = cpu->r[27];
|
|
/* 027913B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027913B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913B8 */ Gambit_fn_02790EE0(cpu);
|
|
/* 027913BC */ goto L_02791430;
|
|
L_027913C0: ; // 0x27913c0
|
|
/* 027913C0 */ cpu->r[10] = cpu->r[29] + cpu->r[12];
|
|
/* 027913C4 */ _t29 = cpu->r[10] + 0x00000004u;
|
|
/* 027913C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027913C8 */ cpu->r[29] = cpu->r[9] - cpu->r[12];
|
|
/* 027913CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 027913D0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027913D0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027913D0 */ if (_t31) goto L_027913D4; else goto L_02791368;
|
|
L_027913D4: ; // 0x27913d4
|
|
/* 027913D4 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913D8 */ cpu->r[5] = cpu->r[27];
|
|
/* 027913DC */ cpu->r[4] = cpu->r[31];
|
|
/* 027913E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913E4 */ Gambit_fn_02790E50(cpu);
|
|
/* 027913E8 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913EC */ cpu->r[5] = cpu->r[27];
|
|
/* 027913F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027913F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913F8 */ Gambit_fn_02790EE0(cpu);
|
|
/* 027913FC */ goto L_02791430;
|
|
L_02791400: ; // 0x2791400
|
|
/* 02791400 */ _t32 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02791400 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02791404 */ _t33 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02791404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02791408 */ cpu->r[3] = cpu->r[31] + cpu->r[10];
|
|
/* 0279140C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02791410 */ _t34 = cpu->r[29] + 0x00000008u;
|
|
/* 02791410 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02791414 */ cpu->r[6] = cpu->r[28];
|
|
/* 02791418 */ cpu->r[3] = cpu->r[30];
|
|
/* 0279141C */ cpu->r[4] = cpu->r[31];
|
|
/* 02791420 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02791424 */ cpu->r[5] = cpu->r[27];
|
|
/* 02791428 */ _t35 = cpu->r[29] + 0x00000008u;
|
|
/* 02791428 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 0279142C */ Gambit_fn_02790EE0(cpu);
|
|
L_02791430: ; // 0x2791430
|
|
/* 02791430 */ /* nop */
|
|
/* 02791434 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02791434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02791438 */ cpu->lr = cpu->r[0];
|
|
/* 0279143C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02791440 */ return;
|
|
}
|
|
|
|
// fn_02506328 @ 0x2506328
|
|
void Gambit_fn_02506328(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02506328: ; // 0x2506328
|
|
/* 02506328 */ cpu->r[0] = cpu->lr;
|
|
/* 0250632C */ cpu->r[12] = 0x100C0000u;
|
|
/* 02506330 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02506334 */ cpu->r[12] = cpu->r[12] + 0xFFFFDF98u;
|
|
/* 02506338 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE8u;
|
|
/* 0250633C */ cpu->r[3] = 0x101F0000u;
|
|
/* 02506340 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02506340 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02506344 */ cpu->r[0] = 0x02500000u;
|
|
/* 02506348 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02506348 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02506348 */ cpu->r[1] = _t1;
|
|
/* 0250634C */ cpu->r[0] = cpu->r[0] + 0x00006C30u;
|
|
/* 02506350 */ _t2 = cpu->r[3] + 0xFFFF9428u;
|
|
/* 02506350 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02506350 */ cpu->r[3] = _t2;
|
|
/* 02506354 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02506358 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02506358 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0250635C */ cpu->r[12] = cpu->r[12] + 0xFFFFDDC8u;
|
|
/* 02506360 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02506360 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02506364 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02506364 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02506368 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02506368 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0250636C */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02506370 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02506374 */ cpu->r[3] = cpu->r[3] + 0x00006700u;
|
|
/* 02506378 */ Gambit_fn_02C83090(cpu);
|
|
/* 0250637C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250637C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02506380 */ cpu->lr = cpu->r[0];
|
|
/* 02506384 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02506388 */ return;
|
|
}
|
|
|
|
// fn_02506348 @ 0x2506348
|
|
void Gambit_fn_02506348(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02506348: ; // 0x2506348
|
|
/* 02506348 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02506348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02506348 */ cpu->r[1] = _t0;
|
|
/* 0250634C */ cpu->r[0] = cpu->r[0] + 0x00006C30u;
|
|
/* 02506350 */ _t1 = cpu->r[3] + 0xFFFF9428u;
|
|
/* 02506350 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02506350 */ cpu->r[3] = _t1;
|
|
/* 02506354 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02506358 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02506358 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0250635C */ cpu->r[12] = cpu->r[12] + 0xFFFFDDC8u;
|
|
/* 02506360 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02506360 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02506364 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02506364 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02506368 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02506368 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0250636C */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02506370 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02506374 */ cpu->r[3] = cpu->r[3] + 0x00006700u;
|
|
/* 02506378 */ Gambit_fn_02C83090(cpu);
|
|
/* 0250637C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250637C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02506380 */ cpu->lr = cpu->r[0];
|
|
/* 02506384 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02506388 */ return;
|
|
}
|
|
|
|
// fn_0250638C @ 0x250638c
|
|
void Gambit_fn_0250638C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250638C: ; // 0x250638c
|
|
/* 0250638C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506390 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506390 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02506390 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02506390 */ goto L_02506394;
|
|
L_02506394: ; // 0x2506394
|
|
/* 02506394 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02506394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02506398 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506398 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02506398 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02506398 */ goto L_0250639C;
|
|
L_0250639C: ; // 0x250639c
|
|
/* 0250639C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025063A0 @ 0x25063a0
|
|
void Gambit_fn_025063A0(CPUState* cpu) {
|
|
L_025063A0: ; // 0x25063a0
|
|
/* 025063A0 */ return;
|
|
}
|
|
|
|
// fn_025063A4 @ 0x25063a4
|
|
void Gambit_fn_025063A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025063A4: ; // 0x25063a4
|
|
/* 025063A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025063A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025063A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025063A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025063A8 */ goto L_025063AC;
|
|
L_025063AC: ; // 0x25063ac
|
|
/* 025063AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025063AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025063B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025063B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025063B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025063B0 */ goto L_025063B4;
|
|
L_025063B4: ; // 0x25063b4
|
|
/* 025063B4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025063B8 @ 0x25063b8
|
|
void Gambit_fn_025063B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_025063B8: ; // 0x25063b8
|
|
/* 025063B8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 025063B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025063BC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 025063BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025063C0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 025063C4 */ cpu->r[11] = 0x10110000u;
|
|
/* 025063C8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 025063C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 025063CC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 025063CC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 025063D0 */ return;
|
|
}
|
|
|
|
// fn_025063D4 @ 0x25063d4
|
|
void Gambit_fn_025063D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025063D4: ; // 0x25063d4
|
|
/* 025063D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025063D8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025063D8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025063D8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025063D8 */ goto L_025063DC;
|
|
L_025063DC: ; // 0x25063dc
|
|
/* 025063DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025063DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025063E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025063E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025063E0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025063E0 */ goto L_025063E4;
|
|
L_025063E4: ; // 0x25063e4
|
|
/* 025063E4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025063E8 @ 0x25063e8
|
|
void Gambit_fn_025063E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025063E8: ; // 0x25063e8
|
|
/* 025063E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025063EC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025063EC */ _t1 = _t0 & 0x00000001u;
|
|
/* 025063EC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025063EC */ goto L_025063F0;
|
|
L_025063F0: ; // 0x25063f0
|
|
/* 025063F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025063F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025063F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025063F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025063F4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025063F4 */ goto L_025063F8;
|
|
L_025063F8: ; // 0x25063f8
|
|
/* 025063F8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025063FC @ 0x25063fc
|
|
void Gambit_fn_025063FC(CPUState* cpu) {
|
|
L_025063FC: ; // 0x25063fc
|
|
/* 025063FC */ return;
|
|
}
|
|
|
|
// fn_02506400 @ 0x2506400
|
|
void Gambit_fn_02506400(CPUState* cpu) {
|
|
L_02506400: ; // 0x2506400
|
|
/* 02506400 */ return;
|
|
}
|
|
|
|
// fn_02506404 @ 0x2506404
|
|
void Gambit_fn_02506404(CPUState* cpu) {
|
|
L_02506404: ; // 0x2506404
|
|
/* 02506404 */ return;
|
|
}
|
|
|
|
// fn_02506408 @ 0x2506408
|
|
void Gambit_fn_02506408(CPUState* cpu) {
|
|
L_02506408: ; // 0x2506408
|
|
/* 02506408 */ return;
|
|
}
|
|
|
|
// fn_0250640C @ 0x250640c
|
|
void Gambit_fn_0250640C(CPUState* cpu) {
|
|
L_0250640C: ; // 0x250640c
|
|
/* 0250640C */ return;
|
|
}
|
|
|
|
// fn_02506410 @ 0x2506410
|
|
void Gambit_fn_02506410(CPUState* cpu) {
|
|
L_02506410: ; // 0x2506410
|
|
/* 02506410 */ return;
|
|
}
|
|
|
|
// fn_02506414 @ 0x2506414
|
|
void Gambit_fn_02506414(CPUState* cpu) {
|
|
L_02506414: ; // 0x2506414
|
|
/* 02506414 */ return;
|
|
}
|
|
|
|
// fn_02506418 @ 0x2506418
|
|
void Gambit_fn_02506418(CPUState* cpu) {
|
|
L_02506418: ; // 0x2506418
|
|
/* 02506418 */ return;
|
|
}
|
|
|
|
// fn_0250641C @ 0x250641c
|
|
void Gambit_fn_0250641C(CPUState* cpu) {
|
|
L_0250641C: ; // 0x250641c
|
|
/* 0250641C */ return;
|
|
}
|
|
|
|
// fn_02506420 @ 0x2506420
|
|
void Gambit_fn_02506420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02506420: ; // 0x2506420
|
|
/* 02506420 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02506420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02506424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02506428 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506428 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02506428 */ if (_t2) goto L_02506434; else goto L_0250642C;
|
|
L_0250642C: ; // 0x250642c
|
|
/* 0250642C */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02506430 */ return;
|
|
L_02506434: ; // 0x2506434
|
|
/* 02506434 */ cpu->r[3] = 0x00000000u;
|
|
/* 02506438 */ return;
|
|
}
|
|
|
|
// fn_0250643C @ 0x250643c
|
|
void Gambit_fn_0250643C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0250643C: ; // 0x250643c
|
|
/* 0250643C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0250643C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02506440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02506444 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506444 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02506444 */ if (_t2) goto L_02506450; else goto L_02506448;
|
|
L_02506448: ; // 0x2506448
|
|
/* 02506448 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0250644C */ return;
|
|
L_02506450: ; // 0x2506450
|
|
/* 02506450 */ cpu->r[3] = 0x00000000u;
|
|
/* 02506454 */ return;
|
|
}
|
|
|
|
// fn_02506458 @ 0x2506458
|
|
void Gambit_fn_02506458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02506458: ; // 0x2506458
|
|
/* 02506458 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02506458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250645C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250645C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02506460 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506460 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02506460 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02506460 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02506460 */ goto L_02506464;
|
|
L_02506464: ; // 0x2506464
|
|
/* 02506464 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02506464 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02506468 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02506468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250646C */ cpu->ctr = cpu->r[0];
|
|
/* 02506470 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02506474 @ 0x2506474
|
|
void Gambit_fn_02506474(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02506474: ; // 0x2506474
|
|
/* 02506474 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02506474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02506478 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02506478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250647C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250647C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250647C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0250647C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250647C */ goto L_02506480;
|
|
L_02506480: ; // 0x2506480
|
|
/* 02506480 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02506480 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02506484 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02506484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02506488 */ cpu->ctr = cpu->r[0];
|
|
/* 0250648C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02506490 @ 0x2506490
|
|
void Gambit_fn_02506490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02506490: ; // 0x2506490
|
|
/* 02506490 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02506490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02506494 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02506494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02506498 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506498 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02506498 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02506498 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02506498 */ goto L_0250649C;
|
|
L_0250649C: ; // 0x250649c
|
|
/* 0250649C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0250649C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025064A0 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 025064A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025064A4 */ cpu->ctr = cpu->r[0];
|
|
/* 025064A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025064AC @ 0x25064ac
|
|
void Gambit_fn_025064AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025064AC: ; // 0x25064ac
|
|
/* 025064AC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025064AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025064B0 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025064B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025064B4 */ cpu->ctr = cpu->r[0];
|
|
/* 025064B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025064BC @ 0x25064bc
|
|
void Gambit_fn_025064BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025064BC: ; // 0x25064bc
|
|
/* 025064BC */ cpu->r[0] = cpu->lr;
|
|
/* 025064C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025064C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025064C0 */ cpu->r[1] = _t0;
|
|
/* 025064C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025064C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025064C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025064CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025064CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025064D0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025064D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025064D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 025064D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025064D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025064D8 */ if (_t5) goto L_025064DC; else goto L_025064F8;
|
|
L_025064DC: ; // 0x25064dc
|
|
/* 025064DC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 025064DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025064E0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 025064E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025064E4 */ cpu->ctr = cpu->r[0];
|
|
/* 025064E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025064EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025064F0 */ cpu->r[0] = 0x00000002u;
|
|
/* 025064F4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025064F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_025064F8: ; // 0x25064f8
|
|
/* 025064F8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025064F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025064FC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025064FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02506500 */ cpu->lr = cpu->r[0];
|
|
/* 02506504 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02506508 */ return;
|
|
}
|
|
|
|
// fn_025064C0 @ 0x25064c0
|
|
void Gambit_fn_025064C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025064C0: ; // 0x25064c0
|
|
/* 025064C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025064C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025064C0 */ cpu->r[1] = _t0;
|
|
/* 025064C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025064C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025064C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025064CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025064CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025064D0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025064D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025064D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 025064D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025064D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025064D8 */ if (_t5) goto L_025064DC; else goto L_025064F8;
|
|
L_025064DC: ; // 0x25064dc
|
|
/* 025064DC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 025064DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025064E0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 025064E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025064E4 */ cpu->ctr = cpu->r[0];
|
|
/* 025064E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025064EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025064F0 */ cpu->r[0] = 0x00000002u;
|
|
/* 025064F4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025064F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_025064F8: ; // 0x25064f8
|
|
/* 025064F8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025064F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025064FC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025064FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02506500 */ cpu->lr = cpu->r[0];
|
|
/* 02506504 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02506508 */ return;
|
|
}
|
|
|
|
// fn_02506514 @ 0x2506514
|
|
void Gambit_fn_02506514(CPUState* cpu) {
|
|
L_02506514: ; // 0x2506514
|
|
/* 02506514 */ return;
|
|
}
|
|
|
|
// fn_02506518 @ 0x2506518
|
|
void Gambit_fn_02506518(CPUState* cpu) {
|
|
L_02506518: ; // 0x2506518
|
|
/* 02506518 */ return;
|
|
}
|
|
|
|
// fn_0250651C @ 0x250651c
|
|
void Gambit_fn_0250651C(CPUState* cpu) {
|
|
L_0250651C: ; // 0x250651c
|
|
/* 0250651C */ cpu->r[3] = 0x00000001u;
|
|
/* 02506520 */ return;
|
|
}
|
|
|
|
// fn_02506524 @ 0x2506524
|
|
void Gambit_fn_02506524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02506524: ; // 0x2506524
|
|
/* 02506524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506528 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506528 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02506528 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02506528 */ goto L_0250652C;
|
|
L_0250652C: ; // 0x250652c
|
|
/* 0250652C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250652C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02506530 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506530 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02506530 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02506530 */ goto L_02506534;
|
|
L_02506534: ; // 0x2506534
|
|
/* 02506534 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02506538 @ 0x2506538
|
|
void Gambit_fn_02506538(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02506538: ; // 0x2506538
|
|
/* 02506538 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02506538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250653C */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0250653C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02506540 */ cpu->ctr = cpu->r[0];
|
|
/* 02506544 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02506548 @ 0x2506548
|
|
void Gambit_fn_02506548(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02506548: ; // 0x2506548
|
|
/* 02506548 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02506548 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250654C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0250654C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02506550 */ cpu->ctr = cpu->r[0];
|
|
/* 02506554 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02506558 @ 0x2506558
|
|
void Gambit_fn_02506558(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02506558: ; // 0x2506558
|
|
/* 02506558 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02506558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250655C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0250655C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02506560 */ cpu->ctr = cpu->r[0];
|
|
/* 02506564 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02506568 @ 0x2506568
|
|
void Gambit_fn_02506568(CPUState* cpu) {
|
|
L_02506568: ; // 0x2506568
|
|
/* 02506568 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250656C */ return;
|
|
}
|
|
|
|
// fn_02506570 @ 0x2506570
|
|
void Gambit_fn_02506570(CPUState* cpu) {
|
|
L_02506570: ; // 0x2506570
|
|
/* 02506570 */ return;
|
|
}
|
|
|
|
// fn_02506574 @ 0x2506574
|
|
void Gambit_fn_02506574(CPUState* cpu) {
|
|
L_02506574: ; // 0x2506574
|
|
/* 02506574 */ return;
|
|
}
|
|
|
|
// fn_02506578 @ 0x2506578
|
|
void Gambit_fn_02506578(CPUState* cpu) {
|
|
L_02506578: ; // 0x2506578
|
|
/* 02506578 */ return;
|
|
}
|
|
|
|
// fn_0250657C @ 0x250657c
|
|
void Gambit_fn_0250657C(CPUState* cpu) {
|
|
L_0250657C: ; // 0x250657c
|
|
/* 0250657C */ cpu->r[3] = 0x00000001u;
|
|
/* 02506580 */ return;
|
|
}
|
|
|
|
// fn_02506584 @ 0x2506584
|
|
void Gambit_fn_02506584(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02506584: ; // 0x2506584
|
|
/* 02506584 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02506588 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02506588 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02506588 */ cpu->r[10] = _t0;
|
|
/* 0250658C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0250658C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02506590 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02506590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02506594 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02506594 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02506598 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02506598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250659C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0250659C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025065A0 */ return;
|
|
}
|
|
|
|
// fn_025065A4 @ 0x25065a4
|
|
void Gambit_fn_025065A4(CPUState* cpu) {
|
|
L_025065A4: ; // 0x25065a4
|
|
/* 025065A4 */ return;
|
|
}
|
|
|
|
// fn_025065A8 @ 0x25065a8
|
|
void Gambit_fn_025065A8(CPUState* cpu) {
|
|
L_025065A8: ; // 0x25065a8
|
|
/* 025065A8 */ return;
|
|
}
|
|
|
|
// fn_025065AC @ 0x25065ac
|
|
void Gambit_fn_025065AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025065AC: ; // 0x25065ac
|
|
/* 025065AC */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 025065AC */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025065B0 */ return;
|
|
}
|
|
|
|
// fn_025065B4 @ 0x25065b4
|
|
void Gambit_fn_025065B4(CPUState* cpu) {
|
|
L_025065B4: ; // 0x25065b4
|
|
/* 025065B4 */ cpu->r[3] = 0x00000001u;
|
|
/* 025065B8 */ return;
|
|
}
|
|
|
|
// fn_025065BC @ 0x25065bc
|
|
void Gambit_fn_025065BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025065BC: ; // 0x25065bc
|
|
/* 025065BC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025065BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025065C0 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 025065C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025065C4 */ cpu->ctr = cpu->r[0];
|
|
/* 025065C8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025065CC @ 0x25065cc
|
|
void Gambit_fn_025065CC(CPUState* cpu) {
|
|
L_025065CC: ; // 0x25065cc
|
|
/* 025065CC */ return;
|
|
}
|
|
|
|
// fn_025065D0 @ 0x25065d0
|
|
void Gambit_fn_025065D0(CPUState* cpu) {
|
|
L_025065D0: ; // 0x25065d0
|
|
/* 025065D0 */ return;
|
|
}
|
|
|
|
// fn_025065D4 @ 0x25065d4
|
|
void Gambit_fn_025065D4(CPUState* cpu) {
|
|
L_025065D4: ; // 0x25065d4
|
|
/* 025065D4 */ return;
|
|
}
|
|
|
|
// fn_025065D8 @ 0x25065d8
|
|
void Gambit_fn_025065D8(CPUState* cpu) {
|
|
L_025065D8: ; // 0x25065d8
|
|
/* 025065D8 */ return;
|
|
}
|
|
|
|
// fn_025065DC @ 0x25065dc
|
|
void Gambit_fn_025065DC(CPUState* cpu) {
|
|
L_025065DC: ; // 0x25065dc
|
|
/* 025065DC */ return;
|
|
}
|
|
|
|
// fn_025065E0 @ 0x25065e0
|
|
void Gambit_fn_025065E0(CPUState* cpu) {
|
|
L_025065E0: ; // 0x25065e0
|
|
/* 025065E0 */ return;
|
|
}
|
|
|
|
// fn_025065E4 @ 0x25065e4
|
|
void Gambit_fn_025065E4(CPUState* cpu) {
|
|
L_025065E4: ; // 0x25065e4
|
|
/* 025065E4 */ return;
|
|
}
|
|
|
|
// fn_025065E8 @ 0x25065e8
|
|
void Gambit_fn_025065E8(CPUState* cpu) {
|
|
L_025065E8: ; // 0x25065e8
|
|
/* 025065E8 */ return;
|
|
}
|
|
|
|
// fn_025065EC @ 0x25065ec
|
|
void Gambit_fn_025065EC(CPUState* cpu) {
|
|
L_025065EC: ; // 0x25065ec
|
|
/* 025065EC */ return;
|
|
}
|
|
|
|
// fn_025065F0 @ 0x25065f0
|
|
void Gambit_fn_025065F0(CPUState* cpu) {
|
|
L_025065F0: ; // 0x25065f0
|
|
/* 025065F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 025065F4 */ return;
|
|
}
|
|
|
|
// fn_025065F8 @ 0x25065f8
|
|
void Gambit_fn_025065F8(CPUState* cpu) {
|
|
L_025065F8: ; // 0x25065f8
|
|
/* 025065F8 */ return;
|
|
}
|
|
|
|
// fn_025065FC @ 0x25065fc
|
|
void Gambit_fn_025065FC(CPUState* cpu) {
|
|
L_025065FC: ; // 0x25065fc
|
|
/* 025065FC */ return;
|
|
}
|
|
|
|
// fn_02506600 @ 0x2506600
|
|
void Gambit_fn_02506600(CPUState* cpu) {
|
|
L_02506600: ; // 0x2506600
|
|
/* 02506600 */ cpu->r[3] = 0x00000001u;
|
|
/* 02506604 */ return;
|
|
}
|
|
|
|
// fn_02506608 @ 0x2506608
|
|
void Gambit_fn_02506608(CPUState* cpu) {
|
|
L_02506608: ; // 0x2506608
|
|
/* 02506608 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250660C */ return;
|
|
}
|
|
|
|
// fn_02506610 @ 0x2506610
|
|
void Gambit_fn_02506610(CPUState* cpu) {
|
|
L_02506610: ; // 0x2506610
|
|
/* 02506610 */ cpu->r[3] = 0x00000000u;
|
|
/* 02506614 */ return;
|
|
}
|
|
|
|
// fn_02506618 @ 0x2506618
|
|
void Gambit_fn_02506618(CPUState* cpu) {
|
|
L_02506618: ; // 0x2506618
|
|
/* 02506618 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250661C */ return;
|
|
}
|
|
|
|
// fn_02506620 @ 0x2506620
|
|
void Gambit_fn_02506620(CPUState* cpu) {
|
|
L_02506620: ; // 0x2506620
|
|
/* 02506620 */ cpu->r[3] = 0x00000000u;
|
|
/* 02506624 */ return;
|
|
}
|
|
|
|
// fn_02506628 @ 0x2506628
|
|
void Gambit_fn_02506628(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02506628: ; // 0x2506628
|
|
/* 02506628 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 02506628 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0250662C */ return;
|
|
}
|
|
|
|
// fn_02506630 @ 0x2506630
|
|
void Gambit_fn_02506630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02506630: ; // 0x2506630
|
|
/* 02506630 */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 02506630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02506634 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02506634 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02506638 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02506638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250663C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0250663C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02506640 */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 02506640 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02506644 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02506644 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02506648 */ return;
|
|
}
|
|
|
|
// fn_0250664C @ 0x250664c
|
|
void Gambit_fn_0250664C(CPUState* cpu) {
|
|
L_0250664C: ; // 0x250664c
|
|
/* 0250664C */ cpu->r[3] = 0x100C0000u;
|
|
/* 02506650 */ cpu->r[3] = cpu->r[3] + 0xFFFFDDD0u;
|
|
/* 02506654 */ return;
|
|
}
|
|
|
|
// fn_02506658 @ 0x2506658
|
|
void Gambit_fn_02506658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32;
|
|
|
|
L_02506658: ; // 0x2506658
|
|
/* 02506658 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250665C */ _t0 = cpu->r[10] + 0x00000694u;
|
|
/* 0250665C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02506660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02506664 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02506668 */ cpu->r[10] = cpu->r[10] + 0x00000974u;
|
|
/* 0250666C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250666C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250666C */ if (_t2) goto L_02506670; else goto L_02506688;
|
|
L_02506670: ; // 0x2506670
|
|
/* 02506670 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506674 */ cpu->r[9] = 0x00000001u;
|
|
/* 02506678 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250667C */ cpu->r[0] = cpu->r[0] + 0xFFFFDE98u;
|
|
/* 02506680 */ _t3 = cpu->r[11] + 0x00000694u;
|
|
/* 02506680 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02506684 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02506684 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02506688: ; // 0x2506688
|
|
/* 02506688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0250668C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250668C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250668C */ if (_t6) goto L_02506690; else goto L_02506698;
|
|
L_02506690: ; // 0x2506690
|
|
/* 02506690 */ cpu->r[3] = 0x00000001u;
|
|
/* 02506694 */ return;
|
|
L_02506698: ; // 0x2506698
|
|
/* 02506698 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0250669C */ _t7 = cpu->r[9] + 0xFFFFDDF0u;
|
|
/* 0250669C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025066A0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025066A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025066A8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFF40u;
|
|
/* 025066AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025066AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 025066AC */ if (_t9) goto L_025066B0; else goto L_025066C8;
|
|
L_025066B0: ; // 0x25066b0
|
|
/* 025066B0 */ cpu->r[9] = 0x100C0000u;
|
|
/* 025066B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025066B8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025066BC */ cpu->r[9] = cpu->r[9] + 0xFFFFDE68u;
|
|
/* 025066C0 */ _t10 = cpu->r[10] + 0xFFFFDDF0u;
|
|
/* 025066C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 025066C4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 025066C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_025066C8: ; // 0x25066c8
|
|
/* 025066C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 025066CC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025066CC */ _t13 = _t12 & 0x00000001u;
|
|
/* 025066CC */ if (_t13) goto L_025066D0; else goto L_025066D8;
|
|
L_025066D0: ; // 0x25066d0
|
|
/* 025066D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025066D4 */ goto L_02506790;
|
|
L_025066D8: ; // 0x25066d8
|
|
/* 025066D8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025066DC */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 025066DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025066E0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025066E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025066E8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 025066EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025066EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 025066EC */ if (_t16) goto L_025066F0; else goto L_02506708;
|
|
L_025066F0: ; // 0x25066f0
|
|
/* 025066F0 */ cpu->r[11] = 0x100C0000u;
|
|
/* 025066F4 */ cpu->r[10] = 0x00000001u;
|
|
/* 025066F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025066FC */ cpu->r[11] = cpu->r[11] + 0xFFFFDE58u;
|
|
/* 02506700 */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 02506700 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02506704 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02506704 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_02506708: ; // 0x2506708
|
|
/* 02506708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 0250670C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250670C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250670C */ if (_t20) goto L_02506710; else goto L_02506718;
|
|
L_02506710: ; // 0x2506710
|
|
/* 02506710 */ cpu->r[0] = 0x00000001u;
|
|
/* 02506714 */ goto L_0250678C;
|
|
L_02506718: ; // 0x2506718
|
|
/* 02506718 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0250671C */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 0250671C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250671C */ cpu->r[9] = _t21;
|
|
/* 02506720 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02506724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02506728 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 0250672C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250672C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250672C */ if (_t23) goto L_02506730; else goto L_02506744;
|
|
L_02506730: ; // 0x2506730
|
|
/* 02506730 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506734 */ cpu->r[11] = 0x00000001u;
|
|
/* 02506738 */ cpu->r[0] = cpu->r[0] + 0xFFFFDE48u;
|
|
/* 0250673C */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0250673C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02506740 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 02506740 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02506744: ; // 0x2506744
|
|
/* 02506744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02506748 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506748 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02506748 */ if (_t27) goto L_0250674C; else goto L_02506754;
|
|
L_0250674C: ; // 0x250674c
|
|
/* 0250674C */ cpu->r[0] = 0x00000001u;
|
|
/* 02506750 */ goto L_0250678C;
|
|
L_02506754: ; // 0x2506754
|
|
/* 02506754 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02506758 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 02506758 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02506758 */ cpu->r[10] = _t28;
|
|
/* 0250675C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02506760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02506764 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02506768 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506768 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02506768 */ if (_t30) goto L_0250676C; else goto L_02506780;
|
|
L_0250676C: ; // 0x250676c
|
|
/* 0250676C */ cpu->r[9] = 0x100C0000u;
|
|
/* 02506770 */ cpu->r[0] = 0x00000001u;
|
|
/* 02506774 */ cpu->r[9] = cpu->r[9] + 0xFFFFDDD8u;
|
|
/* 02506778 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02506778 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0250677C */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 0250677C */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_02506780: ; // 0x2506780
|
|
/* 02506780 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02506784 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02506788 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0250678C: ; // 0x250678c
|
|
/* 0250678C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02506790: ; // 0x2506790
|
|
/* 02506790 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02506794 */ return;
|
|
}
|
|
|
|
// fn_0250679C @ 0x250679c
|
|
void Gambit_fn_0250679C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02494664: ; // 0x2494664
|
|
/* 02494664 */ cpu->r[0] = cpu->lr;
|
|
/* 02494668 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02494668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02494668 */ cpu->r[1] = _t0;
|
|
/* 0249466C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0249466C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02494670 */ cpu->r[31] = cpu->r[3];
|
|
/* 02494674 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02494674 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02494678 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02494678 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0249467C */ cpu->r[12] = 0x00000000u;
|
|
/* 02494680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02494684 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02494684 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02494688 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494688 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02494688 */ if (_t6) goto L_024946B0; else goto L_0249468C;
|
|
L_0249468C: ; // 0x249468c
|
|
/* 0249468C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0249468C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02494690 */ /* nop */
|
|
/* 02494694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02494698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02494698 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02494698 */ if (_t9) goto L_0249469C; else goto L_024946B0;
|
|
L_0249469C: ; // 0x249469c
|
|
/* 0249469C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0249469C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024946A0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024946A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024946A4 */ cpu->ctr = cpu->r[0];
|
|
/* 024946A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024946B0: ; // 0x24946b0
|
|
/* 024946B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946B4 */ Gambit_fn_024945DC(cpu);
|
|
/* 024946B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024946BC */ Gambit_fn_027FC37C(cpu);
|
|
/* 024946C0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024946C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024946C4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024946C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024946C8 */ cpu->lr = cpu->r[0];
|
|
/* 024946CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024946D0 */ return;
|
|
L_0250679C: ; // 0x250679c
|
|
/* 0250679C */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 025067A0 */ goto L_02494664;
|
|
}
|
|
|
|
// fn_025067A4 @ 0x25067a4
|
|
void Gambit_fn_025067A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025067A4: ; // 0x25067a4
|
|
/* 025067A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025067A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025067A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025067A8 */ cpu->r[1] = _t0;
|
|
/* 025067AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025067AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025067B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025067B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025067B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025067B8 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 025067B8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025067BC */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025067C0 */ /* nop */
|
|
/* 025067C4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025067C8 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025067CC */ Gambit_fn_02494554(cpu);
|
|
/* 025067D0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025067D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025067D4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025067D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025067D8 */ cpu->lr = cpu->r[0];
|
|
/* 025067DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025067E0 */ return;
|
|
}
|
|
|
|
// fn_025067A8 @ 0x25067a8
|
|
void Gambit_fn_025067A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025067A8: ; // 0x25067a8
|
|
/* 025067A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025067A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025067A8 */ cpu->r[1] = _t0;
|
|
/* 025067AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025067AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025067B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025067B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025067B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025067B8 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 025067B8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025067BC */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025067C0 */ /* nop */
|
|
/* 025067C4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025067C8 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025067CC */ Gambit_fn_02494554(cpu);
|
|
/* 025067D0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025067D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025067D4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025067D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025067D8 */ cpu->lr = cpu->r[0];
|
|
/* 025067DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025067E0 */ return;
|
|
}
|
|
|
|
// fn_025067E4 @ 0x25067e4
|
|
void Gambit_fn_025067E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_025067E4: ; // 0x25067e4
|
|
/* 025067E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025067E8 */ _t0 = cpu->r[12] + 0x00000698u;
|
|
/* 025067E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025067EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025067F0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025067F4 */ cpu->r[12] = cpu->r[12] + 0x00000970u;
|
|
/* 025067F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025067F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025067F8 */ if (_t2) goto L_025067FC; else goto L_02506814;
|
|
L_025067FC: ; // 0x25067fc
|
|
/* 025067FC */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506800 */ cpu->r[9] = 0x00000001u;
|
|
/* 02506804 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02506808 */ cpu->r[0] = cpu->r[0] + 0xFFFFDE88u;
|
|
/* 0250680C */ _t3 = cpu->r[8] + 0x00000698u;
|
|
/* 0250680C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02506810 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02506810 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02506814: ; // 0x2506814
|
|
/* 02506814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02506818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506818 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02506818 */ if (_t6) goto L_0250681C; else goto L_02506824;
|
|
L_0250681C: ; // 0x250681c
|
|
/* 0250681C */ cpu->r[3] = 0x00000001u;
|
|
/* 02506820 */ return;
|
|
L_02506824: ; // 0x2506824
|
|
/* 02506824 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02506828 */ _t7 = cpu->r[11] + 0xFFFFE6D4u;
|
|
/* 02506828 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02506828 */ cpu->r[11] = _t7;
|
|
/* 0250682C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02506830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02506834 */ cpu->r[10] = cpu->r[10] + 0x000006A4u;
|
|
/* 02506838 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506838 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02506838 */ if (_t9) goto L_0250683C; else goto L_02506850;
|
|
L_0250683C: ; // 0x250683c
|
|
/* 0250683C */ cpu->r[12] = 0x100C0000u;
|
|
/* 02506840 */ cpu->r[9] = 0x00000001u;
|
|
/* 02506844 */ cpu->r[12] = cpu->r[12] + 0xFFFFDE78u;
|
|
/* 02506848 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02506848 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0250684C */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0250684C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_02506850: ; // 0x2506850
|
|
/* 02506850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02506854 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506854 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02506854 */ if (_t13) goto L_02506858; else goto L_02506860;
|
|
L_02506858: ; // 0x2506858
|
|
/* 02506858 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250685C */ goto L_02506898;
|
|
L_02506860: ; // 0x2506860
|
|
/* 02506860 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02506864 */ _t14 = cpu->r[8] + 0xFFFFDA34u;
|
|
/* 02506864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02506864 */ cpu->r[8] = _t14;
|
|
/* 02506868 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250686C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02506870 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE4u;
|
|
/* 02506874 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506874 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02506874 */ if (_t16) goto L_02506878; else goto L_0250688C;
|
|
L_02506878: ; // 0x2506878
|
|
/* 02506878 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250687C */ cpu->r[9] = 0x00000001u;
|
|
/* 02506880 */ cpu->r[10] = cpu->r[10] + 0xFFFFDDD8u;
|
|
/* 02506884 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02506884 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02506888 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02506888 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_0250688C: ; // 0x250688c
|
|
/* 0250688C */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02506890 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02506894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02506898: ; // 0x2506898
|
|
/* 02506898 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0250689C */ return;
|
|
}
|
|
|
|
// fn_025068A0 @ 0x25068a0
|
|
void Gambit_fn_025068A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_025068A0: ; // 0x25068a0
|
|
/* 025068A0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 025068A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025068A0 */ cpu->r[1] = _t0;
|
|
/* 025068A4 */ /* nop */
|
|
/* 025068A8 */ cpu->r[0] = cpu->lr;
|
|
/* 025068AC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 025068AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025068B0 */ cpu->r[29] = cpu->r[6];
|
|
/* 025068B4 */ cpu->r[28] = cpu->r[3];
|
|
/* 025068B8 */ cpu->r[30] = cpu->r[5];
|
|
/* 025068BC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 025068BC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 025068C0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 025068C4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 025068C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 025068C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025068CC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 025068CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 025068D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025068D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025068D0 */ if (_t6) goto L_02506914; else goto L_025068D4;
|
|
L_025068D4: ; // 0x25068d4
|
|
/* 025068D4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025068D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025068D8 */ Gambit_fn_02826F20(cpu);
|
|
/* 025068DC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025068DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025068E0 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 025068E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025068E4 */ cpu->ctr = cpu->r[0];
|
|
/* 025068E8 */ cpu->r[5] = 0x00000004u;
|
|
/* 025068EC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025068F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025068F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025068F8 */ cpu->r[0] = cpu->r[27];
|
|
/* 025068FC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025068FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 025068FC */ if (_t11) goto L_02506904; else goto L_02506900;
|
|
L_02506900: ; // 0x2506900
|
|
/* 02506900 */ cpu->r[0] = 0x00000001u;
|
|
L_02506904: ; // 0x2506904
|
|
/* 02506904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506908 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506908 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02506908 */ if (_t13) goto L_02506914; else goto L_0250690C;
|
|
L_0250690C: ; // 0x250690c
|
|
/* 0250690C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0250690C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02506910 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02506910 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02506914: ; // 0x2506914
|
|
/* 02506914 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02506914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02506918 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250691C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02506920 */ cpu->r[12] = cpu->r[0];
|
|
/* 02506924 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02506924 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02506924 */ if (_t18) goto L_02506928; else goto L_0250694C;
|
|
L_02506928: ; // 0x2506928
|
|
/* 02506928 */ cpu->ctr = cpu->r[7];
|
|
/* 0250692C */ cpu->r[10] = 0x00000000u;
|
|
L_02506930: ; // 0x2506930
|
|
/* 02506930 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02506930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02506934 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02506934 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02506938 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0250693C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0250693C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02506940 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02506944 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02506944 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02506948 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02506948 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02506948 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02506948 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02506948 */ if (_t25) goto L_02506930; else goto L_0250694C;
|
|
L_0250694C: ; // 0x250694c
|
|
/* 0250694C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0250694C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02506950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02506954 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506954 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02506954 */ if (_t28) goto L_02506998; else goto L_02506958;
|
|
L_02506958: ; // 0x2506958
|
|
/* 02506958 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02506958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250695C */ Gambit_fn_02826F20(cpu);
|
|
/* 02506960 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02506960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02506964 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02506964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02506968 */ cpu->ctr = cpu->r[0];
|
|
/* 0250696C */ cpu->r[5] = 0x00000004u;
|
|
/* 02506970 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02506974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02506978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250697C */ cpu->r[11] = cpu->r[27];
|
|
/* 02506980 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02506980 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02506980 */ if (_t33) goto L_02506988; else goto L_02506984;
|
|
L_02506984: ; // 0x2506984
|
|
/* 02506984 */ cpu->r[11] = 0x00000001u;
|
|
L_02506988: ; // 0x2506988
|
|
/* 02506988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250698C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250698C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0250698C */ if (_t35) goto L_02506998; else goto L_02506990;
|
|
L_02506990: ; // 0x2506990
|
|
/* 02506990 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02506990 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02506994 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02506994 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02506998: ; // 0x2506998
|
|
/* 02506998 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02506998 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250699C */ cpu->r[0] = 0x00000000u;
|
|
/* 025069A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 025069A4 */ cpu->r[12] = cpu->r[0];
|
|
/* 025069A8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025069A8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 025069A8 */ if (_t40) goto L_025069AC; else goto L_025069D0;
|
|
L_025069AC: ; // 0x25069ac
|
|
/* 025069AC */ cpu->ctr = cpu->r[6];
|
|
/* 025069B0 */ cpu->r[9] = 0x00000000u;
|
|
L_025069B4: ; // 0x25069b4
|
|
/* 025069B4 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 025069B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025069B8 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 025069B8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 025069BC */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 025069C0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 025069C0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 025069C4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 025069C8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 025069C8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 025069CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025069CC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025069CC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 025069CC */ _t47 = _t46 & 0x00000001u;
|
|
/* 025069CC */ if (_t47) goto L_025069B4; else goto L_025069D0;
|
|
L_025069D0: ; // 0x25069d0
|
|
/* 025069D0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 025069D0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 025069D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025069D8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025069D8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 025069D8 */ if (_t50) goto L_02506A1C; else goto L_025069DC;
|
|
L_025069DC: ; // 0x25069dc
|
|
/* 025069DC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025069DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025069E0 */ Gambit_fn_02826F20(cpu);
|
|
/* 025069E4 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025069E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025069E8 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 025069E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025069EC */ cpu->ctr = cpu->r[0];
|
|
/* 025069F0 */ cpu->r[5] = 0x00000004u;
|
|
/* 025069F4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025069F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025069FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02506A00 */ cpu->r[10] = cpu->r[27];
|
|
/* 02506A04 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02506A04 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02506A04 */ if (_t55) goto L_02506A0C; else goto L_02506A08;
|
|
L_02506A08: ; // 0x2506a08
|
|
/* 02506A08 */ cpu->r[10] = 0x00000001u;
|
|
L_02506A0C: ; // 0x2506a0c
|
|
/* 02506A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506A10 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506A10 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02506A10 */ if (_t57) goto L_02506A1C; else goto L_02506A14;
|
|
L_02506A14: ; // 0x2506a14
|
|
/* 02506A14 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02506A14 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02506A18 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02506A18 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02506A1C: ; // 0x2506a1c
|
|
/* 02506A1C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02506A1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02506A20 */ cpu->r[0] = 0x00000000u;
|
|
/* 02506A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02506A28 */ cpu->r[5] = cpu->r[0];
|
|
/* 02506A2C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02506A2C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02506A2C */ if (_t62) goto L_02506A30; else goto L_02506A54;
|
|
L_02506A30: ; // 0x2506a30
|
|
/* 02506A30 */ cpu->ctr = cpu->r[12];
|
|
/* 02506A34 */ cpu->r[8] = 0x00000000u;
|
|
L_02506A38: ; // 0x2506a38
|
|
/* 02506A38 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02506A38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02506A3C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02506A3C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02506A40 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02506A44 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02506A44 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02506A48 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02506A4C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02506A4C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02506A50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02506A50 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02506A50 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02506A50 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02506A50 */ if (_t69) goto L_02506A38; else goto L_02506A54;
|
|
L_02506A54: ; // 0x2506a54
|
|
/* 02506A54 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02506A54 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02506A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02506A5C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506A5C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02506A5C */ if (_t72) goto L_02506B38; else goto L_02506A60;
|
|
L_02506A60: ; // 0x2506a60
|
|
/* 02506A60 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02506A60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02506A64 */ Gambit_fn_02826F20(cpu);
|
|
/* 02506A68 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02506A68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02506A6C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02506A6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02506A70 */ cpu->ctr = cpu->r[12];
|
|
/* 02506A74 */ cpu->r[5] = 0x00000004u;
|
|
/* 02506A78 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02506A7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02506A80 */ cpu->r[24] = cpu->r[3];
|
|
/* 02506A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02506A88 */ cpu->r[30] = cpu->r[25];
|
|
/* 02506A8C */ cpu->r[7] = 0x00000000u;
|
|
/* 02506A90 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02506A90 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02506A90 */ if (_t77) goto L_02506A98; else goto L_02506A94;
|
|
L_02506A94: ; // 0x2506a94
|
|
/* 02506A94 */ cpu->r[30] = 0x00000001u;
|
|
L_02506A98: ; // 0x2506a98
|
|
/* 02506A98 */ cpu->r[31] = 0x10110000u;
|
|
/* 02506A9C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02506AA0 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02506AA0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02506AA4 */ cpu->r[23] = 0x00000018u;
|
|
L_02506AA8: ; // 0x2506aa8
|
|
/* 02506AA8 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02506AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02506AAC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506AAC */ _t80 = _t79 & 0x00000001u;
|
|
/* 02506AAC */ if (_t80) goto L_02506B1C; else goto L_02506AB0;
|
|
L_02506AB0: ; // 0x2506ab0
|
|
/* 02506AB0 */ cpu->r[26] = cpu->r[27];
|
|
/* 02506AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02506AB4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506AB4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02506AB4 */ if (_t82) goto L_02506AB8; else goto L_02506AC8;
|
|
L_02506AB8: ; // 0x2506ab8
|
|
/* 02506AB8 */ cpu->r[3] = 0x00000024u;
|
|
/* 02506ABC */ Gambit_fn_02801A78(cpu);
|
|
/* 02506AC0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02506AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02506AC4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506AC4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02506AC4 */ if (_t84) goto L_02506B10; else goto L_02506AC8;
|
|
L_02506AC8: ; // 0x2506ac8
|
|
/* 02506AC8 */ cpu->r[11] = cpu->r[26];
|
|
/* 02506AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02506ACC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506ACC */ _t86 = _t85 & 0x00000001u;
|
|
/* 02506ACC */ if (_t86) goto L_02506AD0; else goto L_02506AE0;
|
|
L_02506AD0: ; // 0x2506ad0
|
|
/* 02506AD0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02506AD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02506AD8 */ cpu->r[11] = cpu->r[3];
|
|
/* 02506AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02506ADC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506ADC */ _t88 = _t87 & 0x00000001u;
|
|
/* 02506ADC */ if (_t88) goto L_02506AFC; else goto L_02506AE0;
|
|
L_02506AE0: ; // 0x2506ae0
|
|
/* 02506AE0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02506AE4 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02506AE4 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02506AE8 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02506AEC */ cpu->r[5] = cpu->r[5] + 0xFFFFDE00u;
|
|
/* 02506AF0 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02506AF0 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02506AF4 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02506AF4 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02506AF8 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02506AF8 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02506AFC: ; // 0x2506afc
|
|
/* 02506AFC */ cpu->r[6] = 0x100C0000u;
|
|
/* 02506B00 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02506B00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02506B04 */ cpu->r[6] = cpu->r[6] + 0xFFFFDE18u;
|
|
/* 02506B08 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02506B08 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02506B0C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02506B0C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02506B10: ; // 0x2506b10
|
|
/* 02506B10 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506B14 */ cpu->r[0] = cpu->r[0] + 0xFFFFDE30u;
|
|
/* 02506B18 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02506B18 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02506B1C: ; // 0x2506b1c
|
|
/* 02506B1C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02506B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02506B20 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02506B24 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506B24 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02506B24 */ if (_t98) goto L_02506B28; else goto L_02506AA8;
|
|
L_02506B28: ; // 0x2506b28
|
|
/* 02506B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02506B2C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506B2C */ _t100 = _t99 & 0x00000001u;
|
|
/* 02506B2C */ if (_t100) goto L_02506B38; else goto L_02506B30;
|
|
L_02506B30: ; // 0x2506b30
|
|
/* 02506B30 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02506B30 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02506B34 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02506B34 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02506B38: ; // 0x2506b38
|
|
/* 02506B38 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02506B38 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02506B3C */ /* nop */
|
|
/* 02506B40 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02506B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02506B44 */ cpu->lr = cpu->r[0];
|
|
/* 02506B48 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02506B4C */ return;
|
|
}
|
|
|
|
// fn_02506B50 @ 0x2506b50
|
|
void Gambit_fn_02506B50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02506B50: ; // 0x2506b50
|
|
/* 02506B50 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02506B50 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02506B54 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02506B54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02506B58 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02506B58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02506B5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02506B60 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02506B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02506B64 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02506B64 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02506B64 */ if (_t5) goto L_02506B68; else goto L_02506B70;
|
|
L_02506B68: ; // 0x2506b68
|
|
/* 02506B68 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02506B6C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02506B70: ; // 0x2506b70
|
|
/* 02506B70 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02506B70 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02506B74 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02506B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02506B78 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02506B78 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02506B7C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02506B7C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02506B80 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02506B80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02506B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02506B88 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02506B88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02506B8C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02506B8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02506B8C */ if (_t13) goto L_02506B90; else goto L_02506B98;
|
|
L_02506B90: ; // 0x2506b90
|
|
/* 02506B90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02506B94 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02506B98: ; // 0x2506b98
|
|
/* 02506B98 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02506B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02506B9C */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02506B9C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02506BA0 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02506BA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02506BA4 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02506BA4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02506BA8 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02506BA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02506BAC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02506BAC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02506BB0 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02506BB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02506BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02506BB8 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02506BB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02506BBC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02506BBC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02506BBC */ if (_t23) goto L_02506BC0; else goto L_02506BC8;
|
|
L_02506BC0: ; // 0x2506bc0
|
|
/* 02506BC0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02506BC4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02506BC8: ; // 0x2506bc8
|
|
/* 02506BC8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02506BC8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02506BCC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02506BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02506BD0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02506BD0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02506BD4 */ return;
|
|
}
|
|
|
|
// fn_02506BD8 @ 0x2506bd8
|
|
void Gambit_fn_02506BD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02506BD8: ; // 0x2506bd8
|
|
/* 02506BD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02506BDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02506BE0 */ cpu->r[7] = 0x02500000u;
|
|
/* 02506BE4 */ cpu->r[6] = 0x02500000u;
|
|
/* 02506BE8 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02506BEC */ cpu->r[7] = cpu->r[7] + 0x0000650Cu;
|
|
/* 02506BF0 */ cpu->r[6] = cpu->r[6] + 0x0000650Cu;
|
|
/* 02506BF4 */ cpu->r[10] = cpu->r[10] + 0x00006710u;
|
|
/* 02506BF8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02506BF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02506BFC */ cpu->r[0] = 0x101C0000u;
|
|
/* 02506C00 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02506C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02506C00 */ cpu->r[1] = _t1;
|
|
/* 02506C04 */ cpu->r[0] = cpu->r[0] + 0x0000670Cu;
|
|
/* 02506C08 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02506C08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02506C0C */ cpu->r[8] = 0x00000000u;
|
|
/* 02506C10 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02506C10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02506C14 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506C18 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506C18 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02506C1C */ Gambit_fn_02791B10(cpu);
|
|
/* 02506C20 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02506C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02506C24 */ cpu->lr = cpu->r[0];
|
|
/* 02506C28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02506C2C */ return;
|
|
}
|
|
|
|
// fn_02506C00 @ 0x2506c00
|
|
void Gambit_fn_02506C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02506C00: ; // 0x2506c00
|
|
/* 02506C00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02506C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02506C00 */ cpu->r[1] = _t0;
|
|
/* 02506C04 */ cpu->r[0] = cpu->r[0] + 0x0000670Cu;
|
|
/* 02506C08 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02506C08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02506C0C */ cpu->r[8] = 0x00000000u;
|
|
/* 02506C10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02506C10 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02506C14 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506C18 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506C18 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02506C1C */ Gambit_fn_02791B10(cpu);
|
|
/* 02506C20 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02506C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02506C24 */ cpu->lr = cpu->r[0];
|
|
/* 02506C28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02506C2C */ return;
|
|
}
|
|
|
|
// fn_02506C30 @ 0x2506c30
|
|
void Gambit_fn_02506C30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02506C30: ; // 0x2506c30
|
|
/* 02506C30 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02506C30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02506C30 */ cpu->r[1] = _t0;
|
|
/* 02506C34 */ cpu->r[0] = cpu->lr;
|
|
/* 02506C38 */ /* nop */
|
|
/* 02506C3C */ cpu->r[28] = cpu->r[5];
|
|
/* 02506C40 */ cpu->r[26] = cpu->r[3];
|
|
/* 02506C44 */ cpu->r[27] = cpu->r[7];
|
|
/* 02506C48 */ cpu->r[3] = cpu->r[28];
|
|
/* 02506C4C */ cpu->r[31] = cpu->r[6];
|
|
/* 02506C50 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02506C50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02506C54 */ cpu->r[29] = cpu->r[4];
|
|
/* 02506C58 */ cpu->r[4] = cpu->r[27];
|
|
/* 02506C5C */ Gambit_fn_027DB318(cpu);
|
|
/* 02506C60 */ cpu->r[30] = cpu->r[3] + cpu->r[31];
|
|
/* 02506C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02506C64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506C64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02506C64 */ if (_t3) goto L_02506D04; else goto L_02506C68;
|
|
L_02506C68: ; // 0x2506c68
|
|
/* 02506C68 */ cpu->r[5] = cpu->r[30];
|
|
/* 02506C6C */ cpu->r[4] = cpu->r[29];
|
|
/* 02506C70 */ cpu->r[3] = cpu->r[26];
|
|
/* 02506C74 */ Gambit_fn_02506BD8(cpu);
|
|
/* 02506C78 */ _t4 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02506C78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02506C7C */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 02506C7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02506C80 */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 02506C84 */ cpu->r[31] = cpu->r[5] - cpu->r[29];
|
|
/* 02506C88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02506C8C */ cpu->r[25] = 0x00000000u;
|
|
/* 02506C90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506C90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02506C90 */ if (_t7) goto L_02506D04; else goto L_02506C94;
|
|
L_02506C94: ; // 0x2506c94
|
|
/* 02506C94 */ cpu->r[24] = 0x101C0000u;
|
|
L_02506C98: ; // 0x2506c98
|
|
/* 02506C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02506C9C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506C9C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02506C9C */ if (_t9) goto L_02506CB4; else goto L_02506CA0;
|
|
L_02506CA0: ; // 0x2506ca0
|
|
/* 02506CA0 */ cpu->ctr = cpu->r[27];
|
|
/* 02506CA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02506CA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02506CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506CB0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506CB0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02506CB0 */ if (_t11) goto L_02506CF0; else goto L_02506CB4;
|
|
L_02506CB4: ; // 0x2506cb4
|
|
/* 02506CB4 */ _t12 = cpu->r[24] + 0x0000670Cu;
|
|
/* 02506CB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02506CB8 */ cpu->r[7] = cpu->r[26] + cpu->r[8];
|
|
/* 02506CBC */ _t13 = cpu->r[7] + 0x00000104u;
|
|
/* 02506CBC */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02506CC0 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02506CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02506CC4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02506CC8 */ _t15 = cpu->r[10] + cpu->r[0];
|
|
/* 02506CC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02506CCC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02506CCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02506CD0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02506CD4 */ _t17 = cpu->r[9] + cpu->r[7];
|
|
/* 02506CD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02506CD8 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02506CD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02506CDC */ _t19 = cpu->r[8] + 0x0000034Cu;
|
|
/* 02506CDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02506CE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02506CE4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02506CE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02506CEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02506CF0: ; // 0x2506cf0
|
|
/* 02506CF0 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 02506CF4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02506CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02506CF8 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02506CFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02506D00 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506D00 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02506D00 */ if (_t22) goto L_02506D04; else goto L_02506C98;
|
|
L_02506D04: ; // 0x2506d04
|
|
/* 02506D04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02506D08 */ /* nop */
|
|
/* 02506D0C */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02506D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02506D10 */ cpu->lr = cpu->r[0];
|
|
/* 02506D14 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02506D18 */ return;
|
|
}
|
|
|
|
// fn_02506D20 @ 0x2506d20
|
|
void Gambit_fn_02506D20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318;
|
|
|
|
L_02506D20: ; // 0x2506d20
|
|
/* 02506D20 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02506D20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02506D20 */ cpu->r[1] = _t0;
|
|
/* 02506D24 */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02506D24 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02506D28 */ /* nop */
|
|
/* 02506D2C */ cpu->r[29] = cpu->r[3];
|
|
/* 02506D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02506D30 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506D30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02506D30 */ if (_t3) goto L_02506D34; else goto L_02506D44;
|
|
L_02506D34: ; // 0x2506d34
|
|
/* 02506D34 */ cpu->r[3] = 0x00000624u;
|
|
/* 02506D38 */ Gambit_fn_02801A78(cpu);
|
|
/* 02506D3C */ cpu->r[29] = cpu->r[3];
|
|
/* 02506D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02506D40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506D40 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02506D40 */ if (_t5) goto L_02507708; else goto L_02506D44;
|
|
L_02506D44: ; // 0x2506d44
|
|
/* 02506D44 */ cpu->r[3] = cpu->r[29];
|
|
/* 02506D48 */ Gambit_fn_024F6F3C(cpu);
|
|
/* 02506D4C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506D50 */ cpu->r[31] = cpu->r[29] + 0x000001B0u;
|
|
/* 02506D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02506D54 */ cpu->r[0] = cpu->r[0] + 0xFFFFE4D4u;
|
|
/* 02506D58 */ cpu->r[28] = 0x00000000u;
|
|
/* 02506D5C */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 02506D5C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02506D60 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506D60 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02506D60 */ if (_t8) goto L_02506D64; else goto L_02506D74;
|
|
L_02506D64: ; // 0x2506d64
|
|
/* 02506D64 */ cpu->r[3] = 0x00000038u;
|
|
/* 02506D68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02506D6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02506D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02506D70 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506D70 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02506D70 */ if (_t10) goto L_02506DA4; else goto L_02506D74;
|
|
L_02506D74: ; // 0x2506d74
|
|
/* 02506D74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02506D78 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02506D7C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506D80 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02506D80 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02506D84 */ cpu->r[0] = cpu->r[0] + 0xFFFFD45Cu;
|
|
/* 02506D88 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 02506D88 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02506D8C */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02506D8C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02506D90 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02506D90 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02506D94 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02506D94 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 02506D98 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02506D98 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02506D9C */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02506D9C */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02506DA0 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02506DA0 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
L_02506DA4: ; // 0x2506da4
|
|
/* 02506DA4 */ cpu->r[6] = 0x00000003u;
|
|
/* 02506DA8 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02506DAC */ cpu->r[5] = cpu->r[29] + 0x000001E4u;
|
|
/* 02506DB0 */ cpu->ctr = cpu->r[6];
|
|
/* 02506DB4 */ cpu->r[4] = cpu->r[4] + 0x00005E2Cu;
|
|
L_02506DB8: ; // 0x2506db8
|
|
/* 02506DB8 */ _t19 = cpu->r[4] + 0x00000004u;
|
|
/* 02506DB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02506DBC */ _t20 = cpu->r[5] + 0x00000004u;
|
|
/* 02506DBC */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 02506DC0 */ _t21 = cpu->r[4] + 0x00000008u;
|
|
/* 02506DC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02506DC4 */ _t22 = cpu->r[5] + 0x00000008u;
|
|
/* 02506DC4 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 02506DC8 */ _t23 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02506DC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02506DCC */ _t24 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02506DCC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02506DD0 */ _t25 = cpu->r[4] + 0x00000010u;
|
|
/* 02506DD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02506DD0 */ cpu->r[4] = _t25;
|
|
/* 02506DD4 */ _t26 = cpu->r[5] + 0x00000010u;
|
|
/* 02506DD4 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02506DD4 */ cpu->r[5] = _t26;
|
|
/* 02506DD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02506DD8 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02506DD8 */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 02506DD8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02506DD8 */ if (_t29) goto L_02506DB8; else goto L_02506DDC;
|
|
L_02506DDC: ; // 0x2506ddc
|
|
/* 02506DDC */ cpu->r[0] = 0x00000001u;
|
|
/* 02506DE0 */ cpu->r[3] = cpu->r[29] + 0x00000218u;
|
|
/* 02506DE4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02506DE8 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02506DEC */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02506DEC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02506DF0 */ Gambit_fn_023A475C(cpu);
|
|
/* 02506DF4 */ cpu->r[6] = 0x10020000u;
|
|
/* 02506DF8 */ _t31 = cpu->r[6] + 0xFFFFBBCCu;
|
|
/* 02506DF8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02506DFC */ cpu->r[3] = cpu->r[29] + 0x0000022Cu;
|
|
/* 02506E00 */ /* nop */
|
|
/* 02506E04 */ Gambit_fn_020F702C(cpu);
|
|
/* 02506E08 */ cpu->r[3] = cpu->r[29] + 0x00000324u;
|
|
/* 02506E0C */ Gambit_fn_020F7BC4(cpu);
|
|
/* 02506E10 */ cpu->r[26] = 0x100C0000u;
|
|
/* 02506E14 */ cpu->r[31] = 0x10110000u;
|
|
/* 02506E18 */ cpu->r[22] = cpu->r[29] + 0x000005C4u;
|
|
/* 02506E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02506E1C */ cpu->r[26] = cpu->r[26] + 0xFFFFE304u;
|
|
/* 02506E20 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506E20 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02506E20 */ if (_t33) goto L_02506E24; else goto L_02506ECC;
|
|
L_02506E24: ; // 0x2506e24
|
|
/* 02506E24 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02506E28 */ Gambit_fn_02801A78(cpu);
|
|
/* 02506E2C */ cpu->r[22] = cpu->r[3];
|
|
/* 02506E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02506E30 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506E30 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02506E30 */ if (_t35) goto L_02506E34; else goto L_02506ECC;
|
|
L_02506E34: ; // 0x2506e34
|
|
/* 02506E34 */ _t36 = cpu->r[31] + 0x00007399u;
|
|
/* 02506E34 */ cpu->r[27] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02506E38 */ _t37 = cpu->r[29] + 0x00000614u;
|
|
/* 02506E38 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[28]);
|
|
/* 02506E3C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02506E40 */ _t38 = cpu->r[29] + 0x00000615u;
|
|
/* 02506E40 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[28]);
|
|
/* 02506E44 */ _t39 = cpu->r[12] + 0x00006338u;
|
|
/* 02506E44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02506E44 */ cpu->r[12] = _t39;
|
|
/* 02506E48 */ _t40 = cpu->r[29] + 0x00000618u;
|
|
/* 02506E48 */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
|
|
/* 02506E4C */ _t41 = cpu->r[12] + 0x00000004u;
|
|
/* 02506E4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02506E50 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02506E54 */ _t42 = cpu->r[29] + 0x0000061Cu;
|
|
/* 02506E54 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 02506E58 */ _t43 = cpu->r[12] + 0x00000008u;
|
|
/* 02506E58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02506E5C */ cpu->r[7] = 0x00000006u;
|
|
/* 02506E60 */ cpu->r[4] = cpu->r[29];
|
|
/* 02506E64 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02506E68 */ _t44 = cpu->r[29] + 0x00000620u;
|
|
/* 02506E68 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 02506E6C */ cpu->r[6] = 0x00000000u;
|
|
/* 02506E70 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02506E70 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[7]);
|
|
/* 02506E74 */ Gambit_fn_02509510(cpu);
|
|
/* 02506E78 */ cpu->r[4] = cpu->r[29] + 0x000001B0u;
|
|
/* 02506E7C */ cpu->r[3] = cpu->r[29];
|
|
/* 02506E80 */ Gambit_fn_02000834(cpu);
|
|
/* 02506E84 */ cpu->r[25] = 0x02510000u;
|
|
/* 02506E88 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506E8C */ cpu->r[25] = cpu->r[25] + 0xFFFF9048u;
|
|
/* 02506E90 */ cpu->r[0] = cpu->r[0] + 0xFFFFE478u;
|
|
/* 02506E94 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02506E94 */ rbrew_write32(cpu->mem, _t46, cpu->r[26]);
|
|
/* 02506E98 */ cpu->ctr = cpu->r[25];
|
|
/* 02506E9C */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506E9C */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02506EA0 */ _t48 = cpu->r[29] + 0x000001C8u;
|
|
/* 02506EA0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02506EA4 */ _t49 = cpu->r[24] + 0x00000000u;
|
|
/* 02506EA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02506EA8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506EAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02506EB0 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02506EB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02506EB4 */ _t51 = cpu->r[9] + 0x00000000u;
|
|
/* 02506EB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02506EB8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02506EBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02506EC0 */ cpu->r[11] = 0x00080000u;
|
|
/* 02506EC4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506EC4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02506EC4 */ if (_t53) goto L_02506EC8; else goto L_025070CC;
|
|
L_02506EC8: ; // 0x2506ec8
|
|
/* 02506EC8 */ goto L_025070F0;
|
|
L_02506ECC: ; // 0x2506ecc
|
|
/* 02506ECC */ cpu->r[21] = cpu->r[22];
|
|
/* 02506ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02506ED0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506ED0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02506ED0 */ if (_t55) goto L_02506ED4; else goto L_02506EF8;
|
|
L_02506ED4: ; // 0x2506ed4
|
|
/* 02506ED4 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02506ED8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02506EDC */ cpu->r[21] = cpu->r[3];
|
|
/* 02506EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02506EE0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506EE0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02506EE0 */ if (_t57) goto L_02506EE4; else goto L_02506EF8;
|
|
L_02506EE4: ; // 0x2506ee4
|
|
/* 02506EE4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506EE8 */ _t58 = cpu->r[31] + 0x00007399u;
|
|
/* 02506EE8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02506EEC */ cpu->r[0] = cpu->r[0] + 0xFFFFE34Cu;
|
|
/* 02506EF0 */ _t59 = cpu->r[22] + 0x00000004u;
|
|
/* 02506EF0 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 02506EF4 */ goto L_0250703C;
|
|
L_02506EF8: ; // 0x2506ef8
|
|
/* 02506EF8 */ cpu->r[3] = cpu->r[21];
|
|
/* 02506EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506EFC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506EFC */ _t61 = _t60 & 0x00000001u;
|
|
/* 02506EFC */ if (_t61) goto L_02506F00; else goto L_02506F64;
|
|
L_02506F00: ; // 0x2506f00
|
|
/* 02506F00 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02506F04 */ Gambit_fn_02801A78(cpu);
|
|
/* 02506F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02506F0C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506F0C */ _t63 = _t62 & 0x00000001u;
|
|
/* 02506F0C */ if (_t63) goto L_02506F10; else goto L_02506F64;
|
|
L_02506F10: ; // 0x2506f10
|
|
/* 02506F10 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02506F14 */ cpu->r[24] = 0x101F0000u;
|
|
/* 02506F18 */ _t64 = cpu->r[31] + 0x00007399u;
|
|
/* 02506F18 */ cpu->r[27] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02506F1C */ cpu->r[6] = cpu->r[6] + 0xFFFFE334u;
|
|
/* 02506F20 */ cpu->r[24] = cpu->r[24] + 0x000066E8u;
|
|
/* 02506F24 */ _t65 = cpu->r[21] + 0x00000004u;
|
|
/* 02506F24 */ rbrew_write32(cpu->mem, _t65, cpu->r[6]);
|
|
/* 02506F28 */ _t66 = cpu->r[24] + 0x00000004u;
|
|
/* 02506F28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02506F2C */ _t67 = cpu->r[9] + 0x00000014u;
|
|
/* 02506F2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02506F30 */ _t68 = cpu->r[21] + 0x00000000u;
|
|
/* 02506F30 */ cpu->r[23] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02506F34 */ cpu->ctr = cpu->r[10];
|
|
/* 02506F38 */ cpu->r[25] = cpu->r[9] + 0x00000010u;
|
|
/* 02506F3C */ cpu->r[3] = cpu->r[24];
|
|
/* 02506F40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02506F44 */ _t69 = cpu->r[24] + 0x00000000u;
|
|
/* 02506F44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02506F48 */ cpu->r[12] = cpu->r[30];
|
|
/* 02506F4C */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 02506F4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02506F50 */ cpu->r[31] = 0x00000000u;
|
|
/* 02506F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02506F58 */ cpu->r[0] = 0x00080000u;
|
|
/* 02506F5C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506F5C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02506F5C */ if (_t72) goto L_02506F60; else goto L_02506FD4;
|
|
L_02506F60: ; // 0x2506f60
|
|
/* 02506F60 */ goto L_02506FF8;
|
|
L_02506F64: ; // 0x2506f64
|
|
/* 02506F64 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02506F68 */ cpu->r[12] = cpu->r[21] + 0x0000000Cu;
|
|
/* 02506F6C */ cpu->r[0] = cpu->r[0] + 0xFFFFE31Cu;
|
|
/* 02506F70 */ _t73 = cpu->r[3] + 0x00000000u;
|
|
/* 02506F70 */ rbrew_write32(cpu->mem, _t73, cpu->r[12]);
|
|
/* 02506F74 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02506F78 */ cpu->r[4] = 0x00000040u;
|
|
/* 02506F7C */ _t74 = cpu->r[3] + 0x00000004u;
|
|
/* 02506F7C */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 02506F80 */ cpu->r[6] = cpu->r[6] + 0xFFFFE334u;
|
|
/* 02506F84 */ _t75 = cpu->r[3] + 0x00000008u;
|
|
/* 02506F84 */ rbrew_write32(cpu->mem, _t75, cpu->r[4]);
|
|
/* 02506F88 */ _t76 = cpu->r[31] + 0x00007399u;
|
|
/* 02506F88 */ cpu->r[27] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02506F8C */ cpu->r[24] = 0x101F0000u;
|
|
/* 02506F90 */ _t77 = cpu->r[21] + 0x00000004u;
|
|
/* 02506F90 */ rbrew_write32(cpu->mem, _t77, cpu->r[6]);
|
|
/* 02506F94 */ cpu->r[24] = cpu->r[24] + 0x000066E8u;
|
|
/* 02506F98 */ _t78 = cpu->r[21] + 0x0000004Bu;
|
|
/* 02506F98 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[27]);
|
|
/* 02506F9C */ _t79 = cpu->r[24] + 0x00000004u;
|
|
/* 02506F9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02506FA0 */ _t80 = cpu->r[9] + 0x00000014u;
|
|
/* 02506FA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02506FA4 */ _t81 = cpu->r[21] + 0x00000000u;
|
|
/* 02506FA4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02506FA8 */ cpu->ctr = cpu->r[10];
|
|
/* 02506FAC */ cpu->r[25] = cpu->r[9] + 0x00000010u;
|
|
/* 02506FB0 */ cpu->r[3] = cpu->r[24];
|
|
/* 02506FB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02506FB8 */ _t82 = cpu->r[24] + 0x00000000u;
|
|
/* 02506FB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02506FBC */ cpu->r[12] = cpu->r[30];
|
|
/* 02506FC0 */ _t83 = cpu->r[12] + 0x00000000u;
|
|
/* 02506FC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t83);
|
|
/* 02506FC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02506FC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02506FCC */ cpu->r[0] = 0x00080000u;
|
|
/* 02506FD0 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506FD0 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02506FD0 */ if (_t85) goto L_02506F60; else goto L_02506FD4;
|
|
L_02506FD4: ; // 0x2506fd4
|
|
/* 02506FD4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02506FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02506FDC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02506FE0 */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02506FE0 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02506FE0 */ if (_t87) goto L_02506FF4; else goto L_02506FE4;
|
|
L_02506FE4: ; // 0x2506fe4
|
|
/* 02506FE4 */ _t88 = cpu->r[12] + 0x00000000u;
|
|
/* 02506FE4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02506FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[27]);
|
|
/* 02506FEC */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02506FEC */ _t90 = _t89 & 0x00000001u;
|
|
/* 02506FEC */ if (_t90) goto L_02506FF0; else goto L_02506FD4;
|
|
L_02506FF0: ; // 0x2506ff0
|
|
/* 02506FF0 */ goto L_02506FF8;
|
|
L_02506FF4: ; // 0x2506ff4
|
|
/* 02506FF4 */ cpu->r[31] = 0x00000000u;
|
|
L_02506FF8: ; // 0x2506ff8
|
|
/* 02506FF8 */ _t91 = cpu->r[21] + 0x00000008u;
|
|
/* 02506FF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02506FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02507000 */ _t92 = cpu->r[25] + 0x00000004u;
|
|
/* 02507000 */ cpu->r[7] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02507004 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507004 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02507004 */ if (_t94) goto L_0250700C; else goto L_02507008;
|
|
L_02507008: ; // 0x2507008
|
|
/* 02507008 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0250700C: ; // 0x250700c
|
|
/* 0250700C */ cpu->ctr = cpu->r[7];
|
|
/* 02507010 */ cpu->r[3] = cpu->r[24];
|
|
/* 02507014 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02507018 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250701C */ cpu->r[5] = cpu->r[31];
|
|
/* 02507020 */ cpu->r[4] = cpu->r[30];
|
|
/* 02507024 */ cpu->r[3] = cpu->r[23];
|
|
/* 02507028 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0250702C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02507030 */ _t95 = cpu->r[23] + cpu->r[31];
|
|
/* 02507030 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[27]);
|
|
/* 02507034 */ cpu->r[0] = cpu->r[0] + 0xFFFFE34Cu;
|
|
/* 02507038 */ _t96 = cpu->r[22] + 0x00000004u;
|
|
/* 02507038 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0250703C: ; // 0x250703c
|
|
/* 0250703C */ _t97 = cpu->r[29] + 0x00000614u;
|
|
/* 0250703C */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[28]);
|
|
/* 02507040 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02507044 */ _t98 = cpu->r[29] + 0x00000615u;
|
|
/* 02507044 */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[28]);
|
|
/* 02507048 */ _t99 = cpu->r[12] + 0x00006338u;
|
|
/* 02507048 */ cpu->r[7] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02507048 */ cpu->r[12] = _t99;
|
|
/* 0250704C */ _t100 = cpu->r[29] + 0x00000618u;
|
|
/* 0250704C */ rbrew_write32(cpu->mem, _t100, cpu->r[7]);
|
|
/* 02507050 */ _t101 = cpu->r[12] + 0x00000004u;
|
|
/* 02507050 */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02507054 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507058 */ _t102 = cpu->r[29] + 0x0000061Cu;
|
|
/* 02507058 */ rbrew_write32(cpu->mem, _t102, cpu->r[8]);
|
|
/* 0250705C */ _t103 = cpu->r[12] + 0x00000008u;
|
|
/* 0250705C */ cpu->r[10] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02507060 */ cpu->r[7] = 0x00000006u;
|
|
/* 02507064 */ cpu->r[4] = cpu->r[29];
|
|
/* 02507068 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0250706C */ _t104 = cpu->r[29] + 0x00000620u;
|
|
/* 0250706C */ rbrew_write32(cpu->mem, _t104, cpu->r[10]);
|
|
/* 02507070 */ cpu->r[6] = 0x00000000u;
|
|
/* 02507074 */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02507074 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[7]);
|
|
/* 02507078 */ Gambit_fn_02509510(cpu);
|
|
/* 0250707C */ cpu->r[4] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507080 */ cpu->r[3] = cpu->r[29];
|
|
/* 02507084 */ Gambit_fn_02000834(cpu);
|
|
/* 02507088 */ cpu->r[25] = 0x02510000u;
|
|
/* 0250708C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02507090 */ cpu->r[25] = cpu->r[25] + 0xFFFF9048u;
|
|
/* 02507094 */ cpu->r[0] = cpu->r[0] + 0xFFFFE478u;
|
|
/* 02507098 */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 02507098 */ rbrew_write32(cpu->mem, _t106, cpu->r[26]);
|
|
/* 0250709C */ cpu->ctr = cpu->r[25];
|
|
/* 025070A0 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025070A0 */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 025070A4 */ _t108 = cpu->r[29] + 0x000001C8u;
|
|
/* 025070A4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t108);
|
|
/* 025070A8 */ _t109 = cpu->r[24] + 0x00000000u;
|
|
/* 025070A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 025070AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025070B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025070B4 */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025070B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t110);
|
|
/* 025070B8 */ _t111 = cpu->r[9] + 0x00000000u;
|
|
/* 025070B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t111);
|
|
/* 025070BC */ cpu->r[31] = 0x00000000u;
|
|
/* 025070C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 025070C4 */ cpu->r[11] = 0x00080000u;
|
|
/* 025070C8 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025070C8 */ _t113 = _t112 & 0x00000001u;
|
|
/* 025070C8 */ if (_t113) goto L_02506EC8; else goto L_025070CC;
|
|
L_025070CC: ; // 0x25070cc
|
|
/* 025070CC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025070D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 025070D4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 025070D8 */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025070D8 */ _t115 = _t114 & 0x00000001u;
|
|
/* 025070D8 */ if (_t115) goto L_025070EC; else goto L_025070DC;
|
|
L_025070DC: ; // 0x25070dc
|
|
/* 025070DC */ _t116 = cpu->r[9] + 0x00000000u;
|
|
/* 025070DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t116);
|
|
/* 025070E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 025070E4 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025070E4 */ _t118 = _t117 & 0x00000001u;
|
|
/* 025070E4 */ if (_t118) goto L_025070E8; else goto L_025070CC;
|
|
L_025070E8: ; // 0x25070e8
|
|
/* 025070E8 */ goto L_025070F0;
|
|
L_025070EC: ; // 0x25070ec
|
|
/* 025070EC */ cpu->r[31] = 0x00000000u;
|
|
L_025070F0: ; // 0x25070f0
|
|
/* 025070F0 */ _t119 = cpu->r[24] + 0x00000008u;
|
|
/* 025070F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
|
|
/* 025070F4 */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 025070F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t120);
|
|
/* 025070F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 025070FC */ _t121 = cpu->r[7] + 0x00000014u;
|
|
/* 025070FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02507100 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507100 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02507100 */ if (_t123) goto L_02507108; else goto L_02507104;
|
|
L_02507104: ; // 0x2507104
|
|
/* 02507104 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02507108: ; // 0x2507108
|
|
/* 02507108 */ cpu->ctr = cpu->r[0];
|
|
/* 0250710C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02507114 */ _t124 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507114 */ cpu->r[4] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02507118 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250711C */ cpu->r[5] = cpu->r[31];
|
|
/* 02507120 */ cpu->r[6] = 0x00000000u;
|
|
/* 02507124 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02507128 */ _t125 = cpu->r[30] + cpu->r[31];
|
|
/* 02507128 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[27]);
|
|
/* 0250712C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02507130 */ _t126 = cpu->r[1] + 0x00000014u;
|
|
/* 02507130 */ rbrew_write16(cpu->mem, _t126, (uint16_t)cpu->r[28]);
|
|
/* 02507134 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507138 */ _t127 = cpu->r[1] + 0x00000024u;
|
|
/* 02507138 */ rbrew_write16(cpu->mem, _t127, (uint16_t)cpu->r[28]);
|
|
/* 0250713C */ cpu->r[9] = 0x02510000u;
|
|
/* 02507140 */ _t128 = cpu->r[1] + 0x00000026u;
|
|
/* 02507140 */ rbrew_write16(cpu->mem, _t128, (uint16_t)cpu->r[28]);
|
|
/* 02507144 */ cpu->r[9] = cpu->r[9] + 0xFFFF94C4u;
|
|
/* 02507148 */ _t129 = cpu->r[1] + 0x00000028u;
|
|
/* 02507148 */ rbrew_write32(cpu->mem, _t129, cpu->r[28]);
|
|
/* 0250714C */ _t130 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250714C */ rbrew_write16(cpu->mem, _t130, (uint16_t)cpu->r[28]);
|
|
/* 02507150 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02507154 */ _t131 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02507154 */ rbrew_write16(cpu->mem, _t131, (uint16_t)cpu->r[11]);
|
|
/* 02507158 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250715C */ _t132 = cpu->r[1] + 0x00000016u;
|
|
/* 0250715C */ rbrew_write16(cpu->mem, _t132, (uint16_t)cpu->r[11]);
|
|
/* 02507160 */ cpu->r[4] = 0x02500000u;
|
|
/* 02507164 */ _t133 = cpu->r[1] + 0x00000018u;
|
|
/* 02507164 */ rbrew_write32(cpu->mem, _t133, cpu->r[9]);
|
|
/* 02507168 */ cpu->r[4] = cpu->r[4] + 0x00007BE0u;
|
|
/* 0250716C */ cpu->r[9] = 0x00000000u;
|
|
/* 02507170 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507174 */ _t134 = cpu->r[1] + 0x00000020u;
|
|
/* 02507174 */ rbrew_write32(cpu->mem, _t134, cpu->r[4]);
|
|
/* 02507178 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0250717C */ _t135 = cpu->r[1] + 0x00000008u;
|
|
/* 0250717C */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[9]);
|
|
/* 02507180 */ Gambit_fn_025097C0(cpu);
|
|
/* 02507184 */ cpu->r[12] = 0x100C0000u;
|
|
/* 02507188 */ _t136 = cpu->r[1] + 0x00000010u;
|
|
/* 02507188 */ rbrew_write32(cpu->mem, _t136, cpu->r[26]);
|
|
/* 0250718C */ cpu->r[12] = cpu->r[12] + 0xFFFFE424u;
|
|
/* 02507190 */ _t137 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507190 */ rbrew_write32(cpu->mem, _t137, cpu->r[12]);
|
|
/* 02507194 */ _t138 = cpu->r[29] + 0x000001C4u;
|
|
/* 02507194 */ cpu->r[4] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02507198 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 0250719C */ _t139 = cpu->r[29] + 0x000001C8u;
|
|
/* 0250719C */ cpu->r[30] = rbrew_read32(cpu->mem, _t139);
|
|
/* 025071A0 */ _t140 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025071A0 */ _t141 = _t140 & 0x00000001u;
|
|
/* 025071A0 */ if (_t141) goto L_025071A4; else goto L_025071A8;
|
|
L_025071A4: ; // 0x25071a4
|
|
/* 025071A4 */ cpu->r[30] = cpu->r[30] + 0x00000024u;
|
|
L_025071A8: ; // 0x25071a8
|
|
/* 025071A8 */ cpu->ctr = cpu->r[25];
|
|
/* 025071AC */ _t142 = cpu->r[30] + 0x00000000u;
|
|
/* 025071AC */ cpu->r[24] = rbrew_read32(cpu->mem, _t142);
|
|
/* 025071B0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025071B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025071B8 */ _t143 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025071B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t143);
|
|
/* 025071BC */ _t144 = cpu->r[4] + 0x00000000u;
|
|
/* 025071BC */ cpu->r[5] = rbrew_read8(cpu->mem, _t144);
|
|
/* 025071C0 */ cpu->r[31] = 0x00000000u;
|
|
/* 025071C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[27]);
|
|
/* 025071C8 */ cpu->r[6] = 0x00080000u;
|
|
/* 025071CC */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025071CC */ _t146 = _t145 & 0x00000001u;
|
|
/* 025071CC */ if (_t146) goto L_025071F4; else goto L_025071D0;
|
|
L_025071D0: ; // 0x25071d0
|
|
/* 025071D0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025071D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 025071D8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 025071DC */ _t147 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025071DC */ _t148 = _t147 & 0x00000001u;
|
|
/* 025071DC */ if (_t148) goto L_025071F0; else goto L_025071E0;
|
|
L_025071E0: ; // 0x25071e0
|
|
/* 025071E0 */ _t149 = cpu->r[4] + 0x00000000u;
|
|
/* 025071E0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t149);
|
|
/* 025071E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[27]);
|
|
/* 025071E8 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025071E8 */ _t151 = _t150 & 0x00000001u;
|
|
/* 025071E8 */ if (_t151) goto L_025071EC; else goto L_025071D0;
|
|
L_025071EC: ; // 0x25071ec
|
|
/* 025071EC */ goto L_025071F4;
|
|
L_025071F0: ; // 0x25071f0
|
|
/* 025071F0 */ cpu->r[31] = 0x00000000u;
|
|
L_025071F4: ; // 0x25071f4
|
|
/* 025071F4 */ _t152 = cpu->r[30] + 0x00000008u;
|
|
/* 025071F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t152);
|
|
/* 025071F8 */ _t153 = cpu->r[1] + 0x00000010u;
|
|
/* 025071F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t153);
|
|
/* 025071FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02507200 */ _t154 = cpu->r[8] + 0x00000014u;
|
|
/* 02507200 */ cpu->r[9] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02507204 */ _t155 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507204 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02507204 */ if (_t156) goto L_0250720C; else goto L_02507208;
|
|
L_02507208: ; // 0x2507208
|
|
/* 02507208 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0250720C: ; // 0x250720c
|
|
/* 0250720C */ cpu->ctr = cpu->r[9];
|
|
/* 02507210 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507214 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02507218 */ _t157 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507218 */ cpu->r[4] = rbrew_read32(cpu->mem, _t157);
|
|
/* 0250721C */ cpu->r[3] = cpu->r[24];
|
|
/* 02507220 */ cpu->r[5] = cpu->r[31];
|
|
/* 02507224 */ cpu->r[6] = 0x00000000u;
|
|
/* 02507228 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0250722C */ _t158 = cpu->r[24] + cpu->r[31];
|
|
/* 0250722C */ rbrew_write8(cpu->mem, _t158, (uint8_t)cpu->r[27]);
|
|
/* 02507230 */ cpu->r[0] = 0x00000001u;
|
|
/* 02507234 */ _t159 = cpu->r[1] + 0x00000028u;
|
|
/* 02507234 */ rbrew_write32(cpu->mem, _t159, cpu->r[28]);
|
|
/* 02507238 */ cpu->r[11] = 0x02500000u;
|
|
/* 0250723C */ _t160 = cpu->r[1] + 0x00000008u;
|
|
/* 0250723C */ rbrew_write8(cpu->mem, _t160, (uint8_t)cpu->r[0]);
|
|
/* 02507240 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02507244 */ _t161 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507244 */ rbrew_write16(cpu->mem, _t161, (uint16_t)cpu->r[28]);
|
|
/* 02507248 */ cpu->r[10] = 0x02500000u;
|
|
/* 0250724C */ _t162 = cpu->r[1] + 0x00000024u;
|
|
/* 0250724C */ rbrew_write16(cpu->mem, _t162, (uint16_t)cpu->r[28]);
|
|
/* 02507250 */ _t163 = cpu->r[1] + 0x00000026u;
|
|
/* 02507250 */ rbrew_write16(cpu->mem, _t163, (uint16_t)cpu->r[28]);
|
|
/* 02507254 */ cpu->r[11] = cpu->r[11] + 0x00007C44u;
|
|
/* 02507258 */ _t164 = cpu->r[1] + 0x00000016u;
|
|
/* 02507258 */ rbrew_write16(cpu->mem, _t164, (uint16_t)cpu->r[0]);
|
|
/* 0250725C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02507260 */ _t165 = cpu->r[1] + 0x00000020u;
|
|
/* 02507260 */ rbrew_write32(cpu->mem, _t165, cpu->r[11]);
|
|
/* 02507264 */ cpu->r[10] = cpu->r[10] + 0x00007D28u;
|
|
/* 02507268 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250726C */ _t166 = cpu->r[1] + 0x00000014u;
|
|
/* 0250726C */ rbrew_write16(cpu->mem, _t166, (uint16_t)cpu->r[28]);
|
|
/* 02507270 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507274 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02507278 */ _t167 = cpu->r[1] + 0x00000018u;
|
|
/* 02507278 */ rbrew_write32(cpu->mem, _t167, cpu->r[10]);
|
|
/* 0250727C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507280 */ _t168 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02507280 */ rbrew_write16(cpu->mem, _t168, (uint16_t)cpu->r[0]);
|
|
/* 02507284 */ Gambit_fn_025097C0(cpu);
|
|
/* 02507288 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250728C */ _t169 = cpu->r[1] + 0x00000010u;
|
|
/* 0250728C */ rbrew_write32(cpu->mem, _t169, cpu->r[26]);
|
|
/* 02507290 */ cpu->r[12] = cpu->r[12] + 0xFFFFE488u;
|
|
/* 02507294 */ _t170 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507294 */ rbrew_write32(cpu->mem, _t170, cpu->r[12]);
|
|
/* 02507298 */ _t171 = cpu->r[29] + 0x000001C4u;
|
|
/* 02507298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0250729C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 025072A0 */ _t172 = cpu->r[29] + 0x000001C8u;
|
|
/* 025072A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t172);
|
|
/* 025072A4 */ _t173 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025072A4 */ _t174 = _t173 & 0x00000001u;
|
|
/* 025072A4 */ if (_t174) goto L_025072A8; else goto L_025072AC;
|
|
L_025072A8: ; // 0x25072a8
|
|
/* 025072A8 */ cpu->r[31] = cpu->r[31] + 0x00000048u;
|
|
L_025072AC: ; // 0x25072ac
|
|
/* 025072AC */ cpu->ctr = cpu->r[25];
|
|
/* 025072B0 */ _t175 = cpu->r[31] + 0x00000000u;
|
|
/* 025072B0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t175);
|
|
/* 025072B4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025072B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025072BC */ _t176 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025072BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 025072C0 */ _t177 = cpu->r[9] + 0x00000000u;
|
|
/* 025072C0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t177);
|
|
/* 025072C4 */ cpu->r[30] = 0x00000000u;
|
|
/* 025072C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[27]);
|
|
/* 025072CC */ cpu->r[0] = 0x00080000u;
|
|
/* 025072D0 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025072D0 */ _t179 = _t178 & 0x00000001u;
|
|
/* 025072D0 */ if (_t179) goto L_025072F8; else goto L_025072D4;
|
|
L_025072D4: ; // 0x25072d4
|
|
/* 025072D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 025072D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 025072DC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 025072E0 */ _t180 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025072E0 */ _t181 = _t180 & 0x00000001u;
|
|
/* 025072E0 */ if (_t181) goto L_025072F4; else goto L_025072E4;
|
|
L_025072E4: ; // 0x25072e4
|
|
/* 025072E4 */ _t182 = cpu->r[9] + 0x00000000u;
|
|
/* 025072E4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t182);
|
|
/* 025072E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[27]);
|
|
/* 025072EC */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025072EC */ _t184 = _t183 & 0x00000001u;
|
|
/* 025072EC */ if (_t184) goto L_025072F0; else goto L_025072D4;
|
|
L_025072F0: ; // 0x25072f0
|
|
/* 025072F0 */ goto L_025072F8;
|
|
L_025072F4: ; // 0x25072f4
|
|
/* 025072F4 */ cpu->r[30] = 0x00000000u;
|
|
L_025072F8: ; // 0x25072f8
|
|
/* 025072F8 */ _t185 = cpu->r[31] + 0x00000008u;
|
|
/* 025072F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t185);
|
|
/* 025072FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 02507300 */ _t186 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507300 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02507300 */ if (_t187) goto L_02507308; else goto L_02507304;
|
|
L_02507304: ; // 0x2507304
|
|
/* 02507304 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02507308: ; // 0x2507308
|
|
/* 02507308 */ _t188 = cpu->r[1] + 0x00000010u;
|
|
/* 02507308 */ cpu->r[7] = rbrew_read32(cpu->mem, _t188);
|
|
/* 0250730C */ _t189 = cpu->r[7] + 0x00000014u;
|
|
/* 0250730C */ cpu->r[8] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02507310 */ cpu->ctr = cpu->r[8];
|
|
/* 02507314 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250731C */ _t190 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250731C */ cpu->r[4] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02507320 */ cpu->r[3] = cpu->r[24];
|
|
/* 02507324 */ cpu->r[5] = cpu->r[30];
|
|
/* 02507328 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250732C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02507330 */ _t191 = cpu->r[24] + cpu->r[30];
|
|
/* 02507330 */ rbrew_write8(cpu->mem, _t191, (uint8_t)cpu->r[27]);
|
|
/* 02507334 */ cpu->r[12] = 0x00000002u;
|
|
/* 02507338 */ _t192 = cpu->r[1] + 0x00000028u;
|
|
/* 02507338 */ rbrew_write32(cpu->mem, _t192, cpu->r[28]);
|
|
/* 0250733C */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02507340 */ _t193 = cpu->r[1] + 0x00000014u;
|
|
/* 02507340 */ rbrew_write16(cpu->mem, _t193, (uint16_t)cpu->r[28]);
|
|
/* 02507344 */ cpu->r[11] = 0x02500000u;
|
|
/* 02507348 */ _t194 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507348 */ rbrew_write16(cpu->mem, _t194, (uint16_t)cpu->r[28]);
|
|
/* 0250734C */ cpu->r[9] = 0x02500000u;
|
|
/* 02507350 */ _t195 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02507350 */ rbrew_write16(cpu->mem, _t195, (uint16_t)cpu->r[6]);
|
|
/* 02507354 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507358 */ _t196 = cpu->r[1] + 0x00000026u;
|
|
/* 02507358 */ rbrew_write16(cpu->mem, _t196, (uint16_t)cpu->r[28]);
|
|
/* 0250735C */ cpu->r[9] = cpu->r[9] + 0x00007DC4u;
|
|
/* 02507360 */ _t197 = cpu->r[1] + 0x00000024u;
|
|
/* 02507360 */ rbrew_write16(cpu->mem, _t197, (uint16_t)cpu->r[28]);
|
|
/* 02507364 */ cpu->r[11] = cpu->r[11] + 0x00007F14u;
|
|
/* 02507368 */ _t198 = cpu->r[1] + 0x00000016u;
|
|
/* 02507368 */ rbrew_write16(cpu->mem, _t198, (uint16_t)cpu->r[6]);
|
|
/* 0250736C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02507370 */ _t199 = cpu->r[1] + 0x00000018u;
|
|
/* 02507370 */ rbrew_write32(cpu->mem, _t199, cpu->r[11]);
|
|
/* 02507374 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507378 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0250737C */ _t200 = cpu->r[1] + 0x00000008u;
|
|
/* 0250737C */ rbrew_write8(cpu->mem, _t200, (uint8_t)cpu->r[12]);
|
|
/* 02507380 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02507384 */ _t201 = cpu->r[1] + 0x00000020u;
|
|
/* 02507384 */ rbrew_write32(cpu->mem, _t201, cpu->r[9]);
|
|
/* 02507388 */ Gambit_fn_025097C0(cpu);
|
|
/* 0250738C */ cpu->r[4] = 0x100C0000u;
|
|
/* 02507390 */ _t202 = cpu->r[1] + 0x00000010u;
|
|
/* 02507390 */ rbrew_write32(cpu->mem, _t202, cpu->r[26]);
|
|
/* 02507394 */ cpu->r[4] = cpu->r[4] + 0xFFFFE438u;
|
|
/* 02507398 */ _t203 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507398 */ rbrew_write32(cpu->mem, _t203, cpu->r[4]);
|
|
/* 0250739C */ _t204 = cpu->r[29] + 0x000001C4u;
|
|
/* 0250739C */ cpu->r[0] = rbrew_read32(cpu->mem, _t204);
|
|
/* 025073A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 025073A4 */ _t205 = cpu->r[29] + 0x000001C8u;
|
|
/* 025073A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t205);
|
|
/* 025073A8 */ _t206 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025073A8 */ _t207 = _t206 & 0x00000001u;
|
|
/* 025073A8 */ if (_t207) goto L_025073AC; else goto L_025073B0;
|
|
L_025073AC: ; // 0x25073ac
|
|
/* 025073AC */ cpu->r[30] = cpu->r[30] + 0x0000006Cu;
|
|
L_025073B0: ; // 0x25073b0
|
|
/* 025073B0 */ cpu->ctr = cpu->r[25];
|
|
/* 025073B4 */ _t208 = cpu->r[30] + 0x00000000u;
|
|
/* 025073B4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t208);
|
|
/* 025073B8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025073BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025073C0 */ _t209 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025073C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t209);
|
|
/* 025073C4 */ _t210 = cpu->r[5] + 0x00000000u;
|
|
/* 025073C4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t210);
|
|
/* 025073C8 */ cpu->r[31] = 0x00000000u;
|
|
/* 025073CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[27]);
|
|
/* 025073D0 */ cpu->r[0] = 0x00080000u;
|
|
/* 025073D4 */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025073D4 */ _t212 = _t211 & 0x00000001u;
|
|
/* 025073D4 */ if (_t212) goto L_025073FC; else goto L_025073D8;
|
|
L_025073D8: ; // 0x25073d8
|
|
/* 025073D8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025073DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 025073E0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 025073E4 */ _t213 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025073E4 */ _t214 = _t213 & 0x00000001u;
|
|
/* 025073E4 */ if (_t214) goto L_025073F8; else goto L_025073E8;
|
|
L_025073E8: ; // 0x25073e8
|
|
/* 025073E8 */ _t215 = cpu->r[5] + 0x00000000u;
|
|
/* 025073E8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t215);
|
|
/* 025073EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[27]);
|
|
/* 025073F0 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025073F0 */ _t217 = _t216 & 0x00000001u;
|
|
/* 025073F0 */ if (_t217) goto L_025073F4; else goto L_025073D8;
|
|
L_025073F4: ; // 0x25073f4
|
|
/* 025073F4 */ goto L_025073FC;
|
|
L_025073F8: ; // 0x25073f8
|
|
/* 025073F8 */ cpu->r[31] = 0x00000000u;
|
|
L_025073FC: ; // 0x25073fc
|
|
/* 025073FC */ _t218 = cpu->r[30] + 0x00000008u;
|
|
/* 025073FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02507400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02507404 */ _t219 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507404 */ _t220 = _t219 & 0x00000001u;
|
|
/* 02507404 */ if (_t220) goto L_0250740C; else goto L_02507408;
|
|
L_02507408: ; // 0x2507408
|
|
/* 02507408 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0250740C: ; // 0x250740c
|
|
/* 0250740C */ _t221 = cpu->r[1] + 0x00000010u;
|
|
/* 0250740C */ cpu->r[8] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02507410 */ _t222 = cpu->r[8] + 0x00000014u;
|
|
/* 02507410 */ cpu->r[9] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02507414 */ cpu->ctr = cpu->r[9];
|
|
/* 02507418 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250741C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02507420 */ _t223 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507420 */ cpu->r[4] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02507424 */ cpu->r[6] = 0x00000000u;
|
|
/* 02507428 */ cpu->r[5] = cpu->r[31];
|
|
/* 0250742C */ cpu->r[3] = cpu->r[24];
|
|
/* 02507430 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02507434 */ _t224 = cpu->r[24] + cpu->r[31];
|
|
/* 02507434 */ rbrew_write8(cpu->mem, _t224, (uint8_t)cpu->r[27]);
|
|
/* 02507438 */ cpu->r[0] = 0x00000003u;
|
|
/* 0250743C */ _t225 = cpu->r[1] + 0x00000014u;
|
|
/* 0250743C */ rbrew_write16(cpu->mem, _t225, (uint16_t)cpu->r[28]);
|
|
/* 02507440 */ cpu->r[12] = 0x02510000u;
|
|
/* 02507444 */ _t226 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507444 */ rbrew_write16(cpu->mem, _t226, (uint16_t)cpu->r[28]);
|
|
/* 02507448 */ cpu->r[12] = cpu->r[12] + 0xFFFF8700u;
|
|
/* 0250744C */ _t227 = cpu->r[1] + 0x00000024u;
|
|
/* 0250744C */ rbrew_write16(cpu->mem, _t227, (uint16_t)cpu->r[28]);
|
|
/* 02507450 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507454 */ _t228 = cpu->r[1] + 0x00000028u;
|
|
/* 02507454 */ rbrew_write32(cpu->mem, _t228, cpu->r[28]);
|
|
/* 02507458 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0250745C */ _t229 = cpu->r[1] + 0x00000008u;
|
|
/* 0250745C */ rbrew_write8(cpu->mem, _t229, (uint8_t)cpu->r[0]);
|
|
/* 02507460 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02507464 */ _t230 = cpu->r[1] + 0x00000018u;
|
|
/* 02507464 */ rbrew_write32(cpu->mem, _t230, cpu->r[12]);
|
|
/* 02507468 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250746C */ _t231 = cpu->r[1] + 0x00000016u;
|
|
/* 0250746C */ rbrew_write16(cpu->mem, _t231, (uint16_t)cpu->r[0]);
|
|
/* 02507470 */ cpu->r[10] = 0x02510000u;
|
|
/* 02507474 */ _t232 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02507474 */ rbrew_write16(cpu->mem, _t232, (uint16_t)cpu->r[0]);
|
|
/* 02507478 */ cpu->r[10] = cpu->r[10] + 0xFFFF86B8u;
|
|
/* 0250747C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02507480 */ _t233 = cpu->r[1] + 0x00000026u;
|
|
/* 02507480 */ rbrew_write16(cpu->mem, _t233, (uint16_t)cpu->r[28]);
|
|
/* 02507484 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507488 */ _t234 = cpu->r[1] + 0x00000020u;
|
|
/* 02507488 */ rbrew_write32(cpu->mem, _t234, cpu->r[10]);
|
|
/* 0250748C */ Gambit_fn_025097C0(cpu);
|
|
/* 02507490 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02507494 */ _t235 = cpu->r[1] + 0x00000010u;
|
|
/* 02507494 */ rbrew_write32(cpu->mem, _t235, cpu->r[26]);
|
|
/* 02507498 */ cpu->r[6] = cpu->r[6] + 0xFFFFE44Cu;
|
|
/* 0250749C */ _t236 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250749C */ rbrew_write32(cpu->mem, _t236, cpu->r[6]);
|
|
/* 025074A0 */ _t237 = cpu->r[29] + 0x000001C4u;
|
|
/* 025074A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t237);
|
|
/* 025074A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000004u);
|
|
/* 025074A8 */ _t238 = cpu->r[29] + 0x000001C8u;
|
|
/* 025074A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t238);
|
|
/* 025074AC */ _t239 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025074AC */ _t240 = _t239 & 0x00000001u;
|
|
/* 025074AC */ if (_t240) goto L_025074B0; else goto L_025074B4;
|
|
L_025074B0: ; // 0x25074b0
|
|
/* 025074B0 */ cpu->r[30] = cpu->r[30] + 0x00000090u;
|
|
L_025074B4: ; // 0x25074b4
|
|
/* 025074B4 */ cpu->ctr = cpu->r[25];
|
|
/* 025074B8 */ _t241 = cpu->r[30] + 0x00000000u;
|
|
/* 025074B8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t241);
|
|
/* 025074BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025074C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025074C4 */ _t242 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025074C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t242);
|
|
/* 025074C8 */ _t243 = cpu->r[11] + 0x00000000u;
|
|
/* 025074C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t243);
|
|
/* 025074CC */ cpu->r[31] = 0x00000000u;
|
|
/* 025074D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[27]);
|
|
/* 025074D4 */ cpu->r[12] = 0x00080000u;
|
|
/* 025074D8 */ _t244 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025074D8 */ _t245 = _t244 & 0x00000001u;
|
|
/* 025074D8 */ if (_t245) goto L_02507500; else goto L_025074DC;
|
|
L_025074DC: ; // 0x25074dc
|
|
/* 025074DC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025074E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 025074E4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 025074E8 */ _t246 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025074E8 */ _t247 = _t246 & 0x00000001u;
|
|
/* 025074E8 */ if (_t247) goto L_025074FC; else goto L_025074EC;
|
|
L_025074EC: ; // 0x25074ec
|
|
/* 025074EC */ _t248 = cpu->r[11] + 0x00000000u;
|
|
/* 025074EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t248);
|
|
/* 025074F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 025074F4 */ _t249 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025074F4 */ _t250 = _t249 & 0x00000001u;
|
|
/* 025074F4 */ if (_t250) goto L_025074F8; else goto L_025074DC;
|
|
L_025074F8: ; // 0x25074f8
|
|
/* 025074F8 */ goto L_02507500;
|
|
L_025074FC: ; // 0x25074fc
|
|
/* 025074FC */ cpu->r[31] = 0x00000000u;
|
|
L_02507500: ; // 0x2507500
|
|
/* 02507500 */ _t251 = cpu->r[30] + 0x00000008u;
|
|
/* 02507500 */ cpu->r[9] = rbrew_read32(cpu->mem, _t251);
|
|
/* 02507504 */ _t252 = cpu->r[1] + 0x00000010u;
|
|
/* 02507504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02507508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0250750C */ _t253 = cpu->r[10] + 0x00000014u;
|
|
/* 0250750C */ cpu->r[11] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02507510 */ _t254 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507510 */ _t255 = _t254 & 0x00000001u;
|
|
/* 02507510 */ if (_t255) goto L_02507518; else goto L_02507514;
|
|
L_02507514: ; // 0x2507514
|
|
/* 02507514 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02507518: ; // 0x2507518
|
|
/* 02507518 */ cpu->ctr = cpu->r[11];
|
|
/* 0250751C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507520 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02507524 */ _t256 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507524 */ cpu->r[4] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02507528 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250752C */ cpu->r[5] = cpu->r[31];
|
|
/* 02507530 */ cpu->r[3] = cpu->r[24];
|
|
/* 02507534 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02507538 */ _t257 = cpu->r[24] + cpu->r[31];
|
|
/* 02507538 */ rbrew_write8(cpu->mem, _t257, (uint8_t)cpu->r[27]);
|
|
/* 0250753C */ cpu->r[0] = 0x00000004u;
|
|
/* 02507540 */ _t258 = cpu->r[1] + 0x00000028u;
|
|
/* 02507540 */ rbrew_write32(cpu->mem, _t258, cpu->r[28]);
|
|
/* 02507544 */ cpu->r[4] = 0x02510000u;
|
|
/* 02507548 */ _t259 = cpu->r[1] + 0x00000026u;
|
|
/* 02507548 */ rbrew_write16(cpu->mem, _t259, (uint16_t)cpu->r[28]);
|
|
/* 0250754C */ cpu->r[4] = cpu->r[4] + 0xFFFF8990u;
|
|
/* 02507550 */ _t260 = cpu->r[1] + 0x00000008u;
|
|
/* 02507550 */ rbrew_write8(cpu->mem, _t260, (uint8_t)cpu->r[0]);
|
|
/* 02507554 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02507558 */ _t261 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507558 */ rbrew_write16(cpu->mem, _t261, (uint16_t)cpu->r[28]);
|
|
/* 0250755C */ _t262 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0250755C */ rbrew_write16(cpu->mem, _t262, (uint16_t)cpu->r[0]);
|
|
/* 02507560 */ cpu->r[12] = 0x02510000u;
|
|
/* 02507564 */ _t263 = cpu->r[1] + 0x00000018u;
|
|
/* 02507564 */ rbrew_write32(cpu->mem, _t263, cpu->r[4]);
|
|
/* 02507568 */ cpu->r[12] = cpu->r[12] + 0xFFFF8808u;
|
|
/* 0250756C */ _t264 = cpu->r[1] + 0x00000016u;
|
|
/* 0250756C */ rbrew_write16(cpu->mem, _t264, (uint16_t)cpu->r[0]);
|
|
/* 02507570 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02507574 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02507578 */ _t265 = cpu->r[1] + 0x00000020u;
|
|
/* 02507578 */ rbrew_write32(cpu->mem, _t265, cpu->r[12]);
|
|
/* 0250757C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507580 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507584 */ _t266 = cpu->r[1] + 0x00000024u;
|
|
/* 02507584 */ rbrew_write16(cpu->mem, _t266, (uint16_t)cpu->r[28]);
|
|
/* 02507588 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250758C */ _t267 = cpu->r[1] + 0x00000014u;
|
|
/* 0250758C */ rbrew_write16(cpu->mem, _t267, (uint16_t)cpu->r[28]);
|
|
/* 02507590 */ Gambit_fn_025097C0(cpu);
|
|
/* 02507594 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02507598 */ _t268 = cpu->r[1] + 0x00000010u;
|
|
/* 02507598 */ rbrew_write32(cpu->mem, _t268, cpu->r[26]);
|
|
/* 0250759C */ cpu->r[5] = cpu->r[5] + 0xFFFFE464u;
|
|
/* 025075A0 */ _t269 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025075A0 */ rbrew_write32(cpu->mem, _t269, cpu->r[5]);
|
|
/* 025075A4 */ _t270 = cpu->r[29] + 0x000001C4u;
|
|
/* 025075A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t270);
|
|
/* 025075A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000005u);
|
|
/* 025075AC */ _t271 = cpu->r[29] + 0x000001C8u;
|
|
/* 025075AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t271);
|
|
/* 025075B0 */ _t272 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025075B0 */ _t273 = _t272 & 0x00000001u;
|
|
/* 025075B0 */ if (_t273) goto L_025075B4; else goto L_025075B8;
|
|
L_025075B4: ; // 0x25075b4
|
|
/* 025075B4 */ cpu->r[30] = cpu->r[30] + 0x000000B4u;
|
|
L_025075B8: ; // 0x25075b8
|
|
/* 025075B8 */ cpu->ctr = cpu->r[25];
|
|
/* 025075BC */ _t274 = cpu->r[30] + 0x00000000u;
|
|
/* 025075BC */ cpu->r[26] = rbrew_read32(cpu->mem, _t274);
|
|
/* 025075C0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025075C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025075C8 */ _t275 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025075C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t275);
|
|
/* 025075CC */ _t276 = cpu->r[5] + 0x00000000u;
|
|
/* 025075CC */ cpu->r[7] = rbrew_read8(cpu->mem, _t276);
|
|
/* 025075D0 */ cpu->r[31] = 0x00000000u;
|
|
/* 025075D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[27]);
|
|
/* 025075D8 */ cpu->r[7] = 0x00080000u;
|
|
/* 025075DC */ _t277 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025075DC */ _t278 = _t277 & 0x00000001u;
|
|
/* 025075DC */ if (_t278) goto L_02507604; else goto L_025075E0;
|
|
L_025075E0: ; // 0x25075e0
|
|
/* 025075E0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025075E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 025075E8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 025075EC */ _t279 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025075EC */ _t280 = _t279 & 0x00000001u;
|
|
/* 025075EC */ if (_t280) goto L_02507600; else goto L_025075F0;
|
|
L_025075F0: ; // 0x25075f0
|
|
/* 025075F0 */ _t281 = cpu->r[5] + 0x00000000u;
|
|
/* 025075F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t281);
|
|
/* 025075F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[27]);
|
|
/* 025075F8 */ _t282 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025075F8 */ _t283 = _t282 & 0x00000001u;
|
|
/* 025075F8 */ if (_t283) goto L_025075FC; else goto L_025075E0;
|
|
L_025075FC: ; // 0x25075fc
|
|
/* 025075FC */ goto L_02507604;
|
|
L_02507600: ; // 0x2507600
|
|
/* 02507600 */ cpu->r[31] = 0x00000000u;
|
|
L_02507604: ; // 0x2507604
|
|
/* 02507604 */ _t284 = cpu->r[30] + 0x00000008u;
|
|
/* 02507604 */ cpu->r[10] = rbrew_read32(cpu->mem, _t284);
|
|
/* 02507608 */ _t285 = cpu->r[1] + 0x00000010u;
|
|
/* 02507608 */ cpu->r[9] = rbrew_read32(cpu->mem, _t285);
|
|
/* 0250760C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02507610 */ _t286 = cpu->r[9] + 0x00000014u;
|
|
/* 02507610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02507614 */ _t287 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507614 */ _t288 = _t287 & 0x00000001u;
|
|
/* 02507614 */ if (_t288) goto L_0250761C; else goto L_02507618;
|
|
L_02507618: ; // 0x2507618
|
|
/* 02507618 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0250761C: ; // 0x250761c
|
|
/* 0250761C */ cpu->ctr = cpu->r[0];
|
|
/* 02507620 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02507628 */ _t289 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507628 */ cpu->r[4] = rbrew_read32(cpu->mem, _t289);
|
|
/* 0250762C */ cpu->r[6] = 0x00000000u;
|
|
/* 02507630 */ cpu->r[5] = cpu->r[31];
|
|
/* 02507634 */ cpu->r[3] = cpu->r[26];
|
|
/* 02507638 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0250763C */ _t290 = cpu->r[26] + cpu->r[31];
|
|
/* 0250763C */ rbrew_write8(cpu->mem, _t290, (uint8_t)cpu->r[27]);
|
|
/* 02507640 */ cpu->r[0] = 0x00000005u;
|
|
/* 02507644 */ _t291 = cpu->r[1] + 0x00000014u;
|
|
/* 02507644 */ rbrew_write16(cpu->mem, _t291, (uint16_t)cpu->r[28]);
|
|
/* 02507648 */ cpu->r[11] = 0x02510000u;
|
|
/* 0250764C */ _t292 = cpu->r[1] + 0x00000026u;
|
|
/* 0250764C */ rbrew_write16(cpu->mem, _t292, (uint16_t)cpu->r[28]);
|
|
/* 02507650 */ cpu->r[11] = cpu->r[11] + 0xFFFF8C58u;
|
|
/* 02507654 */ _t293 = cpu->r[1] + 0x00000008u;
|
|
/* 02507654 */ rbrew_write8(cpu->mem, _t293, (uint8_t)cpu->r[0]);
|
|
/* 02507658 */ cpu->r[0] = 0x02510000u;
|
|
/* 0250765C */ _t294 = cpu->r[1] + 0x00000020u;
|
|
/* 0250765C */ rbrew_write32(cpu->mem, _t294, cpu->r[11]);
|
|
/* 02507660 */ _t295 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507660 */ rbrew_write16(cpu->mem, _t295, (uint16_t)cpu->r[28]);
|
|
/* 02507664 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 02507668 */ _t296 = cpu->r[1] + 0x00000024u;
|
|
/* 02507668 */ rbrew_write16(cpu->mem, _t296, (uint16_t)cpu->r[28]);
|
|
/* 0250766C */ cpu->r[0] = cpu->r[0] + 0xFFFF8C8Cu;
|
|
/* 02507670 */ _t297 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02507670 */ rbrew_write16(cpu->mem, _t297, (uint16_t)cpu->r[31]);
|
|
/* 02507674 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507678 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0250767C */ _t298 = cpu->r[1] + 0x00000018u;
|
|
/* 0250767C */ rbrew_write32(cpu->mem, _t298, cpu->r[0]);
|
|
/* 02507680 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507684 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02507688 */ _t299 = cpu->r[1] + 0x00000028u;
|
|
/* 02507688 */ rbrew_write32(cpu->mem, _t299, cpu->r[28]);
|
|
/* 0250768C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02507690 */ _t300 = cpu->r[1] + 0x00000016u;
|
|
/* 02507690 */ rbrew_write16(cpu->mem, _t300, (uint16_t)cpu->r[31]);
|
|
/* 02507694 */ Gambit_fn_025097C0(cpu);
|
|
/* 02507698 */ cpu->r[27] = 0x02510000u;
|
|
/* 0250769C */ cpu->r[3] = 0x00000010u;
|
|
/* 025076A0 */ cpu->r[28] = 0x00000000u;
|
|
/* 025076A4 */ cpu->r[27] = cpu->r[27] + 0xFFFF8CFCu;
|
|
/* 025076A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025076AC */ cpu->r[30] = cpu->r[3];
|
|
/* 025076AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025076B0 */ _t301 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025076B0 */ _t302 = _t301 & 0x00000001u;
|
|
/* 025076B0 */ if (_t302) goto L_02507704; else goto L_025076B4;
|
|
L_025076B4: ; // 0x25076b4
|
|
/* 025076B4 */ _t303 = cpu->r[1] + 0x00000030u;
|
|
/* 025076B4 */ rbrew_write32(cpu->mem, _t303, cpu->r[27]);
|
|
/* 025076B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025076B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025076BC */ _t304 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025076BC */ rbrew_write16(cpu->mem, _t304, (uint16_t)cpu->r[28]);
|
|
/* 025076C0 */ _t305 = cpu->r[1] + 0x0000002Eu;
|
|
/* 025076C0 */ rbrew_write16(cpu->mem, _t305, (uint16_t)cpu->r[31]);
|
|
/* 025076C4 */ _t306 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025076C4 */ _t307 = _t306 & 0x00000001u;
|
|
/* 025076C4 */ if (_t307) goto L_025076C8; else goto L_025076D8;
|
|
L_025076C8: ; // 0x25076c8
|
|
/* 025076C8 */ cpu->r[3] = 0x00000010u;
|
|
/* 025076CC */ Gambit_fn_02801A78(cpu);
|
|
/* 025076D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025076D4 */ _t308 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025076D4 */ _t309 = _t308 & 0x00000001u;
|
|
/* 025076D4 */ if (_t309) goto L_025076F8; else goto L_025076D8;
|
|
L_025076D8: ; // 0x25076d8
|
|
/* 025076D8 */ cpu->r[7] = 0x100C0000u;
|
|
/* 025076DC */ _t310 = cpu->r[3] + 0x00000004u;
|
|
/* 025076DC */ rbrew_write32(cpu->mem, _t310, cpu->r[29]);
|
|
/* 025076E0 */ cpu->r[7] = cpu->r[7] + 0xFFFFE3D4u;
|
|
/* 025076E4 */ _t311 = cpu->r[3] + 0x00000000u;
|
|
/* 025076E4 */ rbrew_write32(cpu->mem, _t311, cpu->r[7]);
|
|
/* 025076E8 */ _t312 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025076E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t312);
|
|
/* 025076EC */ _t313 = cpu->r[3] + 0x00000008u;
|
|
/* 025076EC */ rbrew_write32(cpu->mem, _t313, cpu->r[9]);
|
|
/* 025076F0 */ _t314 = cpu->r[1] + 0x00000030u;
|
|
/* 025076F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t314);
|
|
/* 025076F4 */ _t315 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025076F4 */ rbrew_write32(cpu->mem, _t315, cpu->r[10]);
|
|
L_025076F8: ; // 0x25076f8
|
|
/* 025076F8 */ cpu->r[11] = 0x100C0000u;
|
|
/* 025076FC */ cpu->r[11] = cpu->r[11] + 0xFFFFE3ECu;
|
|
/* 02507700 */ _t316 = cpu->r[30] + 0x00000000u;
|
|
/* 02507700 */ rbrew_write32(cpu->mem, _t316, cpu->r[11]);
|
|
L_02507704: ; // 0x2507704
|
|
/* 02507704 */ _t317 = cpu->r[29] + 0x00000610u;
|
|
/* 02507704 */ rbrew_write32(cpu->mem, _t317, cpu->r[30]);
|
|
L_02507708: ; // 0x2507708
|
|
/* 02507708 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250770C */ /* nop */
|
|
/* 02507710 */ _t318 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02507710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02507714 */ cpu->lr = cpu->r[0];
|
|
/* 02507718 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0250771C */ return;
|
|
}
|
|
|
|
// fn_02507720 @ 0x2507720
|
|
void Gambit_fn_02507720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02507720: ; // 0x2507720
|
|
/* 02507720 */ cpu->r[0] = cpu->lr;
|
|
/* 02507724 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02507724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507724 */ cpu->r[1] = _t0;
|
|
/* 02507728 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02507728 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250772C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0250772C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02507730 */ cpu->r[30] = cpu->r[3];
|
|
/* 02507734 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02507738 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250773C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250773C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02507740 */ Gambit_fn_024F6710(cpu);
|
|
/* 02507744 */ cpu->r[5] = cpu->r[3];
|
|
/* 02507748 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250774C */ cpu->r[3] = cpu->r[30];
|
|
/* 02507750 */ Gambit_fn_024F4798(cpu);
|
|
/* 02507754 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02507758 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02507758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250775C */ cpu->lr = cpu->r[0];
|
|
/* 02507760 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02507760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507764 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507768 */ return;
|
|
}
|
|
|
|
// fn_02507724 @ 0x2507724
|
|
void Gambit_fn_02507724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02507724: ; // 0x2507724
|
|
/* 02507724 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02507724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507724 */ cpu->r[1] = _t0;
|
|
/* 02507728 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02507728 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250772C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0250772C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02507730 */ cpu->r[30] = cpu->r[3];
|
|
/* 02507734 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02507738 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250773C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250773C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02507740 */ Gambit_fn_024F6710(cpu);
|
|
/* 02507744 */ cpu->r[5] = cpu->r[3];
|
|
/* 02507748 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250774C */ cpu->r[3] = cpu->r[30];
|
|
/* 02507750 */ Gambit_fn_024F4798(cpu);
|
|
/* 02507754 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02507758 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02507758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250775C */ cpu->lr = cpu->r[0];
|
|
/* 02507760 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02507760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507764 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507768 */ return;
|
|
}
|
|
|
|
// fn_0250776C @ 0x250776c
|
|
void Gambit_fn_0250776C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_0205B4B4: ; // 0x205b4b4
|
|
/* 0205B4B4 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0205B4B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0205B4B4 */ cpu->r[1] = _t0;
|
|
/* 0205B4B8 */ /* nop */
|
|
/* 0205B4BC */ cpu->r[0] = cpu->lr;
|
|
/* 0205B4C0 */ cpu->r[23] = cpu->r[3];
|
|
/* 0205B4C4 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0205B4C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0205B4C8 */ Gambit_fn_02062AF0(cpu);
|
|
/* 0205B4CC */ cpu->r[7] = 0x101E0000u;
|
|
/* 0205B4D0 */ _t2 = cpu->r[7] + 0xFFFFB3D4u;
|
|
/* 0205B4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0205B4D0 */ cpu->r[7] = _t2;
|
|
/* 0205B4D4 */ cpu->r[31] = 0x101E0000u;
|
|
/* 0205B4D8 */ cpu->r[22] = cpu->r[3];
|
|
/* 0205B4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0205B4E0 */ cpu->r[31] = cpu->r[31] + 0xFFFFB364u;
|
|
/* 0205B4E4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205B4E4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0205B4E4 */ if (_t4) goto L_0205B4E8; else goto L_0205B530;
|
|
L_0205B4E8: ; // 0x205b4e8
|
|
/* 0205B4E8 */ cpu->r[12] = 0x00000001u;
|
|
/* 0205B4EC */ cpu->r[6] = cpu->r[31] + 0x00000060u;
|
|
/* 0205B4F0 */ cpu->r[4] = 0x10000000u;
|
|
/* 0205B4F4 */ _t5 = cpu->r[7] + 0x00000000u;
|
|
/* 0205B4F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0205B4F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0205B4FC */ cpu->r[5] = 0x00000002u;
|
|
/* 0205B500 */ cpu->r[4] = cpu->r[4] + 0x0000671Cu;
|
|
/* 0205B504 */ cpu->r[7] = 0x00000000u;
|
|
/* 0205B508 */ Gambit_fn_028A6750(cpu);
|
|
/* 0205B50C */ cpu->r[6] = 0x02060000u;
|
|
/* 0205B510 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 0205B514 */ cpu->r[4] = 0x00000002u;
|
|
/* 0205B518 */ cpu->r[6] = cpu->r[6] + 0xFFFFB654u;
|
|
/* 0205B51C */ cpu->r[5] = 0x00000008u;
|
|
/* 0205B520 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0205B524 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0205B528 */ cpu->r[3] = cpu->r[3] + 0x00002958u;
|
|
/* 0205B52C */ Gambit_fn_02C83090(cpu);
|
|
L_0205B530: ; // 0x205b530
|
|
/* 0205B530 */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 0205B530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0205B534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0205B538 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205B538 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0205B538 */ if (_t8) goto L_0205B53C; else goto L_0205B630;
|
|
L_0205B53C: ; // 0x205b53c
|
|
/* 0205B53C */ cpu->r[26] = 0x101D0000u;
|
|
/* 0205B540 */ cpu->r[30] = 0x00000000u;
|
|
/* 0205B544 */ cpu->r[19] = 0x101D0000u;
|
|
/* 0205B548 */ cpu->r[20] = 0x101D0000u;
|
|
/* 0205B54C */ cpu->r[21] = 0x00000001u;
|
|
/* 0205B550 */ cpu->r[27] = cpu->r[30];
|
|
/* 0205B554 */ cpu->r[25] = 0x101D0000u;
|
|
/* 0205B558 */ cpu->r[26] = cpu->r[26] + 0xFFFFE7F8u;
|
|
/* 0205B55C */ cpu->r[24] = 0x101D0000u;
|
|
L_0205B560: ; // 0x205b560
|
|
/* 0205B560 */ _t9 = cpu->r[24] + 0xFFFFE808u;
|
|
/* 0205B560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0205B564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0205B568 */ cpu->r[29] = cpu->r[30];
|
|
/* 0205B56C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205B56C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0205B56C */ if (_t11) goto L_0205B570; else goto L_0205B588;
|
|
L_0205B570: ; // 0x205b570
|
|
/* 0205B570 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0205B574 */ cpu->r[3] = cpu->r[25] + 0x0000363Du;
|
|
/* 0205B578 */ cpu->r[5] = 0x0000000Eu;
|
|
/* 0205B57C */ cpu->r[4] = cpu->r[4] + 0x00002948u;
|
|
/* 0205B580 */ _t12 = cpu->r[24] + 0xFFFFE808u;
|
|
/* 0205B580 */ rbrew_write32(cpu->mem, _t12, cpu->r[21]);
|
|
/* 0205B584 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_0205B588: ; // 0x205b588
|
|
/* 0205B588 */ _t13 = cpu->r[20] + 0xFFFFE804u;
|
|
/* 0205B588 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0205B58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0205B590 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205B590 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0205B590 */ if (_t15) goto L_0205B594; else goto L_0205B59C;
|
|
L_0205B594: ; // 0x205b594
|
|
/* 0205B594 */ _t16 = cpu->r[19] + 0xFFFFE800u;
|
|
/* 0205B594 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0205B598 */ _t17 = cpu->r[20] + 0xFFFFE804u;
|
|
/* 0205B598 */ rbrew_write32(cpu->mem, _t17, cpu->r[21]);
|
|
L_0205B59C: ; // 0x205b59c
|
|
/* 0205B59C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 0205B5A0 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0205B5A0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0205B5A0 */ if (_t19) goto L_0205B5C8; else goto L_0205B5A4;
|
|
L_0205B5A4: ; // 0x205b5a4
|
|
/* 0205B5A4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0205B5A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0205B5AC */ cpu->r[5] = 0x00000000u;
|
|
/* 0205B5B0 */ Gambit_fn_028A6634(cpu);
|
|
/* 0205B5B4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0205B5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000002u);
|
|
/* 0205B5BC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0205B5BC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0205B5BC */ if (_t21) goto L_0205B630; else goto L_0205B5C0;
|
|
L_0205B5C0: ; // 0x205b5c0
|
|
/* 0205B5C0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0205B5C0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0205B5C0 */ if (_t23) goto L_0205B560; else goto L_0205B5C4;
|
|
L_0205B5C4: ; // 0x205b5c4
|
|
/* 0205B5C4 */ goto L_0205B630;
|
|
L_0205B5C8: ; // 0x205b5c8
|
|
/* 0205B5C8 */ _t24 = cpu->r[19] + 0xFFFFE800u;
|
|
/* 0205B5C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0205B5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0205B5D0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205B5D0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0205B5D0 */ if (_t26) goto L_0205B5D4; else goto L_0205B60C;
|
|
L_0205B5D4: ; // 0x205b5d4
|
|
/* 0205B5D4 */ Gambit_fn_0282A450(cpu);
|
|
/* 0205B5D8 */ cpu->r[28] = cpu->r[3];
|
|
/* 0205B5DC */ Gambit_fn_02836FFC(cpu);
|
|
/* 0205B5E0 */ _t27 = cpu->r[19] + 0xFFFFE800u;
|
|
/* 0205B5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0205B5E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0205B5E8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205B5E8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0205B5E8 */ if (_t29) goto L_0205B5EC; else goto L_0205B600;
|
|
L_0205B5EC: ; // 0x205b5ec
|
|
/* 0205B5EC */ cpu->r[5] = 0x00000002u;
|
|
/* 0205B5F0 */ cpu->r[4] = cpu->r[25] + 0x0000363Du;
|
|
/* 0205B5F4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0205B5F8 */ Gambit_fn_0282A374(cpu);
|
|
/* 0205B5FC */ _t30 = cpu->r[19] + 0xFFFFE800u;
|
|
/* 0205B5FC */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
L_0205B600: ; // 0x205b600
|
|
/* 0205B600 */ cpu->r[3] = cpu->r[28];
|
|
/* 0205B604 */ Gambit_fn_02837030(cpu);
|
|
/* 0205B608 */ _t31 = cpu->r[19] + 0xFFFFE800u;
|
|
/* 0205B608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
L_0205B60C: ; // 0x205b60c
|
|
/* 0205B60C */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0205B610 */ cpu->r[3] = cpu->r[31];
|
|
/* 0205B614 */ _t32 = cpu->r[12] + cpu->r[0];
|
|
/* 0205B614 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0205B618 */ cpu->r[4] = cpu->r[30];
|
|
/* 0205B61C */ Gambit_fn_028A6634(cpu);
|
|
/* 0205B620 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0205B624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000002u);
|
|
/* 0205B628 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0205B628 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0205B628 */ if (_t34) goto L_0205B630; else goto L_0205B62C;
|
|
L_0205B62C: ; // 0x205b62c
|
|
/* 0205B62C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0205B62C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0205B62C */ if (_t36) goto L_0205B560; else goto L_0205B630;
|
|
L_0205B630: ; // 0x205b630
|
|
/* 0205B630 */ cpu->r[3] = cpu->r[23];
|
|
/* 0205B634 */ cpu->r[4] = cpu->r[31];
|
|
/* 0205B638 */ Gambit_fn_027B81E4(cpu);
|
|
/* 0205B63C */ cpu->r[3] = cpu->r[22] + 0x00000001u;
|
|
/* 0205B640 */ /* nop */
|
|
/* 0205B644 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 0205B644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0205B648 */ cpu->lr = cpu->r[0];
|
|
/* 0205B64C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0205B650 */ return;
|
|
L_0250776C: ; // 0x250776c
|
|
/* 0250776C */ _t38 = cpu->r[3] + 0x00000030u;
|
|
/* 0250776C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02507770 */ cpu->r[4] = 0x00000000u;
|
|
/* 02507774 */ goto L_0205B4B4;
|
|
}
|
|
|
|
// fn_02507778 @ 0x2507778
|
|
void Gambit_fn_02507778(CPUState* cpu) {
|
|
L_02507778: ; // 0x2507778
|
|
/* 02507778 */ return;
|
|
}
|
|
|
|
// fn_0250777C @ 0x250777c
|
|
void Gambit_fn_0250777C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0250777C: ; // 0x250777c
|
|
/* 0250777C */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 0250777C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02507780 */ cpu->r[4] = 0x00000003u;
|
|
/* 02507784 */ cpu->r[5] = 0x00000000u;
|
|
/* 02507788 */ goto L_027B8224;
|
|
L_027B8224: ; // 0x27b8224
|
|
/* 027B8224 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 027B8224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027B8228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027B822C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B822C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027B822C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B822C */ goto L_027B8230;
|
|
L_027B8230: ; // 0x27b8230
|
|
/* 027B8230 */ goto L_027DA698;
|
|
L_027DA698: ; // 0x27da698
|
|
/* 027DA698 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA69C */ _t4 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA69C */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 027DA69C */ cpu->r[1] = _t4;
|
|
/* 027DA6A0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 027DA6A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 027DA6A8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027DA6AC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027DA6B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA6B4 */ _t9 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA6B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA6C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6C4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA6C4 */ if (_t11) goto L_027DA6D4; else goto L_027DA6C8;
|
|
L_027DA6C8: ; // 0x27da6c8
|
|
/* 027DA6C8 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6CC */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6D0 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6D4: ; // 0x27da6d4
|
|
/* 027DA6D4 */ _t12 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6DC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6DC */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA6DC */ if (_t14) goto L_027DA6EC; else goto L_027DA6E0;
|
|
L_027DA6E0: ; // 0x27da6e0
|
|
/* 027DA6E0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6E8 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6EC: ; // 0x27da6ec
|
|
/* 027DA6EC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DA6F0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DA6F4 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DA6F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DA6FC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA700 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA704 */ return;
|
|
}
|
|
|
|
// fn_0250778C @ 0x250778c
|
|
void Gambit_fn_0250778C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_0250778C: ; // 0x250778c
|
|
/* 0250778C */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 0250778C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250778C */ cpu->r[1] = _t0;
|
|
/* 02507790 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02507794 */ /* nop */
|
|
/* 02507798 */ _t1 = cpu->r[8] + 0xFFFF9468u;
|
|
/* 02507798 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02507798 */ cpu->r[8] = _t1;
|
|
/* 0250779C */ _t2 = cpu->r[3] + 0x00000080u;
|
|
/* 0250779C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 025077A0 */ /* nop */
|
|
/* 025077A4 */ /* nop */
|
|
/* 025077A8 */ _t3 = cpu->r[3] + 0x0000005Cu;
|
|
/* 025077A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 025077AC */ /* nop */
|
|
/* 025077B0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 025077B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025077B4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025077B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025077B8 */ cpu->f[12] = cpu->f[0] * cpu->f[11];
|
|
/* 025077BC */ _t6 = cpu->r[1] + 0x00000074u;
|
|
/* 025077BC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 025077C0 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 025077C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 025077C4 */ /* nop */
|
|
/* 025077C8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 025077C8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 025077CC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 025077CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025077D0 */ /* nop */
|
|
/* 025077D4 */ _t10 = cpu->r[3] + 0x00000068u;
|
|
/* 025077D4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 025077D8 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 025077D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 025077DC */ _t12 = cpu->r[1] + 0x0000007Cu;
|
|
/* 025077DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025077E0 */ /* nop */
|
|
/* 025077E4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 025077E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025077E8 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
|
|
/* 025077EC */ _t14 = cpu->r[8] + 0x00000004u;
|
|
/* 025077EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025077F0 */ _t15 = cpu->r[1] + 0x00000068u;
|
|
/* 025077F0 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 025077F4 */ /* nop */
|
|
/* 025077F8 */ cpu->f[10] = cpu->f[11] * cpu->f[13];
|
|
/* 025077FC */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 025077FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02507800 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507800 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 02507804 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507804 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507808 */ /* nop */
|
|
/* 0250780C */ /* nop */
|
|
/* 02507810 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02507810 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507814 */ /* nop */
|
|
/* 02507818 */ _t20 = cpu->r[1] + 0x00000084u;
|
|
/* 02507818 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0250781C */ _t21 = cpu->r[1] + 0x00000028u;
|
|
/* 0250781C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 02507820 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 02507820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02507824 */ _t23 = cpu->r[1] + 0x00000070u;
|
|
/* 02507824 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 02507828 */ _t24 = cpu->r[1] + 0x00000080u;
|
|
/* 02507828 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0250782C */ /* nop */
|
|
/* 02507830 */ _t25 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02507830 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02507834 */ /* nop */
|
|
/* 02507838 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02507838 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250783C */ /* nop */
|
|
/* 02507840 */ _t27 = cpu->r[8] + 0x00000008u;
|
|
/* 02507840 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02507844 */ /* nop */
|
|
/* 02507848 */ _t28 = cpu->r[3] + 0x00000074u;
|
|
/* 02507848 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0250784C */ _t29 = cpu->r[1] + 0x00000088u;
|
|
/* 0250784C */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02507850 */ _t30 = cpu->r[1] + 0x00000088u;
|
|
/* 02507850 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02507854 */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 02507854 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02507858 */ /* nop */
|
|
/* 0250785C */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250785C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02507860 */ /* nop */
|
|
/* 02507864 */ _t33 = cpu->r[1] + 0x00000038u;
|
|
/* 02507864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02507868 */ _t34 = cpu->r[1] + 0x00000070u;
|
|
/* 02507868 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0250786C */ _t35 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250786C */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02507870 */ cpu->f[12] = cpu->f[13] * cpu->f[10];
|
|
/* 02507874 */ _t36 = cpu->r[1] + 0x00000060u;
|
|
/* 02507874 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 02507878 */ /* nop */
|
|
/* 0250787C */ _t37 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0250787C */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02507880 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02507880 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02507884 */ cpu->f[0] = cpu->f[11] + cpu->f[9];
|
|
/* 02507888 */ _t39 = cpu->r[1] + 0x00000040u;
|
|
/* 02507888 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 0250788C */ _t40 = cpu->r[1] + 0x00000090u;
|
|
/* 0250788C */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02507890 */ /* nop */
|
|
/* 02507894 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02507894 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 02507898 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 02507898 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0250789C */ /* nop */
|
|
/* 025078A0 */ /* nop */
|
|
/* 025078A4 */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 025078A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025078A8 */ _t44 = cpu->r[1] + 0x00000040u;
|
|
/* 025078A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025078AC */ _t45 = cpu->r[1] + 0x00000050u;
|
|
/* 025078AC */ rbrew_write32(cpu->mem, _t45, cpu->r[11]);
|
|
/* 025078B0 */ _t46 = cpu->r[1] + 0x00000064u;
|
|
/* 025078B0 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 025078B4 */ _t47 = cpu->r[1] + 0x00000064u;
|
|
/* 025078B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 025078B8 */ _t48 = cpu->r[1] + 0x00000094u;
|
|
/* 025078B8 */ rbrew_write32(cpu->mem, _t48, cpu->r[5]);
|
|
/* 025078BC */ _t49 = cpu->r[1] + 0x00000094u;
|
|
/* 025078BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 025078C0 */ _t50 = cpu->r[1] + 0x00000048u;
|
|
/* 025078C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025078C4 */ cpu->f[12] = cpu->f[0] + cpu->f[10];
|
|
/* 025078C8 */ _t51 = cpu->r[1] + 0x00000050u;
|
|
/* 025078C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 025078CC */ _t52 = cpu->r[1] + 0x00000054u;
|
|
/* 025078CC */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 025078D0 */ _t53 = cpu->r[1] + 0x00000054u;
|
|
/* 025078D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 025078D4 */ _t54 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025078D4 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 025078D8 */ _t55 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025078D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 025078DC */ _t56 = cpu->r[3] + 0x00000618u;
|
|
/* 025078DC */ rbrew_write_f32(cpu->mem, _t56, cpu->f[11]);
|
|
/* 025078E0 */ _t57 = cpu->r[1] + 0x00000058u;
|
|
/* 025078E0 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 025078E4 */ _t58 = cpu->r[1] + 0x00000058u;
|
|
/* 025078E4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 025078E8 */ _t59 = cpu->r[3] + 0x0000061Cu;
|
|
/* 025078E8 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[13]);
|
|
/* 025078EC */ _t60 = cpu->r[3] + 0x00000620u;
|
|
/* 025078EC */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 025078F0 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 025078F4 */ return;
|
|
}
|
|
|
|
// fn_025078F8 @ 0x25078f8
|
|
void Gambit_fn_025078F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_025078F8: ; // 0x25078f8
|
|
/* 025078F8 */ cpu->r[0] = cpu->lr;
|
|
/* 025078FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025078FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025078FC */ cpu->r[1] = _t0;
|
|
/* 02507900 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507900 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02507904 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02507904 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02507908 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02507908 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0250790C */ cpu->r[30] = 0x101C0000u;
|
|
/* 02507910 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507910 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02507914 */ _t5 = cpu->r[30] + 0x00006000u;
|
|
/* 02507914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02507914 */ cpu->r[30] = _t5;
|
|
/* 02507918 */ _t6 = cpu->r[12] + 0x00000268u;
|
|
/* 02507918 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250791C */ cpu->r[31] = cpu->r[3];
|
|
/* 02507920 */ cpu->r[3] = cpu->r[29];
|
|
/* 02507924 */ Gambit_fn_0261F774(cpu);
|
|
/* 02507928 */ cpu->r[4] = cpu->r[3];
|
|
/* 0250792C */ cpu->r[3] = cpu->r[29];
|
|
/* 02507930 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02507934 */ cpu->r[3] = cpu->r[3] + 0x00000244u;
|
|
/* 02507938 */ cpu->r[4] = cpu->r[31] + 0x00000618u;
|
|
/* 0250793C */ Gambit_fn_02C69328(cpu);
|
|
/* 02507940 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02507944 */ _t7 = cpu->r[10] + 0xFFFFE498u;
|
|
/* 02507944 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02507948 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0250794C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250794C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250794C */ if (_t9) goto L_025079E8; else goto L_02507950;
|
|
L_02507950: ; // 0x2507950
|
|
/* 02507950 */ _t10 = cpu->r[31] + 0x000001BCu;
|
|
/* 02507950 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02507954 */ /* nop */
|
|
/* 02507958 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507958 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02507958 */ if (_t12) goto L_0250795C; else goto L_025079E8;
|
|
L_0250795C: ; // 0x250795c
|
|
/* 0250795C */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0250795C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02507960 */ _t14 = cpu->r[12] + 0x00000268u;
|
|
/* 02507960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02507964 */ cpu->r[3] = cpu->r[29];
|
|
/* 02507968 */ Gambit_fn_0261F774(cpu);
|
|
/* 0250796C */ cpu->r[4] = cpu->r[3];
|
|
/* 02507970 */ cpu->r[3] = cpu->r[29];
|
|
/* 02507974 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02507978 */ _t15 = cpu->r[3] + 0x000006D8u;
|
|
/* 02507978 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0250797C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02507980 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507980 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02507980 */ if (_t17) goto L_02507984; else goto L_025079E8;
|
|
L_02507984: ; // 0x2507984
|
|
/* 02507984 */ _t18 = cpu->r[31] + 0x00000218u;
|
|
/* 02507984 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 0250798C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250798C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250798C */ if (_t20) goto L_02507A00; else goto L_02507990;
|
|
L_02507990: ; // 0x2507990
|
|
/* 02507990 */ cpu->r[30] = 0x101C0000u;
|
|
/* 02507994 */ _t21 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 02507994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02507994 */ cpu->r[30] = _t21;
|
|
/* 02507998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250799C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250799C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250799C */ if (_t23) goto L_02507A00; else goto L_025079A0;
|
|
L_025079A0: ; // 0x25079a0
|
|
/* 025079A0 */ cpu->r[12] = 0x00000001u;
|
|
/* 025079A4 */ _t24 = cpu->r[31] + 0x00000218u;
|
|
/* 025079A4 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 025079A8 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 025079A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025079AC */ cpu->r[4] = cpu->r[31] + 0x00000218u;
|
|
/* 025079B0 */ _t26 = cpu->r[31] + 0x00000218u;
|
|
/* 025079B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025079B4 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 025079B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025079BC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025079BC */ _t28 = _t27 & 0x00000001u;
|
|
/* 025079BC */ if (_t28) goto L_025079C0; else goto L_02507A00;
|
|
L_025079C0: ; // 0x25079c0
|
|
/* 025079C0 */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 025079C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025079C4 */ cpu->r[4] = cpu->r[31] + 0x00000218u;
|
|
/* 025079C8 */ Gambit_fn_023A464C(cpu);
|
|
/* 025079CC */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025079CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025079D0 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025079D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025079D4 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 025079D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025079D8 */ cpu->lr = cpu->r[0];
|
|
/* 025079DC */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 025079DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025079E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025079E4 */ return;
|
|
L_025079E8: ; // 0x25079e8
|
|
/* 025079E8 */ _t34 = cpu->r[31] + 0x00000218u;
|
|
/* 025079E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025079EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 025079F0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025079F0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 025079F0 */ if (_t36) goto L_02507A00; else goto L_025079F4;
|
|
L_025079F4: ; // 0x25079f4
|
|
/* 025079F4 */ cpu->r[11] = 0x00000002u;
|
|
/* 025079F8 */ _t37 = cpu->r[31] + 0x00000218u;
|
|
/* 025079F8 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 025079FC */ _t38 = cpu->r[31] + 0x00000218u;
|
|
/* 025079FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
L_02507A00: ; // 0x2507a00
|
|
/* 02507A00 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507A00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02507A04 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02507A08 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02507A08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02507A0C */ cpu->lr = cpu->r[0];
|
|
/* 02507A10 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02507A10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02507A14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507A18 */ return;
|
|
}
|
|
|
|
// fn_025078FC @ 0x25078fc
|
|
void Gambit_fn_025078FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_025078FC: ; // 0x25078fc
|
|
/* 025078FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025078FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025078FC */ cpu->r[1] = _t0;
|
|
/* 02507900 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507900 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02507904 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02507904 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02507908 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02507908 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0250790C */ cpu->r[30] = 0x101C0000u;
|
|
/* 02507910 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507910 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02507914 */ _t5 = cpu->r[30] + 0x00006000u;
|
|
/* 02507914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02507914 */ cpu->r[30] = _t5;
|
|
/* 02507918 */ _t6 = cpu->r[12] + 0x00000268u;
|
|
/* 02507918 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250791C */ cpu->r[31] = cpu->r[3];
|
|
/* 02507920 */ cpu->r[3] = cpu->r[29];
|
|
/* 02507924 */ Gambit_fn_0261F774(cpu);
|
|
/* 02507928 */ cpu->r[4] = cpu->r[3];
|
|
/* 0250792C */ cpu->r[3] = cpu->r[29];
|
|
/* 02507930 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02507934 */ cpu->r[3] = cpu->r[3] + 0x00000244u;
|
|
/* 02507938 */ cpu->r[4] = cpu->r[31] + 0x00000618u;
|
|
/* 0250793C */ Gambit_fn_02C69328(cpu);
|
|
/* 02507940 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02507944 */ _t7 = cpu->r[10] + 0xFFFFE498u;
|
|
/* 02507944 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02507948 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0250794C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250794C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250794C */ if (_t9) goto L_025079E8; else goto L_02507950;
|
|
L_02507950: ; // 0x2507950
|
|
/* 02507950 */ _t10 = cpu->r[31] + 0x000001BCu;
|
|
/* 02507950 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02507954 */ /* nop */
|
|
/* 02507958 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507958 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02507958 */ if (_t12) goto L_0250795C; else goto L_025079E8;
|
|
L_0250795C: ; // 0x250795c
|
|
/* 0250795C */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0250795C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02507960 */ _t14 = cpu->r[12] + 0x00000268u;
|
|
/* 02507960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02507964 */ cpu->r[3] = cpu->r[29];
|
|
/* 02507968 */ Gambit_fn_0261F774(cpu);
|
|
/* 0250796C */ cpu->r[4] = cpu->r[3];
|
|
/* 02507970 */ cpu->r[3] = cpu->r[29];
|
|
/* 02507974 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02507978 */ _t15 = cpu->r[3] + 0x000006D8u;
|
|
/* 02507978 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0250797C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02507980 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507980 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02507980 */ if (_t17) goto L_02507984; else goto L_025079E8;
|
|
L_02507984: ; // 0x2507984
|
|
/* 02507984 */ _t18 = cpu->r[31] + 0x00000218u;
|
|
/* 02507984 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 0250798C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250798C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250798C */ if (_t20) goto L_02507A00; else goto L_02507990;
|
|
L_02507990: ; // 0x2507990
|
|
/* 02507990 */ cpu->r[30] = 0x101C0000u;
|
|
/* 02507994 */ _t21 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 02507994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02507994 */ cpu->r[30] = _t21;
|
|
/* 02507998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250799C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250799C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250799C */ if (_t23) goto L_02507A00; else goto L_025079A0;
|
|
L_025079A0: ; // 0x25079a0
|
|
/* 025079A0 */ cpu->r[12] = 0x00000001u;
|
|
/* 025079A4 */ _t24 = cpu->r[31] + 0x00000218u;
|
|
/* 025079A4 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 025079A8 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 025079A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025079AC */ cpu->r[4] = cpu->r[31] + 0x00000218u;
|
|
/* 025079B0 */ _t26 = cpu->r[31] + 0x00000218u;
|
|
/* 025079B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025079B4 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 025079B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025079BC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025079BC */ _t28 = _t27 & 0x00000001u;
|
|
/* 025079BC */ if (_t28) goto L_025079C0; else goto L_02507A00;
|
|
L_025079C0: ; // 0x25079c0
|
|
/* 025079C0 */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 025079C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025079C4 */ cpu->r[4] = cpu->r[31] + 0x00000218u;
|
|
/* 025079C8 */ Gambit_fn_023A464C(cpu);
|
|
/* 025079CC */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025079CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025079D0 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025079D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025079D4 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 025079D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025079D8 */ cpu->lr = cpu->r[0];
|
|
/* 025079DC */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 025079DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025079E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025079E4 */ return;
|
|
L_025079E8: ; // 0x25079e8
|
|
/* 025079E8 */ _t34 = cpu->r[31] + 0x00000218u;
|
|
/* 025079E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025079EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 025079F0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025079F0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 025079F0 */ if (_t36) goto L_02507A00; else goto L_025079F4;
|
|
L_025079F4: ; // 0x25079f4
|
|
/* 025079F4 */ cpu->r[11] = 0x00000002u;
|
|
/* 025079F8 */ _t37 = cpu->r[31] + 0x00000218u;
|
|
/* 025079F8 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 025079FC */ _t38 = cpu->r[31] + 0x00000218u;
|
|
/* 025079FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
L_02507A00: ; // 0x2507a00
|
|
/* 02507A00 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507A00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02507A04 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02507A08 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02507A08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02507A0C */ cpu->lr = cpu->r[0];
|
|
/* 02507A10 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02507A10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02507A14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507A18 */ return;
|
|
}
|
|
|
|
// fn_02507A1C @ 0x2507a1c
|
|
void Gambit_fn_02507A1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02507A1C: ; // 0x2507a1c
|
|
/* 02507A1C */ cpu->r[0] = cpu->lr;
|
|
/* 02507A20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02507A20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507A20 */ cpu->r[1] = _t0;
|
|
/* 02507A24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507A24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02507A28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02507A2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02507A2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02507A30 */ Gambit_fn_024F606C(cpu);
|
|
/* 02507A34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02507A38 */ Gambit_fn_024F607C(cpu);
|
|
/* 02507A3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02507A40 */ Gambit_fn_025078F8(cpu);
|
|
/* 02507A44 */ _t3 = cpu->r[31] + 0x00000058u;
|
|
/* 02507A44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02507A48 */ _t4 = cpu->r[31] + 0x000001F8u;
|
|
/* 02507A48 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02507A4C */ _t5 = cpu->r[31] + 0x00000070u;
|
|
/* 02507A4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02507A50 */ _t6 = cpu->r[31] + 0x00000064u;
|
|
/* 02507A50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02507A54 */ _t7 = cpu->r[31] + 0x00000200u;
|
|
/* 02507A54 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02507A58 */ _t8 = cpu->r[31] + 0x00000068u;
|
|
/* 02507A58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02507A5C */ _t9 = cpu->r[31] + 0x0000020Cu;
|
|
/* 02507A5C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02507A60 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02507A60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02507A64 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 02507A64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02507A68 */ _t12 = cpu->r[31] + 0x000001E8u;
|
|
/* 02507A68 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 02507A6C */ _t13 = cpu->r[31] + 0x000001F4u;
|
|
/* 02507A6C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02507A70 */ _t14 = cpu->r[31] + 0x00000080u;
|
|
/* 02507A70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02507A74 */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 02507A74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02507A78 */ _t16 = cpu->r[31] + 0x00000214u;
|
|
/* 02507A78 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02507A7C */ _t17 = cpu->r[31] + 0x000001FCu;
|
|
/* 02507A7C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02507A80 */ _t18 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02507A80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02507A84 */ _t19 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02507A84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02507A88 */ _t20 = cpu->r[31] + 0x00000204u;
|
|
/* 02507A88 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02507A8C */ _t21 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02507A8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02507A90 */ _t22 = cpu->r[31] + 0x000001ECu;
|
|
/* 02507A90 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02507A94 */ _t23 = cpu->r[31] + 0x000001F0u;
|
|
/* 02507A94 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02507A98 */ _t24 = cpu->r[31] + 0x00000074u;
|
|
/* 02507A98 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02507A9C */ _t25 = cpu->r[31] + 0x00000208u;
|
|
/* 02507A9C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02507AA0 */ _t26 = cpu->r[31] + 0x00000210u;
|
|
/* 02507AA0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02507AA4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02507AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02507AA8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507AA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02507AAC */ cpu->lr = cpu->r[0];
|
|
/* 02507AB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02507AB4 */ return;
|
|
}
|
|
|
|
// fn_02507A20 @ 0x2507a20
|
|
void Gambit_fn_02507A20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02507A20: ; // 0x2507a20
|
|
/* 02507A20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02507A20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507A20 */ cpu->r[1] = _t0;
|
|
/* 02507A24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507A24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02507A28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02507A2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02507A2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02507A30 */ Gambit_fn_024F606C(cpu);
|
|
/* 02507A34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02507A38 */ Gambit_fn_024F607C(cpu);
|
|
/* 02507A3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02507A40 */ Gambit_fn_025078F8(cpu);
|
|
/* 02507A44 */ _t3 = cpu->r[31] + 0x00000058u;
|
|
/* 02507A44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02507A48 */ _t4 = cpu->r[31] + 0x000001F8u;
|
|
/* 02507A48 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02507A4C */ _t5 = cpu->r[31] + 0x00000070u;
|
|
/* 02507A4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02507A50 */ _t6 = cpu->r[31] + 0x00000064u;
|
|
/* 02507A50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02507A54 */ _t7 = cpu->r[31] + 0x00000200u;
|
|
/* 02507A54 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02507A58 */ _t8 = cpu->r[31] + 0x00000068u;
|
|
/* 02507A58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02507A5C */ _t9 = cpu->r[31] + 0x0000020Cu;
|
|
/* 02507A5C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02507A60 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02507A60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02507A64 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 02507A64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02507A68 */ _t12 = cpu->r[31] + 0x000001E8u;
|
|
/* 02507A68 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 02507A6C */ _t13 = cpu->r[31] + 0x000001F4u;
|
|
/* 02507A6C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02507A70 */ _t14 = cpu->r[31] + 0x00000080u;
|
|
/* 02507A70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02507A74 */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 02507A74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02507A78 */ _t16 = cpu->r[31] + 0x00000214u;
|
|
/* 02507A78 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02507A7C */ _t17 = cpu->r[31] + 0x000001FCu;
|
|
/* 02507A7C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02507A80 */ _t18 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02507A80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02507A84 */ _t19 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02507A84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02507A88 */ _t20 = cpu->r[31] + 0x00000204u;
|
|
/* 02507A88 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02507A8C */ _t21 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02507A8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02507A90 */ _t22 = cpu->r[31] + 0x000001ECu;
|
|
/* 02507A90 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02507A94 */ _t23 = cpu->r[31] + 0x000001F0u;
|
|
/* 02507A94 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02507A98 */ _t24 = cpu->r[31] + 0x00000074u;
|
|
/* 02507A98 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02507A9C */ _t25 = cpu->r[31] + 0x00000208u;
|
|
/* 02507A9C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02507AA0 */ _t26 = cpu->r[31] + 0x00000210u;
|
|
/* 02507AA0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02507AA4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02507AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02507AA8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507AA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02507AAC */ cpu->lr = cpu->r[0];
|
|
/* 02507AB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02507AB4 */ return;
|
|
}
|
|
|
|
// fn_02507AB8 @ 0x2507ab8
|
|
void Gambit_fn_02507AB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02507AB8: ; // 0x2507ab8
|
|
/* 02507AB8 */ _t0 = cpu->r[3] + 0x000001BCu;
|
|
/* 02507AB8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02507ABC */ /* nop */
|
|
/* 02507AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000004u);
|
|
/* 02507AC4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02507AC8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507AC8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02507AC8 */ if (_t2) goto L_02507ACC; else goto L_02507ADC;
|
|
L_02507ACC: ; // 0x2507acc
|
|
/* 02507ACC */ _t3 = cpu->r[3] + 0x00000614u;
|
|
/* 02507ACC */ cpu->r[11] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02507AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02507AD4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507AD4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02507AD4 */ if (_t5) goto L_02507AF4; else goto L_02507AD8;
|
|
L_02507AD8: ; // 0x2507ad8
|
|
/* 02507AD8 */ goto L_02507AF8;
|
|
L_02507ADC: ; // 0x2507adc
|
|
/* 02507ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000005u);
|
|
/* 02507AE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507AE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02507AE0 */ if (_t7) goto L_02507AE4; else goto L_02507AF4;
|
|
L_02507AE4: ; // 0x2507ae4
|
|
/* 02507AE4 */ _t8 = cpu->r[3] + 0x000001BDu;
|
|
/* 02507AE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02507AE8 */ /* nop */
|
|
/* 02507AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000004u);
|
|
/* 02507AF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507AF0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02507AF0 */ if (_t10) goto L_02507AF8; else goto L_02507AF4;
|
|
L_02507AF4: ; // 0x2507af4
|
|
/* 02507AF4 */ cpu->r[0] = 0x00000000u;
|
|
L_02507AF8: ; // 0x2507af8
|
|
/* 02507AF8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02507AFC */ return;
|
|
}
|
|
|
|
// fn_02507B00 @ 0x2507b00
|
|
void Gambit_fn_02507B00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_02507B00: ; // 0x2507b00
|
|
/* 02507B00 */ cpu->r[0] = cpu->lr;
|
|
/* 02507B04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02507B04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507B04 */ cpu->r[1] = _t0;
|
|
/* 02507B08 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02507B08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02507B0C */ cpu->r[12] = cpu->r[3];
|
|
/* 02507B10 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507B10 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02507B14 */ _t3 = cpu->r[12] + 0x000001BCu;
|
|
/* 02507B14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02507B18 */ /* nop */
|
|
/* 02507B1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02507B1C */ if (_t5) goto L_02507B20; else goto L_02507BC8;
|
|
L_02507B20: ; // 0x2507b20
|
|
/* 02507B20 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02507B24 */ _t6 = cpu->r[3] + 0x00005C0Cu;
|
|
/* 02507B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507B2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02507B2C */ if (_t8) goto L_02507BC8; else goto L_02507B30;
|
|
L_02507B30: ; // 0x2507b30
|
|
/* 02507B30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02507B34 */ cpu->r[5] = cpu->r[12] + 0x00000218u;
|
|
/* 02507B38 */ Gambit_fn_023A411C(cpu);
|
|
/* 02507B3C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02507B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02507B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02507B44 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B44 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02507B44 */ if (_t11) goto L_02507B48; else goto L_02507BC8;
|
|
L_02507B48: ; // 0x2507b48
|
|
/* 02507B48 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02507B4C */ cpu->r[11] = 0x101C0000u;
|
|
/* 02507B50 */ _t12 = cpu->r[12] + 0x00007BA0u;
|
|
/* 02507B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02507B54 */ _t13 = cpu->r[11] + 0x00007F18u;
|
|
/* 02507B54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02507B58 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
|
|
/* 02507B5C */ _t14 = cpu->r[11] + 0x00000104u;
|
|
/* 02507B5C */ cpu->r[11] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02507B60 */ _t15 = cpu->r[12] + 0x00000030u;
|
|
/* 02507B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02507B64 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02507B68 */ _t16 = cpu->r[10] + cpu->r[0];
|
|
/* 02507B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02507B6C */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02507B6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02507B70 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02507B70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507B74 */ _t19 = cpu->r[11] + 0x0000028Cu;
|
|
/* 02507B74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507B78 */ Gambit_fn_0200ED40(cpu);
|
|
/* 02507B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507B80 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B80 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02507B80 */ if (_t21) goto L_02507B84; else goto L_02507BC8;
|
|
L_02507B84: ; // 0x2507b84
|
|
/* 02507B84 */ cpu->r[10] = 0x00000001u;
|
|
/* 02507B88 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507B88 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02507B8C */ Gambit_fn_027DF9A0(cpu);
|
|
/* 02507B90 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02507B94 */ _t24 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02507B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02507B98 */ cpu->r[12] = cpu->r[31] & cpu->r[0];
|
|
/* 02507B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02507B9C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B9C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02507B9C */ if (_t26) goto L_02507BA0; else goto L_02507BB0;
|
|
L_02507BA0: ; // 0x2507ba0
|
|
/* 02507BA0 */ Gambit_fn_027DFA00(cpu);
|
|
/* 02507BA4 */ _t27 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02507BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02507BA8 */ cpu->r[10] = cpu->r[31] & cpu->r[0];
|
|
/* 02507BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02507BAC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507BAC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02507BAC */ if (_t29) goto L_02507BC8; else goto L_02507BB0;
|
|
L_02507BB0: ; // 0x2507bb0
|
|
/* 02507BB0 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02507BB4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02507BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02507BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02507BBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507BC0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02507BC4 */ return;
|
|
L_02507BC8: ; // 0x2507bc8
|
|
/* 02507BC8 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02507BCC */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02507BCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02507BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02507BD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507BD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02507BDC */ return;
|
|
}
|
|
|
|
// fn_02507B04 @ 0x2507b04
|
|
void Gambit_fn_02507B04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_02507B04: ; // 0x2507b04
|
|
/* 02507B04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02507B04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507B04 */ cpu->r[1] = _t0;
|
|
/* 02507B08 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02507B08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02507B0C */ cpu->r[12] = cpu->r[3];
|
|
/* 02507B10 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507B10 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02507B14 */ _t3 = cpu->r[12] + 0x000001BCu;
|
|
/* 02507B14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02507B18 */ /* nop */
|
|
/* 02507B1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02507B1C */ if (_t5) goto L_02507B20; else goto L_02507BC8;
|
|
L_02507B20: ; // 0x2507b20
|
|
/* 02507B20 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02507B24 */ _t6 = cpu->r[3] + 0x00005C0Cu;
|
|
/* 02507B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507B2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02507B2C */ if (_t8) goto L_02507BC8; else goto L_02507B30;
|
|
L_02507B30: ; // 0x2507b30
|
|
/* 02507B30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02507B34 */ cpu->r[5] = cpu->r[12] + 0x00000218u;
|
|
/* 02507B38 */ Gambit_fn_023A411C(cpu);
|
|
/* 02507B3C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02507B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02507B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02507B44 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B44 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02507B44 */ if (_t11) goto L_02507B48; else goto L_02507BC8;
|
|
L_02507B48: ; // 0x2507b48
|
|
/* 02507B48 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02507B4C */ cpu->r[11] = 0x101C0000u;
|
|
/* 02507B50 */ _t12 = cpu->r[12] + 0x00007BA0u;
|
|
/* 02507B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02507B54 */ _t13 = cpu->r[11] + 0x00007F18u;
|
|
/* 02507B54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02507B58 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
|
|
/* 02507B5C */ _t14 = cpu->r[11] + 0x00000104u;
|
|
/* 02507B5C */ cpu->r[11] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02507B60 */ _t15 = cpu->r[12] + 0x00000030u;
|
|
/* 02507B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02507B64 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02507B68 */ _t16 = cpu->r[10] + cpu->r[0];
|
|
/* 02507B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02507B6C */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02507B6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02507B70 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02507B70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507B74 */ _t19 = cpu->r[11] + 0x0000028Cu;
|
|
/* 02507B74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507B78 */ Gambit_fn_0200ED40(cpu);
|
|
/* 02507B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507B80 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B80 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02507B80 */ if (_t21) goto L_02507B84; else goto L_02507BC8;
|
|
L_02507B84: ; // 0x2507b84
|
|
/* 02507B84 */ cpu->r[10] = 0x00000001u;
|
|
/* 02507B88 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507B88 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02507B8C */ Gambit_fn_027DF9A0(cpu);
|
|
/* 02507B90 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02507B94 */ _t24 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02507B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02507B98 */ cpu->r[12] = cpu->r[31] & cpu->r[0];
|
|
/* 02507B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02507B9C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507B9C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02507B9C */ if (_t26) goto L_02507BA0; else goto L_02507BB0;
|
|
L_02507BA0: ; // 0x2507ba0
|
|
/* 02507BA0 */ Gambit_fn_027DFA00(cpu);
|
|
/* 02507BA4 */ _t27 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02507BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02507BA8 */ cpu->r[10] = cpu->r[31] & cpu->r[0];
|
|
/* 02507BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02507BAC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507BAC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02507BAC */ if (_t29) goto L_02507BC8; else goto L_02507BB0;
|
|
L_02507BB0: ; // 0x2507bb0
|
|
/* 02507BB0 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02507BB4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02507BB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02507BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02507BBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507BC0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02507BC4 */ return;
|
|
L_02507BC8: ; // 0x2507bc8
|
|
/* 02507BC8 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02507BCC */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02507BCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02507BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02507BD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507BD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02507BDC */ return;
|
|
}
|
|
|
|
// fn_02507BE4 @ 0x2507be4
|
|
void Gambit_fn_02507BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02507BE4: ; // 0x2507be4
|
|
/* 02507BE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02507BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507BE4 */ cpu->r[1] = _t0;
|
|
/* 02507BE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02507BE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02507BEC */ cpu->r[30] = cpu->r[3];
|
|
/* 02507BF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507BF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02507BF4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02507BF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02507BF8 */ Gambit_fn_02507B00(cpu);
|
|
/* 02507BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507C00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507C00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02507C00 */ if (_t5) goto L_02507C2C; else goto L_02507C04;
|
|
L_02507C04: ; // 0x2507c04
|
|
/* 02507C04 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02507C08 */ _t6 = cpu->r[3] + 0xFFFF93E4u;
|
|
/* 02507C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507C0C */ cpu->r[31] = 0x00000001u;
|
|
/* 02507C10 */ Gambit_fn_027C469C(cpu);
|
|
/* 02507C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507C18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507C18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02507C18 */ if (_t8) goto L_02507C20; else goto L_02507C1C;
|
|
L_02507C1C: ; // 0x2507c1c
|
|
/* 02507C1C */ cpu->r[31] = 0x00000002u;
|
|
L_02507C20: ; // 0x2507c20
|
|
/* 02507C20 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02507C24 */ cpu->r[4] = cpu->r[31];
|
|
/* 02507C28 */ Gambit_fn_024FFFA4(cpu);
|
|
L_02507C2C: ; // 0x2507c2c
|
|
/* 02507C2C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02507C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02507C30 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02507C30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02507C34 */ cpu->lr = cpu->r[0];
|
|
/* 02507C38 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507C38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02507C3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02507C40 */ return;
|
|
}
|
|
|
|
// fn_02507C48 @ 0x2507c48
|
|
void Gambit_fn_02507C48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02507C48: ; // 0x2507c48
|
|
/* 02507C48 */ _t0 = cpu->r[1] + 0xFFFFFB60u;
|
|
/* 02507C48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507C48 */ cpu->r[1] = _t0;
|
|
/* 02507C4C */ _t1 = cpu->r[1] + 0x0000049Cu;
|
|
/* 02507C4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02507C50 */ _t2 = cpu->r[1] + 0x00000498u;
|
|
/* 02507C50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02507C54 */ cpu->r[31] = 0x101C0000u;
|
|
/* 02507C58 */ _t3 = cpu->r[1] + 0x000004A4u;
|
|
/* 02507C58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02507C5C */ _t4 = cpu->r[31] + 0x00006000u;
|
|
/* 02507C5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02507C60 */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 02507C60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02507C64 */ cpu->r[3] = cpu->r[30];
|
|
/* 02507C68 */ Gambit_fn_0261F774(cpu);
|
|
/* 02507C6C */ cpu->r[4] = cpu->r[3];
|
|
/* 02507C70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02507C74 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02507C78 */ Gambit_fn_025C6ABC(cpu);
|
|
/* 02507C7C */ _t6 = cpu->r[31] + 0x00006000u;
|
|
/* 02507C7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507C80 */ _t7 = cpu->r[10] + 0x00000250u;
|
|
/* 02507C80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02507C84 */ _t8 = cpu->r[10] + 0x00000250u;
|
|
/* 02507C84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02507C88 */ _t9 = cpu->r[12] + 0x000000A4u;
|
|
/* 02507C88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02507C8C */ cpu->r[3] = cpu->r[30];
|
|
/* 02507C90 */ _t10 = cpu->r[12] + 0x000000B0u;
|
|
/* 02507C90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02507C94 */ Gambit_fn_0207C9A0(cpu);
|
|
/* 02507C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507C9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507C9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02507C9C */ if (_t12) goto L_02507CF8; else goto L_02507CA0;
|
|
L_02507CA0: ; // 0x2507ca0
|
|
/* 02507CA0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02507CA4 */ Gambit_fn_0207BF28(cpu);
|
|
/* 02507CA8 */ cpu->r[9] = 0x100C0000u;
|
|
/* 02507CAC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02507CB0 */ cpu->r[9] = cpu->r[9] + 0xFFFFE304u;
|
|
/* 02507CB4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02507CB8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507CB8 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02507CBC */ cpu->r[0] = cpu->r[0] + 0xFFFFE49Cu;
|
|
/* 02507CC0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02507CC4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02507CC4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02507CC8 */ Gambit_fn_0207C1E8(cpu);
|
|
/* 02507CCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02507CD0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02507CD4 */ Gambit_fn_0207C9B4(cpu);
|
|
/* 02507CD8 */ cpu->r[6] = 0x02510000u;
|
|
/* 02507CDC */ cpu->r[3] = cpu->r[1] + 0x000000C4u;
|
|
/* 02507CE0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02507CE4 */ cpu->r[6] = cpu->r[6] + 0xFFFF9274u;
|
|
/* 02507CE8 */ cpu->r[4] = 0x00000006u;
|
|
/* 02507CEC */ cpu->r[8] = cpu->r[7];
|
|
/* 02507CF0 */ cpu->r[5] = 0x00000098u;
|
|
/* 02507CF4 */ Gambit_fn_02C82F38(cpu);
|
|
L_02507CF8: ; // 0x2507cf8
|
|
/* 02507CF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02507CFC */ Gambit_fn_020709D4(cpu);
|
|
/* 02507D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507D04 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507D04 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02507D04 */ if (_t16) goto L_02507D10; else goto L_02507D08;
|
|
L_02507D08: ; // 0x2507d08
|
|
/* 02507D08 */ cpu->r[0] = 0x00000001u;
|
|
/* 02507D0C */ _t17 = cpu->r[31] + 0x00000070u;
|
|
/* 02507D0C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
|
|
L_02507D10: ; // 0x2507d10
|
|
/* 02507D10 */ _t18 = cpu->r[1] + 0x000004A4u;
|
|
/* 02507D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507D14 */ _t19 = cpu->r[1] + 0x00000498u;
|
|
/* 02507D14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507D18 */ cpu->lr = cpu->r[0];
|
|
/* 02507D1C */ _t20 = cpu->r[1] + 0x0000049Cu;
|
|
/* 02507D1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02507D20 */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 02507D24 */ return;
|
|
}
|
|
|
|
// fn_02507D2C @ 0x2507d2c
|
|
void Gambit_fn_02507D2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02507D2C: ; // 0x2507d2c
|
|
/* 02507D2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02507D2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507D2C */ cpu->r[1] = _t0;
|
|
/* 02507D30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02507D30 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02507D34 */ cpu->r[28] = 0x101C0000u;
|
|
/* 02507D38 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02507D38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02507D3C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507D3C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02507D40 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02507D40 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02507D44 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507D44 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02507D48 */ _t6 = cpu->r[28] + 0x00006000u;
|
|
/* 02507D48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507D48 */ cpu->r[28] = _t6;
|
|
/* 02507D4C */ cpu->r[29] = cpu->r[3];
|
|
/* 02507D50 */ _t7 = cpu->r[11] + 0x00000250u;
|
|
/* 02507D50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02507D54 */ _t8 = cpu->r[9] + 0x00000250u;
|
|
/* 02507D54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02507D58 */ _t9 = cpu->r[10] + 0x000000A4u;
|
|
/* 02507D58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02507D5C */ _t10 = cpu->r[10] + 0x000000B0u;
|
|
/* 02507D5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02507D60 */ Gambit_fn_0207C9A0(cpu);
|
|
/* 02507D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507D68 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507D68 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02507D68 */ if (_t12) goto L_02507DA4; else goto L_02507D6C;
|
|
L_02507D6C: ; // 0x2507d6c
|
|
/* 02507D6C */ cpu->r[31] = 0x00000000u;
|
|
/* 02507D70 */ _t13 = cpu->r[30] + 0x00000070u;
|
|
/* 02507D70 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[31]);
|
|
/* 02507D74 */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 02507D74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02507D78 */ _t15 = cpu->r[12] + 0x00000268u;
|
|
/* 02507D78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02507D7C */ cpu->r[3] = cpu->r[30];
|
|
/* 02507D80 */ Gambit_fn_0261F774(cpu);
|
|
/* 02507D84 */ cpu->r[4] = cpu->r[3];
|
|
/* 02507D88 */ cpu->r[3] = cpu->r[30];
|
|
/* 02507D8C */ Gambit_fn_0261F55C(cpu);
|
|
/* 02507D90 */ cpu->r[4] = cpu->r[31];
|
|
/* 02507D94 */ Gambit_fn_025C6B4C(cpu);
|
|
/* 02507D98 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02507D9C */ cpu->r[4] = cpu->r[31];
|
|
/* 02507DA0 */ Gambit_fn_024FFFA4(cpu);
|
|
L_02507DA4: ; // 0x2507da4
|
|
/* 02507DA4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02507DA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02507DA8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507DA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02507DAC */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02507DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507DB0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02507DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507DB4 */ cpu->lr = cpu->r[0];
|
|
/* 02507DB8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02507DB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02507DBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02507DC0 */ return;
|
|
}
|
|
|
|
// fn_02507DC8 @ 0x2507dc8
|
|
void Gambit_fn_02507DC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02507DC8: ; // 0x2507dc8
|
|
/* 02507DC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02507DC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507DC8 */ cpu->r[1] = _t0;
|
|
/* 02507DCC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02507DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02507DD0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507DD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02507DD4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02507DD8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02507DD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02507DDC */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02507DDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02507DE0 */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 02507DE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02507DE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02507DE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02507DEC */ Gambit_fn_0261F774(cpu);
|
|
/* 02507DF0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02507DF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02507DF8 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02507DFC */ Gambit_fn_025C6ABC(cpu);
|
|
/* 02507E00 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02507E04 */ _t6 = cpu->r[3] + 0x00000E14u;
|
|
/* 02507E04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507E08 */ cpu->r[4] = 0x00000000u;
|
|
/* 02507E0C */ Gambit_fn_0200CBD8(cpu);
|
|
/* 02507E10 */ cpu->r[4] = 0x00000002u;
|
|
/* 02507E14 */ cpu->r[5] = 0x0000001Eu;
|
|
/* 02507E18 */ Gambit_fn_02014758(cpu);
|
|
/* 02507E1C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02507E20 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02507E24 */ _t7 = cpu->r[12] + 0x00007BA0u;
|
|
/* 02507E24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02507E28 */ _t8 = cpu->r[11] + 0x00007F18u;
|
|
/* 02507E28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02507E2C */ cpu->r[11] = cpu->r[12] + cpu->r[11];
|
|
/* 02507E30 */ _t9 = cpu->r[11] + 0x00000104u;
|
|
/* 02507E30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02507E34 */ _t10 = cpu->r[12] + 0x00000030u;
|
|
/* 02507E34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02507E38 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02507E3C */ _t11 = cpu->r[12] + cpu->r[11];
|
|
/* 02507E3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02507E40 */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 02507E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02507E44 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02507E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02507E48 */ _t14 = cpu->r[11] + 0x0000028Cu;
|
|
/* 02507E48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02507E4C */ cpu->r[4] = 0x00000000u;
|
|
/* 02507E50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02507E54 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 02507E58 */ _t15 = cpu->r[31] + 0x00000134u;
|
|
/* 02507E58 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02507E5C */ _t16 = cpu->r[30] + 0x00000030u;
|
|
/* 02507E5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02507E60 */ cpu->r[5] = 0x00000000u;
|
|
/* 02507E64 */ cpu->r[4] = 0x00000003u;
|
|
/* 02507E68 */ Gambit_fn_027B8224(cpu);
|
|
/* 02507E6C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02507E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02507E70 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02507E70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507E74 */ cpu->lr = cpu->r[0];
|
|
/* 02507E78 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507E78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507E7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02507E80 */ return;
|
|
}
|
|
|
|
// fn_02507E84 @ 0x2507e84
|
|
void Gambit_fn_02507E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02507E84: ; // 0x2507e84
|
|
/* 02507E84 */ cpu->r[0] = cpu->lr;
|
|
/* 02507E88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02507E88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507E88 */ cpu->r[1] = _t0;
|
|
/* 02507E8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02507E90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02507E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02507E94 */ _t3 = cpu->r[3] + 0x000001BCu;
|
|
/* 02507E94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02507E98 */ /* nop */
|
|
/* 02507E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02507EA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507EA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02507EA0 */ if (_t5) goto L_02507EA4; else goto L_02507EB0;
|
|
L_02507EA4: ; // 0x2507ea4
|
|
/* 02507EA4 */ _t6 = cpu->r[3] + 0x000001B8u;
|
|
/* 02507EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Eu);
|
|
/* 02507EAC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02507EAC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02507EAC */ if (_t8) goto L_02507EC8; else goto L_02507EB0;
|
|
L_02507EB0: ; // 0x2507eb0
|
|
/* 02507EB0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02507EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02507EB4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507EB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02507EB8 */ cpu->lr = cpu->r[0];
|
|
/* 02507EBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02507EC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02507EC4 */ return;
|
|
L_02507EC8: ; // 0x2507ec8
|
|
/* 02507EC8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02507ECC */ _t11 = cpu->r[3] + 0x00003708u;
|
|
/* 02507ECC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02507ED0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02507ED4 */ Gambit_fn_020FFECC(cpu);
|
|
/* 02507ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507EDC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507EDC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02507EDC */ if (_t13) goto L_02507EFC; else goto L_02507EE0;
|
|
L_02507EE0: ; // 0x2507ee0
|
|
/* 02507EE0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02507EE4 */ _t14 = cpu->r[12] + 0x00007BA0u;
|
|
/* 02507EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02507EE8 */ _t15 = cpu->r[12] + 0x00000314u;
|
|
/* 02507EE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02507EEC */ _t16 = cpu->r[9] + 0x00000090u;
|
|
/* 02507EEC */ cpu->r[10] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02507EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02507EF4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507EF4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02507EF4 */ if (_t18) goto L_02507EFC; else goto L_02507EF8;
|
|
L_02507EF8: ; // 0x2507ef8
|
|
/* 02507EF8 */ cpu->r[31] = 0x00000001u;
|
|
L_02507EFC: ; // 0x2507efc
|
|
/* 02507EFC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02507EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507F00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02507F04 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507F04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02507F08 */ cpu->lr = cpu->r[0];
|
|
/* 02507F0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02507F10 */ return;
|
|
}
|
|
|
|
// fn_02507E88 @ 0x2507e88
|
|
void Gambit_fn_02507E88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02507E88: ; // 0x2507e88
|
|
/* 02507E88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02507E88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507E88 */ cpu->r[1] = _t0;
|
|
/* 02507E8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02507E90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02507E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02507E94 */ _t3 = cpu->r[3] + 0x000001BCu;
|
|
/* 02507E94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02507E98 */ /* nop */
|
|
/* 02507E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02507EA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507EA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02507EA0 */ if (_t5) goto L_02507EA4; else goto L_02507EB0;
|
|
L_02507EA4: ; // 0x2507ea4
|
|
/* 02507EA4 */ _t6 = cpu->r[3] + 0x000001B8u;
|
|
/* 02507EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Eu);
|
|
/* 02507EAC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02507EAC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02507EAC */ if (_t8) goto L_02507EC8; else goto L_02507EB0;
|
|
L_02507EB0: ; // 0x2507eb0
|
|
/* 02507EB0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02507EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02507EB4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507EB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02507EB8 */ cpu->lr = cpu->r[0];
|
|
/* 02507EBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02507EC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02507EC4 */ return;
|
|
L_02507EC8: ; // 0x2507ec8
|
|
/* 02507EC8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02507ECC */ _t11 = cpu->r[3] + 0x00003708u;
|
|
/* 02507ECC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02507ED0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02507ED4 */ Gambit_fn_020FFECC(cpu);
|
|
/* 02507ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507EDC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507EDC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02507EDC */ if (_t13) goto L_02507EFC; else goto L_02507EE0;
|
|
L_02507EE0: ; // 0x2507ee0
|
|
/* 02507EE0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02507EE4 */ _t14 = cpu->r[12] + 0x00007BA0u;
|
|
/* 02507EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02507EE8 */ _t15 = cpu->r[12] + 0x00000314u;
|
|
/* 02507EE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02507EEC */ _t16 = cpu->r[9] + 0x00000090u;
|
|
/* 02507EEC */ cpu->r[10] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02507EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02507EF4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507EF4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02507EF4 */ if (_t18) goto L_02507EFC; else goto L_02507EF8;
|
|
L_02507EF8: ; // 0x2507ef8
|
|
/* 02507EF8 */ cpu->r[31] = 0x00000001u;
|
|
L_02507EFC: ; // 0x2507efc
|
|
/* 02507EFC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02507EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507F00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02507F04 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02507F04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02507F08 */ cpu->lr = cpu->r[0];
|
|
/* 02507F0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02507F10 */ return;
|
|
}
|
|
|
|
// fn_02507F14 @ 0x2507f14
|
|
void Gambit_fn_02507F14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293;
|
|
|
|
L_02507F14: ; // 0x2507f14
|
|
/* 02507F14 */ _t0 = cpu->r[1] + 0xFFFFFD10u;
|
|
/* 02507F14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02507F14 */ cpu->r[1] = _t0;
|
|
/* 02507F18 */ /* nop */
|
|
/* 02507F1C */ cpu->r[0] = cpu->lr;
|
|
/* 02507F20 */ _t1 = cpu->r[1] + 0x000002F4u;
|
|
/* 02507F20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02507F24 */ cpu->r[29] = cpu->r[3];
|
|
/* 02507F28 */ _t2 = cpu->r[29] + 0x000001B8u;
|
|
/* 02507F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02507F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Eu);
|
|
/* 02507F30 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507F30 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02507F30 */ if (_t4) goto L_025086A4; else goto L_02507F34;
|
|
L_02507F34: ; // 0x2507f34
|
|
/* 02507F34 */ cpu->r[31] = 0x101C0000u;
|
|
/* 02507F38 */ _t5 = cpu->r[31] + 0x00007BA0u;
|
|
/* 02507F38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02507F3C */ _t6 = cpu->r[12] + 0x00000314u;
|
|
/* 02507F3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02507F40 */ Gambit_fn_02445770(cpu);
|
|
/* 02507F44 */ _t7 = cpu->r[31] + 0x00007BA0u;
|
|
/* 02507F44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02507F44 */ cpu->r[31] = _t7;
|
|
/* 02507F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507F4C */ _t8 = cpu->r[8] + 0x00000314u;
|
|
/* 02507F4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02507F50 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507F50 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02507F50 */ if (_t10) goto L_02507F78; else goto L_02507F54;
|
|
L_02507F54: ; // 0x2507f54
|
|
/* 02507F54 */ _t11 = cpu->r[3] + 0x00000090u;
|
|
/* 02507F54 */ cpu->r[4] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02507F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02507F5C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507F5C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02507F5C */ if (_t13) goto L_02507F60; else goto L_02507F78;
|
|
L_02507F60: ; // 0x2507f60
|
|
/* 02507F60 */ Gambit_fn_0244571C(cpu);
|
|
/* 02507F64 */ /* nop */
|
|
/* 02507F68 */ _t14 = cpu->r[1] + 0x000002F4u;
|
|
/* 02507F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02507F6C */ cpu->lr = cpu->r[0];
|
|
/* 02507F70 */ cpu->r[1] = cpu->r[1] + 0x000002F0u;
|
|
/* 02507F74 */ return;
|
|
L_02507F78: ; // 0x2507f78
|
|
/* 02507F78 */ Gambit_fn_024457A8(cpu);
|
|
/* 02507F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02507F80 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507F80 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02507F80 */ if (_t16) goto L_02508688; else goto L_02507F84;
|
|
L_02507F84: ; // 0x2507f84
|
|
/* 02507F84 */ cpu->r[3] = cpu->r[29] + 0x00000230u;
|
|
/* 02507F88 */ Gambit_fn_0216EAC8(cpu);
|
|
/* 02507F8C */ cpu->r[0] = 0x00000002u;
|
|
/* 02507F90 */ cpu->r[3] = cpu->r[29] + 0x00000230u;
|
|
/* 02507F94 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02507F98 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02507F98 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02507F9C */ Gambit_fn_021703E0(cpu);
|
|
/* 02507FA0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02507FA4 */ _t18 = cpu->r[12] + 0x00001358u;
|
|
/* 02507FA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02507FA8 */ _t19 = cpu->r[12] + 0x00000010u;
|
|
/* 02507FA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02507FAC */ _t20 = cpu->r[8] + 0x00000000u;
|
|
/* 02507FAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02507FB0 */ _t21 = cpu->r[10] + 0x00000030u;
|
|
/* 02507FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02507FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02507FB8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02507FBC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507FBC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02507FBC */ if (_t23) goto L_02507FCC; else goto L_02507FC0;
|
|
L_02507FC0: ; // 0x2507fc0
|
|
/* 02507FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02507FC4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507FC4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02507FC4 */ if (_t25) goto L_02507FCC; else goto L_02507FC8;
|
|
L_02507FC8: ; // 0x2507fc8
|
|
/* 02507FC8 */ cpu->r[9] = 0x00000000u;
|
|
L_02507FCC: ; // 0x2507fcc
|
|
/* 02507FCC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02507FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02507FD0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02507FD0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02507FD0 */ if (_t27) goto L_02507FD4; else goto L_02507FD8;
|
|
L_02507FD4: ; // 0x2507fd4
|
|
/* 02507FD4 */ cpu->r[0] = 0x00000000u;
|
|
L_02507FD8: ; // 0x2507fd8
|
|
/* 02507FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02507FDC */ cpu->r[10] = cpu->r[12] + 0x000002B8u;
|
|
/* 02507FE0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02507FE0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02507FE0 */ if (_t29) goto L_02507FE4; else goto L_02507FEC;
|
|
L_02507FE4: ; // 0x2507fe4
|
|
/* 02507FE4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02507FE8 */ cpu->r[10] = cpu->r[10] + cpu->r[6];
|
|
L_02507FEC: ; // 0x2507fec
|
|
/* 02507FEC */ _t30 = cpu->r[10] + 0x00000000u;
|
|
/* 02507FEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02507FF0 */ _t31 = cpu->r[29] + 0x0000030Cu;
|
|
/* 02507FF0 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 02507FF4 */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 02507FF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02507FF8 */ _t33 = cpu->r[29] + 0x00000310u;
|
|
/* 02507FF8 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 02507FFC */ _t34 = cpu->r[10] + 0x00000008u;
|
|
/* 02507FFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02508000 */ _t35 = cpu->r[29] + 0x00000314u;
|
|
/* 02508000 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02508004 */ _t36 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02508004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02508008 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0250800C */ _t37 = cpu->r[29] + 0x00000318u;
|
|
/* 0250800C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02508010 */ Gambit_fn_021734AC(cpu);
|
|
/* 02508014 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02508018 */ Gambit_fn_02173798(cpu);
|
|
/* 0250801C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508020 */ cpu->r[30] = 0x10110000u;
|
|
/* 02508024 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508024 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02508024 */ if (_t39) goto L_02508380; else goto L_02508028;
|
|
L_02508028: ; // 0x2508028
|
|
/* 02508028 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0250802C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02508030 */ Gambit_fn_021735AC(cpu);
|
|
/* 02508034 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02508034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02508038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0250803C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250803C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0250803C */ if (_t42) goto L_02508048; else goto L_02508040;
|
|
L_02508040: ; // 0x2508040
|
|
/* 02508040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 02508044 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508044 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02508044 */ if (_t44) goto L_02508048; else goto L_02508380;
|
|
L_02508048: ; // 0x2508048
|
|
/* 02508048 */ _t45 = cpu->r[31] + 0x00000000u;
|
|
/* 02508048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0250804C */ _t46 = cpu->r[12] + 0x00000314u;
|
|
/* 0250804C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02508050 */ Gambit_fn_024457A0(cpu);
|
|
/* 02508054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508058 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508058 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02508058 */ if (_t48) goto L_02508380; else goto L_0250805C;
|
|
L_0250805C: ; // 0x250805c
|
|
/* 0250805C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02508060 */ Gambit_fn_020F7BC4(cpu);
|
|
/* 02508064 */ _t49 = cpu->r[30] + 0x0000739Au;
|
|
/* 02508064 */ cpu->r[31] = rbrew_read16(cpu->mem, _t49);
|
|
/* 02508068 */ cpu->r[26] = cpu->r[3];
|
|
/* 0250806C */ cpu->r[24] = 0x00000004u;
|
|
/* 02508070 */ cpu->r[27] = cpu->r[29] + 0x00000324u;
|
|
/* 02508074 */ cpu->r[28] = cpu->r[31];
|
|
/* 02508078 */ cpu->r[25] = 0x00000000u;
|
|
L_0250807C: ; // 0x250807c
|
|
/* 0250807C */ cpu->r[22] = cpu->r[26] + cpu->r[25];
|
|
/* 02508080 */ _t50 = cpu->r[22] + 0x00000004u;
|
|
/* 02508080 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02508084 */ _t51 = cpu->r[4] + 0x00000014u;
|
|
/* 02508084 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02508088 */ cpu->ctr = cpu->r[5];
|
|
/* 0250808C */ _t52 = cpu->r[27] + cpu->r[25];
|
|
/* 0250808C */ cpu->r[23] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02508090 */ cpu->r[3] = cpu->r[22];
|
|
/* 02508094 */ cpu->r[21] = cpu->r[27] + cpu->r[25];
|
|
/* 02508098 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250809C */ _t53 = cpu->r[22] + 0x00000000u;
|
|
/* 0250809C */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025080A0 */ _t54 = cpu->r[5] + 0x00000000u;
|
|
/* 025080A0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t54);
|
|
/* 025080A4 */ cpu->r[30] = 0x00000000u;
|
|
/* 025080A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 025080AC */ cpu->r[8] = 0x00080000u;
|
|
/* 025080B0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025080B0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 025080B0 */ if (_t56) goto L_025080D8; else goto L_025080B4;
|
|
L_025080B4: ; // 0x25080b4
|
|
/* 025080B4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 025080B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 025080BC */ cpu->r[5] = cpu->r[5] + 0x00000002u;
|
|
/* 025080C0 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025080C0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 025080C0 */ if (_t58) goto L_025080D4; else goto L_025080C4;
|
|
L_025080C4: ; // 0x25080c4
|
|
/* 025080C4 */ _t59 = cpu->r[5] + 0x00000000u;
|
|
/* 025080C4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t59);
|
|
/* 025080C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 025080CC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025080CC */ _t61 = _t60 & 0x00000001u;
|
|
/* 025080CC */ if (_t61) goto L_025080D0; else goto L_025080B4;
|
|
L_025080D0: ; // 0x25080d0
|
|
/* 025080D0 */ goto L_025080D8;
|
|
L_025080D4: ; // 0x25080d4
|
|
/* 025080D4 */ cpu->r[30] = 0x00000000u;
|
|
L_025080D8: ; // 0x25080d8
|
|
/* 025080D8 */ _t62 = cpu->r[21] + 0x00000008u;
|
|
/* 025080D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 025080DC */ _t63 = cpu->r[22] + 0x00000004u;
|
|
/* 025080DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 025080E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 025080E4 */ _t64 = cpu->r[8] + 0x00000014u;
|
|
/* 025080E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 025080E8 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025080E8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 025080E8 */ if (_t66) goto L_025080F0; else goto L_025080EC;
|
|
L_025080EC: ; // 0x25080ec
|
|
/* 025080EC */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_025080F0: ; // 0x25080f0
|
|
/* 025080F0 */ cpu->ctr = cpu->r[9];
|
|
/* 025080F4 */ cpu->r[3] = cpu->r[22];
|
|
/* 025080F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025080FC */ _t67 = cpu->r[22] + 0x00000000u;
|
|
/* 025080FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02508100 */ cpu->r[6] = 0x00000000u;
|
|
/* 02508104 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02508108 */ cpu->r[3] = cpu->r[23];
|
|
/* 0250810C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02508110 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02508114 */ cpu->r[25] = cpu->r[25] + 0x0000004Cu;
|
|
/* 02508118 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02508118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0250811C */ _t68 = cpu->r[10] + cpu->r[23];
|
|
/* 0250811C */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[28]);
|
|
/* 02508120 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508120 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02508120 */ if (_t70) goto L_02508124; else goto L_0250807C;
|
|
L_02508124: ; // 0x2508124
|
|
/* 02508124 */ _t71 = cpu->r[26] + 0x00000134u;
|
|
/* 02508124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02508128 */ _t72 = cpu->r[11] + 0x00000014u;
|
|
/* 02508128 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0250812C */ cpu->ctr = cpu->r[12];
|
|
/* 02508130 */ _t73 = cpu->r[27] + 0x00000130u;
|
|
/* 02508130 */ cpu->r[28] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02508134 */ cpu->r[3] = cpu->r[26] + 0x00000130u;
|
|
/* 02508138 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250813C */ _t74 = cpu->r[26] + 0x00000130u;
|
|
/* 0250813C */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02508140 */ _t75 = cpu->r[11] + 0x00000000u;
|
|
/* 02508140 */ cpu->r[0] = rbrew_read16(cpu->mem, _t75);
|
|
/* 02508144 */ cpu->r[30] = 0x00000000u;
|
|
/* 02508148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0250814C */ cpu->r[0] = 0x00080000u;
|
|
/* 02508150 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508150 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02508150 */ if (_t77) goto L_02508178; else goto L_02508154;
|
|
L_02508154: ; // 0x2508154
|
|
/* 02508154 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02508158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0250815C */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
/* 02508160 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02508160 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02508160 */ if (_t79) goto L_02508174; else goto L_02508164;
|
|
L_02508164: ; // 0x2508164
|
|
/* 02508164 */ _t80 = cpu->r[11] + 0x00000000u;
|
|
/* 02508164 */ cpu->r[4] = rbrew_read16(cpu->mem, _t80);
|
|
/* 02508168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0250816C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250816C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0250816C */ if (_t82) goto L_02508170; else goto L_02508154;
|
|
L_02508170: ; // 0x2508170
|
|
/* 02508170 */ goto L_02508178;
|
|
L_02508174: ; // 0x2508174
|
|
/* 02508174 */ cpu->r[30] = 0x00000000u;
|
|
L_02508178: ; // 0x2508178
|
|
/* 02508178 */ _t83 = cpu->r[27] + 0x00000138u;
|
|
/* 02508178 */ cpu->r[7] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0250817C */ _t84 = cpu->r[26] + 0x00000134u;
|
|
/* 0250817C */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02508180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 02508184 */ _t85 = cpu->r[5] + 0x00000014u;
|
|
/* 02508184 */ cpu->r[6] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02508188 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02508188 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02508188 */ if (_t87) goto L_02508190; else goto L_0250818C;
|
|
L_0250818C: ; // 0x250818c
|
|
/* 0250818C */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02508190: ; // 0x2508190
|
|
/* 02508190 */ cpu->ctr = cpu->r[6];
|
|
/* 02508194 */ cpu->r[3] = cpu->r[26] + 0x00000130u;
|
|
/* 02508198 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250819C */ _t88 = cpu->r[26] + 0x00000130u;
|
|
/* 0250819C */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
|
|
/* 025081A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 025081A4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 025081A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025081AC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025081B0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 025081B4 */ _t89 = cpu->r[7] + cpu->r[28];
|
|
/* 025081B4 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[31]);
|
|
/* 025081B8 */ _t90 = cpu->r[26] + 0x000001A4u;
|
|
/* 025081B8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t90);
|
|
/* 025081BC */ _t91 = cpu->r[27] + 0x000001A4u;
|
|
/* 025081BC */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[8]);
|
|
/* 025081C0 */ _t92 = cpu->r[26] + 0x000001A8u;
|
|
/* 025081C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t92);
|
|
/* 025081C4 */ cpu->r[3] = cpu->r[27] + 0x000001AEu;
|
|
/* 025081C8 */ _t93 = cpu->r[27] + 0x000001A8u;
|
|
/* 025081C8 */ rbrew_write32(cpu->mem, _t93, cpu->r[9]);
|
|
/* 025081CC */ _t94 = cpu->r[26] + 0x000001ACu;
|
|
/* 025081CC */ cpu->r[10] = rbrew_read8(cpu->mem, _t94);
|
|
/* 025081D0 */ cpu->r[4] = cpu->r[26] + 0x000001AEu;
|
|
/* 025081D4 */ cpu->r[5] = 0x00000022u;
|
|
/* 025081D8 */ _t95 = cpu->r[27] + 0x000001ACu;
|
|
/* 025081D8 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[10]);
|
|
/* 025081DC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 025081E0 */ _t96 = cpu->r[26] + 0x000001D0u;
|
|
/* 025081E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t96);
|
|
/* 025081E4 */ _t97 = cpu->r[27] + 0x000001D0u;
|
|
/* 025081E4 */ rbrew_write32(cpu->mem, _t97, cpu->r[11]);
|
|
/* 025081E8 */ _t98 = cpu->r[26] + 0x000001D4u;
|
|
/* 025081E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 025081EC */ _t99 = cpu->r[27] + 0x000001D4u;
|
|
/* 025081EC */ rbrew_write32(cpu->mem, _t99, cpu->r[12]);
|
|
/* 025081F0 */ _t100 = cpu->r[26] + 0x000001D8u;
|
|
/* 025081F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 025081F4 */ _t101 = cpu->r[27] + 0x000001D8u;
|
|
/* 025081F4 */ rbrew_write32(cpu->mem, _t101, cpu->r[0]);
|
|
/* 025081F8 */ _t102 = cpu->r[26] + 0x000001DCu;
|
|
/* 025081F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t102);
|
|
/* 025081FC */ _t103 = cpu->r[27] + 0x000001DCu;
|
|
/* 025081FC */ rbrew_write32(cpu->mem, _t103, cpu->r[4]);
|
|
/* 02508200 */ _t104 = cpu->r[26] + 0x000001E0u;
|
|
/* 02508200 */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02508204 */ _t105 = cpu->r[27] + 0x000001E0u;
|
|
/* 02508204 */ rbrew_write32(cpu->mem, _t105, cpu->r[5]);
|
|
/* 02508208 */ _t106 = cpu->r[26] + 0x000001E4u;
|
|
/* 02508208 */ cpu->r[6] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0250820C */ _t107 = cpu->r[27] + 0x000001E4u;
|
|
/* 0250820C */ rbrew_write32(cpu->mem, _t107, cpu->r[6]);
|
|
/* 02508210 */ _t108 = cpu->r[26] + 0x000001E8u;
|
|
/* 02508210 */ cpu->r[7] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02508214 */ _t109 = cpu->r[27] + 0x000001E8u;
|
|
/* 02508214 */ rbrew_write32(cpu->mem, _t109, cpu->r[7]);
|
|
/* 02508218 */ _t110 = cpu->r[26] + 0x000001ECu;
|
|
/* 02508218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0250821C */ _t111 = cpu->r[27] + 0x000001ECu;
|
|
/* 0250821C */ rbrew_write32(cpu->mem, _t111, cpu->r[8]);
|
|
/* 02508220 */ _t112 = cpu->r[26] + 0x000001F0u;
|
|
/* 02508220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02508224 */ _t113 = cpu->r[27] + 0x000001F0u;
|
|
/* 02508224 */ rbrew_write32(cpu->mem, _t113, cpu->r[9]);
|
|
/* 02508228 */ _t114 = cpu->r[26] + 0x000001F4u;
|
|
/* 02508228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0250822C */ cpu->r[5] = 0x00000007u;
|
|
/* 02508230 */ cpu->r[12] = cpu->r[26] + 0x000001F8u;
|
|
/* 02508234 */ _t115 = cpu->r[27] + 0x000001F4u;
|
|
/* 02508234 */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 02508238 */ _t116 = cpu->r[26] + 0x000001F8u;
|
|
/* 02508238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0250823C */ cpu->ctr = cpu->r[5];
|
|
/* 02508240 */ cpu->r[4] = cpu->r[27] + 0x000001F8u;
|
|
/* 02508244 */ _t117 = cpu->r[27] + 0x000001F8u;
|
|
/* 02508244 */ rbrew_write32(cpu->mem, _t117, cpu->r[0]);
|
|
L_02508248: ; // 0x2508248
|
|
/* 02508248 */ _t118 = cpu->r[12] + 0x00000004u;
|
|
/* 02508248 */ cpu->r[6] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0250824C */ _t119 = cpu->r[4] + 0x00000004u;
|
|
/* 0250824C */ rbrew_write32(cpu->mem, _t119, cpu->r[6]);
|
|
/* 02508250 */ _t120 = cpu->r[12] + 0x00000008u;
|
|
/* 02508250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02508254 */ _t121 = cpu->r[4] + 0x00000008u;
|
|
/* 02508254 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 02508258 */ _t122 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02508258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02508258 */ cpu->r[12] = _t122;
|
|
/* 0250825C */ _t123 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0250825C */ rbrew_write32(cpu->mem, _t123, cpu->r[0]);
|
|
/* 0250825C */ cpu->r[4] = _t123;
|
|
/* 02508260 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02508260 */ _t124 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02508260 */ _t125 = _t124 >> (0x00000002u & 31u);
|
|
/* 02508260 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02508260 */ if (_t126) goto L_02508248; else goto L_02508264;
|
|
L_02508264: ; // 0x2508264
|
|
/* 02508264 */ _t127 = cpu->r[26] + 0x00000250u;
|
|
/* 02508264 */ cpu->r[7] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02508268 */ _t128 = cpu->r[27] + 0x00000250u;
|
|
/* 02508268 */ rbrew_write32(cpu->mem, _t128, cpu->r[7]);
|
|
/* 0250826C */ _t129 = cpu->r[26] + 0x00000254u;
|
|
/* 0250826C */ cpu->r[8] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02508270 */ _t130 = cpu->r[27] + 0x00000254u;
|
|
/* 02508270 */ rbrew_write32(cpu->mem, _t130, cpu->r[8]);
|
|
/* 02508274 */ _t131 = cpu->r[26] + 0x00000258u;
|
|
/* 02508274 */ cpu->r[9] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02508278 */ _t132 = cpu->r[27] + 0x00000258u;
|
|
/* 02508278 */ rbrew_write32(cpu->mem, _t132, cpu->r[9]);
|
|
/* 0250827C */ _t133 = cpu->r[26] + 0x0000025Cu;
|
|
/* 0250827C */ cpu->r[10] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02508280 */ _t134 = cpu->r[27] + 0x0000025Cu;
|
|
/* 02508280 */ rbrew_write32(cpu->mem, _t134, cpu->r[10]);
|
|
/* 02508284 */ _t135 = cpu->r[26] + 0x00000260u;
|
|
/* 02508284 */ cpu->r[11] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02508288 */ _t136 = cpu->r[27] + 0x00000260u;
|
|
/* 02508288 */ rbrew_write32(cpu->mem, _t136, cpu->r[11]);
|
|
/* 0250828C */ _t137 = cpu->r[26] + 0x00000264u;
|
|
/* 0250828C */ cpu->r[12] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02508290 */ _t138 = cpu->r[27] + 0x00000264u;
|
|
/* 02508290 */ rbrew_write32(cpu->mem, _t138, cpu->r[12]);
|
|
/* 02508294 */ _t139 = cpu->r[26] + 0x00000268u;
|
|
/* 02508294 */ cpu->r[0] = rbrew_read8(cpu->mem, _t139);
|
|
/* 02508298 */ _t140 = cpu->r[27] + 0x00000268u;
|
|
/* 02508298 */ rbrew_write8(cpu->mem, _t140, (uint8_t)cpu->r[0]);
|
|
/* 0250829C */ _t141 = cpu->r[26] + 0x0000026Cu;
|
|
/* 0250829C */ cpu->r[5] = rbrew_read32(cpu->mem, _t141);
|
|
/* 025082A0 */ _t142 = cpu->r[27] + 0x0000026Cu;
|
|
/* 025082A0 */ rbrew_write32(cpu->mem, _t142, cpu->r[5]);
|
|
/* 025082A4 */ _t143 = cpu->r[26] + 0x00000270u;
|
|
/* 025082A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t143);
|
|
/* 025082A8 */ _t144 = cpu->r[27] + 0x00000270u;
|
|
/* 025082A8 */ rbrew_write32(cpu->mem, _t144, cpu->r[6]);
|
|
/* 025082AC */ _t145 = cpu->r[26] + 0x00000274u;
|
|
/* 025082AC */ cpu->r[7] = rbrew_read8(cpu->mem, _t145);
|
|
/* 025082B0 */ _t146 = cpu->r[27] + 0x00000274u;
|
|
/* 025082B0 */ rbrew_write8(cpu->mem, _t146, (uint8_t)cpu->r[7]);
|
|
/* 025082B4 */ _t147 = cpu->r[26] + 0x00000275u;
|
|
/* 025082B4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t147);
|
|
/* 025082B8 */ _t148 = cpu->r[27] + 0x00000275u;
|
|
/* 025082B8 */ rbrew_write8(cpu->mem, _t148, (uint8_t)cpu->r[9]);
|
|
/* 025082BC */ _t149 = cpu->r[26] + 0x00000278u;
|
|
/* 025082BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t149);
|
|
/* 025082C0 */ _t150 = cpu->r[27] + 0x00000278u;
|
|
/* 025082C0 */ rbrew_write32(cpu->mem, _t150, cpu->r[11]);
|
|
/* 025082C4 */ _t151 = cpu->r[26] + 0x0000027Cu;
|
|
/* 025082C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t151);
|
|
/* 025082C8 */ _t152 = cpu->r[27] + 0x0000027Cu;
|
|
/* 025082C8 */ rbrew_write32(cpu->mem, _t152, cpu->r[12]);
|
|
/* 025082CC */ _t153 = cpu->r[26] + 0x00000280u;
|
|
/* 025082CC */ cpu->r[0] = rbrew_read16(cpu->mem, _t153);
|
|
/* 025082D0 */ _t154 = cpu->r[27] + 0x00000280u;
|
|
/* 025082D0 */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[0]);
|
|
/* 025082D4 */ _t155 = cpu->r[26] + 0x00000284u;
|
|
/* 025082D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t155);
|
|
/* 025082D8 */ _t156 = cpu->r[27] + 0x00000284u;
|
|
/* 025082D8 */ rbrew_write32(cpu->mem, _t156, cpu->r[4]);
|
|
/* 025082DC */ _t157 = cpu->r[26] + 0x00000288u;
|
|
/* 025082DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t157);
|
|
/* 025082E0 */ _t158 = cpu->r[27] + 0x00000288u;
|
|
/* 025082E0 */ rbrew_write32(cpu->mem, _t158, cpu->r[5]);
|
|
/* 025082E4 */ _t159 = cpu->r[26] + 0x0000028Cu;
|
|
/* 025082E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t159);
|
|
/* 025082E8 */ _t160 = cpu->r[27] + 0x0000028Cu;
|
|
/* 025082E8 */ rbrew_write32(cpu->mem, _t160, cpu->r[6]);
|
|
/* 025082EC */ _t161 = cpu->r[26] + 0x00000290u;
|
|
/* 025082EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
|
|
/* 025082F0 */ _t162 = cpu->r[27] + 0x00000290u;
|
|
/* 025082F0 */ rbrew_write32(cpu->mem, _t162, cpu->r[7]);
|
|
/* 025082F4 */ _t163 = cpu->r[26] + 0x00000294u;
|
|
/* 025082F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t163);
|
|
/* 025082F8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 025082FC */ _t164 = cpu->r[27] + 0x00000294u;
|
|
/* 025082FC */ rbrew_write32(cpu->mem, _t164, cpu->r[8]);
|
|
/* 02508300 */ _t165 = cpu->r[26] + 0x00000298u;
|
|
/* 02508300 */ cpu->r[9] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02508304 */ cpu->r[6] = 0x02510000u;
|
|
/* 02508308 */ cpu->r[5] = 0x0000004Cu;
|
|
/* 0250830C */ cpu->r[4] = 0x00000004u;
|
|
/* 02508310 */ _t166 = cpu->r[27] + 0x00000298u;
|
|
/* 02508310 */ rbrew_write32(cpu->mem, _t166, cpu->r[9]);
|
|
/* 02508314 */ cpu->r[7] = 0x00000000u;
|
|
/* 02508318 */ _t167 = cpu->r[26] + 0x0000029Cu;
|
|
/* 02508318 */ cpu->r[10] = rbrew_read8(cpu->mem, _t167);
|
|
/* 0250831C */ cpu->r[8] = cpu->r[7];
|
|
/* 02508320 */ cpu->r[6] = cpu->r[6] + 0xFFFF9288u;
|
|
/* 02508324 */ _t168 = cpu->r[27] + 0x0000029Cu;
|
|
/* 02508324 */ rbrew_write8(cpu->mem, _t168, (uint8_t)cpu->r[10]);
|
|
/* 02508328 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0250832C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02508330 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02508334 */ Gambit_fn_021735AC(cpu);
|
|
/* 02508338 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0250833C */ Gambit_fn_02173560(cpu);
|
|
/* 02508340 */ cpu->r[4] = cpu->r[3];
|
|
/* 02508344 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02508348 */ cpu->r[6] = cpu->r[29] + 0x0000022Cu;
|
|
/* 0250834C */ cpu->r[3] = cpu->r[27];
|
|
/* 02508350 */ Gambit_fn_020F8054(cpu);
|
|
/* 02508354 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02508358 */ cpu->r[4] = 0x00000003u;
|
|
/* 0250835C */ Gambit_fn_024FFFA4(cpu);
|
|
/* 02508360 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02508364 */ cpu->r[4] = 0x00000002u;
|
|
/* 02508368 */ Gambit_fn_0217354C(cpu);
|
|
/* 0250836C */ /* nop */
|
|
/* 02508370 */ _t169 = cpu->r[1] + 0x000002F4u;
|
|
/* 02508370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02508374 */ cpu->lr = cpu->r[0];
|
|
/* 02508378 */ cpu->r[1] = cpu->r[1] + 0x000002F0u;
|
|
/* 0250837C */ return;
|
|
L_02508380: ; // 0x2508380
|
|
/* 02508380 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02508384 */ Gambit_fn_020F7BC4(cpu);
|
|
/* 02508388 */ _t170 = cpu->r[30] + 0x0000739Au;
|
|
/* 02508388 */ cpu->r[31] = rbrew_read16(cpu->mem, _t170);
|
|
/* 0250838C */ cpu->r[25] = cpu->r[3];
|
|
/* 02508390 */ cpu->r[24] = 0x00000004u;
|
|
/* 02508394 */ cpu->r[27] = cpu->r[29] + 0x00000324u;
|
|
/* 02508398 */ cpu->r[30] = cpu->r[31];
|
|
/* 0250839C */ cpu->r[26] = 0x00000000u;
|
|
L_025083A0: ; // 0x25083a0
|
|
/* 025083A0 */ cpu->r[22] = cpu->r[25] + cpu->r[26];
|
|
/* 025083A4 */ _t171 = cpu->r[22] + 0x00000004u;
|
|
/* 025083A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t171);
|
|
/* 025083A8 */ _t172 = cpu->r[11] + 0x00000014u;
|
|
/* 025083A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t172);
|
|
/* 025083AC */ cpu->ctr = cpu->r[12];
|
|
/* 025083B0 */ _t173 = cpu->r[27] + cpu->r[26];
|
|
/* 025083B0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t173);
|
|
/* 025083B4 */ cpu->r[3] = cpu->r[22];
|
|
/* 025083B8 */ cpu->r[21] = cpu->r[27] + cpu->r[26];
|
|
/* 025083BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025083C0 */ _t174 = cpu->r[22] + 0x00000000u;
|
|
/* 025083C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t174);
|
|
/* 025083C4 */ _t175 = cpu->r[5] + 0x00000000u;
|
|
/* 025083C4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t175);
|
|
/* 025083C8 */ cpu->r[28] = 0x00000000u;
|
|
/* 025083CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 025083D0 */ cpu->r[0] = 0x00080000u;
|
|
/* 025083D4 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025083D4 */ _t177 = _t176 & 0x00000001u;
|
|
/* 025083D4 */ if (_t177) goto L_025083FC; else goto L_025083D8;
|
|
L_025083D8: ; // 0x25083d8
|
|
/* 025083D8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 025083DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 025083E0 */ cpu->r[5] = cpu->r[5] + 0x00000002u;
|
|
/* 025083E4 */ _t178 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025083E4 */ _t179 = _t178 & 0x00000001u;
|
|
/* 025083E4 */ if (_t179) goto L_025083F8; else goto L_025083E8;
|
|
L_025083E8: ; // 0x25083e8
|
|
/* 025083E8 */ _t180 = cpu->r[5] + 0x00000000u;
|
|
/* 025083E8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t180);
|
|
/* 025083EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]);
|
|
/* 025083F0 */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025083F0 */ _t182 = _t181 & 0x00000001u;
|
|
/* 025083F0 */ if (_t182) goto L_025083F4; else goto L_025083D8;
|
|
L_025083F4: ; // 0x25083f4
|
|
/* 025083F4 */ goto L_025083FC;
|
|
L_025083F8: ; // 0x25083f8
|
|
/* 025083F8 */ cpu->r[28] = 0x00000000u;
|
|
L_025083FC: ; // 0x25083fc
|
|
/* 025083FC */ _t183 = cpu->r[21] + 0x00000008u;
|
|
/* 025083FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02508400 */ _t184 = cpu->r[22] + 0x00000004u;
|
|
/* 02508400 */ cpu->r[6] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02508404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02508408 */ _t185 = cpu->r[6] + 0x00000014u;
|
|
/* 02508408 */ cpu->r[7] = rbrew_read32(cpu->mem, _t185);
|
|
/* 0250840C */ _t186 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250840C */ _t187 = _t186 & 0x00000001u;
|
|
/* 0250840C */ if (_t187) goto L_02508414; else goto L_02508410;
|
|
L_02508410: ; // 0x2508410
|
|
/* 02508410 */ cpu->r[28] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02508414: ; // 0x2508414
|
|
/* 02508414 */ cpu->ctr = cpu->r[7];
|
|
/* 02508418 */ cpu->r[3] = cpu->r[22];
|
|
/* 0250841C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02508420 */ _t188 = cpu->r[22] + 0x00000000u;
|
|
/* 02508420 */ cpu->r[4] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02508424 */ cpu->r[6] = 0x00000000u;
|
|
/* 02508428 */ cpu->r[5] = rbrew_rlwinm(cpu->r[28], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0250842C */ cpu->r[3] = cpu->r[23];
|
|
/* 02508430 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02508434 */ cpu->r[8] = rbrew_rlwinm(cpu->r[28], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02508438 */ cpu->r[26] = cpu->r[26] + 0x0000004Cu;
|
|
/* 0250843C */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 0250843C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02508440 */ _t189 = cpu->r[8] + cpu->r[23];
|
|
/* 02508440 */ rbrew_write16(cpu->mem, _t189, (uint16_t)cpu->r[30]);
|
|
/* 02508444 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508444 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02508444 */ if (_t191) goto L_02508448; else goto L_025083A0;
|
|
L_02508448: ; // 0x2508448
|
|
/* 02508448 */ _t192 = cpu->r[25] + 0x00000134u;
|
|
/* 02508448 */ cpu->r[9] = rbrew_read32(cpu->mem, _t192);
|
|
/* 0250844C */ _t193 = cpu->r[9] + 0x00000014u;
|
|
/* 0250844C */ cpu->r[10] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02508450 */ cpu->ctr = cpu->r[10];
|
|
/* 02508454 */ _t194 = cpu->r[27] + 0x00000130u;
|
|
/* 02508454 */ cpu->r[28] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02508458 */ cpu->r[3] = cpu->r[25] + 0x00000130u;
|
|
/* 0250845C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02508460 */ _t195 = cpu->r[25] + 0x00000130u;
|
|
/* 02508460 */ cpu->r[12] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02508464 */ _t196 = cpu->r[12] + 0x00000000u;
|
|
/* 02508464 */ cpu->r[11] = rbrew_read16(cpu->mem, _t196);
|
|
/* 02508468 */ cpu->r[30] = 0x00000000u;
|
|
/* 0250846C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02508470 */ cpu->r[4] = 0x00080000u;
|
|
/* 02508474 */ _t197 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508474 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02508474 */ if (_t198) goto L_0250849C; else goto L_02508478;
|
|
L_02508478: ; // 0x2508478
|
|
/* 02508478 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0250847C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 02508480 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 02508484 */ _t199 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02508484 */ _t200 = _t199 & 0x00000001u;
|
|
/* 02508484 */ if (_t200) goto L_02508498; else goto L_02508488;
|
|
L_02508488: ; // 0x2508488
|
|
/* 02508488 */ _t201 = cpu->r[12] + 0x00000000u;
|
|
/* 02508488 */ cpu->r[0] = rbrew_read16(cpu->mem, _t201);
|
|
/* 0250848C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02508490 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508490 */ _t203 = _t202 & 0x00000001u;
|
|
/* 02508490 */ if (_t203) goto L_02508494; else goto L_02508478;
|
|
L_02508494: ; // 0x2508494
|
|
/* 02508494 */ goto L_0250849C;
|
|
L_02508498: ; // 0x2508498
|
|
/* 02508498 */ cpu->r[30] = 0x00000000u;
|
|
L_0250849C: ; // 0x250849c
|
|
/* 0250849C */ _t204 = cpu->r[27] + 0x00000138u;
|
|
/* 0250849C */ cpu->r[7] = rbrew_read32(cpu->mem, _t204);
|
|
/* 025084A0 */ _t205 = cpu->r[25] + 0x00000134u;
|
|
/* 025084A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t205);
|
|
/* 025084A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 025084A8 */ _t206 = cpu->r[4] + 0x00000014u;
|
|
/* 025084A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t206);
|
|
/* 025084AC */ _t207 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025084AC */ _t208 = _t207 & 0x00000001u;
|
|
/* 025084AC */ if (_t208) goto L_025084B4; else goto L_025084B0;
|
|
L_025084B0: ; // 0x25084b0
|
|
/* 025084B0 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_025084B4: ; // 0x25084b4
|
|
/* 025084B4 */ cpu->ctr = cpu->r[5];
|
|
/* 025084B8 */ cpu->r[3] = cpu->r[25] + 0x00000130u;
|
|
/* 025084BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025084C0 */ _t209 = cpu->r[25] + 0x00000130u;
|
|
/* 025084C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t209);
|
|
/* 025084C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 025084C8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 025084CC */ cpu->r[6] = 0x00000000u;
|
|
/* 025084D0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025084D4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 025084D8 */ _t210 = cpu->r[6] + cpu->r[28];
|
|
/* 025084D8 */ rbrew_write16(cpu->mem, _t210, (uint16_t)cpu->r[31]);
|
|
/* 025084DC */ _t211 = cpu->r[25] + 0x000001A4u;
|
|
/* 025084DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t211);
|
|
/* 025084E0 */ _t212 = cpu->r[27] + 0x000001A4u;
|
|
/* 025084E0 */ rbrew_write8(cpu->mem, _t212, (uint8_t)cpu->r[0]);
|
|
/* 025084E4 */ _t213 = cpu->r[25] + 0x000001A8u;
|
|
/* 025084E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t213);
|
|
/* 025084E8 */ cpu->r[3] = cpu->r[27] + 0x000001AEu;
|
|
/* 025084EC */ _t214 = cpu->r[27] + 0x000001A8u;
|
|
/* 025084EC */ rbrew_write32(cpu->mem, _t214, cpu->r[8]);
|
|
/* 025084F0 */ _t215 = cpu->r[25] + 0x000001ACu;
|
|
/* 025084F0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t215);
|
|
/* 025084F4 */ cpu->r[4] = cpu->r[25] + 0x000001AEu;
|
|
/* 025084F8 */ cpu->r[5] = 0x00000022u;
|
|
/* 025084FC */ _t216 = cpu->r[27] + 0x000001ACu;
|
|
/* 025084FC */ rbrew_write8(cpu->mem, _t216, (uint8_t)cpu->r[9]);
|
|
/* 02508500 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02508504 */ _t217 = cpu->r[25] + 0x000001D0u;
|
|
/* 02508504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02508508 */ _t218 = cpu->r[27] + 0x000001D0u;
|
|
/* 02508508 */ rbrew_write32(cpu->mem, _t218, cpu->r[10]);
|
|
/* 0250850C */ _t219 = cpu->r[25] + 0x000001D4u;
|
|
/* 0250850C */ cpu->r[0] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02508510 */ _t220 = cpu->r[27] + 0x000001D4u;
|
|
/* 02508510 */ rbrew_write32(cpu->mem, _t220, cpu->r[0]);
|
|
/* 02508514 */ _t221 = cpu->r[25] + 0x000001D8u;
|
|
/* 02508514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02508518 */ _t222 = cpu->r[27] + 0x000001D8u;
|
|
/* 02508518 */ rbrew_write32(cpu->mem, _t222, cpu->r[0]);
|
|
/* 0250851C */ _t223 = cpu->r[25] + 0x000001DCu;
|
|
/* 0250851C */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02508520 */ _t224 = cpu->r[27] + 0x000001DCu;
|
|
/* 02508520 */ rbrew_write32(cpu->mem, _t224, cpu->r[0]);
|
|
/* 02508524 */ _t225 = cpu->r[25] + 0x000001E0u;
|
|
/* 02508524 */ cpu->r[4] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02508528 */ _t226 = cpu->r[27] + 0x000001E0u;
|
|
/* 02508528 */ rbrew_write32(cpu->mem, _t226, cpu->r[4]);
|
|
/* 0250852C */ _t227 = cpu->r[25] + 0x000001E4u;
|
|
/* 0250852C */ cpu->r[5] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02508530 */ _t228 = cpu->r[27] + 0x000001E4u;
|
|
/* 02508530 */ rbrew_write32(cpu->mem, _t228, cpu->r[5]);
|
|
/* 02508534 */ _t229 = cpu->r[25] + 0x000001E8u;
|
|
/* 02508534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02508538 */ _t230 = cpu->r[27] + 0x000001E8u;
|
|
/* 02508538 */ rbrew_write32(cpu->mem, _t230, cpu->r[0]);
|
|
/* 0250853C */ _t231 = cpu->r[25] + 0x000001ECu;
|
|
/* 0250853C */ cpu->r[7] = rbrew_read32(cpu->mem, _t231);
|
|
/* 02508540 */ _t232 = cpu->r[27] + 0x000001ECu;
|
|
/* 02508540 */ rbrew_write32(cpu->mem, _t232, cpu->r[7]);
|
|
/* 02508544 */ _t233 = cpu->r[25] + 0x000001F0u;
|
|
/* 02508544 */ cpu->r[8] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02508548 */ _t234 = cpu->r[27] + 0x000001F0u;
|
|
/* 02508548 */ rbrew_write32(cpu->mem, _t234, cpu->r[8]);
|
|
/* 0250854C */ _t235 = cpu->r[25] + 0x000001F4u;
|
|
/* 0250854C */ cpu->r[9] = rbrew_read32(cpu->mem, _t235);
|
|
/* 02508550 */ cpu->r[0] = 0x00000007u;
|
|
/* 02508554 */ cpu->r[11] = cpu->r[25] + 0x000001F8u;
|
|
/* 02508558 */ _t236 = cpu->r[27] + 0x000001F4u;
|
|
/* 02508558 */ rbrew_write32(cpu->mem, _t236, cpu->r[9]);
|
|
/* 0250855C */ _t237 = cpu->r[25] + 0x000001F8u;
|
|
/* 0250855C */ cpu->r[10] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02508560 */ cpu->ctr = cpu->r[0];
|
|
/* 02508564 */ cpu->r[12] = cpu->r[27] + 0x000001F8u;
|
|
/* 02508568 */ _t238 = cpu->r[27] + 0x000001F8u;
|
|
/* 02508568 */ rbrew_write32(cpu->mem, _t238, cpu->r[10]);
|
|
L_0250856C: ; // 0x250856c
|
|
/* 0250856C */ _t239 = cpu->r[11] + 0x00000004u;
|
|
/* 0250856C */ cpu->r[4] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02508570 */ _t240 = cpu->r[12] + 0x00000004u;
|
|
/* 02508570 */ rbrew_write32(cpu->mem, _t240, cpu->r[4]);
|
|
/* 02508574 */ _t241 = cpu->r[11] + 0x00000008u;
|
|
/* 02508574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02508578 */ _t242 = cpu->r[12] + 0x00000008u;
|
|
/* 02508578 */ rbrew_write32(cpu->mem, _t242, cpu->r[0]);
|
|
/* 0250857C */ _t243 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0250857C */ cpu->r[6] = rbrew_read32(cpu->mem, _t243);
|
|
/* 0250857C */ cpu->r[11] = _t243;
|
|
/* 02508580 */ _t244 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02508580 */ rbrew_write32(cpu->mem, _t244, cpu->r[6]);
|
|
/* 02508580 */ cpu->r[12] = _t244;
|
|
/* 02508584 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02508584 */ _t245 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02508584 */ _t246 = _t245 >> (0x00000002u & 31u);
|
|
/* 02508584 */ _t247 = _t246 & 0x00000001u;
|
|
/* 02508584 */ if (_t247) goto L_0250856C; else goto L_02508588;
|
|
L_02508588: ; // 0x2508588
|
|
/* 02508588 */ _t248 = cpu->r[25] + 0x00000250u;
|
|
/* 02508588 */ cpu->r[7] = rbrew_read32(cpu->mem, _t248);
|
|
/* 0250858C */ _t249 = cpu->r[27] + 0x00000250u;
|
|
/* 0250858C */ rbrew_write32(cpu->mem, _t249, cpu->r[7]);
|
|
/* 02508590 */ _t250 = cpu->r[25] + 0x00000254u;
|
|
/* 02508590 */ cpu->r[8] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02508594 */ _t251 = cpu->r[27] + 0x00000254u;
|
|
/* 02508594 */ rbrew_write32(cpu->mem, _t251, cpu->r[8]);
|
|
/* 02508598 */ _t252 = cpu->r[25] + 0x00000258u;
|
|
/* 02508598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t252);
|
|
/* 0250859C */ _t253 = cpu->r[27] + 0x00000258u;
|
|
/* 0250859C */ rbrew_write32(cpu->mem, _t253, cpu->r[9]);
|
|
/* 025085A0 */ _t254 = cpu->r[25] + 0x0000025Cu;
|
|
/* 025085A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t254);
|
|
/* 025085A4 */ _t255 = cpu->r[27] + 0x0000025Cu;
|
|
/* 025085A4 */ rbrew_write32(cpu->mem, _t255, cpu->r[10]);
|
|
/* 025085A8 */ _t256 = cpu->r[25] + 0x00000260u;
|
|
/* 025085A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t256);
|
|
/* 025085AC */ _t257 = cpu->r[27] + 0x00000260u;
|
|
/* 025085AC */ rbrew_write32(cpu->mem, _t257, cpu->r[11]);
|
|
/* 025085B0 */ _t258 = cpu->r[25] + 0x00000264u;
|
|
/* 025085B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t258);
|
|
/* 025085B4 */ _t259 = cpu->r[27] + 0x00000264u;
|
|
/* 025085B4 */ rbrew_write32(cpu->mem, _t259, cpu->r[12]);
|
|
/* 025085B8 */ _t260 = cpu->r[25] + 0x00000268u;
|
|
/* 025085B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t260);
|
|
/* 025085BC */ _t261 = cpu->r[27] + 0x00000268u;
|
|
/* 025085BC */ rbrew_write8(cpu->mem, _t261, (uint8_t)cpu->r[0]);
|
|
/* 025085C0 */ _t262 = cpu->r[25] + 0x0000026Cu;
|
|
/* 025085C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t262);
|
|
/* 025085C4 */ _t263 = cpu->r[27] + 0x0000026Cu;
|
|
/* 025085C4 */ rbrew_write32(cpu->mem, _t263, cpu->r[4]);
|
|
/* 025085C8 */ _t264 = cpu->r[25] + 0x00000270u;
|
|
/* 025085C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t264);
|
|
/* 025085CC */ _t265 = cpu->r[27] + 0x00000270u;
|
|
/* 025085CC */ rbrew_write32(cpu->mem, _t265, cpu->r[5]);
|
|
/* 025085D0 */ _t266 = cpu->r[25] + 0x00000274u;
|
|
/* 025085D0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t266);
|
|
/* 025085D4 */ _t267 = cpu->r[27] + 0x00000274u;
|
|
/* 025085D4 */ rbrew_write8(cpu->mem, _t267, (uint8_t)cpu->r[6]);
|
|
/* 025085D8 */ _t268 = cpu->r[25] + 0x00000275u;
|
|
/* 025085D8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t268);
|
|
/* 025085DC */ _t269 = cpu->r[27] + 0x00000275u;
|
|
/* 025085DC */ rbrew_write8(cpu->mem, _t269, (uint8_t)cpu->r[7]);
|
|
/* 025085E0 */ _t270 = cpu->r[25] + 0x00000278u;
|
|
/* 025085E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t270);
|
|
/* 025085E4 */ _t271 = cpu->r[27] + 0x00000278u;
|
|
/* 025085E4 */ rbrew_write32(cpu->mem, _t271, cpu->r[8]);
|
|
/* 025085E8 */ _t272 = cpu->r[25] + 0x0000027Cu;
|
|
/* 025085E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t272);
|
|
/* 025085EC */ _t273 = cpu->r[27] + 0x0000027Cu;
|
|
/* 025085EC */ rbrew_write32(cpu->mem, _t273, cpu->r[9]);
|
|
/* 025085F0 */ _t274 = cpu->r[25] + 0x00000280u;
|
|
/* 025085F0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t274);
|
|
/* 025085F4 */ _t275 = cpu->r[27] + 0x00000280u;
|
|
/* 025085F4 */ rbrew_write16(cpu->mem, _t275, (uint16_t)cpu->r[0]);
|
|
/* 025085F8 */ _t276 = cpu->r[25] + 0x00000284u;
|
|
/* 025085F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t276);
|
|
/* 025085FC */ _t277 = cpu->r[27] + 0x00000284u;
|
|
/* 025085FC */ rbrew_write32(cpu->mem, _t277, cpu->r[12]);
|
|
/* 02508600 */ _t278 = cpu->r[25] + 0x00000288u;
|
|
/* 02508600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02508604 */ _t279 = cpu->r[27] + 0x00000288u;
|
|
/* 02508604 */ rbrew_write32(cpu->mem, _t279, cpu->r[0]);
|
|
/* 02508608 */ _t280 = cpu->r[25] + 0x0000028Cu;
|
|
/* 02508608 */ cpu->r[6] = rbrew_read32(cpu->mem, _t280);
|
|
/* 0250860C */ _t281 = cpu->r[27] + 0x0000028Cu;
|
|
/* 0250860C */ rbrew_write32(cpu->mem, _t281, cpu->r[6]);
|
|
/* 02508610 */ _t282 = cpu->r[25] + 0x00000290u;
|
|
/* 02508610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t282);
|
|
/* 02508614 */ _t283 = cpu->r[27] + 0x00000290u;
|
|
/* 02508614 */ rbrew_write32(cpu->mem, _t283, cpu->r[7]);
|
|
/* 02508618 */ _t284 = cpu->r[25] + 0x00000294u;
|
|
/* 02508618 */ cpu->r[9] = rbrew_read32(cpu->mem, _t284);
|
|
/* 0250861C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02508620 */ _t285 = cpu->r[27] + 0x00000294u;
|
|
/* 02508620 */ rbrew_write32(cpu->mem, _t285, cpu->r[9]);
|
|
/* 02508624 */ _t286 = cpu->r[25] + 0x00000298u;
|
|
/* 02508624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02508628 */ cpu->r[6] = 0x02510000u;
|
|
/* 0250862C */ cpu->r[4] = 0x00000004u;
|
|
/* 02508630 */ cpu->r[5] = 0x0000004Cu;
|
|
/* 02508634 */ _t287 = cpu->r[27] + 0x00000298u;
|
|
/* 02508634 */ rbrew_write32(cpu->mem, _t287, cpu->r[0]);
|
|
/* 02508638 */ cpu->r[7] = 0x00000000u;
|
|
/* 0250863C */ _t288 = cpu->r[25] + 0x0000029Cu;
|
|
/* 0250863C */ cpu->r[0] = rbrew_read8(cpu->mem, _t288);
|
|
/* 02508640 */ cpu->r[8] = cpu->r[7];
|
|
/* 02508644 */ cpu->r[6] = cpu->r[6] + 0xFFFF9288u;
|
|
/* 02508648 */ _t289 = cpu->r[27] + 0x0000029Cu;
|
|
/* 02508648 */ rbrew_write8(cpu->mem, _t289, (uint8_t)cpu->r[0]);
|
|
/* 0250864C */ Gambit_fn_02C82F38(cpu);
|
|
/* 02508650 */ cpu->r[3] = cpu->r[27];
|
|
/* 02508654 */ cpu->r[4] = cpu->r[29] + 0x0000022Cu;
|
|
/* 02508658 */ Gambit_fn_020F7F44(cpu);
|
|
/* 0250865C */ cpu->r[4] = 0x00000003u;
|
|
/* 02508660 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 02508664 */ Gambit_fn_024FFFA4(cpu);
|
|
/* 02508668 */ cpu->r[4] = 0x00000002u;
|
|
/* 0250866C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02508670 */ Gambit_fn_0217354C(cpu);
|
|
/* 02508674 */ /* nop */
|
|
/* 02508678 */ _t290 = cpu->r[1] + 0x000002F4u;
|
|
/* 02508678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t290);
|
|
/* 0250867C */ cpu->lr = cpu->r[0];
|
|
/* 02508680 */ cpu->r[1] = cpu->r[1] + 0x000002F0u;
|
|
/* 02508684 */ return;
|
|
L_02508688: ; // 0x2508688
|
|
/* 02508688 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250868C */ Gambit_fn_02507E84(cpu);
|
|
/* 02508690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508694 */ _t291 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508694 */ _t292 = _t291 & 0x00000001u;
|
|
/* 02508694 */ if (_t292) goto L_025086A4; else goto L_02508698;
|
|
L_02508698: ; // 0x2508698
|
|
/* 02508698 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 0250869C */ cpu->r[4] = 0x00000005u;
|
|
/* 025086A0 */ Gambit_fn_024FFFA4(cpu);
|
|
L_025086A4: ; // 0x25086a4
|
|
/* 025086A4 */ /* nop */
|
|
/* 025086A8 */ _t293 = cpu->r[1] + 0x000002F4u;
|
|
/* 025086A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t293);
|
|
/* 025086AC */ cpu->lr = cpu->r[0];
|
|
/* 025086B0 */ cpu->r[1] = cpu->r[1] + 0x000002F0u;
|
|
/* 025086B4 */ return;
|
|
}
|
|
|
|
// fn_025086BC @ 0x25086bc
|
|
void Gambit_fn_025086BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_025086BC: ; // 0x25086bc
|
|
/* 025086BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025086BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025086BC */ cpu->r[1] = _t0;
|
|
/* 025086C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025086C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025086C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 025086C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025086C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025086CC */ Gambit_fn_027F57C0(cpu);
|
|
/* 025086D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025086D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025086D4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 025086D4 */ if (_t4) goto L_025086EC; else goto L_025086D8;
|
|
L_025086D8: ; // 0x25086d8
|
|
/* 025086D8 */ cpu->r[0] = 0x00000001u;
|
|
/* 025086DC */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025086E0 */ cpu->r[4] = 0x00000004u;
|
|
/* 025086E4 */ _t5 = cpu->r[31] + 0x00000614u;
|
|
/* 025086E4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 025086E8 */ Gambit_fn_024FFFA4(cpu);
|
|
L_025086EC: ; // 0x25086ec
|
|
/* 025086EC */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 025086EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025086F0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025086F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025086F4 */ cpu->lr = cpu->r[0];
|
|
/* 025086F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025086FC */ return;
|
|
}
|
|
|
|
// fn_02508704 @ 0x2508704
|
|
void Gambit_fn_02508704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02508704: ; // 0x2508704
|
|
/* 02508704 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02508704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02508704 */ cpu->r[1] = _t0;
|
|
/* 02508708 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02508708 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250870C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250870C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02508710 */ cpu->r[30] = cpu->r[3];
|
|
/* 02508714 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02508714 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02508718 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02508718 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0250871C */ Gambit_fn_0200961C(cpu);
|
|
/* 02508720 */ _t5 = cpu->r[30] + 0x000001B8u;
|
|
/* 02508720 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02508724 */ cpu->r[29] = 0x00000000u;
|
|
/* 02508728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250872C */ cpu->r[31] = cpu->r[3];
|
|
/* 02508730 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508730 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02508730 */ if (_t7) goto L_02508734; else goto L_02508770;
|
|
L_02508734: ; // 0x2508734
|
|
/* 02508734 */ _t8 = cpu->r[31] + 0x00000064u;
|
|
/* 02508734 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02508738 */ cpu->r[12] = 0x00000001u;
|
|
/* 0250873C */ _t9 = cpu->r[31] + 0x00000090u;
|
|
/* 0250873C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 02508740 */ _t10 = cpu->r[30] + 0x00000610u;
|
|
/* 02508740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02508744 */ _t11 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02508744 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02508748 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250874C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0250874C */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02508750 */ Gambit_fn_026FB6A4(cpu);
|
|
/* 02508754 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02508754 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02508758 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02508758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250875C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0250875C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02508760 */ cpu->lr = cpu->r[0];
|
|
/* 02508764 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02508764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02508768 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0250876C */ return;
|
|
L_02508770: ; // 0x2508770
|
|
/* 02508770 */ Gambit_fn_026FBCB8(cpu);
|
|
/* 02508774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508778 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508778 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02508778 */ if (_t18) goto L_0250877C; else goto L_025087EC;
|
|
L_0250877C: ; // 0x250877c
|
|
/* 0250877C */ Gambit_fn_027F57C0(cpu);
|
|
/* 02508780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508784 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508784 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02508784 */ if (_t20) goto L_025087C4; else goto L_02508788;
|
|
L_02508788: ; // 0x2508788
|
|
/* 02508788 */ _t21 = cpu->r[31] + 0x00000064u;
|
|
/* 02508788 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250878C */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02508790 */ _t22 = cpu->r[31] + 0x00000090u;
|
|
/* 02508790 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[29]);
|
|
/* 02508794 */ cpu->r[0] = 0x00000001u;
|
|
/* 02508798 */ _t23 = cpu->r[7] + 0x0000004Cu;
|
|
/* 02508798 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 0250879C */ cpu->r[4] = 0x00000004u;
|
|
/* 025087A0 */ _t24 = cpu->r[30] + 0x00000614u;
|
|
/* 025087A0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 025087A4 */ Gambit_fn_024FFFA4(cpu);
|
|
/* 025087A8 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025087A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025087AC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025087AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025087B0 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 025087B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 025087B4 */ cpu->lr = cpu->r[0];
|
|
/* 025087B8 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 025087B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 025087BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025087C0 */ return;
|
|
L_025087C4: ; // 0x25087c4
|
|
/* 025087C4 */ Gambit_fn_027F5790(cpu);
|
|
/* 025087C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025087CC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025087CC */ _t30 = _t29 & 0x00000001u;
|
|
/* 025087CC */ if (_t30) goto L_025087EC; else goto L_025087D0;
|
|
L_025087D0: ; // 0x25087d0
|
|
/* 025087D0 */ _t31 = cpu->r[31] + 0x00000064u;
|
|
/* 025087D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025087D4 */ _t32 = cpu->r[31] + 0x00000090u;
|
|
/* 025087D4 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
|
|
/* 025087D8 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 025087DC */ _t33 = cpu->r[8] + 0x0000004Cu;
|
|
/* 025087DC */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 025087E0 */ cpu->r[4] = 0x00000004u;
|
|
/* 025087E4 */ _t34 = cpu->r[30] + 0x00000614u;
|
|
/* 025087E4 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[29]);
|
|
/* 025087E8 */ Gambit_fn_024FFFA4(cpu);
|
|
L_025087EC: ; // 0x25087ec
|
|
/* 025087EC */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025087EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025087F0 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025087F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025087F4 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 025087F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025087F8 */ cpu->lr = cpu->r[0];
|
|
/* 025087FC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 025087FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02508800 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02508804 */ return;
|
|
}
|
|
|
|
// fn_02508808 @ 0x2508808
|
|
void Gambit_fn_02508808(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02508808: ; // 0x2508808
|
|
/* 02508808 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02508808 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02508808 */ cpu->r[1] = _t0;
|
|
/* 0250880C */ /* nop */
|
|
/* 02508810 */ cpu->r[0] = cpu->lr;
|
|
/* 02508814 */ cpu->r[26] = 0x101F0000u;
|
|
/* 02508818 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02508818 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0250881C */ cpu->r[26] = cpu->r[26] + 0x000066E8u;
|
|
/* 02508820 */ _t2 = cpu->r[26] + 0x00000004u;
|
|
/* 02508820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02508824 */ cpu->r[28] = cpu->r[3];
|
|
/* 02508828 */ _t3 = cpu->r[9] + 0x00000014u;
|
|
/* 02508828 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250882C */ _t4 = cpu->r[28] + 0x000005C4u;
|
|
/* 0250882C */ cpu->r[25] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02508830 */ cpu->ctr = cpu->r[10];
|
|
/* 02508834 */ cpu->r[27] = cpu->r[9] + 0x00000010u;
|
|
/* 02508838 */ cpu->r[3] = cpu->r[26];
|
|
/* 0250883C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02508840 */ _t5 = cpu->r[26] + 0x00000000u;
|
|
/* 02508840 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02508844 */ cpu->r[31] = 0x10110000u;
|
|
/* 02508848 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02508848 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0250884C */ cpu->r[6] = cpu->r[29];
|
|
/* 02508850 */ _t7 = cpu->r[6] + 0x00000000u;
|
|
/* 02508850 */ cpu->r[11] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02508854 */ cpu->r[30] = 0x00000000u;
|
|
/* 02508858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0250885C */ cpu->r[7] = 0x00080000u;
|
|
/* 02508860 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508860 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02508860 */ if (_t9) goto L_02508888; else goto L_02508864;
|
|
L_02508864: ; // 0x2508864
|
|
/* 02508864 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02508868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0250886C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02508870 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02508870 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02508870 */ if (_t11) goto L_02508884; else goto L_02508874;
|
|
L_02508874: ; // 0x2508874
|
|
/* 02508874 */ _t12 = cpu->r[6] + 0x00000000u;
|
|
/* 02508874 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02508878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0250887C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250887C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0250887C */ if (_t14) goto L_02508880; else goto L_02508864;
|
|
L_02508880: ; // 0x2508880
|
|
/* 02508880 */ goto L_02508888;
|
|
L_02508884: ; // 0x2508884
|
|
/* 02508884 */ cpu->r[30] = 0x00000000u;
|
|
L_02508888: ; // 0x2508888
|
|
/* 02508888 */ _t15 = cpu->r[28] + 0x000005CCu;
|
|
/* 02508888 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250888C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02508890 */ _t16 = cpu->r[27] + 0x00000004u;
|
|
/* 02508890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02508894 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02508894 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02508894 */ if (_t18) goto L_0250889C; else goto L_02508898;
|
|
L_02508898: ; // 0x2508898
|
|
/* 02508898 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0250889C: ; // 0x250889c
|
|
/* 0250889C */ cpu->ctr = cpu->r[0];
|
|
/* 025088A0 */ cpu->r[3] = cpu->r[26];
|
|
/* 025088A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025088A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025088AC */ cpu->r[5] = cpu->r[30];
|
|
/* 025088B0 */ cpu->r[4] = cpu->r[29];
|
|
/* 025088B4 */ cpu->r[3] = cpu->r[25];
|
|
/* 025088B8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025088BC */ cpu->r[29] = 0x101C0000u;
|
|
/* 025088C0 */ _t19 = cpu->r[25] + cpu->r[30];
|
|
/* 025088C0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
/* 025088C4 */ _t20 = cpu->r[29] + 0x00003708u;
|
|
/* 025088C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025088C4 */ cpu->r[29] = _t20;
|
|
/* 025088C8 */ Gambit_fn_020FF8D0(cpu);
|
|
/* 025088CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025088D0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025088D0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 025088D0 */ if (_t22) goto L_02508974; else goto L_025088D4;
|
|
L_025088D4: ; // 0x25088d4
|
|
/* 025088D4 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 025088D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025088D8 */ Gambit_fn_020FF8D0(cpu);
|
|
/* 025088DC */ rbrew_dispatch(cpu, 0x02d0c830u);
|
|
/* 025088E0 */ _t24 = cpu->r[28] + 0x000005C4u;
|
|
/* 025088E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 025088E4 */ cpu->r[7] = 0x100C0000u;
|
|
/* 025088E8 */ cpu->r[7] = cpu->r[7] + 0xFFFFE304u;
|
|
/* 025088EC */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 025088EC */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 025088F0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025088F4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025088F4 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 025088F8 */ Gambit_fn_02509048(cpu);
|
|
/* 025088FC */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 025088FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02508900 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02508900 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02508904 */ cpu->r[30] = 0x00000000u;
|
|
/* 02508908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0250890C */ cpu->r[0] = 0x00080000u;
|
|
/* 02508910 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508910 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02508910 */ if (_t30) goto L_02508938; else goto L_02508914;
|
|
L_02508914: ; // 0x2508914
|
|
/* 02508914 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02508918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0250891C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02508920 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02508920 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02508920 */ if (_t32) goto L_02508934; else goto L_02508924;
|
|
L_02508924: ; // 0x2508924
|
|
/* 02508924 */ _t33 = cpu->r[12] + 0x00000000u;
|
|
/* 02508924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02508928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0250892C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250892C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0250892C */ if (_t35) goto L_02508930; else goto L_02508914;
|
|
L_02508930: ; // 0x2508930
|
|
/* 02508930 */ goto L_02508938;
|
|
L_02508934: ; // 0x2508934
|
|
/* 02508934 */ cpu->r[30] = 0x00000000u;
|
|
L_02508938: ; // 0x2508938
|
|
/* 02508938 */ _t36 = cpu->r[28] + 0x000005CCu;
|
|
/* 02508938 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0250893C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250893C */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02508940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02508944 */ _t38 = cpu->r[10] + 0x00000014u;
|
|
/* 02508944 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02508948 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02508948 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02508948 */ if (_t40) goto L_02508950; else goto L_0250894C;
|
|
L_0250894C: ; // 0x250894c
|
|
/* 0250894C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02508950: ; // 0x2508950
|
|
/* 02508950 */ cpu->ctr = cpu->r[11];
|
|
/* 02508954 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02508958 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250895C */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 0250895C */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02508960 */ cpu->r[6] = 0x00000000u;
|
|
/* 02508964 */ cpu->r[5] = cpu->r[30];
|
|
/* 02508968 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250896C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02508970 */ _t42 = cpu->r[29] + cpu->r[30];
|
|
/* 02508970 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[31]);
|
|
L_02508974: ; // 0x2508974
|
|
/* 02508974 */ cpu->r[0] = 0x00000000u;
|
|
/* 02508978 */ _t43 = cpu->r[28] + 0x00000615u;
|
|
/* 02508978 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]);
|
|
/* 0250897C */ /* nop */
|
|
/* 02508980 */ _t44 = cpu->r[1] + 0x00000034u;
|
|
/* 02508980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02508984 */ cpu->lr = cpu->r[0];
|
|
/* 02508988 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250898C */ return;
|
|
}
|
|
|
|
// fn_02508990 @ 0x2508990
|
|
void Gambit_fn_02508990(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99;
|
|
|
|
L_02508990: ; // 0x2508990
|
|
/* 02508990 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02508990 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02508990 */ cpu->r[1] = _t0;
|
|
/* 02508994 */ /* nop */
|
|
/* 02508998 */ cpu->r[0] = cpu->lr;
|
|
/* 0250899C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250899C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025089A0 */ cpu->r[10] = 0x101C0000u;
|
|
/* 025089A4 */ _t2 = cpu->r[10] + 0x00006000u;
|
|
/* 025089A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025089A8 */ _t3 = cpu->r[10] + 0x00000250u;
|
|
/* 025089A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025089AC */ _t4 = cpu->r[6] + 0x00000250u;
|
|
/* 025089AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025089B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025089B4 */ _t5 = cpu->r[8] + 0x000000B0u;
|
|
/* 025089B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025089B8 */ Gambit_fn_020709D4(cpu);
|
|
/* 025089BC */ _t6 = cpu->r[31] + 0x00000614u;
|
|
/* 025089BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 025089C0 */ cpu->r[28] = 0x101C0000u;
|
|
/* 025089C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025089C8 */ cpu->r[29] = 0x101C0000u;
|
|
/* 025089CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025089CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 025089CC */ if (_t8) goto L_02508A0C; else goto L_025089D0;
|
|
L_025089D0: ; // 0x25089d0
|
|
/* 025089D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025089D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025089D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025089D4 */ if (_t10) goto L_02508C44; else goto L_025089D8;
|
|
L_025089D8: ; // 0x25089d8
|
|
/* 025089D8 */ _t11 = cpu->r[31] + 0x00000615u;
|
|
/* 025089D8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 025089DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025089E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025089E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025089E0 */ if (_t13) goto L_025089E4; else goto L_02508A0C;
|
|
L_025089E4: ; // 0x25089e4
|
|
/* 025089E4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025089E8 */ _t14 = cpu->r[31] + 0x00000615u;
|
|
/* 025089E8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 025089EC */ _t15 = cpu->r[29] + 0x00007BA0u;
|
|
/* 025089EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025089F0 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 025089F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025089F4 */ _t17 = cpu->r[7] + 0x000001B4u;
|
|
/* 025089F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025089F8 */ cpu->ctr = cpu->r[9];
|
|
/* 025089FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02508A00 */ _t18 = cpu->r[28] + 0x00003708u;
|
|
/* 02508A00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02508A04 */ cpu->r[4] = cpu->r[31] + 0x00000324u;
|
|
/* 02508A08 */ Gambit_fn_020FFD74(cpu);
|
|
L_02508A0C: ; // 0x2508a0c
|
|
/* 02508A0C */ _t19 = cpu->r[28] + 0x00003708u;
|
|
/* 02508A0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02508A10 */ Gambit_fn_020FFECC(cpu);
|
|
/* 02508A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508A18 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508A18 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02508A18 */ if (_t21) goto L_02508A1C; else goto L_02508A28;
|
|
L_02508A1C: ; // 0x2508a1c
|
|
/* 02508A1C */ _t22 = cpu->r[31] + 0x00000614u;
|
|
/* 02508A1C */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02508A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02508A24 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508A24 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02508A24 */ if (_t24) goto L_02508A28; else goto L_02508C44;
|
|
L_02508A28: ; // 0x2508a28
|
|
/* 02508A28 */ _t25 = cpu->r[28] + 0x00003708u;
|
|
/* 02508A28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02508A2C */ Gambit_fn_020FFF18(cpu);
|
|
/* 02508A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508A34 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508A34 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02508A34 */ if (_t27) goto L_02508C04; else goto L_02508A38;
|
|
L_02508A38: ; // 0x2508a38
|
|
/* 02508A38 */ _t28 = cpu->r[31] + 0x00000614u;
|
|
/* 02508A38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02508A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02508A40 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508A40 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02508A40 */ if (_t30) goto L_02508C04; else goto L_02508A44;
|
|
L_02508A44: ; // 0x2508a44
|
|
/* 02508A44 */ _t31 = cpu->r[28] + 0x00003708u;
|
|
/* 02508A44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02508A48 */ Gambit_fn_020FF8D0(cpu);
|
|
/* 02508A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508A50 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508A50 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02508A50 */ if (_t33) goto L_02508B4C; else goto L_02508A54;
|
|
L_02508A54: ; // 0x2508a54
|
|
/* 02508A54 */ _t34 = cpu->r[28] + 0x00003708u;
|
|
/* 02508A54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02508A58 */ Gambit_fn_020FF8D0(cpu);
|
|
/* 02508A5C */ rbrew_dispatch(cpu, 0x02d0c830u);
|
|
/* 02508A60 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02508A64 */ _t35 = cpu->r[31] + 0x000005C8u;
|
|
/* 02508A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02508A68 */ cpu->r[6] = cpu->r[6] + 0xFFFFE304u;
|
|
/* 02508A6C */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02508A6C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02508A70 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02508A70 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 02508A74 */ _t38 = cpu->r[8] + 0x00000014u;
|
|
/* 02508A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02508A78 */ cpu->ctr = cpu->r[0];
|
|
/* 02508A7C */ cpu->r[3] = cpu->r[31] + 0x000005C4u;
|
|
/* 02508A80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02508A84 */ _t39 = cpu->r[31] + 0x000005C8u;
|
|
/* 02508A84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02508A88 */ _t40 = cpu->r[10] + 0x00000014u;
|
|
/* 02508A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02508A8C */ cpu->ctr = cpu->r[0];
|
|
/* 02508A90 */ cpu->r[3] = cpu->r[31] + 0x000005C4u;
|
|
/* 02508A94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02508A98 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02508A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02508A9C */ _t42 = cpu->r[12] + 0x00000014u;
|
|
/* 02508A9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02508AA0 */ cpu->ctr = cpu->r[6];
|
|
/* 02508AA4 */ _t43 = cpu->r[31] + 0x000005C4u;
|
|
/* 02508AA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02508AA8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02508AAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02508AB0 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02508AB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02508AB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 02508AB8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508AB8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02508AB8 */ if (_t46) goto L_02508B3C; else goto L_02508ABC;
|
|
L_02508ABC: ; // 0x2508abc
|
|
/* 02508ABC */ cpu->r[12] = 0x10110000u;
|
|
/* 02508AC0 */ _t47 = cpu->r[31] + 0x000005C4u;
|
|
/* 02508AC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02508AC4 */ cpu->r[0] = 0x00080000u;
|
|
/* 02508AC8 */ _t48 = cpu->r[12] + 0x00007399u;
|
|
/* 02508AC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02508ACC */ cpu->ctr = cpu->r[0];
|
|
/* 02508AD0 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02508AD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02508AD4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02508AD8: ; // 0x2508ad8
|
|
/* 02508AD8 */ _t50 = cpu->r[6] + 0x00000001u;
|
|
/* 02508AD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02508AD8 */ cpu->r[6] = _t50;
|
|
/* 02508ADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02508AE0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508AE0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02508AE0 */ if (_t52) goto L_02508AE4; else goto L_02508AF4;
|
|
L_02508AE4: ; // 0x2508ae4
|
|
/* 02508AE4 */ _t53 = cpu->r[11] + 0x00000000u;
|
|
/* 02508AE4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02508AE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02508AEC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508AEC */ _t55 = _t54 & 0x00000001u;
|
|
/* 02508AEC */ if (_t55) goto L_02508AF0; else goto L_02508B0C;
|
|
L_02508AF0: ; // 0x2508af0
|
|
/* 02508AF0 */ goto L_02508B3C;
|
|
L_02508AF4: ; // 0x2508af4
|
|
/* 02508AF4 */ _t56 = cpu->r[11] + 0x00000000u;
|
|
/* 02508AF4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02508AF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02508AFC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508AFC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02508AFC */ if (_t58) goto L_02508B20; else goto L_02508B00;
|
|
L_02508B00: ; // 0x2508b00
|
|
/* 02508B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02508B04 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02508B04 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02508B04 */ if (_t60) goto L_02508B20; else goto L_02508B08;
|
|
L_02508B08: ; // 0x2508b08
|
|
/* 02508B08 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02508B08 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02508B08 */ if (_t62) goto L_02508B0C; else goto L_02508B34;
|
|
L_02508B0C: ; // 0x2508b0c
|
|
/* 02508B0C */ _t63 = cpu->r[31] + 0x00000030u;
|
|
/* 02508B0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02508B10 */ cpu->r[5] = 0x00000001u;
|
|
/* 02508B14 */ cpu->r[4] = 0x00000003u;
|
|
/* 02508B18 */ Gambit_fn_027B8224(cpu);
|
|
/* 02508B1C */ goto L_02508B4C;
|
|
L_02508B20: ; // 0x2508b20
|
|
/* 02508B20 */ _t64 = cpu->r[31] + 0x00000030u;
|
|
/* 02508B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02508B24 */ cpu->r[5] = 0x00000001u;
|
|
/* 02508B28 */ cpu->r[4] = 0x00000003u;
|
|
/* 02508B2C */ Gambit_fn_027B8224(cpu);
|
|
/* 02508B30 */ goto L_02508B4C;
|
|
L_02508B34: ; // 0x2508b34
|
|
/* 02508B34 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02508B38 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02508B38 */ _t65 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02508B38 */ _t66 = _t65 >> (0x00000002u & 31u);
|
|
/* 02508B38 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02508B38 */ if (_t67) goto L_02508AD8; else goto L_02508B3C;
|
|
L_02508B3C: ; // 0x2508b3c
|
|
/* 02508B3C */ _t68 = cpu->r[31] + 0x00000030u;
|
|
/* 02508B3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02508B40 */ cpu->r[5] = 0x00000000u;
|
|
/* 02508B44 */ cpu->r[4] = 0x00000003u;
|
|
/* 02508B48 */ Gambit_fn_027B8224(cpu);
|
|
L_02508B4C: ; // 0x2508b4c
|
|
/* 02508B4C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02508B50 */ Gambit_fn_021734AC(cpu);
|
|
/* 02508B54 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02508B58 */ Gambit_fn_02173798(cpu);
|
|
/* 02508B5C */ cpu->r[30] = 0x00010000u;
|
|
/* 02508B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508B64 */ cpu->r[30] = cpu->r[30] + 0xFFFFC4F8u;
|
|
/* 02508B68 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508B68 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02508B68 */ if (_t70) goto L_02508BDC; else goto L_02508B6C;
|
|
L_02508B6C: ; // 0x2508b6c
|
|
/* 02508B6C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02508B70 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02508B74 */ Gambit_fn_021735AC(cpu);
|
|
/* 02508B78 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 02508B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02508B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02508B80 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508B80 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02508B80 */ if (_t73) goto L_02508B8C; else goto L_02508B84;
|
|
L_02508B84: ; // 0x2508b84
|
|
/* 02508B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02508B88 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508B88 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02508B88 */ if (_t75) goto L_02508B8C; else goto L_02508BDC;
|
|
L_02508B8C: ; // 0x2508b8c
|
|
/* 02508B8C */ _t76 = cpu->r[29] + 0x00007BA0u;
|
|
/* 02508B8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02508B90 */ _t77 = cpu->r[10] + 0x00000314u;
|
|
/* 02508B90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02508B94 */ Gambit_fn_024457A0(cpu);
|
|
/* 02508B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508B9C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508B9C */ _t79 = _t78 & 0x00000001u;
|
|
/* 02508B9C */ if (_t79) goto L_02508BDC; else goto L_02508BA0;
|
|
L_02508BA0: ; // 0x2508ba0
|
|
/* 02508BA0 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02508BA4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02508BA8 */ _t80 = cpu->r[28] + 0x00003708u;
|
|
/* 02508BA8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02508BAC */ Gambit_fn_021735AC(cpu);
|
|
/* 02508BB0 */ _t81 = cpu->r[1] + 0x00000020u;
|
|
/* 02508BB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02508BB4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02508BB8 */ _t82 = cpu->r[27] + cpu->r[30];
|
|
/* 02508BB8 */ rbrew_write32(cpu->mem, _t82, cpu->r[11]);
|
|
/* 02508BBC */ _t83 = cpu->r[28] + 0x00003708u;
|
|
/* 02508BBC */ cpu->r[28] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02508BC0 */ Gambit_fn_02173560(cpu);
|
|
/* 02508BC4 */ cpu->r[11] = cpu->r[28] + cpu->r[30];
|
|
/* 02508BC8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02508BCC */ _t84 = cpu->r[11] + 0x00000004u;
|
|
/* 02508BCC */ rbrew_write32(cpu->mem, _t84, cpu->r[3]);
|
|
/* 02508BD0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02508BD4 */ Gambit_fn_0217354C(cpu);
|
|
/* 02508BD8 */ goto L_02508C04;
|
|
L_02508BDC: ; // 0x2508bdc
|
|
/* 02508BDC */ _t85 = cpu->r[28] + 0x00003708u;
|
|
/* 02508BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02508BE0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02508BE4 */ _t86 = cpu->r[12] + cpu->r[30];
|
|
/* 02508BE4 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 02508BE8 */ _t87 = cpu->r[28] + 0x00003708u;
|
|
/* 02508BE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02508BEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02508BF0 */ cpu->r[11] = cpu->r[6] + cpu->r[30];
|
|
/* 02508BF4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02508BF8 */ _t88 = cpu->r[11] + 0x00000004u;
|
|
/* 02508BF8 */ rbrew_write32(cpu->mem, _t88, cpu->r[3]);
|
|
/* 02508BFC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02508C00 */ Gambit_fn_0217354C(cpu);
|
|
L_02508C04: ; // 0x2508c04
|
|
/* 02508C04 */ _t89 = cpu->r[29] + 0x00007BA0u;
|
|
/* 02508C04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02508C08 */ _t90 = cpu->r[7] + 0x00000314u;
|
|
/* 02508C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02508C0C */ Gambit_fn_024457A8(cpu);
|
|
/* 02508C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508C14 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508C14 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02508C14 */ if (_t92) goto L_02508C24; else goto L_02508C18;
|
|
L_02508C18: ; // 0x2508c18
|
|
/* 02508C18 */ _t93 = cpu->r[29] + 0x00007BA0u;
|
|
/* 02508C18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02508C1C */ _t94 = cpu->r[8] + 0x00000314u;
|
|
/* 02508C1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02508C20 */ Gambit_fn_02445734(cpu);
|
|
L_02508C24: ; // 0x2508c24
|
|
/* 02508C24 */ _t95 = cpu->r[29] + 0x00007BA0u;
|
|
/* 02508C24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02508C28 */ _t96 = cpu->r[9] + 0x00000314u;
|
|
/* 02508C28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02508C2C */ Gambit_fn_02445770(cpu);
|
|
/* 02508C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508C34 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508C34 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02508C34 */ if (_t98) goto L_02508C44; else goto L_02508C38;
|
|
L_02508C38: ; // 0x2508c38
|
|
/* 02508C38 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02508C3C */ cpu->r[4] = 0x00000005u;
|
|
/* 02508C40 */ Gambit_fn_024FFFA4(cpu);
|
|
L_02508C44: ; // 0x2508c44
|
|
/* 02508C44 */ /* nop */
|
|
/* 02508C48 */ _t99 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02508C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02508C4C */ cpu->lr = cpu->r[0];
|
|
/* 02508C50 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02508C54 */ return;
|
|
}
|
|
|
|
// fn_02508C90 @ 0x2508c90
|
|
void Gambit_fn_02508C90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02508C90: ; // 0x2508c90
|
|
/* 02508C90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02508C90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02508C90 */ cpu->r[1] = _t0;
|
|
/* 02508C94 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02508C94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02508C98 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02508C98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02508C9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02508CA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02508CA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02508CA4 */ _t4 = cpu->r[30] + 0x000001B8u;
|
|
/* 02508CA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02508CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u);
|
|
/* 02508CAC */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02508CAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02508CAC */ if (_t6) goto L_02508CB0; else goto L_02508CE4;
|
|
L_02508CB0: ; // 0x2508cb0
|
|
/* 02508CB0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02508CB4 */ _t7 = cpu->r[12] + 0x00006000u;
|
|
/* 02508CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02508CB8 */ _t8 = cpu->r[12] + 0x00000268u;
|
|
/* 02508CB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02508CBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02508CC0 */ Gambit_fn_0261F774(cpu);
|
|
/* 02508CC4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02508CC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02508CCC */ Gambit_fn_0261F55C(cpu);
|
|
/* 02508CD0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02508CD4 */ Gambit_fn_025C6B4C(cpu);
|
|
/* 02508CD8 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02508CDC */ cpu->r[4] = 0x00000000u;
|
|
/* 02508CE0 */ Gambit_fn_024FFFA4(cpu);
|
|
L_02508CE4: ; // 0x2508ce4
|
|
/* 02508CE4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02508CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02508CE8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02508CE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02508CEC */ cpu->lr = cpu->r[0];
|
|
/* 02508CF0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02508CF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02508CF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02508CF8 */ return;
|
|
}
|
|
|
|
// fn_02508D00 @ 0x2508d00
|
|
void Gambit_fn_02508D00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144;
|
|
|
|
L_02508D00: ; // 0x2508d00
|
|
/* 02508D00 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02508D00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02508D00 */ cpu->r[1] = _t0;
|
|
/* 02508D04 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02508D04 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 02508D08 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02508D08 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02508D0C */ cpu->r[0] = cpu->lr;
|
|
/* 02508D10 */ /* nop */
|
|
/* 02508D14 */ /* nop */
|
|
/* 02508D18 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02508D1C */ /* nop */
|
|
/* 02508D20 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 02508D20 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02508D24 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02508D24 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02508D28 */ cpu->r[6] = 0xFFFFFFFDu;
|
|
/* 02508D2C */ _t5 = cpu->r[1] + 0x00000028u;
|
|
/* 02508D2C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 02508D30 */ /* nop */
|
|
/* 02508D34 */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 02508D34 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02508D38 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02508D3C */ _t7 = cpu->r[1] + 0x00000048u;
|
|
/* 02508D3C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02508D40 */ cpu->r[7] = 0xFFFFFFFEu;
|
|
/* 02508D44 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02508D48 */ _t8 = cpu->r[10] + 0xFFFF943Cu;
|
|
/* 02508D48 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02508D48 */ cpu->r[10] = _t8;
|
|
/* 02508D4C */ _t9 = cpu->r[10] + 0x00000004u;
|
|
/* 02508D4C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02508D50 */ cpu->r[27] = 0x101F0000u;
|
|
/* 02508D54 */ _t10 = cpu->r[9] + 0xFFFF944Cu;
|
|
/* 02508D54 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 02508D54 */ cpu->r[9] = _t10;
|
|
/* 02508D58 */ cpu->r[27] = cpu->r[27] + 0xFFFF9454u;
|
|
/* 02508D5C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02508D60 */ _t11 = cpu->r[9] + 0x00000004u;
|
|
/* 02508D60 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 02508D64 */ cpu->r[10] = cpu->r[10] + 0x00005BFCu;
|
|
/* 02508D68 */ _t12 = cpu->r[27] + 0x00000004u;
|
|
/* 02508D68 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 02508D6C */ cpu->r[9] = 0x00000002u;
|
|
/* 02508D70 */ _t13 = cpu->r[10] + 0x00000008u;
|
|
/* 02508D70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02508D74 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02508D74 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02508D78 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02508D78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02508D7C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02508D80 */ _t16 = cpu->r[10] + 0x00000000u;
|
|
/* 02508D80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02508D84 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02508D88 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02508D88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02508D8C */ _t18 = cpu->r[31] + 0xFFFF9488u;
|
|
/* 02508D8C */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02508D8C */ cpu->r[31] = _t18;
|
|
/* 02508D90 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02508D94 */ _t19 = cpu->r[11] + 0xFFFF9444u;
|
|
/* 02508D94 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 02508D94 */ cpu->r[11] = _t19;
|
|
/* 02508D98 */ _t20 = cpu->r[31] + 0x00000010u;
|
|
/* 02508D98 */ rbrew_write32(cpu->mem, _t20, cpu->r[4]);
|
|
/* 02508D9C */ _t21 = cpu->r[9] + 0x00005C2Cu;
|
|
/* 02508D9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02508D9C */ cpu->r[9] = _t21;
|
|
/* 02508DA0 */ _t22 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02508DA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02508DA4 */ _t23 = cpu->r[31] + 0x00000018u;
|
|
/* 02508DA4 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02508DA8 */ _t24 = cpu->r[31] + 0x00000030u;
|
|
/* 02508DA8 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 02508DAC */ _t25 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02508DAC */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02508DB0 */ _t26 = cpu->r[31] + 0x00000008u;
|
|
/* 02508DB0 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 02508DB4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02508DB8 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 02508DB8 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02508DBC */ _t28 = cpu->r[31] + 0x00000028u;
|
|
/* 02508DBC */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 02508DC0 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02508DC4 */ _t29 = cpu->r[11] + 0x00000004u;
|
|
/* 02508DC4 */ rbrew_write32(cpu->mem, _t29, cpu->r[5]);
|
|
/* 02508DC8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02508DCC */ _t30 = cpu->r[8] + 0xFFFF9464u;
|
|
/* 02508DCC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02508DD0 */ _t31 = cpu->r[7] + 0x00005C1Cu;
|
|
/* 02508DD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02508DD0 */ cpu->r[7] = _t31;
|
|
/* 02508DD4 */ _t32 = cpu->r[31] + 0x00000004u;
|
|
/* 02508DD4 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 02508DD8 */ _t33 = cpu->r[31] + 0x00000020u;
|
|
/* 02508DD8 */ rbrew_write32(cpu->mem, _t33, cpu->r[4]);
|
|
/* 02508DDC */ _t34 = cpu->r[31] + 0x00000014u;
|
|
/* 02508DDC */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02508DE0 */ _t35 = cpu->r[31] + 0x00000040u;
|
|
/* 02508DE0 */ rbrew_write32(cpu->mem, _t35, cpu->r[11]);
|
|
/* 02508DE4 */ _t36 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02508DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02508DE8 */ _t37 = cpu->r[7] + 0x00000004u;
|
|
/* 02508DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02508DEC */ _t38 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02508DEC */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 02508DF0 */ _t39 = cpu->r[31] + 0x00000044u;
|
|
/* 02508DF0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02508DF4 */ _t40 = cpu->r[7] + 0x00000008u;
|
|
/* 02508DF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02508DF8 */ _t41 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02508DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02508DFC */ _t42 = cpu->r[31] + 0x00000048u;
|
|
/* 02508DFC */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 02508E00 */ _t43 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02508E00 */ rbrew_write32(cpu->mem, _t43, cpu->r[29]);
|
|
/* 02508E04 */ _t44 = cpu->r[9] + 0x00000008u;
|
|
/* 02508E04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02508E08 */ _t45 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02508E08 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02508E0C */ cpu->r[28] = 0x101F0000u;
|
|
/* 02508E10 */ _t46 = cpu->r[9] + 0x00000004u;
|
|
/* 02508E10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02508E14 */ _t47 = cpu->r[28] + 0xFFFF945Cu;
|
|
/* 02508E14 */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
|
|
/* 02508E14 */ cpu->r[28] = _t47;
|
|
/* 02508E18 */ _t48 = cpu->r[31] + 0x00000034u;
|
|
/* 02508E18 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 02508E1C */ _t49 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02508E1C */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
/* 02508E20 */ _t50 = cpu->r[31] + 0x00000038u;
|
|
/* 02508E20 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02508E24 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02508E28 */ _t51 = cpu->r[28] + 0x00000004u;
|
|
/* 02508E28 */ rbrew_write32(cpu->mem, _t51, cpu->r[5]);
|
|
/* 02508E2C */ cpu->r[5] = 0x101F0000u;
|
|
/* 02508E30 */ _t52 = cpu->r[10] + 0x00005C3Cu;
|
|
/* 02508E30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02508E30 */ cpu->r[10] = _t52;
|
|
/* 02508E34 */ _t53 = cpu->r[5] + 0x00005BDCu;
|
|
/* 02508E34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02508E34 */ cpu->r[5] = _t53;
|
|
/* 02508E38 */ _t54 = cpu->r[5] + 0x00000008u;
|
|
/* 02508E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02508E3C */ _t55 = cpu->r[27] + 0x00000000u;
|
|
/* 02508E3C */ rbrew_write32(cpu->mem, _t55, cpu->r[6]);
|
|
/* 02508E40 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02508E44 */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 02508E44 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 02508E48 */ cpu->r[8] = cpu->r[8] + 0x00005C4Cu;
|
|
/* 02508E4C */ _t57 = cpu->r[31] + 0x00000080u;
|
|
/* 02508E4C */ rbrew_write32(cpu->mem, _t57, cpu->r[7]);
|
|
/* 02508E50 */ _t58 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02508E50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02508E54 */ _t59 = cpu->r[8] + 0x00000004u;
|
|
/* 02508E54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02508E58 */ _t60 = cpu->r[31] + 0x00000058u;
|
|
/* 02508E58 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02508E5C */ _t61 = cpu->r[31] + 0x00000064u;
|
|
/* 02508E5C */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
|
|
/* 02508E60 */ _t62 = cpu->r[31] + 0x00000090u;
|
|
/* 02508E60 */ rbrew_write32(cpu->mem, _t62, cpu->r[7]);
|
|
/* 02508E64 */ _t63 = cpu->r[5] + 0x00000004u;
|
|
/* 02508E64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02508E68 */ _t64 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02508E68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02508E6C */ _t65 = cpu->r[10] + 0x00000004u;
|
|
/* 02508E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02508E70 */ _t66 = cpu->r[31] + 0x00000070u;
|
|
/* 02508E70 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
/* 02508E74 */ _t67 = cpu->r[31] + 0x00000074u;
|
|
/* 02508E74 */ rbrew_write32(cpu->mem, _t67, cpu->r[12]);
|
|
/* 02508E78 */ _t68 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02508E78 */ rbrew_write32(cpu->mem, _t68, cpu->r[5]);
|
|
/* 02508E7C */ _t69 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02508E7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02508E80 */ _t70 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02508E80 */ rbrew_write32(cpu->mem, _t70, cpu->r[6]);
|
|
/* 02508E84 */ _t71 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02508E84 */ rbrew_write32(cpu->mem, _t71, cpu->r[5]);
|
|
/* 02508E88 */ _t72 = cpu->r[31] + 0x00000094u;
|
|
/* 02508E88 */ rbrew_write32(cpu->mem, _t72, cpu->r[9]);
|
|
/* 02508E8C */ _t73 = cpu->r[31] + 0x00000054u;
|
|
/* 02508E8C */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 02508E90 */ _t74 = cpu->r[31] + 0x00000084u;
|
|
/* 02508E90 */ rbrew_write32(cpu->mem, _t74, cpu->r[9]);
|
|
/* 02508E94 */ _t75 = cpu->r[31] + 0x00000050u;
|
|
/* 02508E94 */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 02508E98 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02508E9C */ _t76 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02508E9C */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 02508EA0 */ _t77 = cpu->r[11] + 0x00005C0Cu;
|
|
/* 02508EA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02508EA0 */ cpu->r[11] = _t77;
|
|
/* 02508EA4 */ _t78 = cpu->r[11] + 0x00000004u;
|
|
/* 02508EA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02508EA8 */ _t79 = cpu->r[31] + 0x000000BCu;
|
|
/* 02508EA8 */ rbrew_write32(cpu->mem, _t79, cpu->r[29]);
|
|
/* 02508EAC */ _t80 = cpu->r[31] + 0x000000A0u;
|
|
/* 02508EAC */ rbrew_write32(cpu->mem, _t80, cpu->r[12]);
|
|
/* 02508EB0 */ _t81 = cpu->r[10] + 0x00000008u;
|
|
/* 02508EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02508EB4 */ _t82 = cpu->r[31] + 0x000000A4u;
|
|
/* 02508EB4 */ rbrew_write32(cpu->mem, _t82, cpu->r[5]);
|
|
/* 02508EB8 */ _t83 = cpu->r[31] + 0x00000078u;
|
|
/* 02508EB8 */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
|
|
/* 02508EBC */ cpu->r[10] = 0x100C0000u;
|
|
/* 02508EC0 */ _t84 = cpu->r[8] + 0x00000000u;
|
|
/* 02508EC0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02508EC4 */ _t85 = cpu->r[10] + 0xFFFFE4B4u;
|
|
/* 02508EC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02508EC8 */ _t86 = cpu->r[11] + 0x00000008u;
|
|
/* 02508EC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02508ECC */ _t87 = cpu->r[31] + 0x00000060u;
|
|
/* 02508ECC */ rbrew_write32(cpu->mem, _t87, cpu->r[28]);
|
|
/* 02508ED0 */ _t88 = cpu->r[31] + 0x000000A8u;
|
|
/* 02508ED0 */ rbrew_write32(cpu->mem, _t88, cpu->r[7]);
|
|
/* 02508ED4 */ _t89 = cpu->r[31] + 0x00000098u;
|
|
/* 02508ED4 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 02508ED8 */ _t90 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02508ED8 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 02508EDC */ cpu->r[12] = 0x100C0000u;
|
|
/* 02508EE0 */ _t91 = cpu->r[31] + 0x000000B8u;
|
|
/* 02508EE0 */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
|
|
/* 02508EE4 */ _t92 = cpu->r[12] + 0xFFFFE4B0u;
|
|
/* 02508EE4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02508EE8 */ _t93 = cpu->r[31] + 0x000000B4u;
|
|
/* 02508EE8 */ rbrew_write32(cpu->mem, _t93, cpu->r[30]);
|
|
/* 02508EEC */ cpu->r[12] = 0x100C0000u;
|
|
/* 02508EF0 */ _t94 = cpu->r[31] + 0x000000B0u;
|
|
/* 02508EF0 */ rbrew_write32(cpu->mem, _t94, cpu->r[4]);
|
|
/* 02508EF4 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 02508EF8 */ _t95 = cpu->r[12] + 0xFFFFE4ACu;
|
|
/* 02508EF8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02508EFC */ _t96 = cpu->r[8] + 0x00000008u;
|
|
/* 02508EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02508F00 */ _t97 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02508F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02508F04 */ _t98 = cpu->r[31] + 0x00000068u;
|
|
/* 02508F04 */ rbrew_write32(cpu->mem, _t98, cpu->r[12]);
|
|
/* 02508F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 02508F0C */ _t99 = cpu->r[31] + 0x000000ACu;
|
|
/* 02508F0C */ rbrew_write32(cpu->mem, _t99, cpu->r[0]);
|
|
/* 02508F10 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508F10 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02508F10 */ if (_t101) goto L_02508F14; else goto L_02508F24;
|
|
L_02508F14: ; // 0x2508f14
|
|
/* 02508F14 */ cpu->r[3] = 0x00000010u;
|
|
/* 02508F18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02508F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508F20 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508F20 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02508F20 */ if (_t103) goto L_02508F3C; else goto L_02508F24;
|
|
L_02508F24: ; // 0x2508f24
|
|
/* 02508F24 */ _t104 = cpu->r[3] + 0x00000004u;
|
|
/* 02508F24 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[30]);
|
|
/* 02508F28 */ cpu->r[8] = 0x100C0000u;
|
|
/* 02508F2C */ _t105 = cpu->r[3] + 0x00000008u;
|
|
/* 02508F2C */ rbrew_write_f32(cpu->mem, _t105, cpu->f[29]);
|
|
/* 02508F30 */ _t106 = cpu->r[8] + 0xFFFFE4B8u;
|
|
/* 02508F30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02508F34 */ _t107 = cpu->r[3] + 0x00000000u;
|
|
/* 02508F34 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[31]);
|
|
/* 02508F38 */ _t108 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02508F38 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[0]);
|
|
L_02508F3C: ; // 0x2508f3c
|
|
/* 02508F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 02508F40 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 02508F44 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508F44 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02508F44 */ if (_t110) goto L_02508F48; else goto L_02508F58;
|
|
L_02508F48: ; // 0x2508f48
|
|
/* 02508F48 */ cpu->r[3] = 0x00000010u;
|
|
/* 02508F4C */ Gambit_fn_02801A78(cpu);
|
|
/* 02508F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02508F54 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02508F54 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02508F54 */ if (_t112) goto L_02508F70; else goto L_02508F58;
|
|
L_02508F58: ; // 0x2508f58
|
|
/* 02508F58 */ _t113 = cpu->r[3] + 0x00000004u;
|
|
/* 02508F58 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[30]);
|
|
/* 02508F5C */ cpu->r[12] = 0x100C0000u;
|
|
/* 02508F60 */ _t114 = cpu->r[3] + 0x00000008u;
|
|
/* 02508F60 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[31]);
|
|
/* 02508F64 */ _t115 = cpu->r[12] + 0xFFFFE4B8u;
|
|
/* 02508F64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02508F68 */ _t116 = cpu->r[3] + 0x00000000u;
|
|
/* 02508F68 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[29]);
|
|
/* 02508F6C */ _t117 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02508F6C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[13]);
|
|
L_02508F70: ; // 0x2508f70
|
|
/* 02508F70 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02508F74 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02508F78 */ cpu->r[11] = 0x100C0000u;
|
|
/* 02508F7C */ cpu->r[5] = cpu->r[5] + 0x00005BCCu;
|
|
/* 02508F80 */ cpu->r[3] = cpu->r[3] + 0xFFFF9474u;
|
|
/* 02508F84 */ cpu->r[11] = cpu->r[11] + 0xFFFFE304u;
|
|
/* 02508F88 */ _t118 = cpu->r[5] + 0x00000000u;
|
|
/* 02508F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02508F8C */ cpu->r[10] = 0x100C0000u;
|
|
/* 02508F90 */ _t119 = cpu->r[3] + 0x00000004u;
|
|
/* 02508F90 */ rbrew_write32(cpu->mem, _t119, cpu->r[11]);
|
|
/* 02508F94 */ cpu->r[7] = 0x100C0000u;
|
|
/* 02508F98 */ _t120 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02508F98 */ rbrew_write32(cpu->mem, _t120, cpu->r[11]);
|
|
/* 02508F9C */ cpu->r[12] = 0x100C0000u;
|
|
/* 02508FA0 */ _t121 = cpu->r[10] + 0xFFFFE4BCu;
|
|
/* 02508FA0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02508FA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFE4C4u;
|
|
/* 02508FA8 */ _t122 = cpu->r[7] + 0xFFFFE4C0u;
|
|
/* 02508FA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02508FAC */ _t123 = cpu->r[3] + 0x00000000u;
|
|
/* 02508FAC */ rbrew_write32(cpu->mem, _t123, cpu->r[12]);
|
|
/* 02508FB0 */ _t124 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02508FB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02508FB4 */ _t125 = cpu->r[5] + 0x00000004u;
|
|
/* 02508FB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02508FB8 */ _t126 = cpu->r[31] + 0x000000ECu;
|
|
/* 02508FB8 */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
|
|
/* 02508FBC */ cpu->r[7] = 0x101F0000u;
|
|
/* 02508FC0 */ _t127 = cpu->r[31] + 0x000000E4u;
|
|
/* 02508FC0 */ rbrew_write32(cpu->mem, _t127, cpu->r[6]);
|
|
/* 02508FC4 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02508FC8 */ _t128 = cpu->r[31] + 0x000000E0u;
|
|
/* 02508FC8 */ rbrew_write32(cpu->mem, _t128, cpu->r[0]);
|
|
/* 02508FCC */ _t129 = cpu->r[7] + 0xFFFF9468u;
|
|
/* 02508FCC */ rbrew_write_f32(cpu->mem, _t129, cpu->f[12]);
|
|
/* 02508FCC */ cpu->r[7] = _t129;
|
|
/* 02508FD0 */ cpu->r[9] = 0x02510000u;
|
|
/* 02508FD4 */ _t130 = cpu->r[7] + 0x00000004u;
|
|
/* 02508FD4 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[12]);
|
|
/* 02508FD8 */ cpu->r[9] = cpu->r[9] + 0xFFFF98A0u;
|
|
/* 02508FDC */ _t131 = cpu->r[7] + 0x00000008u;
|
|
/* 02508FDC */ rbrew_write_f32(cpu->mem, _t131, cpu->f[11]);
|
|
/* 02508FE0 */ _t132 = cpu->r[3] + 0x00000010u;
|
|
/* 02508FE0 */ rbrew_write32(cpu->mem, _t132, cpu->r[9]);
|
|
/* 02508FE4 */ cpu->r[6] = cpu->r[6] + 0xFFFFE404u;
|
|
/* 02508FE8 */ _t133 = cpu->r[5] + 0x00000008u;
|
|
/* 02508FE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02508FEC */ _t134 = cpu->r[3] + 0x00000008u;
|
|
/* 02508FEC */ rbrew_write32(cpu->mem, _t134, cpu->r[6]);
|
|
/* 02508FF0 */ _t135 = cpu->r[31] + 0x000000E8u;
|
|
/* 02508FF0 */ rbrew_write32(cpu->mem, _t135, cpu->r[9]);
|
|
/* 02508FF4 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02508FF8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02508FFC */ cpu->r[3] = cpu->r[3] + 0x00006714u;
|
|
/* 02509000 */ Gambit_fn_02C83090(cpu);
|
|
/* 02509004 */ /* nop */
|
|
/* 02509008 */ _t136 = cpu->r[1] + 0x00000028u;
|
|
/* 02509008 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 0250900C */ _t137 = cpu->r[1] + 0x00000038u;
|
|
/* 0250900C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 02509010 */ _t138 = cpu->r[1] + 0x00000020u;
|
|
/* 02509010 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 02509014 */ _t139 = cpu->r[1] + 0x00000048u;
|
|
/* 02509014 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02509018 */ _t140 = cpu->r[1] + 0x00000030u;
|
|
/* 02509018 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 0250901C */ _t141 = cpu->r[1] + 0x00000040u;
|
|
/* 0250901C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t141);
|
|
/* 02509020 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02509020 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02509020 */ if (_t143) goto L_02509024; // else: addr-0 trap, fall-through
|
|
L_02509024: ; // 0x2509024
|
|
/* 02509024 */ _t144 = cpu->r[1] + 0x00000054u;
|
|
/* 02509024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02509028 */ cpu->lr = cpu->r[0];
|
|
/* 0250902C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02509030 */ return;
|
|
}
|
|
|
|
// fn_02509034 @ 0x2509034
|
|
void Gambit_fn_02509034(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02509034: ; // 0x2509034
|
|
/* 02509034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509038 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509038 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02509038 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509038 */ goto L_0250903C;
|
|
L_0250903C: ; // 0x250903c
|
|
/* 0250903C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250903C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02509040 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509040 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02509040 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509040 */ goto L_02509044;
|
|
L_02509044: ; // 0x2509044
|
|
/* 02509044 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02509048 @ 0x2509048
|
|
void Gambit_fn_02509048(CPUState* cpu) {
|
|
L_02509048: ; // 0x2509048
|
|
/* 02509048 */ return;
|
|
}
|
|
|
|
// fn_0250904C @ 0x250904c
|
|
void Gambit_fn_0250904C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250904C: ; // 0x250904c
|
|
/* 0250904C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509050 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509050 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02509050 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509050 */ goto L_02509054;
|
|
L_02509054: ; // 0x2509054
|
|
/* 02509054 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02509054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02509058 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509058 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02509058 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509058 */ goto L_0250905C;
|
|
L_0250905C: ; // 0x250905c
|
|
/* 0250905C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02509060 @ 0x2509060
|
|
void Gambit_fn_02509060(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02509060: ; // 0x2509060
|
|
/* 02509060 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02509060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02509064 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02509064 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02509068 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0250906C */ cpu->r[11] = 0x10110000u;
|
|
/* 02509070 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02509070 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02509074 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02509074 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02509078 */ return;
|
|
}
|
|
|
|
// fn_0250907C @ 0x250907c
|
|
void Gambit_fn_0250907C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250907C: ; // 0x250907c
|
|
/* 0250907C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509080 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509080 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02509080 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509080 */ goto L_02509084;
|
|
L_02509084: ; // 0x2509084
|
|
/* 02509084 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02509084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02509088 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509088 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02509088 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509088 */ goto L_0250908C;
|
|
L_0250908C: ; // 0x250908c
|
|
/* 0250908C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02509090 @ 0x2509090
|
|
void Gambit_fn_02509090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02509090: ; // 0x2509090
|
|
/* 02509090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509094 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509094 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02509094 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509094 */ goto L_02509098;
|
|
L_02509098: ; // 0x2509098
|
|
/* 02509098 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02509098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250909C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250909C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250909C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250909C */ goto L_025090A0;
|
|
L_025090A0: ; // 0x25090a0
|
|
/* 025090A0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025090A4 @ 0x25090a4
|
|
void Gambit_fn_025090A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025090A4: ; // 0x25090a4
|
|
/* 025090A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025090A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025090A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025090A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025090A8 */ goto L_025090AC;
|
|
L_025090AC: ; // 0x25090ac
|
|
/* 025090AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025090AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025090B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025090B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025090B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025090B0 */ goto L_025090B4;
|
|
L_025090B4: ; // 0x25090b4
|
|
/* 025090B4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025090B8 @ 0x25090b8
|
|
void Gambit_fn_025090B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025090B8: ; // 0x25090b8
|
|
/* 025090B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025090BC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025090BC */ _t1 = _t0 & 0x00000001u;
|
|
/* 025090BC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025090BC */ goto L_025090C0;
|
|
L_025090C0: ; // 0x25090c0
|
|
/* 025090C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025090C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025090C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025090C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025090C4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025090C4 */ goto L_025090C8;
|
|
L_025090C8: ; // 0x25090c8
|
|
/* 025090C8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_025090CC @ 0x25090cc
|
|
void Gambit_fn_025090CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_025090CC: ; // 0x25090cc
|
|
/* 025090CC */ cpu->r[12] = cpu->r[3];
|
|
/* 025090D0 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 025090D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025090D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025090D8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025090D8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025090D8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025090D8 */ goto L_025090DC;
|
|
L_025090DC: ; // 0x25090dc
|
|
/* 025090DC */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 025090DC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 025090E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025090E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025090E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025090E4 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025090E4 */ goto L_025090E8;
|
|
L_025090E8: ; // 0x25090e8
|
|
/* 025090E8 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 025090E8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 025090EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025090F0 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 025090F4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025090F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025090F4 */ if (_t8) goto L_025090F8; else goto L_02509104;
|
|
L_025090F8: ; // 0x25090f8
|
|
/* 025090F8 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 025090F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025090FC */ cpu->ctr = cpu->r[10];
|
|
/* 02509100 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02509104: ; // 0x2509104
|
|
/* 02509104 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02509104 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02509108 */ _t11 = cpu->r[3] + cpu->r[0];
|
|
/* 02509108 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250910C */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02509110 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 02509114 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02509114 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02509118 */ cpu->ctr = cpu->r[10];
|
|
/* 0250911C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02509120 @ 0x2509120
|
|
void Gambit_fn_02509120(CPUState* cpu) {
|
|
L_02509120: ; // 0x2509120
|
|
/* 02509120 */ return;
|
|
}
|
|
|
|
// fn_02509124 @ 0x2509124
|
|
void Gambit_fn_02509124(CPUState* cpu) {
|
|
L_02509124: ; // 0x2509124
|
|
/* 02509124 */ return;
|
|
}
|
|
|
|
// fn_02509128 @ 0x2509128
|
|
void Gambit_fn_02509128(CPUState* cpu) {
|
|
L_02509128: ; // 0x2509128
|
|
/* 02509128 */ return;
|
|
}
|
|
|
|
// fn_0250912C @ 0x250912c
|
|
void Gambit_fn_0250912C(CPUState* cpu) {
|
|
L_0250912C: ; // 0x250912c
|
|
/* 0250912C */ return;
|
|
}
|
|
|
|
// fn_02509130 @ 0x2509130
|
|
void Gambit_fn_02509130(CPUState* cpu) {
|
|
L_02509130: ; // 0x2509130
|
|
/* 02509130 */ return;
|
|
}
|
|
|
|
// fn_02509134 @ 0x2509134
|
|
void Gambit_fn_02509134(CPUState* cpu) {
|
|
L_02509134: ; // 0x2509134
|
|
/* 02509134 */ return;
|
|
}
|
|
|
|
// fn_02509138 @ 0x2509138
|
|
void Gambit_fn_02509138(CPUState* cpu) {
|
|
L_02509138: ; // 0x2509138
|
|
/* 02509138 */ return;
|
|
}
|
|
|
|
// fn_0250913C @ 0x250913c
|
|
void Gambit_fn_0250913C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0250913C: ; // 0x250913c
|
|
/* 0250913C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0250913C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02509140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02509144 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509144 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02509144 */ if (_t2) goto L_02509150; else goto L_02509148;
|
|
L_02509148: ; // 0x2509148
|
|
/* 02509148 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0250914C */ return;
|
|
L_02509150: ; // 0x2509150
|
|
/* 02509150 */ cpu->r[3] = 0x00000000u;
|
|
/* 02509154 */ return;
|
|
}
|
|
|
|
// fn_02509158 @ 0x2509158
|
|
void Gambit_fn_02509158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02509158: ; // 0x2509158
|
|
/* 02509158 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02509158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250915C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250915C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02509160 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509160 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02509160 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02509160 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509160 */ goto L_02509164;
|
|
L_02509164: ; // 0x2509164
|
|
/* 02509164 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02509164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02509168 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02509168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250916C */ cpu->ctr = cpu->r[0];
|
|
/* 02509170 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02509174 @ 0x2509174
|
|
void Gambit_fn_02509174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02509174: ; // 0x2509174
|
|
/* 02509174 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02509174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02509178 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02509178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250917C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250917C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250917C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0250917C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250917C */ goto L_02509180;
|
|
L_02509180: ; // 0x2509180
|
|
/* 02509180 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02509180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02509184 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02509184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02509188 */ cpu->ctr = cpu->r[0];
|
|
/* 0250918C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02509190 @ 0x2509190
|
|
void Gambit_fn_02509190(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02509190: ; // 0x2509190
|
|
/* 02509190 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02509190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02509194 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02509194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02509198 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509198 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02509198 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02509198 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509198 */ goto L_0250919C;
|
|
L_0250919C: ; // 0x250919c
|
|
/* 0250919C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0250919C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025091A0 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 025091A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025091A4 */ cpu->ctr = cpu->r[0];
|
|
/* 025091A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025091AC @ 0x25091ac
|
|
void Gambit_fn_025091AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025091AC: ; // 0x25091ac
|
|
/* 025091AC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025091AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025091B0 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025091B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025091B4 */ cpu->ctr = cpu->r[0];
|
|
/* 025091B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025091BC @ 0x25091bc
|
|
void Gambit_fn_025091BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025091BC: ; // 0x25091bc
|
|
/* 025091BC */ cpu->r[0] = cpu->lr;
|
|
/* 025091C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025091C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025091C0 */ cpu->r[1] = _t0;
|
|
/* 025091C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025091C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025091C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025091CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025091CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025091D0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025091D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025091D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 025091D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025091D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025091D8 */ if (_t5) goto L_025091DC; else goto L_025091F8;
|
|
L_025091DC: ; // 0x25091dc
|
|
/* 025091DC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 025091DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025091E0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 025091E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025091E4 */ cpu->ctr = cpu->r[0];
|
|
/* 025091E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025091EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025091F0 */ cpu->r[0] = 0x00000002u;
|
|
/* 025091F4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025091F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_025091F8: ; // 0x25091f8
|
|
/* 025091F8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025091F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025091FC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025091FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02509200 */ cpu->lr = cpu->r[0];
|
|
/* 02509204 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02509208 */ return;
|
|
}
|
|
|
|
// fn_025091C0 @ 0x25091c0
|
|
void Gambit_fn_025091C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025091C0: ; // 0x25091c0
|
|
/* 025091C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025091C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025091C0 */ cpu->r[1] = _t0;
|
|
/* 025091C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025091C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025091C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025091CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025091CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025091D0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025091D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025091D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 025091D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025091D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025091D8 */ if (_t5) goto L_025091DC; else goto L_025091F8;
|
|
L_025091DC: ; // 0x25091dc
|
|
/* 025091DC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 025091DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025091E0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 025091E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025091E4 */ cpu->ctr = cpu->r[0];
|
|
/* 025091E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025091EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025091F0 */ cpu->r[0] = 0x00000002u;
|
|
/* 025091F4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025091F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_025091F8: ; // 0x25091f8
|
|
/* 025091F8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025091F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025091FC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025091FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02509200 */ cpu->lr = cpu->r[0];
|
|
/* 02509204 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02509208 */ return;
|
|
}
|
|
|
|
// fn_02509214 @ 0x2509214
|
|
void Gambit_fn_02509214(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02509214: ; // 0x2509214
|
|
/* 02509214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509218 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509218 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02509218 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509218 */ goto L_0250921C;
|
|
L_0250921C: ; // 0x250921c
|
|
/* 0250921C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250921C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02509220 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509220 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02509220 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02509220 */ goto L_02509224;
|
|
L_02509224: ; // 0x2509224
|
|
/* 02509224 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02509228 @ 0x2509228
|
|
void Gambit_fn_02509228(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02509228: ; // 0x2509228
|
|
/* 02509228 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02509228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250922C */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0250922C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02509230 */ cpu->ctr = cpu->r[0];
|
|
/* 02509234 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02509238 @ 0x2509238
|
|
void Gambit_fn_02509238(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02509238: ; // 0x2509238
|
|
/* 02509238 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02509238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250923C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0250923C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02509240 */ cpu->ctr = cpu->r[0];
|
|
/* 02509244 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02509248 @ 0x2509248
|
|
void Gambit_fn_02509248(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02509248: ; // 0x2509248
|
|
/* 02509248 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02509248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250924C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0250924C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02509250 */ cpu->ctr = cpu->r[0];
|
|
/* 02509254 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02509258 @ 0x2509258
|
|
void Gambit_fn_02509258(CPUState* cpu) {
|
|
L_02509258: ; // 0x2509258
|
|
/* 02509258 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250925C */ return;
|
|
}
|
|
|
|
// fn_02509260 @ 0x2509260
|
|
void Gambit_fn_02509260(CPUState* cpu) {
|
|
L_02509260: ; // 0x2509260
|
|
/* 02509260 */ return;
|
|
}
|
|
|
|
// fn_02509264 @ 0x2509264
|
|
void Gambit_fn_02509264(CPUState* cpu) {
|
|
L_02509264: ; // 0x2509264
|
|
/* 02509264 */ return;
|
|
}
|
|
|
|
// fn_02509268 @ 0x2509268
|
|
void Gambit_fn_02509268(CPUState* cpu) {
|
|
L_02509268: ; // 0x2509268
|
|
/* 02509268 */ return;
|
|
}
|
|
|
|
// fn_0250926C @ 0x250926c
|
|
void Gambit_fn_0250926C(CPUState* cpu) {
|
|
L_0250926C: ; // 0x250926c
|
|
/* 0250926C */ cpu->r[3] = 0x00000001u;
|
|
/* 02509270 */ return;
|
|
}
|
|
|
|
// fn_0250929C @ 0x250929c
|
|
void Gambit_fn_0250929C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250929C: ; // 0x250929c
|
|
/* 0250929C */ cpu->r[10] = 0x101F0000u;
|
|
/* 025092A0 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 025092A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025092A0 */ cpu->r[10] = _t0;
|
|
/* 025092A4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 025092A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 025092A8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 025092A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025092AC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 025092AC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 025092B0 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 025092B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025092B4 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 025092B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025092B8 */ return;
|
|
}
|
|
|
|
// fn_025092BC @ 0x25092bc
|
|
void Gambit_fn_025092BC(CPUState* cpu) {
|
|
L_025092BC: ; // 0x25092bc
|
|
/* 025092BC */ return;
|
|
}
|
|
|
|
// fn_025092C0 @ 0x25092c0
|
|
void Gambit_fn_025092C0(CPUState* cpu) {
|
|
L_025092C0: ; // 0x25092c0
|
|
/* 025092C0 */ return;
|
|
}
|
|
|
|
// fn_025092C4 @ 0x25092c4
|
|
void Gambit_fn_025092C4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025092C4: ; // 0x25092c4
|
|
/* 025092C4 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 025092C4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025092C8 */ return;
|
|
}
|
|
|
|
// fn_025092CC @ 0x25092cc
|
|
void Gambit_fn_025092CC(CPUState* cpu) {
|
|
L_025092CC: ; // 0x25092cc
|
|
/* 025092CC */ cpu->r[3] = 0x00000001u;
|
|
/* 025092D0 */ return;
|
|
}
|
|
|
|
// fn_025092D4 @ 0x25092d4
|
|
void Gambit_fn_025092D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025092D4: ; // 0x25092d4
|
|
/* 025092D4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025092D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025092D8 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 025092D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025092DC */ cpu->ctr = cpu->r[0];
|
|
/* 025092E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025092E4 @ 0x25092e4
|
|
void Gambit_fn_025092E4(CPUState* cpu) {
|
|
L_025092E4: ; // 0x25092e4
|
|
/* 025092E4 */ return;
|
|
}
|
|
|
|
// fn_025092E8 @ 0x25092e8
|
|
void Gambit_fn_025092E8(CPUState* cpu) {
|
|
L_025092E8: ; // 0x25092e8
|
|
/* 025092E8 */ return;
|
|
}
|
|
|
|
// fn_025092EC @ 0x25092ec
|
|
void Gambit_fn_025092EC(CPUState* cpu) {
|
|
L_025092EC: ; // 0x25092ec
|
|
/* 025092EC */ return;
|
|
}
|
|
|
|
// fn_025092F0 @ 0x25092f0
|
|
void Gambit_fn_025092F0(CPUState* cpu) {
|
|
L_025092F0: ; // 0x25092f0
|
|
/* 025092F0 */ return;
|
|
}
|
|
|
|
// fn_025092F4 @ 0x25092f4
|
|
void Gambit_fn_025092F4(CPUState* cpu) {
|
|
L_025092F4: ; // 0x25092f4
|
|
/* 025092F4 */ return;
|
|
}
|
|
|
|
// fn_025092F8 @ 0x25092f8
|
|
void Gambit_fn_025092F8(CPUState* cpu) {
|
|
L_025092F8: ; // 0x25092f8
|
|
/* 025092F8 */ return;
|
|
}
|
|
|
|
// fn_025092FC @ 0x25092fc
|
|
void Gambit_fn_025092FC(CPUState* cpu) {
|
|
L_025092FC: ; // 0x25092fc
|
|
/* 025092FC */ return;
|
|
}
|
|
|
|
// fn_02509300 @ 0x2509300
|
|
void Gambit_fn_02509300(CPUState* cpu) {
|
|
L_02509300: ; // 0x2509300
|
|
/* 02509300 */ return;
|
|
}
|
|
|
|
// fn_02509304 @ 0x2509304
|
|
void Gambit_fn_02509304(CPUState* cpu) {
|
|
L_02509304: ; // 0x2509304
|
|
/* 02509304 */ return;
|
|
}
|
|
|
|
// fn_02509308 @ 0x2509308
|
|
void Gambit_fn_02509308(CPUState* cpu) {
|
|
L_02509308: ; // 0x2509308
|
|
/* 02509308 */ return;
|
|
}
|
|
|
|
// fn_0250930C @ 0x250930c
|
|
void Gambit_fn_0250930C(CPUState* cpu) {
|
|
L_0250930C: ; // 0x250930c
|
|
/* 0250930C */ cpu->r[3] = 0x00000000u;
|
|
/* 02509310 */ return;
|
|
}
|
|
|
|
// fn_02509314 @ 0x2509314
|
|
void Gambit_fn_02509314(CPUState* cpu) {
|
|
L_02509314: ; // 0x2509314
|
|
/* 02509314 */ return;
|
|
}
|
|
|
|
// fn_02509318 @ 0x2509318
|
|
void Gambit_fn_02509318(CPUState* cpu) {
|
|
L_02509318: ; // 0x2509318
|
|
/* 02509318 */ return;
|
|
}
|
|
|
|
// fn_0250931C @ 0x250931c
|
|
void Gambit_fn_0250931C(CPUState* cpu) {
|
|
L_0250931C: ; // 0x250931c
|
|
/* 0250931C */ cpu->r[3] = 0x00000001u;
|
|
/* 02509320 */ return;
|
|
}
|
|
|
|
// fn_02509324 @ 0x2509324
|
|
void Gambit_fn_02509324(CPUState* cpu) {
|
|
L_02509324: ; // 0x2509324
|
|
/* 02509324 */ cpu->r[3] = 0x00000000u;
|
|
/* 02509328 */ return;
|
|
}
|
|
|
|
// fn_0250932C @ 0x250932c
|
|
void Gambit_fn_0250932C(CPUState* cpu) {
|
|
L_0250932C: ; // 0x250932c
|
|
/* 0250932C */ cpu->r[3] = 0x00000000u;
|
|
/* 02509330 */ return;
|
|
}
|
|
|
|
// fn_02509334 @ 0x2509334
|
|
void Gambit_fn_02509334(CPUState* cpu) {
|
|
L_02509334: ; // 0x2509334
|
|
/* 02509334 */ cpu->r[3] = 0x00000000u;
|
|
/* 02509338 */ return;
|
|
}
|
|
|
|
// fn_0250933C @ 0x250933c
|
|
void Gambit_fn_0250933C(CPUState* cpu) {
|
|
L_0250933C: ; // 0x250933c
|
|
/* 0250933C */ cpu->r[3] = 0x00000000u;
|
|
/* 02509340 */ return;
|
|
}
|
|
|
|
// fn_02509344 @ 0x2509344
|
|
void Gambit_fn_02509344(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02509344: ; // 0x2509344
|
|
/* 02509344 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 02509344 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02509348 */ return;
|
|
}
|
|
|
|
// fn_0250934C @ 0x250934c
|
|
void Gambit_fn_0250934C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250934C: ; // 0x250934c
|
|
/* 0250934C */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 0250934C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02509350 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02509350 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02509354 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02509354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02509358 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02509358 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250935C */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 0250935C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02509360 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02509360 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02509364 */ return;
|
|
}
|
|
|
|
// fn_02509368 @ 0x2509368
|
|
void Gambit_fn_02509368(CPUState* cpu) {
|
|
L_02509368: ; // 0x2509368
|
|
/* 02509368 */ cpu->r[3] = 0x100C0000u;
|
|
/* 0250936C */ cpu->r[3] = cpu->r[3] + 0xFFFFE414u;
|
|
/* 02509370 */ return;
|
|
}
|
|
|
|
// fn_02509374 @ 0x2509374
|
|
void Gambit_fn_02509374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32;
|
|
|
|
L_02509374: ; // 0x2509374
|
|
/* 02509374 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02509378 */ _t0 = cpu->r[10] + 0x00000934u;
|
|
/* 02509378 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250937C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02509380 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02509384 */ cpu->r[10] = cpu->r[10] + 0x00000978u;
|
|
/* 02509388 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509388 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02509388 */ if (_t2) goto L_0250938C; else goto L_025093A4;
|
|
L_0250938C: ; // 0x250938c
|
|
/* 0250938C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02509390 */ cpu->r[9] = 0x00000001u;
|
|
/* 02509394 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02509398 */ cpu->r[0] = cpu->r[0] + 0xFFFFE3C4u;
|
|
/* 0250939C */ _t3 = cpu->r[11] + 0x00000934u;
|
|
/* 0250939C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 025093A0 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 025093A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_025093A4: ; // 0x25093a4
|
|
/* 025093A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 025093A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025093A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025093A8 */ if (_t6) goto L_025093AC; else goto L_025093B4;
|
|
L_025093AC: ; // 0x25093ac
|
|
/* 025093AC */ cpu->r[3] = 0x00000001u;
|
|
/* 025093B0 */ return;
|
|
L_025093B4: ; // 0x25093b4
|
|
/* 025093B4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025093B8 */ _t7 = cpu->r[9] + 0xFFFFDDF0u;
|
|
/* 025093B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025093BC */ cpu->r[11] = 0x101D0000u;
|
|
/* 025093C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025093C4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFF40u;
|
|
/* 025093C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025093C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025093C8 */ if (_t9) goto L_025093CC; else goto L_025093E4;
|
|
L_025093CC: ; // 0x25093cc
|
|
/* 025093CC */ cpu->r[9] = 0x100C0000u;
|
|
/* 025093D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025093D4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025093D8 */ cpu->r[9] = cpu->r[9] + 0xFFFFE3B4u;
|
|
/* 025093DC */ _t10 = cpu->r[10] + 0xFFFFDDF0u;
|
|
/* 025093DC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 025093E0 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 025093E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_025093E4: ; // 0x25093e4
|
|
/* 025093E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 025093E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025093E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025093E8 */ if (_t13) goto L_025093EC; else goto L_025093F4;
|
|
L_025093EC: ; // 0x25093ec
|
|
/* 025093EC */ cpu->r[0] = 0x00000001u;
|
|
/* 025093F0 */ goto L_025094AC;
|
|
L_025093F4: ; // 0x25093f4
|
|
/* 025093F4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025093F8 */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 025093F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025093FC */ cpu->r[9] = 0x101D0000u;
|
|
/* 02509400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02509404 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 02509408 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509408 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02509408 */ if (_t16) goto L_0250940C; else goto L_02509424;
|
|
L_0250940C: ; // 0x250940c
|
|
/* 0250940C */ cpu->r[11] = 0x100C0000u;
|
|
/* 02509410 */ cpu->r[10] = 0x00000001u;
|
|
/* 02509414 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02509418 */ cpu->r[11] = cpu->r[11] + 0xFFFFE3A4u;
|
|
/* 0250941C */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 0250941C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02509420 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02509420 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_02509424: ; // 0x2509424
|
|
/* 02509424 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 02509428 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509428 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02509428 */ if (_t20) goto L_0250942C; else goto L_02509434;
|
|
L_0250942C: ; // 0x250942c
|
|
/* 0250942C */ cpu->r[0] = 0x00000001u;
|
|
/* 02509430 */ goto L_025094A8;
|
|
L_02509434: ; // 0x2509434
|
|
/* 02509434 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02509438 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 02509438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02509438 */ cpu->r[9] = _t21;
|
|
/* 0250943C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02509440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02509444 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02509448 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509448 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02509448 */ if (_t23) goto L_0250944C; else goto L_02509460;
|
|
L_0250944C: ; // 0x250944c
|
|
/* 0250944C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02509450 */ cpu->r[11] = 0x00000001u;
|
|
/* 02509454 */ cpu->r[0] = cpu->r[0] + 0xFFFFE394u;
|
|
/* 02509458 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02509458 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0250945C */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0250945C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02509460: ; // 0x2509460
|
|
/* 02509460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02509464 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509464 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02509464 */ if (_t27) goto L_02509468; else goto L_02509470;
|
|
L_02509468: ; // 0x2509468
|
|
/* 02509468 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250946C */ goto L_025094A8;
|
|
L_02509470: ; // 0x2509470
|
|
/* 02509470 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02509474 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 02509474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02509474 */ cpu->r[10] = _t28;
|
|
/* 02509478 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250947C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02509480 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02509484 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509484 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02509484 */ if (_t30) goto L_02509488; else goto L_0250949C;
|
|
L_02509488: ; // 0x2509488
|
|
/* 02509488 */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250948C */ cpu->r[0] = 0x00000001u;
|
|
/* 02509490 */ cpu->r[9] = cpu->r[9] + 0xFFFFE2F4u;
|
|
/* 02509494 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02509494 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02509498 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 02509498 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_0250949C: ; // 0x250949c
|
|
/* 0250949C */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 025094A0 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 025094A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_025094A8: ; // 0x25094a8
|
|
/* 025094A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_025094AC: ; // 0x25094ac
|
|
/* 025094AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 025094B0 */ return;
|
|
}
|
|
|
|
// fn_025094B4 @ 0x25094b4
|
|
void Gambit_fn_025094B4(CPUState* cpu) {
|
|
L_025094B4: ; // 0x25094b4
|
|
/* 025094B4 */ return;
|
|
}
|
|
|
|
// fn_025094B8 @ 0x25094b8
|
|
void Gambit_fn_025094B8(CPUState* cpu) {
|
|
L_025094B8: ; // 0x25094b8
|
|
/* 025094B8 */ cpu->r[3] = cpu->r[3] + 0x000001E8u;
|
|
/* 025094BC */ return;
|
|
}
|
|
|
|
// fn_025094C0 @ 0x25094c0
|
|
void Gambit_fn_025094C0(CPUState* cpu) {
|
|
L_025094C0: ; // 0x25094c0
|
|
/* 025094C0 */ return;
|
|
}
|
|
|
|
// fn_025094C8 @ 0x25094c8
|
|
void Gambit_fn_025094C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024FFEAC: ; // 0x24ffeac
|
|
/* 024FFEAC */ cpu->r[0] = cpu->lr;
|
|
/* 024FFEB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024FFEB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FFEB0 */ cpu->r[1] = _t0;
|
|
/* 024FFEB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFEB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024FFEB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 024FFEBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFEBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024FFEC0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024FFEC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024FFEC4 */ cpu->r[12] = 0x00000000u;
|
|
/* 024FFEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024FFECC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024FFECC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024FFED0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFED0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024FFED0 */ if (_t6) goto L_024FFEF8; else goto L_024FFED4;
|
|
L_024FFED4: ; // 0x24ffed4
|
|
/* 024FFED4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024FFED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FFED8 */ /* nop */
|
|
/* 024FFEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024FFEE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FFEE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024FFEE0 */ if (_t9) goto L_024FFEE4; else goto L_024FFEF8;
|
|
L_024FFEE4: ; // 0x24ffee4
|
|
/* 024FFEE4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024FFEE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FFEE8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024FFEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FFEEC */ cpu->ctr = cpu->r[0];
|
|
/* 024FFEF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFEF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024FFEF8: ; // 0x24ffef8
|
|
/* 024FFEF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFEFC */ Gambit_fn_024FFE24(cpu);
|
|
/* 024FFF00 */ cpu->r[3] = cpu->r[31];
|
|
/* 024FFF04 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024FFF08 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024FFF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FFF0C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024FFF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024FFF10 */ cpu->lr = cpu->r[0];
|
|
/* 024FFF14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024FFF18 */ return;
|
|
L_025094C8: ; // 0x25094c8
|
|
/* 025094C8 */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 025094CC */ goto L_024FFEAC;
|
|
}
|
|
|
|
// fn_025094D0 @ 0x25094d0
|
|
void Gambit_fn_025094D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025094D0: ; // 0x25094d0
|
|
/* 025094D0 */ cpu->r[0] = cpu->lr;
|
|
/* 025094D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025094D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025094D4 */ cpu->r[1] = _t0;
|
|
/* 025094D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025094D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025094DC */ cpu->r[31] = cpu->r[3];
|
|
/* 025094E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025094E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025094E4 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 025094E4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025094E8 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025094EC */ /* nop */
|
|
/* 025094F0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025094F4 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025094F8 */ Gambit_fn_024FFD9C(cpu);
|
|
/* 025094FC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025094FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02509500 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02509504 */ cpu->lr = cpu->r[0];
|
|
/* 02509508 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250950C */ return;
|
|
}
|
|
|
|
// fn_025094D4 @ 0x25094d4
|
|
void Gambit_fn_025094D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025094D4: ; // 0x25094d4
|
|
/* 025094D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025094D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025094D4 */ cpu->r[1] = _t0;
|
|
/* 025094D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025094D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025094DC */ cpu->r[31] = cpu->r[3];
|
|
/* 025094E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025094E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025094E4 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 025094E4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025094E8 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025094EC */ /* nop */
|
|
/* 025094F0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025094F4 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025094F8 */ Gambit_fn_024FFD9C(cpu);
|
|
/* 025094FC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025094FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02509500 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02509504 */ cpu->lr = cpu->r[0];
|
|
/* 02509508 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250950C */ return;
|
|
}
|
|
|
|
// fn_02509510 @ 0x2509510
|
|
void Gambit_fn_02509510(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_02509510: ; // 0x2509510
|
|
/* 02509510 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02509510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02509510 */ cpu->r[1] = _t0;
|
|
/* 02509514 */ /* nop */
|
|
/* 02509518 */ cpu->r[0] = cpu->lr;
|
|
/* 0250951C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0250951C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02509520 */ cpu->r[29] = cpu->r[6];
|
|
/* 02509524 */ cpu->r[28] = cpu->r[3];
|
|
/* 02509528 */ cpu->r[30] = cpu->r[5];
|
|
/* 0250952C */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0250952C */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02509530 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02509534 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02509534 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02509538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250953C */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0250953C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02509540 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509540 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02509540 */ if (_t6) goto L_02509584; else goto L_02509544;
|
|
L_02509544: ; // 0x2509544
|
|
/* 02509544 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02509544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02509548 */ Gambit_fn_02826F20(cpu);
|
|
/* 0250954C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250954C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02509550 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02509550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02509554 */ cpu->ctr = cpu->r[0];
|
|
/* 02509558 */ cpu->r[5] = 0x00000004u;
|
|
/* 0250955C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02509560 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02509568 */ cpu->r[0] = cpu->r[27];
|
|
/* 0250956C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250956C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0250956C */ if (_t11) goto L_02509574; else goto L_02509570;
|
|
L_02509570: ; // 0x2509570
|
|
/* 02509570 */ cpu->r[0] = 0x00000001u;
|
|
L_02509574: ; // 0x2509574
|
|
/* 02509574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509578 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509578 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02509578 */ if (_t13) goto L_02509584; else goto L_0250957C;
|
|
L_0250957C: ; // 0x250957c
|
|
/* 0250957C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0250957C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02509580 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02509580 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02509584: ; // 0x2509584
|
|
/* 02509584 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02509584 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02509588 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250958C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02509590 */ cpu->r[12] = cpu->r[0];
|
|
/* 02509594 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509594 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02509594 */ if (_t18) goto L_02509598; else goto L_025095BC;
|
|
L_02509598: ; // 0x2509598
|
|
/* 02509598 */ cpu->ctr = cpu->r[7];
|
|
/* 0250959C */ cpu->r[10] = 0x00000000u;
|
|
L_025095A0: ; // 0x25095a0
|
|
/* 025095A0 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 025095A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025095A4 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 025095A4 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 025095A8 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 025095AC */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 025095AC */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 025095B0 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 025095B4 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 025095B4 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 025095B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025095B8 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025095B8 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 025095B8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 025095B8 */ if (_t25) goto L_025095A0; else goto L_025095BC;
|
|
L_025095BC: ; // 0x25095bc
|
|
/* 025095BC */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 025095BC */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 025095C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025095C4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025095C4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025095C4 */ if (_t28) goto L_02509608; else goto L_025095C8;
|
|
L_025095C8: ; // 0x25095c8
|
|
/* 025095C8 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025095C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025095CC */ Gambit_fn_02826F20(cpu);
|
|
/* 025095D0 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025095D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025095D4 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 025095D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025095D8 */ cpu->ctr = cpu->r[0];
|
|
/* 025095DC */ cpu->r[5] = 0x00000004u;
|
|
/* 025095E0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025095E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025095E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025095EC */ cpu->r[11] = cpu->r[27];
|
|
/* 025095F0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025095F0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 025095F0 */ if (_t33) goto L_025095F8; else goto L_025095F4;
|
|
L_025095F4: ; // 0x25095f4
|
|
/* 025095F4 */ cpu->r[11] = 0x00000001u;
|
|
L_025095F8: ; // 0x25095f8
|
|
/* 025095F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025095FC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025095FC */ _t35 = _t34 & 0x00000001u;
|
|
/* 025095FC */ if (_t35) goto L_02509608; else goto L_02509600;
|
|
L_02509600: ; // 0x2509600
|
|
/* 02509600 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02509600 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02509604 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02509604 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02509608: ; // 0x2509608
|
|
/* 02509608 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02509608 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250960C */ cpu->r[0] = 0x00000000u;
|
|
/* 02509610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02509614 */ cpu->r[12] = cpu->r[0];
|
|
/* 02509618 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509618 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02509618 */ if (_t40) goto L_0250961C; else goto L_02509640;
|
|
L_0250961C: ; // 0x250961c
|
|
/* 0250961C */ cpu->ctr = cpu->r[6];
|
|
/* 02509620 */ cpu->r[9] = 0x00000000u;
|
|
L_02509624: ; // 0x2509624
|
|
/* 02509624 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02509624 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02509628 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02509628 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0250962C */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02509630 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02509630 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02509634 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02509638 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02509638 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0250963C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250963C */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250963C */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0250963C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0250963C */ if (_t47) goto L_02509624; else goto L_02509640;
|
|
L_02509640: ; // 0x2509640
|
|
/* 02509640 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02509640 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02509644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02509648 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509648 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02509648 */ if (_t50) goto L_0250968C; else goto L_0250964C;
|
|
L_0250964C: ; // 0x250964c
|
|
/* 0250964C */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0250964C */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02509650 */ Gambit_fn_02826F20(cpu);
|
|
/* 02509654 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02509654 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02509658 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02509658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0250965C */ cpu->ctr = cpu->r[0];
|
|
/* 02509660 */ cpu->r[5] = 0x00000004u;
|
|
/* 02509664 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02509668 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250966C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02509670 */ cpu->r[10] = cpu->r[27];
|
|
/* 02509674 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509674 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02509674 */ if (_t55) goto L_0250967C; else goto L_02509678;
|
|
L_02509678: ; // 0x2509678
|
|
/* 02509678 */ cpu->r[10] = 0x00000001u;
|
|
L_0250967C: ; // 0x250967c
|
|
/* 0250967C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509680 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509680 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02509680 */ if (_t57) goto L_0250968C; else goto L_02509684;
|
|
L_02509684: ; // 0x2509684
|
|
/* 02509684 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02509684 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02509688 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02509688 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0250968C: ; // 0x250968c
|
|
/* 0250968C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0250968C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02509690 */ cpu->r[0] = 0x00000000u;
|
|
/* 02509694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02509698 */ cpu->r[5] = cpu->r[0];
|
|
/* 0250969C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250969C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0250969C */ if (_t62) goto L_025096A0; else goto L_025096C4;
|
|
L_025096A0: ; // 0x25096a0
|
|
/* 025096A0 */ cpu->ctr = cpu->r[12];
|
|
/* 025096A4 */ cpu->r[8] = 0x00000000u;
|
|
L_025096A8: ; // 0x25096a8
|
|
/* 025096A8 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 025096A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 025096AC */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 025096AC */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 025096B0 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 025096B4 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 025096B4 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 025096B8 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 025096BC */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 025096BC */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 025096C0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025096C0 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025096C0 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 025096C0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 025096C0 */ if (_t69) goto L_025096A8; else goto L_025096C4;
|
|
L_025096C4: ; // 0x25096c4
|
|
/* 025096C4 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 025096C4 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 025096C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025096CC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025096CC */ _t72 = _t71 & 0x00000001u;
|
|
/* 025096CC */ if (_t72) goto L_025097A8; else goto L_025096D0;
|
|
L_025096D0: ; // 0x25096d0
|
|
/* 025096D0 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025096D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025096D4 */ Gambit_fn_02826F20(cpu);
|
|
/* 025096D8 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025096D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 025096DC */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 025096DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 025096E0 */ cpu->ctr = cpu->r[12];
|
|
/* 025096E4 */ cpu->r[5] = 0x00000004u;
|
|
/* 025096E8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 025096EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025096F0 */ cpu->r[24] = cpu->r[3];
|
|
/* 025096F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025096F8 */ cpu->r[30] = cpu->r[25];
|
|
/* 025096FC */ cpu->r[7] = 0x00000000u;
|
|
/* 02509700 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509700 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02509700 */ if (_t77) goto L_02509708; else goto L_02509704;
|
|
L_02509704: ; // 0x2509704
|
|
/* 02509704 */ cpu->r[30] = 0x00000001u;
|
|
L_02509708: ; // 0x2509708
|
|
/* 02509708 */ cpu->r[31] = 0x10110000u;
|
|
/* 0250970C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02509710 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02509710 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02509714 */ cpu->r[23] = 0x00000018u;
|
|
L_02509718: ; // 0x2509718
|
|
/* 02509718 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02509718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250971C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250971C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0250971C */ if (_t80) goto L_0250978C; else goto L_02509720;
|
|
L_02509720: ; // 0x2509720
|
|
/* 02509720 */ cpu->r[26] = cpu->r[27];
|
|
/* 02509720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02509724 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509724 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02509724 */ if (_t82) goto L_02509728; else goto L_02509738;
|
|
L_02509728: ; // 0x2509728
|
|
/* 02509728 */ cpu->r[3] = 0x00000024u;
|
|
/* 0250972C */ Gambit_fn_02801A78(cpu);
|
|
/* 02509730 */ cpu->r[26] = cpu->r[3];
|
|
/* 02509730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02509734 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509734 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02509734 */ if (_t84) goto L_02509780; else goto L_02509738;
|
|
L_02509738: ; // 0x2509738
|
|
/* 02509738 */ cpu->r[11] = cpu->r[26];
|
|
/* 02509738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250973C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250973C */ _t86 = _t85 & 0x00000001u;
|
|
/* 0250973C */ if (_t86) goto L_02509740; else goto L_02509750;
|
|
L_02509740: ; // 0x2509740
|
|
/* 02509740 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509744 */ Gambit_fn_02801A78(cpu);
|
|
/* 02509748 */ cpu->r[11] = cpu->r[3];
|
|
/* 02509748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250974C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250974C */ _t88 = _t87 & 0x00000001u;
|
|
/* 0250974C */ if (_t88) goto L_0250976C; else goto L_02509750;
|
|
L_02509750: ; // 0x2509750
|
|
/* 02509750 */ cpu->r[5] = 0x100C0000u;
|
|
/* 02509754 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02509754 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02509758 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0250975C */ cpu->r[5] = cpu->r[5] + 0xFFFFE31Cu;
|
|
/* 02509760 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02509760 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02509764 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02509764 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02509768 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02509768 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0250976C: ; // 0x250976c
|
|
/* 0250976C */ cpu->r[6] = 0x100C0000u;
|
|
/* 02509770 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02509770 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02509774 */ cpu->r[6] = cpu->r[6] + 0xFFFFE364u;
|
|
/* 02509778 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02509778 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0250977C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0250977C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02509780: ; // 0x2509780
|
|
/* 02509780 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02509784 */ cpu->r[0] = cpu->r[0] + 0xFFFFE37Cu;
|
|
/* 02509788 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02509788 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0250978C: ; // 0x250978c
|
|
/* 0250978C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0250978C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02509790 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02509794 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509794 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02509794 */ if (_t98) goto L_02509798; else goto L_02509718;
|
|
L_02509798: ; // 0x2509798
|
|
/* 02509798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0250979C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250979C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0250979C */ if (_t100) goto L_025097A8; else goto L_025097A0;
|
|
L_025097A0: ; // 0x25097a0
|
|
/* 025097A0 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 025097A0 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 025097A4 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 025097A4 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_025097A8: ; // 0x25097a8
|
|
/* 025097A8 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 025097A8 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 025097AC */ /* nop */
|
|
/* 025097B0 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 025097B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 025097B4 */ cpu->lr = cpu->r[0];
|
|
/* 025097B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025097BC */ return;
|
|
}
|
|
|
|
// fn_025097C0 @ 0x25097c0
|
|
void Gambit_fn_025097C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_025097C0: ; // 0x25097c0
|
|
/* 025097C0 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 025097C0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025097C4 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 025097C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025097C8 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 025097C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025097CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 025097D0 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 025097D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025097D4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025097D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025097D4 */ if (_t5) goto L_025097D8; else goto L_025097E0;
|
|
L_025097D8: ; // 0x25097d8
|
|
/* 025097D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025097DC */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_025097E0: ; // 0x25097e0
|
|
/* 025097E0 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 025097E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025097E4 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 025097E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025097E8 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 025097E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 025097EC */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 025097EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 025097F0 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 025097F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025097F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 025097F8 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 025097F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025097FC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025097FC */ _t13 = _t12 & 0x00000001u;
|
|
/* 025097FC */ if (_t13) goto L_02509800; else goto L_02509808;
|
|
L_02509800: ; // 0x2509800
|
|
/* 02509800 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02509804 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02509808: ; // 0x2509808
|
|
/* 02509808 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02509808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250980C */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0250980C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02509810 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02509810 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02509814 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02509814 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02509818 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02509818 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250981C */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0250981C */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02509820 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02509820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02509824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02509828 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02509828 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250982C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250982C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250982C */ if (_t23) goto L_02509830; else goto L_02509838;
|
|
L_02509830: ; // 0x2509830
|
|
/* 02509830 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02509834 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02509838: ; // 0x2509838
|
|
/* 02509838 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02509838 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0250983C */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0250983C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02509840 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02509840 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02509844 */ return;
|
|
}
|
|
|
|
// fn_02509848 @ 0x2509848
|
|
void Gambit_fn_02509848(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02509848: ; // 0x2509848
|
|
/* 02509848 */ cpu->r[0] = cpu->lr;
|
|
/* 0250984C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02509850 */ cpu->r[7] = 0x02510000u;
|
|
/* 02509854 */ cpu->r[6] = 0x02510000u;
|
|
/* 02509858 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0250985C */ cpu->r[7] = cpu->r[7] + 0xFFFF920Cu;
|
|
/* 02509860 */ cpu->r[6] = cpu->r[6] + 0xFFFF920Cu;
|
|
/* 02509864 */ cpu->r[10] = cpu->r[10] + 0x00006724u;
|
|
/* 02509868 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02509868 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0250986C */ cpu->r[0] = 0x101C0000u;
|
|
/* 02509870 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02509870 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02509870 */ cpu->r[1] = _t1;
|
|
/* 02509874 */ cpu->r[0] = cpu->r[0] + 0x00006720u;
|
|
/* 02509878 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02509878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250987C */ cpu->r[8] = 0x00000000u;
|
|
/* 02509880 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02509880 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02509884 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509888 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509888 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0250988C */ Gambit_fn_02791B10(cpu);
|
|
/* 02509890 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02509890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02509894 */ cpu->lr = cpu->r[0];
|
|
/* 02509898 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250989C */ return;
|
|
}
|
|
|
|
// fn_02509870 @ 0x2509870
|
|
void Gambit_fn_02509870(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02509870: ; // 0x2509870
|
|
/* 02509870 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02509870 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02509870 */ cpu->r[1] = _t0;
|
|
/* 02509874 */ cpu->r[0] = cpu->r[0] + 0x00006720u;
|
|
/* 02509878 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02509878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250987C */ cpu->r[8] = 0x00000000u;
|
|
/* 02509880 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02509880 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02509884 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509888 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509888 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0250988C */ Gambit_fn_02791B10(cpu);
|
|
/* 02509890 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02509890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02509894 */ cpu->lr = cpu->r[0];
|
|
/* 02509898 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250989C */ return;
|
|
}
|
|
|
|
// fn_025098A0 @ 0x25098a0
|
|
void Gambit_fn_025098A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_025098A0: ; // 0x25098a0
|
|
/* 025098A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 025098A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025098A0 */ cpu->r[1] = _t0;
|
|
/* 025098A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025098A8 */ /* nop */
|
|
/* 025098AC */ cpu->r[30] = cpu->r[5];
|
|
/* 025098B0 */ cpu->r[26] = cpu->r[3];
|
|
/* 025098B4 */ cpu->r[27] = cpu->r[7];
|
|
/* 025098B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025098BC */ cpu->r[31] = cpu->r[6];
|
|
/* 025098C0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025098C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025098C4 */ cpu->r[29] = cpu->r[4];
|
|
/* 025098C8 */ cpu->r[4] = cpu->r[27];
|
|
/* 025098CC */ Gambit_fn_027DB318(cpu);
|
|
/* 025098D0 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 025098D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025098D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025098D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025098D4 */ if (_t3) goto L_02509968; else goto L_025098D8;
|
|
L_025098D8: ; // 0x25098d8
|
|
/* 025098D8 */ cpu->r[5] = cpu->r[28];
|
|
/* 025098DC */ cpu->r[4] = cpu->r[29];
|
|
/* 025098E0 */ cpu->r[3] = cpu->r[26];
|
|
/* 025098E4 */ Gambit_fn_02509848(cpu);
|
|
/* 025098E8 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 025098E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025098EC */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 025098EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025098F0 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 025098F4 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 025098F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 025098FC */ cpu->r[25] = 0x00000000u;
|
|
/* 02509900 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509900 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02509900 */ if (_t7) goto L_02509968; else goto L_02509904;
|
|
L_02509904: ; // 0x2509904
|
|
/* 02509904 */ cpu->r[24] = 0x101C0000u;
|
|
L_02509908: ; // 0x2509908
|
|
/* 02509908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250990C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250990C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250990C */ if (_t9) goto L_02509924; else goto L_02509910;
|
|
L_02509910: ; // 0x2509910
|
|
/* 02509910 */ cpu->ctr = cpu->r[27];
|
|
/* 02509914 */ cpu->r[3] = cpu->r[31];
|
|
/* 02509918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250991C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509920 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509920 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02509920 */ if (_t11) goto L_02509954; else goto L_02509924;
|
|
L_02509924: ; // 0x2509924
|
|
/* 02509924 */ _t12 = cpu->r[24] + 0x00006720u;
|
|
/* 02509924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02509928 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 0250992C */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 0250992C */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02509930 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02509930 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02509934 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02509938 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 02509938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250993C */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02509940 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02509940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02509944 */ cpu->r[4] = cpu->r[31];
|
|
/* 02509948 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 02509948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0250994C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02509950 */ Gambit_fn_02507720(cpu);
|
|
L_02509954: ; // 0x2509954
|
|
/* 02509954 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 02509958 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 02509958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250995C */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02509960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02509964 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509964 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02509964 */ if (_t20) goto L_02509968; else goto L_02509908;
|
|
L_02509968: ; // 0x2509968
|
|
/* 02509968 */ cpu->r[3] = cpu->r[28];
|
|
/* 0250996C */ /* nop */
|
|
/* 02509970 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02509970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02509974 */ cpu->lr = cpu->r[0];
|
|
/* 02509978 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0250997C */ return;
|
|
}
|
|
|
|
// fn_02509980 @ 0x2509980
|
|
void Gambit_fn_02509980(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187;
|
|
|
|
L_02509980: ; // 0x2509980
|
|
/* 02509980 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02509980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02509980 */ cpu->r[1] = _t0;
|
|
/* 02509984 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 02509984 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02509988 */ /* nop */
|
|
/* 0250998C */ cpu->r[0] = cpu->lr;
|
|
/* 02509990 */ /* nop */
|
|
/* 02509994 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02509994 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02509998 */ cpu->r[30] = cpu->r[3];
|
|
/* 02509998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250999C */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 0250999C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025099A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025099A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025099A0 */ if (_t5) goto L_025099A4; else goto L_025099B4;
|
|
L_025099A4: ; // 0x25099a4
|
|
/* 025099A4 */ cpu->r[3] = 0x0000027Cu;
|
|
/* 025099A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025099AC */ cpu->r[30] = cpu->r[3];
|
|
/* 025099AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025099B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025099B0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025099B0 */ if (_t7) goto L_02509EA0; else goto L_025099B4;
|
|
L_025099B4: ; // 0x25099b4
|
|
/* 025099B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025099B8 */ Gambit_fn_024F6F3C(cpu);
|
|
/* 025099BC */ cpu->r[6] = 0x100C0000u;
|
|
/* 025099C0 */ cpu->r[29] = 0x00000000u;
|
|
/* 025099C4 */ cpu->r[6] = cpu->r[6] + 0xFFFFEC64u;
|
|
/* 025099C8 */ cpu->r[31] = cpu->r[30] + 0x000001B0u;
|
|
/* 025099C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025099CC */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 025099CC */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 025099D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025099D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025099D0 */ if (_t10) goto L_025099D4; else goto L_025099E4;
|
|
L_025099D4: ; // 0x25099d4
|
|
/* 025099D4 */ cpu->r[3] = 0x00000038u;
|
|
/* 025099D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025099DC */ cpu->r[31] = cpu->r[3];
|
|
/* 025099DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025099E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025099E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025099E0 */ if (_t12) goto L_02509A14; else goto L_025099E4;
|
|
L_025099E4: ; // 0x25099e4
|
|
/* 025099E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025099E8 */ Gambit_fn_027FC29C(cpu);
|
|
/* 025099EC */ cpu->r[7] = 0x10040000u;
|
|
/* 025099F0 */ _t13 = cpu->r[31] + 0x00000030u;
|
|
/* 025099F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 025099F4 */ cpu->r[7] = cpu->r[7] + 0xFFFFC964u;
|
|
/* 025099F8 */ _t14 = cpu->r[31] + 0x00000034u;
|
|
/* 025099F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 025099FC */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 025099FC */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02509A00 */ _t16 = cpu->r[31] + 0x00000024u;
|
|
/* 02509A00 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02509A04 */ _t17 = cpu->r[31] + 0x00000028u;
|
|
/* 02509A04 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02509A08 */ _t18 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02509A08 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02509A0C */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02509A0C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02509A10 */ _t20 = cpu->r[31] + 0x00000020u;
|
|
/* 02509A10 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
L_02509A14: ; // 0x2509a14
|
|
/* 02509A14 */ _t21 = cpu->r[30] + 0x000001E8u;
|
|
/* 02509A14 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02509A18 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02509A1C */ _t22 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02509A1C */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 02509A20 */ cpu->r[10] = 0x100C0000u;
|
|
/* 02509A24 */ _t23 = cpu->r[30] + 0x00000200u;
|
|
/* 02509A24 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[9]);
|
|
/* 02509A28 */ _t24 = cpu->r[10] + 0xFFFFE81Cu;
|
|
/* 02509A28 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02509A2C */ _t25 = cpu->r[30] + 0x000001F4u;
|
|
/* 02509A2C */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[9]);
|
|
/* 02509A30 */ cpu->r[3] = cpu->r[30] + 0x00000210u;
|
|
/* 02509A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509A34 */ _t26 = cpu->r[30] + 0x00000208u;
|
|
/* 02509A34 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 02509A38 */ _t27 = cpu->r[30] + 0x00000202u;
|
|
/* 02509A38 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[9]);
|
|
/* 02509A3C */ _t28 = cpu->r[30] + 0x00000204u;
|
|
/* 02509A3C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02509A40 */ _t29 = cpu->r[30] + 0x000001FCu;
|
|
/* 02509A40 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[9]);
|
|
/* 02509A44 */ _t30 = cpu->r[30] + 0x000001ECu;
|
|
/* 02509A44 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02509A48 */ _t31 = cpu->r[30] + 0x000001FEu;
|
|
/* 02509A48 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[9]);
|
|
/* 02509A4C */ _t32 = cpu->r[30] + 0x000001F8u;
|
|
/* 02509A4C */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[9]);
|
|
/* 02509A50 */ _t33 = cpu->r[30] + 0x000001FAu;
|
|
/* 02509A50 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[9]);
|
|
/* 02509A54 */ _t34 = cpu->r[30] + 0x000001F0u;
|
|
/* 02509A54 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[9]);
|
|
/* 02509A58 */ _t35 = cpu->r[30] + 0x000001F6u;
|
|
/* 02509A58 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[9]);
|
|
/* 02509A5C */ _t36 = cpu->r[30] + 0x000001F2u;
|
|
/* 02509A5C */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[9]);
|
|
/* 02509A60 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509A60 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02509A60 */ if (_t38) goto L_02509A64; else goto L_02509A74;
|
|
L_02509A64: ; // 0x2509a64
|
|
/* 02509A64 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509A68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02509A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509A70 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509A70 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02509A70 */ if (_t40) goto L_02509A98; else goto L_02509A74;
|
|
L_02509A74: ; // 0x2509a74
|
|
/* 02509A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509A78 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509A78 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02509A78 */ if (_t42) goto L_02509A7C; else goto L_02509A8C;
|
|
L_02509A7C: ; // 0x2509a7c
|
|
/* 02509A7C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509A80 */ Gambit_fn_02801A78(cpu);
|
|
/* 02509A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509A88 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509A88 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02509A88 */ if (_t44) goto L_02509A98; else goto L_02509A8C;
|
|
L_02509A8C: ; // 0x2509a8c
|
|
/* 02509A8C */ _t45 = cpu->r[3] + 0x00000004u;
|
|
/* 02509A8C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[31]);
|
|
/* 02509A90 */ _t46 = cpu->r[3] + 0x00000000u;
|
|
/* 02509A90 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
|
|
/* 02509A94 */ _t47 = cpu->r[3] + 0x00000008u;
|
|
/* 02509A94 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[31]);
|
|
L_02509A98: ; // 0x2509a98
|
|
/* 02509A98 */ cpu->r[6] = 0x00000003u;
|
|
/* 02509A9C */ cpu->r[12] = 0x101E0000u;
|
|
/* 02509AA0 */ cpu->r[5] = cpu->r[30] + 0x00000218u;
|
|
/* 02509AA4 */ cpu->ctr = cpu->r[6];
|
|
/* 02509AA8 */ cpu->r[12] = cpu->r[12] + 0xFFFF96D4u;
|
|
L_02509AAC: ; // 0x2509aac
|
|
/* 02509AAC */ _t48 = cpu->r[12] + 0x00000004u;
|
|
/* 02509AAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02509AB0 */ _t49 = cpu->r[5] + 0x00000004u;
|
|
/* 02509AB0 */ rbrew_write32(cpu->mem, _t49, cpu->r[7]);
|
|
/* 02509AB4 */ _t50 = cpu->r[12] + 0x00000008u;
|
|
/* 02509AB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02509AB8 */ _t51 = cpu->r[5] + 0x00000008u;
|
|
/* 02509AB8 */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 02509ABC */ _t52 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02509ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02509ABC */ cpu->r[12] = _t52;
|
|
/* 02509AC0 */ _t53 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02509AC0 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02509AC0 */ cpu->r[5] = _t53;
|
|
/* 02509AC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02509AC4 */ _t54 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02509AC4 */ _t55 = _t54 >> (0x00000002u & 31u);
|
|
/* 02509AC4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02509AC4 */ if (_t56) goto L_02509AAC; else goto L_02509AC8;
|
|
L_02509AC8: ; // 0x2509ac8
|
|
/* 02509AC8 */ _t57 = cpu->r[30] + 0x00000240u;
|
|
/* 02509AC8 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[29]);
|
|
/* 02509ACC */ cpu->r[31] = 0x100C0000u;
|
|
/* 02509AD0 */ _t58 = cpu->r[30] + 0x00000254u;
|
|
/* 02509AD0 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[29]);
|
|
/* 02509AD4 */ cpu->r[3] = cpu->r[30] + 0x0000025Cu;
|
|
/* 02509AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509AD8 */ _t59 = cpu->r[30] + 0x00000250u;
|
|
/* 02509AD8 */ rbrew_write32(cpu->mem, _t59, cpu->r[29]);
|
|
/* 02509ADC */ cpu->r[31] = cpu->r[31] + 0xFFFFE8E0u;
|
|
/* 02509AE0 */ _t60 = cpu->r[30] + 0x00000258u;
|
|
/* 02509AE0 */ rbrew_write32(cpu->mem, _t60, cpu->r[29]);
|
|
/* 02509AE4 */ _t61 = cpu->r[30] + 0x00000244u;
|
|
/* 02509AE4 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[31]);
|
|
/* 02509AE8 */ _t62 = cpu->r[30] + 0x00000255u;
|
|
/* 02509AE8 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[29]);
|
|
/* 02509AEC */ _t63 = cpu->r[30] + 0x0000024Cu;
|
|
/* 02509AEC */ rbrew_write_f32(cpu->mem, _t63, cpu->f[31]);
|
|
/* 02509AF0 */ _t64 = cpu->r[30] + 0x00000256u;
|
|
/* 02509AF0 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[29]);
|
|
/* 02509AF4 */ _t65 = cpu->r[30] + 0x00000248u;
|
|
/* 02509AF4 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[31]);
|
|
/* 02509AF8 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509AF8 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02509AF8 */ if (_t67) goto L_02509AFC; else goto L_02509B0C;
|
|
L_02509AFC: ; // 0x2509afc
|
|
/* 02509AFC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509B00 */ Gambit_fn_02801A78(cpu);
|
|
/* 02509B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509B08 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509B08 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02509B08 */ if (_t69) goto L_02509B18; else goto L_02509B0C;
|
|
L_02509B0C: ; // 0x2509b0c
|
|
/* 02509B0C */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 02509B0C */ rbrew_write32(cpu->mem, _t70, cpu->r[29]);
|
|
/* 02509B10 */ _t71 = cpu->r[3] + 0x00000008u;
|
|
/* 02509B10 */ rbrew_write32(cpu->mem, _t71, cpu->r[31]);
|
|
/* 02509B14 */ _t72 = cpu->r[3] + 0x00000004u;
|
|
/* 02509B14 */ rbrew_write32(cpu->mem, _t72, cpu->r[29]);
|
|
L_02509B18: ; // 0x2509b18
|
|
/* 02509B18 */ cpu->r[28] = 0x100C0000u;
|
|
/* 02509B1C */ cpu->r[28] = cpu->r[28] + 0xFFFFE8F0u;
|
|
/* 02509B20 */ cpu->r[3] = cpu->r[30] + 0x00000268u;
|
|
/* 02509B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509B24 */ _t73 = cpu->r[30] + 0x00000264u;
|
|
/* 02509B24 */ rbrew_write32(cpu->mem, _t73, cpu->r[28]);
|
|
/* 02509B28 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509B28 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02509B28 */ if (_t75) goto L_02509B2C; else goto L_02509B3C;
|
|
L_02509B2C: ; // 0x2509b2c
|
|
/* 02509B2C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509B30 */ Gambit_fn_02801A78(cpu);
|
|
/* 02509B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02509B38 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509B38 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02509B38 */ if (_t77) goto L_02509B48; else goto L_02509B3C;
|
|
L_02509B3C: ; // 0x2509b3c
|
|
/* 02509B3C */ _t78 = cpu->r[3] + 0x00000000u;
|
|
/* 02509B3C */ rbrew_write32(cpu->mem, _t78, cpu->r[29]);
|
|
/* 02509B40 */ _t79 = cpu->r[3] + 0x00000008u;
|
|
/* 02509B40 */ rbrew_write32(cpu->mem, _t79, cpu->r[31]);
|
|
/* 02509B44 */ _t80 = cpu->r[3] + 0x00000004u;
|
|
/* 02509B44 */ rbrew_write32(cpu->mem, _t80, cpu->r[29]);
|
|
L_02509B48: ; // 0x2509b48
|
|
/* 02509B48 */ _t81 = cpu->r[30] + 0x00000270u;
|
|
/* 02509B48 */ rbrew_write32(cpu->mem, _t81, cpu->r[28]);
|
|
/* 02509B4C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02509B50 */ _t82 = cpu->r[30] + 0x00000274u;
|
|
/* 02509B50 */ rbrew_write32(cpu->mem, _t82, cpu->r[29]);
|
|
/* 02509B54 */ _t83 = cpu->r[12] + 0x00007230u;
|
|
/* 02509B54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02509B58 */ cpu->r[11] = 0x00000001u;
|
|
/* 02509B5C */ cpu->r[4] = cpu->r[30];
|
|
/* 02509B60 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02509B64 */ /* nop */
|
|
/* 02509B68 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02509B6C */ cpu->r[0] = 0x00000003u;
|
|
/* 02509B70 */ _t84 = cpu->r[30] + 0x00000278u;
|
|
/* 02509B70 */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 02509B74 */ cpu->r[6] = 0x00000000u;
|
|
/* 02509B78 */ _t85 = cpu->r[1] + 0x00000008u;
|
|
/* 02509B78 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[0]);
|
|
/* 02509B7C */ Gambit_fn_0250CD80(cpu);
|
|
/* 02509B80 */ cpu->r[3] = cpu->r[30];
|
|
/* 02509B84 */ cpu->r[4] = cpu->r[30] + 0x000001B0u;
|
|
/* 02509B88 */ Gambit_fn_02000834(cpu);
|
|
/* 02509B8C */ cpu->r[0] = 0x100C0000u;
|
|
/* 02509B90 */ cpu->r[26] = 0x02510000u;
|
|
/* 02509B94 */ cpu->r[0] = cpu->r[0] + 0xFFFFE9D0u;
|
|
/* 02509B98 */ cpu->r[25] = 0x100C0000u;
|
|
/* 02509B9C */ cpu->r[26] = cpu->r[26] + 0xFFFFC868u;
|
|
/* 02509BA0 */ cpu->r[25] = cpu->r[25] + 0xFFFFE830u;
|
|
/* 02509BA4 */ cpu->ctr = cpu->r[26];
|
|
/* 02509BA8 */ _t86 = cpu->r[1] + 0x00000010u;
|
|
/* 02509BA8 */ rbrew_write32(cpu->mem, _t86, cpu->r[25]);
|
|
/* 02509BAC */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509BAC */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 02509BB0 */ _t88 = cpu->r[30] + 0x000001C8u;
|
|
/* 02509BB0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02509BB4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509BB8 */ _t89 = cpu->r[24] + 0x00000000u;
|
|
/* 02509BB8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02509BBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509BC0 */ cpu->r[27] = 0x10110000u;
|
|
/* 02509BC4 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509BC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02509BC8 */ _t91 = cpu->r[27] + 0x00007399u;
|
|
/* 02509BC8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t91);
|
|
/* 02509BCC */ _t92 = cpu->r[9] + 0x00000000u;
|
|
/* 02509BCC */ cpu->r[0] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02509BD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02509BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02509BD8 */ cpu->r[11] = 0x00080000u;
|
|
/* 02509BDC */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509BDC */ _t94 = _t93 & 0x00000001u;
|
|
/* 02509BDC */ if (_t94) goto L_02509C04; else goto L_02509BE0;
|
|
L_02509BE0: ; // 0x2509be0
|
|
/* 02509BE0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02509BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02509BE8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02509BEC */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509BEC */ _t96 = _t95 & 0x00000001u;
|
|
/* 02509BEC */ if (_t96) goto L_02509C00; else goto L_02509BF0;
|
|
L_02509BF0: ; // 0x2509bf0
|
|
/* 02509BF0 */ _t97 = cpu->r[9] + 0x00000000u;
|
|
/* 02509BF0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t97);
|
|
/* 02509BF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[27]);
|
|
/* 02509BF8 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509BF8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02509BF8 */ if (_t99) goto L_02509BFC; else goto L_02509BE0;
|
|
L_02509BFC: ; // 0x2509bfc
|
|
/* 02509BFC */ goto L_02509C04;
|
|
L_02509C00: ; // 0x2509c00
|
|
/* 02509C00 */ cpu->r[31] = 0x00000000u;
|
|
L_02509C04: ; // 0x2509c04
|
|
/* 02509C04 */ _t100 = cpu->r[24] + 0x00000008u;
|
|
/* 02509C04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02509C08 */ _t101 = cpu->r[1] + 0x00000010u;
|
|
/* 02509C08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02509C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02509C10 */ _t102 = cpu->r[7] + 0x00000014u;
|
|
/* 02509C10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02509C14 */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02509C14 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02509C14 */ if (_t104) goto L_02509C1C; else goto L_02509C18;
|
|
L_02509C18: ; // 0x2509c18
|
|
/* 02509C18 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02509C1C: ; // 0x2509c1c
|
|
/* 02509C1C */ cpu->ctr = cpu->r[8];
|
|
/* 02509C20 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509C24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509C28 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509C28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02509C2C */ cpu->r[6] = 0x00000000u;
|
|
/* 02509C30 */ cpu->r[5] = cpu->r[31];
|
|
/* 02509C34 */ cpu->r[3] = cpu->r[28];
|
|
/* 02509C38 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02509C3C */ cpu->r[9] = 0x02510000u;
|
|
/* 02509C40 */ _t106 = cpu->r[28] + cpu->r[31];
|
|
/* 02509C40 */ rbrew_write8(cpu->mem, _t106, (uint8_t)cpu->r[27]);
|
|
/* 02509C44 */ cpu->r[9] = cpu->r[9] + 0xFFFFBB98u;
|
|
/* 02509C48 */ _t107 = cpu->r[1] + 0x00000014u;
|
|
/* 02509C48 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[29]);
|
|
/* 02509C4C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02509C50 */ _t108 = cpu->r[1] + 0x00000018u;
|
|
/* 02509C50 */ rbrew_write32(cpu->mem, _t108, cpu->r[9]);
|
|
/* 02509C54 */ cpu->r[11] = 0x02510000u;
|
|
/* 02509C58 */ _t109 = cpu->r[1] + 0x00000026u;
|
|
/* 02509C58 */ rbrew_write16(cpu->mem, _t109, (uint16_t)cpu->r[29]);
|
|
/* 02509C5C */ cpu->r[11] = cpu->r[11] + 0xFFFFBC70u;
|
|
/* 02509C60 */ _t110 = cpu->r[1] + 0x00000016u;
|
|
/* 02509C60 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[10]);
|
|
/* 02509C64 */ cpu->r[8] = 0x00000000u;
|
|
/* 02509C68 */ _t111 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509C68 */ rbrew_write16(cpu->mem, _t111, (uint16_t)cpu->r[29]);
|
|
/* 02509C6C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02509C70 */ _t112 = cpu->r[1] + 0x00000008u;
|
|
/* 02509C70 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[8]);
|
|
/* 02509C74 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02509C78 */ _t113 = cpu->r[1] + 0x00000024u;
|
|
/* 02509C78 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[29]);
|
|
/* 02509C7C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02509C80 */ _t114 = cpu->r[1] + 0x00000020u;
|
|
/* 02509C80 */ rbrew_write32(cpu->mem, _t114, cpu->r[11]);
|
|
/* 02509C84 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02509C88 */ _t115 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02509C88 */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[10]);
|
|
/* 02509C8C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509C90 */ _t116 = cpu->r[1] + 0x00000028u;
|
|
/* 02509C90 */ rbrew_write32(cpu->mem, _t116, cpu->r[29]);
|
|
/* 02509C94 */ Gambit_fn_0250D030(cpu);
|
|
/* 02509C98 */ cpu->r[8] = 0x100C0000u;
|
|
/* 02509C9C */ _t117 = cpu->r[1] + 0x00000010u;
|
|
/* 02509C9C */ rbrew_write32(cpu->mem, _t117, cpu->r[25]);
|
|
/* 02509CA0 */ cpu->r[8] = cpu->r[8] + 0xFFFFE9E0u;
|
|
/* 02509CA4 */ _t118 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509CA4 */ rbrew_write32(cpu->mem, _t118, cpu->r[8]);
|
|
/* 02509CA8 */ _t119 = cpu->r[30] + 0x000001C4u;
|
|
/* 02509CA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02509CAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 02509CB0 */ _t120 = cpu->r[30] + 0x000001C8u;
|
|
/* 02509CB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02509CB4 */ _t121 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509CB4 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02509CB4 */ if (_t122) goto L_02509CB8; else goto L_02509CBC;
|
|
L_02509CB8: ; // 0x2509cb8
|
|
/* 02509CB8 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
L_02509CBC: ; // 0x2509cbc
|
|
/* 02509CBC */ cpu->ctr = cpu->r[26];
|
|
/* 02509CC0 */ _t123 = cpu->r[28] + 0x00000000u;
|
|
/* 02509CC0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02509CC4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509CC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509CCC */ _t124 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509CCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02509CD0 */ _t125 = cpu->r[6] + 0x00000000u;
|
|
/* 02509CD0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t125);
|
|
/* 02509CD4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02509CD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[27]);
|
|
/* 02509CDC */ cpu->r[7] = 0x00080000u;
|
|
/* 02509CE0 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509CE0 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02509CE0 */ if (_t127) goto L_02509D08; else goto L_02509CE4;
|
|
L_02509CE4: ; // 0x2509ce4
|
|
/* 02509CE4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02509CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02509CEC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02509CF0 */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509CF0 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02509CF0 */ if (_t129) goto L_02509D04; else goto L_02509CF4;
|
|
L_02509CF4: ; // 0x2509cf4
|
|
/* 02509CF4 */ _t130 = cpu->r[6] + 0x00000000u;
|
|
/* 02509CF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t130);
|
|
/* 02509CF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02509CFC */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509CFC */ _t132 = _t131 & 0x00000001u;
|
|
/* 02509CFC */ if (_t132) goto L_02509D00; else goto L_02509CE4;
|
|
L_02509D00: ; // 0x2509d00
|
|
/* 02509D00 */ goto L_02509D08;
|
|
L_02509D04: ; // 0x2509d04
|
|
/* 02509D04 */ cpu->r[31] = 0x00000000u;
|
|
L_02509D08: ; // 0x2509d08
|
|
/* 02509D08 */ _t133 = cpu->r[28] + 0x00000008u;
|
|
/* 02509D08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02509D0C */ _t134 = cpu->r[1] + 0x00000010u;
|
|
/* 02509D0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02509D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02509D14 */ _t135 = cpu->r[6] + 0x00000014u;
|
|
/* 02509D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02509D18 */ _t136 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02509D18 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02509D18 */ if (_t137) goto L_02509D20; else goto L_02509D1C;
|
|
L_02509D1C: ; // 0x2509d1c
|
|
/* 02509D1C */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02509D20: ; // 0x2509d20
|
|
/* 02509D20 */ cpu->ctr = cpu->r[0];
|
|
/* 02509D24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509D28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509D2C */ _t138 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509D2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02509D30 */ cpu->r[3] = cpu->r[24];
|
|
/* 02509D34 */ cpu->r[5] = cpu->r[31];
|
|
/* 02509D38 */ cpu->r[6] = 0x00000000u;
|
|
/* 02509D3C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02509D40 */ _t139 = cpu->r[24] + cpu->r[31];
|
|
/* 02509D40 */ rbrew_write8(cpu->mem, _t139, (uint8_t)cpu->r[27]);
|
|
/* 02509D44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02509D48 */ _t140 = cpu->r[1] + 0x00000028u;
|
|
/* 02509D48 */ rbrew_write32(cpu->mem, _t140, cpu->r[29]);
|
|
/* 02509D4C */ cpu->r[10] = 0x02510000u;
|
|
/* 02509D50 */ _t141 = cpu->r[1] + 0x00000008u;
|
|
/* 02509D50 */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[0]);
|
|
/* 02509D54 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02509D58 */ _t142 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509D58 */ rbrew_write16(cpu->mem, _t142, (uint16_t)cpu->r[29]);
|
|
/* 02509D5C */ cpu->r[12] = 0x02510000u;
|
|
/* 02509D60 */ _t143 = cpu->r[1] + 0x00000024u;
|
|
/* 02509D60 */ rbrew_write16(cpu->mem, _t143, (uint16_t)cpu->r[29]);
|
|
/* 02509D64 */ _t144 = cpu->r[1] + 0x00000026u;
|
|
/* 02509D64 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[29]);
|
|
/* 02509D68 */ cpu->r[10] = cpu->r[10] + 0xFFFFBD40u;
|
|
/* 02509D6C */ _t145 = cpu->r[1] + 0x00000016u;
|
|
/* 02509D6C */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[0]);
|
|
/* 02509D70 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02509D74 */ _t146 = cpu->r[1] + 0x00000020u;
|
|
/* 02509D74 */ rbrew_write32(cpu->mem, _t146, cpu->r[10]);
|
|
/* 02509D78 */ cpu->r[12] = cpu->r[12] + 0xFFFFC38Cu;
|
|
/* 02509D7C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02509D80 */ _t147 = cpu->r[1] + 0x00000014u;
|
|
/* 02509D80 */ rbrew_write16(cpu->mem, _t147, (uint16_t)cpu->r[29]);
|
|
/* 02509D84 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02509D88 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02509D8C */ _t148 = cpu->r[1] + 0x00000018u;
|
|
/* 02509D8C */ rbrew_write32(cpu->mem, _t148, cpu->r[12]);
|
|
/* 02509D90 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509D94 */ _t149 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02509D94 */ rbrew_write16(cpu->mem, _t149, (uint16_t)cpu->r[0]);
|
|
/* 02509D98 */ Gambit_fn_0250D030(cpu);
|
|
/* 02509D9C */ cpu->r[5] = 0x100C0000u;
|
|
/* 02509DA0 */ _t150 = cpu->r[1] + 0x00000010u;
|
|
/* 02509DA0 */ rbrew_write32(cpu->mem, _t150, cpu->r[25]);
|
|
/* 02509DA4 */ cpu->r[5] = cpu->r[5] + 0xFFFFE9F0u;
|
|
/* 02509DA8 */ _t151 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509DA8 */ rbrew_write32(cpu->mem, _t151, cpu->r[5]);
|
|
/* 02509DAC */ _t152 = cpu->r[30] + 0x000001C4u;
|
|
/* 02509DAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02509DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 02509DB4 */ _t153 = cpu->r[30] + 0x000001C8u;
|
|
/* 02509DB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02509DB8 */ _t154 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509DB8 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02509DB8 */ if (_t155) goto L_02509DBC; else goto L_02509DC0;
|
|
L_02509DBC: ; // 0x2509dbc
|
|
/* 02509DBC */ cpu->r[31] = cpu->r[31] + 0x00000048u;
|
|
L_02509DC0: ; // 0x2509dc0
|
|
/* 02509DC0 */ cpu->ctr = cpu->r[26];
|
|
/* 02509DC4 */ _t156 = cpu->r[31] + 0x00000000u;
|
|
/* 02509DC4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02509DC8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509DCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509DD0 */ _t157 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509DD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02509DD4 */ _t158 = cpu->r[12] + 0x00000000u;
|
|
/* 02509DD4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t158);
|
|
/* 02509DD8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02509DDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[27]);
|
|
/* 02509DE0 */ cpu->r[5] = 0x00080000u;
|
|
/* 02509DE4 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509DE4 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02509DE4 */ if (_t160) goto L_02509E0C; else goto L_02509DE8;
|
|
L_02509DE8: ; // 0x2509de8
|
|
/* 02509DE8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02509DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 02509DF0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02509DF4 */ _t161 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02509DF4 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02509DF4 */ if (_t162) goto L_02509E08; else goto L_02509DF8;
|
|
L_02509DF8: ; // 0x2509df8
|
|
/* 02509DF8 */ _t163 = cpu->r[12] + 0x00000000u;
|
|
/* 02509DF8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t163);
|
|
/* 02509DFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[27]);
|
|
/* 02509E00 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509E00 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02509E00 */ if (_t165) goto L_02509E04; else goto L_02509DE8;
|
|
L_02509E04: ; // 0x2509e04
|
|
/* 02509E04 */ goto L_02509E0C;
|
|
L_02509E08: ; // 0x2509e08
|
|
/* 02509E08 */ cpu->r[28] = 0x00000000u;
|
|
L_02509E0C: ; // 0x2509e0c
|
|
/* 02509E0C */ _t166 = cpu->r[31] + 0x00000008u;
|
|
/* 02509E0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02509E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02509E14 */ _t167 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02509E14 */ _t168 = _t167 & 0x00000001u;
|
|
/* 02509E14 */ if (_t168) goto L_02509E1C; else goto L_02509E18;
|
|
L_02509E18: ; // 0x2509e18
|
|
/* 02509E18 */ cpu->r[28] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02509E1C: ; // 0x2509e1c
|
|
/* 02509E1C */ _t169 = cpu->r[1] + 0x00000010u;
|
|
/* 02509E1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02509E20 */ _t170 = cpu->r[9] + 0x00000014u;
|
|
/* 02509E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02509E24 */ cpu->ctr = cpu->r[10];
|
|
/* 02509E28 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509E2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509E30 */ _t171 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02509E30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02509E34 */ cpu->r[6] = 0x00000000u;
|
|
/* 02509E38 */ cpu->r[5] = cpu->r[28];
|
|
/* 02509E3C */ cpu->r[3] = cpu->r[25];
|
|
/* 02509E40 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02509E44 */ _t172 = cpu->r[25] + cpu->r[28];
|
|
/* 02509E44 */ rbrew_write8(cpu->mem, _t172, (uint8_t)cpu->r[27]);
|
|
/* 02509E48 */ cpu->r[0] = 0x00000002u;
|
|
/* 02509E4C */ _t173 = cpu->r[1] + 0x00000014u;
|
|
/* 02509E4C */ rbrew_write16(cpu->mem, _t173, (uint16_t)cpu->r[29]);
|
|
/* 02509E50 */ cpu->r[11] = 0x02510000u;
|
|
/* 02509E54 */ _t174 = cpu->r[1] + 0x00000028u;
|
|
/* 02509E54 */ rbrew_write32(cpu->mem, _t174, cpu->r[29]);
|
|
/* 02509E58 */ cpu->r[11] = cpu->r[11] + 0xFFFFC6C8u;
|
|
/* 02509E5C */ _t175 = cpu->r[1] + 0x00000024u;
|
|
/* 02509E5C */ rbrew_write16(cpu->mem, _t175, (uint16_t)cpu->r[29]);
|
|
/* 02509E60 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02509E64 */ _t176 = cpu->r[1] + 0x00000026u;
|
|
/* 02509E64 */ rbrew_write16(cpu->mem, _t176, (uint16_t)cpu->r[29]);
|
|
/* 02509E68 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02509E6C */ _t177 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02509E6C */ rbrew_write16(cpu->mem, _t177, (uint16_t)cpu->r[12]);
|
|
/* 02509E70 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02509E74 */ _t178 = cpu->r[1] + 0x00000020u;
|
|
/* 02509E74 */ rbrew_write32(cpu->mem, _t178, cpu->r[11]);
|
|
/* 02509E78 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509E7C */ _t179 = cpu->r[1] + 0x00000008u;
|
|
/* 02509E7C */ rbrew_write8(cpu->mem, _t179, (uint8_t)cpu->r[0]);
|
|
/* 02509E80 */ cpu->r[0] = 0x02510000u;
|
|
/* 02509E84 */ _t180 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509E84 */ rbrew_write16(cpu->mem, _t180, (uint16_t)cpu->r[29]);
|
|
/* 02509E88 */ cpu->r[0] = cpu->r[0] + 0xFFFFC70Cu;
|
|
/* 02509E8C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02509E90 */ _t181 = cpu->r[1] + 0x00000016u;
|
|
/* 02509E90 */ rbrew_write16(cpu->mem, _t181, (uint16_t)cpu->r[12]);
|
|
/* 02509E94 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02509E98 */ _t182 = cpu->r[1] + 0x00000018u;
|
|
/* 02509E98 */ rbrew_write32(cpu->mem, _t182, cpu->r[0]);
|
|
/* 02509E9C */ Gambit_fn_0250D030(cpu);
|
|
L_02509EA0: ; // 0x2509ea0
|
|
/* 02509EA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02509EA4 */ /* nop */
|
|
/* 02509EA8 */ _t183 = cpu->r[1] + 0x00000058u;
|
|
/* 02509EA8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t183);
|
|
/* 02509EAC */ _t184 = cpu->r[1] + 0x00000050u;
|
|
/* 02509EAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t184);
|
|
/* 02509EB0 */ _t185 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02509EB0 */ _t186 = _t185 & 0x00000001u;
|
|
/* 02509EB0 */ if (_t186) goto L_02509EB4; // else: addr-0 trap, fall-through
|
|
L_02509EB4: ; // 0x2509eb4
|
|
/* 02509EB4 */ _t187 = cpu->r[1] + 0x00000064u;
|
|
/* 02509EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02509EB8 */ cpu->lr = cpu->r[0];
|
|
/* 02509EBC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02509EC0 */ return;
|
|
}
|
|
|
|
// fn_02509EC4 @ 0x2509ec4
|
|
void Gambit_fn_02509EC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02509EC4: ; // 0x2509ec4
|
|
/* 02509EC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02509EC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02509EC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02509EC8 */ cpu->r[1] = _t0;
|
|
/* 02509ECC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02509ECC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02509ED0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02509ED0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02509ED4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02509ED8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02509EDC */ cpu->r[31] = cpu->r[4];
|
|
/* 02509EE0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509EE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02509EE4 */ Gambit_fn_024F6710(cpu);
|
|
/* 02509EE8 */ cpu->r[5] = cpu->r[3];
|
|
/* 02509EEC */ cpu->r[4] = cpu->r[31];
|
|
/* 02509EF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02509EF4 */ Gambit_fn_024F4798(cpu);
|
|
/* 02509EF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02509EFC */ _t4 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02509EFC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02509F00 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02509F04 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02509F04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02509F08 */ cpu->lr = cpu->r[0];
|
|
/* 02509F0C */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02509F0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02509F10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02509F14 */ return;
|
|
}
|
|
|
|
// fn_02509EC8 @ 0x2509ec8
|
|
void Gambit_fn_02509EC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02509EC8: ; // 0x2509ec8
|
|
/* 02509EC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02509EC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02509EC8 */ cpu->r[1] = _t0;
|
|
/* 02509ECC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02509ECC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02509ED0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02509ED0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02509ED4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02509ED8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02509EDC */ cpu->r[31] = cpu->r[4];
|
|
/* 02509EE0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509EE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02509EE4 */ Gambit_fn_024F6710(cpu);
|
|
/* 02509EE8 */ cpu->r[5] = cpu->r[3];
|
|
/* 02509EEC */ cpu->r[4] = cpu->r[31];
|
|
/* 02509EF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02509EF4 */ Gambit_fn_024F4798(cpu);
|
|
/* 02509EF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02509EFC */ _t4 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02509EFC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02509F00 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02509F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02509F04 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02509F04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02509F08 */ cpu->lr = cpu->r[0];
|
|
/* 02509F0C */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02509F0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02509F10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02509F14 */ return;
|
|
}
|
|
|
|
// fn_02509F18 @ 0x2509f18
|
|
void Gambit_fn_02509F18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146;
|
|
|
|
L_02509F18: ; // 0x2509f18
|
|
/* 02509F18 */ cpu->r[0] = cpu->lr;
|
|
/* 02509F1C */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 02509F1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02509F1C */ cpu->r[1] = _t0;
|
|
/* 02509F20 */ _t1 = cpu->r[1] + 0x00000090u;
|
|
/* 02509F20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02509F24 */ _t2 = cpu->r[1] + 0x00000088u;
|
|
/* 02509F24 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02509F28 */ _t3 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02509F28 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02509F2C */ _t4 = cpu->r[1] + 0x00000094u;
|
|
/* 02509F2C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02509F30 */ _t5 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02509F30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02509F34 */ cpu->r[29] = cpu->r[3];
|
|
/* 02509F38 */ cpu->r[3] = 0x00000034u;
|
|
/* 02509F3C */ Gambit_fn_02801A78(cpu);
|
|
/* 02509F40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02509F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02509F44 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F44 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02509F44 */ if (_t7) goto L_02509FB0; else goto L_02509F48;
|
|
L_02509F48: ; // 0x2509f48
|
|
/* 02509F48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02509F4C */ cpu->r[4] = 0x00000034u;
|
|
/* 02509F50 */ Gambit_fn_02C89380(cpu);
|
|
/* 02509F54 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02509F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02509F58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F58 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02509F58 */ if (_t9) goto L_02509F5C; else goto L_02509F6C;
|
|
L_02509F5C: ; // 0x2509f5c
|
|
/* 02509F5C */ cpu->r[3] = 0x00000024u;
|
|
/* 02509F60 */ Gambit_fn_02801A78(cpu);
|
|
/* 02509F64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02509F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02509F68 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F68 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02509F68 */ if (_t11) goto L_02509F9C; else goto L_02509F6C;
|
|
L_02509F6C: ; // 0x2509f6c
|
|
/* 02509F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02509F70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F70 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02509F70 */ if (_t13) goto L_02509F74; else goto L_02509F7C;
|
|
L_02509F74: ; // 0x2509f74
|
|
/* 02509F74 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509F78 */ Gambit_fn_02801A78(cpu);
|
|
L_02509F7C: ; // 0x2509f7c
|
|
/* 02509F7C */ cpu->r[8] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02509F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02509F80 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F80 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02509F80 */ if (_t15) goto L_02509F84; else goto L_02509F8C;
|
|
L_02509F84: ; // 0x2509f84
|
|
/* 02509F84 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509F88 */ Gambit_fn_02801A78(cpu);
|
|
L_02509F8C: ; // 0x2509f8c
|
|
/* 02509F8C */ cpu->r[10] = cpu->r[30] + 0x00000018u;
|
|
/* 02509F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02509F90 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F90 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02509F90 */ if (_t17) goto L_02509F94; else goto L_02509F9C;
|
|
L_02509F94: ; // 0x2509f94
|
|
/* 02509F94 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509F98 */ Gambit_fn_02801A78(cpu);
|
|
L_02509F9C: ; // 0x2509f9c
|
|
/* 02509F9C */ cpu->r[12] = cpu->r[31] + 0x00000004u;
|
|
/* 02509FA0 */ cpu->r[7] = cpu->r[12] + 0x00000024u;
|
|
/* 02509FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02509FA4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509FA4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02509FA4 */ if (_t19) goto L_02509FA8; else goto L_02509FB0;
|
|
L_02509FA8: ; // 0x2509fa8
|
|
/* 02509FA8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509FAC */ Gambit_fn_02801A78(cpu);
|
|
L_02509FB0: ; // 0x2509fb0
|
|
/* 02509FB0 */ _t20 = cpu->r[29] + 0x00000004u;
|
|
/* 02509FB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02509FB4 */ _t21 = cpu->r[29] + 0x000001E8u;
|
|
/* 02509FB4 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02509FB8 */ _t22 = cpu->r[9] + 0x00000234u;
|
|
/* 02509FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02509FBC */ cpu->ctr = cpu->r[0];
|
|
/* 02509FC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02509FC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509FC8 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02509FCC */ cpu->r[5] = cpu->r[3];
|
|
/* 02509FD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02509FD4 */ cpu->r[6] = cpu->r[6] + 0xFFFFEA00u;
|
|
/* 02509FD8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02509FDC */ Gambit_fn_024F264C(cpu);
|
|
/* 02509FE0 */ _t23 = cpu->r[29] + 0x000001E8u;
|
|
/* 02509FE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02509FE4 */ Gambit_fn_024F288C(cpu);
|
|
/* 02509FE8 */ cpu->r[3] = 0x00000034u;
|
|
/* 02509FEC */ Gambit_fn_02801A78(cpu);
|
|
/* 02509FF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02509FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02509FF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509FF4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02509FF4 */ if (_t25) goto L_0250A060; else goto L_02509FF8;
|
|
L_02509FF8: ; // 0x2509ff8
|
|
/* 02509FF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02509FFC */ cpu->r[4] = 0x00000034u;
|
|
/* 0250A000 */ Gambit_fn_02C89380(cpu);
|
|
/* 0250A004 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 0250A004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250A008 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A008 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250A008 */ if (_t27) goto L_0250A00C; else goto L_0250A01C;
|
|
L_0250A00C: ; // 0x250a00c
|
|
/* 0250A00C */ cpu->r[3] = 0x00000024u;
|
|
/* 0250A010 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250A014 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250A014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250A018 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A018 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0250A018 */ if (_t29) goto L_0250A04C; else goto L_0250A01C;
|
|
L_0250A01C: ; // 0x250a01c
|
|
/* 0250A01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250A020 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A020 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0250A020 */ if (_t31) goto L_0250A024; else goto L_0250A02C;
|
|
L_0250A024: ; // 0x250a024
|
|
/* 0250A024 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250A028 */ Gambit_fn_02801A78(cpu);
|
|
L_0250A02C: ; // 0x250a02c
|
|
/* 0250A02C */ cpu->r[0] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250A02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250A030 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A030 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250A030 */ if (_t33) goto L_0250A034; else goto L_0250A03C;
|
|
L_0250A034: ; // 0x250a034
|
|
/* 0250A034 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250A038 */ Gambit_fn_02801A78(cpu);
|
|
L_0250A03C: ; // 0x250a03c
|
|
/* 0250A03C */ cpu->r[0] = cpu->r[30] + 0x00000018u;
|
|
/* 0250A03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250A040 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A040 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0250A040 */ if (_t35) goto L_0250A044; else goto L_0250A04C;
|
|
L_0250A044: ; // 0x250a044
|
|
/* 0250A044 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250A048 */ Gambit_fn_02801A78(cpu);
|
|
L_0250A04C: ; // 0x250a04c
|
|
/* 0250A04C */ cpu->r[7] = cpu->r[31] + 0x00000004u;
|
|
/* 0250A050 */ cpu->r[8] = cpu->r[7] + 0x00000024u;
|
|
/* 0250A050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250A054 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A054 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0250A054 */ if (_t37) goto L_0250A058; else goto L_0250A060;
|
|
L_0250A058: ; // 0x250a058
|
|
/* 0250A058 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250A05C */ Gambit_fn_02801A78(cpu);
|
|
L_0250A060: ; // 0x250a060
|
|
/* 0250A060 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0250A060 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250A064 */ _t39 = cpu->r[29] + 0x000001ECu;
|
|
/* 0250A064 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 0250A068 */ _t40 = cpu->r[9] + 0x00000234u;
|
|
/* 0250A068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250A06C */ cpu->ctr = cpu->r[0];
|
|
/* 0250A070 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250A074 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A078 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250A07C */ cpu->r[5] = cpu->r[3];
|
|
/* 0250A080 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A084 */ cpu->r[6] = cpu->r[6] + 0xFFFFEA10u;
|
|
/* 0250A088 */ cpu->r[4] = cpu->r[29];
|
|
/* 0250A08C */ Gambit_fn_024F264C(cpu);
|
|
/* 0250A090 */ _t41 = cpu->r[29] + 0x000001ECu;
|
|
/* 0250A090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0250A094 */ Gambit_fn_024F288C(cpu);
|
|
/* 0250A098 */ cpu->r[31] = 0x100C0000u;
|
|
/* 0250A09C */ _t42 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A09C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0250A0A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFE830u;
|
|
/* 0250A0A4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250A0A8 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A0A8 */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 0250A0AC */ cpu->r[0] = cpu->r[0] + 0xFFFFEA18u;
|
|
/* 0250A0B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0B4 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 0250A0B8 */ Gambit_fn_029807A8(cpu);
|
|
/* 0250A0BC */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250A0C0 */ _t45 = cpu->r[1] + 0x00000040u;
|
|
/* 0250A0C0 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
|
|
/* 0250A0C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEA08u;
|
|
/* 0250A0C8 */ _t46 = cpu->r[29] + 0x000001F0u;
|
|
/* 0250A0C8 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 0250A0CC */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0CC */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0250A0D0 */ _t48 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A0D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0250A0D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0D8 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A0D8 */ rbrew_write32(cpu->mem, _t49, cpu->r[31]);
|
|
/* 0250A0DC */ Gambit_fn_029807A8(cpu);
|
|
/* 0250A0E0 */ _t50 = cpu->r[1] + 0x00000044u;
|
|
/* 0250A0E0 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 0250A0E4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250A0E8 */ _t51 = cpu->r[29] + 0x000001F4u;
|
|
/* 0250A0E8 */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 0250A0EC */ cpu->r[0] = cpu->r[0] + 0xFFFFEA20u;
|
|
/* 0250A0F0 */ _t52 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A0F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0250A0F4 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0F4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0250A0F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0FC */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A0FC */ rbrew_write32(cpu->mem, _t54, cpu->r[31]);
|
|
/* 0250A100 */ Gambit_fn_029807A8(cpu);
|
|
/* 0250A104 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250A108 */ _t55 = cpu->r[1] + 0x00000048u;
|
|
/* 0250A108 */ rbrew_write32(cpu->mem, _t55, cpu->r[3]);
|
|
/* 0250A10C */ cpu->r[0] = cpu->r[0] + 0xFFFFEA28u;
|
|
/* 0250A110 */ _t56 = cpu->r[29] + 0x000001F8u;
|
|
/* 0250A110 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 0250A114 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A114 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0250A118 */ _t58 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A118 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0250A11C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A120 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A120 */ rbrew_write32(cpu->mem, _t59, cpu->r[31]);
|
|
/* 0250A124 */ Gambit_fn_02980A18(cpu);
|
|
/* 0250A128 */ _t60 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250A128 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
|
|
/* 0250A12C */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250A130 */ _t61 = cpu->r[29] + 0x000001FCu;
|
|
/* 0250A130 */ rbrew_write32(cpu->mem, _t61, cpu->r[3]);
|
|
/* 0250A134 */ cpu->r[9] = cpu->r[9] + 0xFFFFEA40u;
|
|
/* 0250A138 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A138 */ rbrew_write32(cpu->mem, _t62, cpu->r[31]);
|
|
/* 0250A13C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A140 */ _t63 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0250A144 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A144 */ rbrew_write32(cpu->mem, _t64, cpu->r[9]);
|
|
/* 0250A148 */ Gambit_fn_02980A18(cpu);
|
|
/* 0250A14C */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250A150 */ _t65 = cpu->r[1] + 0x00000050u;
|
|
/* 0250A150 */ rbrew_write32(cpu->mem, _t65, cpu->r[3]);
|
|
/* 0250A154 */ cpu->r[10] = cpu->r[10] + 0xFFFFEA30u;
|
|
/* 0250A158 */ _t66 = cpu->r[29] + 0x00000200u;
|
|
/* 0250A158 */ rbrew_write32(cpu->mem, _t66, cpu->r[3]);
|
|
/* 0250A15C */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A15C */ rbrew_write32(cpu->mem, _t67, cpu->r[10]);
|
|
/* 0250A160 */ _t68 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A160 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0250A164 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A168 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A168 */ rbrew_write32(cpu->mem, _t69, cpu->r[31]);
|
|
/* 0250A16C */ Gambit_fn_029807A8(cpu);
|
|
/* 0250A170 */ cpu->r[28] = cpu->r[3];
|
|
/* 0250A174 */ _t70 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A174 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0250A178 */ /* nop */
|
|
/* 0250A17C */ cpu->r[3] = cpu->r[30];
|
|
/* 0250A180 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250A184 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250A188 */ _t71 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0250A188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0250A18C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0250A190 */ cpu->r[12] = 0x00000000u;
|
|
/* 0250A194 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250A194 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0250A194 */ if (_t73) goto L_0250A198; else goto L_0250A1A4;
|
|
L_0250A198: ; // 0x250a198
|
|
/* 0250A198 */ _t74 = cpu->r[30] + 0x00000024u;
|
|
/* 0250A198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0250A19C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250A1A0 */ _t75 = cpu->r[12] + cpu->r[0];
|
|
/* 0250A1A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
L_0250A1A4: ; // 0x250a1a4
|
|
/* 0250A1A4 */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 0250A1A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0250A1A8 */ _t77 = cpu->r[3] + 0x00000088u;
|
|
/* 0250A1A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0250A1AC */ _t78 = cpu->r[7] + 0x0000007Cu;
|
|
/* 0250A1AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0250A1B0 */ cpu->ctr = cpu->r[8];
|
|
/* 0250A1B4 */ /* nop */
|
|
/* 0250A1B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A1BC */ _t79 = cpu->r[29] + 0x000001F4u;
|
|
/* 0250A1BC */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t79);
|
|
/* 0250A1C0 */ _t80 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A1C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0250A1C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250A1C8 */ _t81 = cpu->r[29] + 0x00000204u;
|
|
/* 0250A1C8 */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
|
|
/* 0250A1CC */ cpu->r[3] = cpu->r[30];
|
|
/* 0250A1D0 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250A1D4 */ _t82 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0250A1D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0250A1D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 0250A1DC */ cpu->r[12] = 0x00000000u;
|
|
/* 0250A1E0 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250A1E0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0250A1E0 */ if (_t84) goto L_0250A1E4; else goto L_0250A1F0;
|
|
L_0250A1E4: ; // 0x250a1e4
|
|
/* 0250A1E4 */ _t85 = cpu->r[30] + 0x00000024u;
|
|
/* 0250A1E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0250A1E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250A1EC */ _t86 = cpu->r[10] + cpu->r[11];
|
|
/* 0250A1EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t86);
|
|
L_0250A1F0: ; // 0x250a1f0
|
|
/* 0250A1F0 */ _t87 = cpu->r[12] + 0x00000000u;
|
|
/* 0250A1F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0250A1F4 */ _t88 = cpu->r[3] + 0x00000088u;
|
|
/* 0250A1F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0250A1F8 */ _t89 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0250A1F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0250A1FC */ _t90 = cpu->r[29] + 0x000001F6u;
|
|
/* 0250A1FC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t90);
|
|
/* 0250A200 */ cpu->ctr = cpu->r[0];
|
|
/* 0250A204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A208 */ _t91 = cpu->r[29] + 0x000001F8u;
|
|
/* 0250A208 */ cpu->r[30] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t91);
|
|
/* 0250A20C */ _t92 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A20C */ cpu->r[31] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0250A210 */ cpu->r[4] = cpu->r[30];
|
|
/* 0250A214 */ _t93 = cpu->r[29] + 0x00000208u;
|
|
/* 0250A214 */ rbrew_write32(cpu->mem, _t93, cpu->r[3]);
|
|
/* 0250A218 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A21C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250A220 */ _t94 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250A220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0250A224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0250A228 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250A22C */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250A22C */ _t96 = _t95 & 0x00000001u;
|
|
/* 0250A22C */ if (_t96) goto L_0250A230; else goto L_0250A23C;
|
|
L_0250A230: ; // 0x250a230
|
|
/* 0250A230 */ _t97 = cpu->r[31] + 0x00000024u;
|
|
/* 0250A230 */ cpu->r[8] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0250A234 */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250A238 */ _t98 = cpu->r[7] + cpu->r[8];
|
|
/* 0250A238 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
L_0250A23C: ; // 0x250a23c
|
|
/* 0250A23C */ _t99 = cpu->r[6] + 0x00000000u;
|
|
/* 0250A23C */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0250A240 */ _t100 = cpu->r[3] + 0x00000088u;
|
|
/* 0250A240 */ cpu->r[9] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0250A244 */ _t101 = cpu->r[9] + 0x0000007Cu;
|
|
/* 0250A244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0250A248 */ cpu->ctr = cpu->r[0];
|
|
/* 0250A24C */ _t102 = cpu->r[29] + 0x000001FAu;
|
|
/* 0250A24C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t102);
|
|
/* 0250A250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A254 */ _t103 = cpu->r[29] + 0x00000064u;
|
|
/* 0250A254 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 0250A258 */ _t104 = cpu->r[29] + 0x00000070u;
|
|
/* 0250A258 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 0250A25C */ _t105 = cpu->r[1] + 0x00000024u;
|
|
/* 0250A25C */ rbrew_write_f32(cpu->mem, _t105, cpu->f[13]);
|
|
/* 0250A260 */ _t106 = cpu->r[29] + 0x00000068u;
|
|
/* 0250A260 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 0250A264 */ _t107 = cpu->r[29] + 0x00000078u;
|
|
/* 0250A264 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 0250A268 */ _t108 = cpu->r[1] + 0x00000034u;
|
|
/* 0250A268 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[13]);
|
|
/* 0250A26C */ _t109 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A26C */ rbrew_write_f32(cpu->mem, _t109, cpu->f[11]);
|
|
/* 0250A270 */ _t110 = cpu->r[29] + 0x0000006Cu;
|
|
/* 0250A270 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 0250A274 */ _t111 = cpu->r[29] + 0x00000058u;
|
|
/* 0250A274 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 0250A278 */ _t112 = cpu->r[29] + 0x0000007Cu;
|
|
/* 0250A278 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 0250A27C */ _t113 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A27C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[0]);
|
|
/* 0250A280 */ _t114 = cpu->r[29] + 0x00000074u;
|
|
/* 0250A280 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 0250A284 */ _t115 = cpu->r[29] + 0x00000054u;
|
|
/* 0250A284 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 0250A288 */ _t116 = cpu->r[1] + 0x00000038u;
|
|
/* 0250A288 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[0]);
|
|
/* 0250A28C */ _t117 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250A28C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[11]);
|
|
/* 0250A290 */ _t118 = cpu->r[1] + 0x00000020u;
|
|
/* 0250A290 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[12]);
|
|
/* 0250A294 */ _t119 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0250A294 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 0250A298 */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A298 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[8]);
|
|
/* 0250A29C */ _t121 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A29C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[12]);
|
|
/* 0250A2A0 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A2A4 */ _t122 = cpu->r[29] + 0x0000020Cu;
|
|
/* 0250A2A4 */ rbrew_write32(cpu->mem, _t122, cpu->r[3]);
|
|
/* 0250A2A8 */ _t123 = cpu->r[29] + 0x00000080u;
|
|
/* 0250A2A8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 0250A2AC */ cpu->r[12] = cpu->r[1] + 0x00000050u;
|
|
/* 0250A2B0 */ _t124 = cpu->r[29] + 0x00000060u;
|
|
/* 0250A2B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 0250A2B4 */ _t125 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A2B4 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[10]);
|
|
/* 0250A2B8 */ _t126 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A2B8 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[9]);
|
|
/* 0250A2BC */ cpu->r[6] = 0x00000003u;
|
|
/* 0250A2C0 */ _t127 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A2C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0250A2C4 */ cpu->ctr = cpu->r[6];
|
|
/* 0250A2C8 */ _t128 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250A2C8 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[7]);
|
|
L_0250A2CC: ; // 0x250a2cc
|
|
/* 0250A2CC */ _t129 = cpu->r[11] + 0x00000004u;
|
|
/* 0250A2CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0250A2D0 */ _t130 = cpu->r[12] + 0x00000004u;
|
|
/* 0250A2D0 */ rbrew_write32(cpu->mem, _t130, cpu->r[7]);
|
|
/* 0250A2D4 */ _t131 = cpu->r[11] + 0x00000008u;
|
|
/* 0250A2D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0250A2D8 */ _t132 = cpu->r[12] + 0x00000008u;
|
|
/* 0250A2D8 */ rbrew_write32(cpu->mem, _t132, cpu->r[9]);
|
|
/* 0250A2DC */ _t133 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0250A2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0250A2E0 */ _t134 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0250A2E0 */ rbrew_write32(cpu->mem, _t134, cpu->r[0]);
|
|
/* 0250A2E4 */ _t135 = cpu->r[11] + 0x00000010u;
|
|
/* 0250A2E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0250A2E4 */ cpu->r[11] = _t135;
|
|
/* 0250A2E8 */ _t136 = cpu->r[12] + 0x00000010u;
|
|
/* 0250A2E8 */ rbrew_write32(cpu->mem, _t136, cpu->r[6]);
|
|
/* 0250A2E8 */ cpu->r[12] = _t136;
|
|
/* 0250A2EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250A2EC */ _t137 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250A2EC */ _t138 = _t137 >> (0x00000002u & 31u);
|
|
/* 0250A2EC */ _t139 = _t138 & 0x00000001u;
|
|
/* 0250A2EC */ if (_t139) goto L_0250A2CC; else goto L_0250A2F0;
|
|
L_0250A2F0: ; // 0x250a2f0
|
|
/* 0250A2F0 */ _t140 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0250A2F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t140);
|
|
/* 0250A2F4 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 0250A2F8 */ cpu->r[8] = cpu->r[8] | 0x00000001u;
|
|
/* 0250A2FC */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 0250A300 */ _t141 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0250A300 */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[8]);
|
|
/* 0250A304 */ Gambit_fn_02C69510(cpu);
|
|
/* 0250A308 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A30C */ Gambit_fn_02980378(cpu);
|
|
/* 0250A310 */ _t142 = cpu->r[1] + 0x00000088u;
|
|
/* 0250A310 */ cpu->r[28] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0250A314 */ _t143 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0250A314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0250A318 */ _t144 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0250A318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0250A31C */ _t145 = cpu->r[1] + 0x00000090u;
|
|
/* 0250A31C */ cpu->r[30] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0250A320 */ cpu->lr = cpu->r[0];
|
|
/* 0250A324 */ _t146 = cpu->r[1] + 0x00000094u;
|
|
/* 0250A324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0250A328 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 0250A32C */ return;
|
|
}
|
|
|
|
// fn_02509F1C @ 0x2509f1c
|
|
void Gambit_fn_02509F1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146;
|
|
|
|
L_02509F1C: ; // 0x2509f1c
|
|
/* 02509F1C */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 02509F1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02509F1C */ cpu->r[1] = _t0;
|
|
/* 02509F20 */ _t1 = cpu->r[1] + 0x00000090u;
|
|
/* 02509F20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02509F24 */ _t2 = cpu->r[1] + 0x00000088u;
|
|
/* 02509F24 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02509F28 */ _t3 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02509F28 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02509F2C */ _t4 = cpu->r[1] + 0x00000094u;
|
|
/* 02509F2C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02509F30 */ _t5 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02509F30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02509F34 */ cpu->r[29] = cpu->r[3];
|
|
/* 02509F38 */ cpu->r[3] = 0x00000034u;
|
|
/* 02509F3C */ Gambit_fn_02801A78(cpu);
|
|
/* 02509F40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02509F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02509F44 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F44 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02509F44 */ if (_t7) goto L_02509FB0; else goto L_02509F48;
|
|
L_02509F48: ; // 0x2509f48
|
|
/* 02509F48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02509F4C */ cpu->r[4] = 0x00000034u;
|
|
/* 02509F50 */ Gambit_fn_02C89380(cpu);
|
|
/* 02509F54 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02509F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02509F58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F58 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02509F58 */ if (_t9) goto L_02509F5C; else goto L_02509F6C;
|
|
L_02509F5C: ; // 0x2509f5c
|
|
/* 02509F5C */ cpu->r[3] = 0x00000024u;
|
|
/* 02509F60 */ Gambit_fn_02801A78(cpu);
|
|
/* 02509F64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02509F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02509F68 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F68 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02509F68 */ if (_t11) goto L_02509F9C; else goto L_02509F6C;
|
|
L_02509F6C: ; // 0x2509f6c
|
|
/* 02509F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02509F70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F70 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02509F70 */ if (_t13) goto L_02509F74; else goto L_02509F7C;
|
|
L_02509F74: ; // 0x2509f74
|
|
/* 02509F74 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509F78 */ Gambit_fn_02801A78(cpu);
|
|
L_02509F7C: ; // 0x2509f7c
|
|
/* 02509F7C */ cpu->r[8] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02509F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02509F80 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F80 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02509F80 */ if (_t15) goto L_02509F84; else goto L_02509F8C;
|
|
L_02509F84: ; // 0x2509f84
|
|
/* 02509F84 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509F88 */ Gambit_fn_02801A78(cpu);
|
|
L_02509F8C: ; // 0x2509f8c
|
|
/* 02509F8C */ cpu->r[10] = cpu->r[30] + 0x00000018u;
|
|
/* 02509F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02509F90 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509F90 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02509F90 */ if (_t17) goto L_02509F94; else goto L_02509F9C;
|
|
L_02509F94: ; // 0x2509f94
|
|
/* 02509F94 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509F98 */ Gambit_fn_02801A78(cpu);
|
|
L_02509F9C: ; // 0x2509f9c
|
|
/* 02509F9C */ cpu->r[12] = cpu->r[31] + 0x00000004u;
|
|
/* 02509FA0 */ cpu->r[7] = cpu->r[12] + 0x00000024u;
|
|
/* 02509FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02509FA4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509FA4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02509FA4 */ if (_t19) goto L_02509FA8; else goto L_02509FB0;
|
|
L_02509FA8: ; // 0x2509fa8
|
|
/* 02509FA8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02509FAC */ Gambit_fn_02801A78(cpu);
|
|
L_02509FB0: ; // 0x2509fb0
|
|
/* 02509FB0 */ _t20 = cpu->r[29] + 0x00000004u;
|
|
/* 02509FB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02509FB4 */ _t21 = cpu->r[29] + 0x000001E8u;
|
|
/* 02509FB4 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02509FB8 */ _t22 = cpu->r[9] + 0x00000234u;
|
|
/* 02509FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02509FBC */ cpu->ctr = cpu->r[0];
|
|
/* 02509FC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02509FC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02509FC8 */ cpu->r[6] = 0x100C0000u;
|
|
/* 02509FCC */ cpu->r[5] = cpu->r[3];
|
|
/* 02509FD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02509FD4 */ cpu->r[6] = cpu->r[6] + 0xFFFFEA00u;
|
|
/* 02509FD8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02509FDC */ Gambit_fn_024F264C(cpu);
|
|
/* 02509FE0 */ _t23 = cpu->r[29] + 0x000001E8u;
|
|
/* 02509FE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02509FE4 */ Gambit_fn_024F288C(cpu);
|
|
/* 02509FE8 */ cpu->r[3] = 0x00000034u;
|
|
/* 02509FEC */ Gambit_fn_02801A78(cpu);
|
|
/* 02509FF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02509FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02509FF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02509FF4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02509FF4 */ if (_t25) goto L_0250A060; else goto L_02509FF8;
|
|
L_02509FF8: ; // 0x2509ff8
|
|
/* 02509FF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02509FFC */ cpu->r[4] = 0x00000034u;
|
|
/* 0250A000 */ Gambit_fn_02C89380(cpu);
|
|
/* 0250A004 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 0250A004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250A008 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A008 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250A008 */ if (_t27) goto L_0250A00C; else goto L_0250A01C;
|
|
L_0250A00C: ; // 0x250a00c
|
|
/* 0250A00C */ cpu->r[3] = 0x00000024u;
|
|
/* 0250A010 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250A014 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250A014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250A018 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A018 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0250A018 */ if (_t29) goto L_0250A04C; else goto L_0250A01C;
|
|
L_0250A01C: ; // 0x250a01c
|
|
/* 0250A01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250A020 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A020 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0250A020 */ if (_t31) goto L_0250A024; else goto L_0250A02C;
|
|
L_0250A024: ; // 0x250a024
|
|
/* 0250A024 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250A028 */ Gambit_fn_02801A78(cpu);
|
|
L_0250A02C: ; // 0x250a02c
|
|
/* 0250A02C */ cpu->r[0] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250A02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250A030 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A030 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250A030 */ if (_t33) goto L_0250A034; else goto L_0250A03C;
|
|
L_0250A034: ; // 0x250a034
|
|
/* 0250A034 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250A038 */ Gambit_fn_02801A78(cpu);
|
|
L_0250A03C: ; // 0x250a03c
|
|
/* 0250A03C */ cpu->r[0] = cpu->r[30] + 0x00000018u;
|
|
/* 0250A03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250A040 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A040 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0250A040 */ if (_t35) goto L_0250A044; else goto L_0250A04C;
|
|
L_0250A044: ; // 0x250a044
|
|
/* 0250A044 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250A048 */ Gambit_fn_02801A78(cpu);
|
|
L_0250A04C: ; // 0x250a04c
|
|
/* 0250A04C */ cpu->r[7] = cpu->r[31] + 0x00000004u;
|
|
/* 0250A050 */ cpu->r[8] = cpu->r[7] + 0x00000024u;
|
|
/* 0250A050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250A054 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A054 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0250A054 */ if (_t37) goto L_0250A058; else goto L_0250A060;
|
|
L_0250A058: ; // 0x250a058
|
|
/* 0250A058 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250A05C */ Gambit_fn_02801A78(cpu);
|
|
L_0250A060: ; // 0x250a060
|
|
/* 0250A060 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0250A060 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250A064 */ _t39 = cpu->r[29] + 0x000001ECu;
|
|
/* 0250A064 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 0250A068 */ _t40 = cpu->r[9] + 0x00000234u;
|
|
/* 0250A068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250A06C */ cpu->ctr = cpu->r[0];
|
|
/* 0250A070 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250A074 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A078 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250A07C */ cpu->r[5] = cpu->r[3];
|
|
/* 0250A080 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A084 */ cpu->r[6] = cpu->r[6] + 0xFFFFEA10u;
|
|
/* 0250A088 */ cpu->r[4] = cpu->r[29];
|
|
/* 0250A08C */ Gambit_fn_024F264C(cpu);
|
|
/* 0250A090 */ _t41 = cpu->r[29] + 0x000001ECu;
|
|
/* 0250A090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0250A094 */ Gambit_fn_024F288C(cpu);
|
|
/* 0250A098 */ cpu->r[31] = 0x100C0000u;
|
|
/* 0250A09C */ _t42 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A09C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0250A0A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFE830u;
|
|
/* 0250A0A4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250A0A8 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A0A8 */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 0250A0AC */ cpu->r[0] = cpu->r[0] + 0xFFFFEA18u;
|
|
/* 0250A0B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0B4 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 0250A0B8 */ Gambit_fn_029807A8(cpu);
|
|
/* 0250A0BC */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250A0C0 */ _t45 = cpu->r[1] + 0x00000040u;
|
|
/* 0250A0C0 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
|
|
/* 0250A0C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEA08u;
|
|
/* 0250A0C8 */ _t46 = cpu->r[29] + 0x000001F0u;
|
|
/* 0250A0C8 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 0250A0CC */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0CC */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0250A0D0 */ _t48 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A0D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0250A0D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0D8 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A0D8 */ rbrew_write32(cpu->mem, _t49, cpu->r[31]);
|
|
/* 0250A0DC */ Gambit_fn_029807A8(cpu);
|
|
/* 0250A0E0 */ _t50 = cpu->r[1] + 0x00000044u;
|
|
/* 0250A0E0 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 0250A0E4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250A0E8 */ _t51 = cpu->r[29] + 0x000001F4u;
|
|
/* 0250A0E8 */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 0250A0EC */ cpu->r[0] = cpu->r[0] + 0xFFFFEA20u;
|
|
/* 0250A0F0 */ _t52 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A0F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0250A0F4 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0F4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0250A0F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A0FC */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A0FC */ rbrew_write32(cpu->mem, _t54, cpu->r[31]);
|
|
/* 0250A100 */ Gambit_fn_029807A8(cpu);
|
|
/* 0250A104 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250A108 */ _t55 = cpu->r[1] + 0x00000048u;
|
|
/* 0250A108 */ rbrew_write32(cpu->mem, _t55, cpu->r[3]);
|
|
/* 0250A10C */ cpu->r[0] = cpu->r[0] + 0xFFFFEA28u;
|
|
/* 0250A110 */ _t56 = cpu->r[29] + 0x000001F8u;
|
|
/* 0250A110 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 0250A114 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A114 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0250A118 */ _t58 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A118 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0250A11C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A120 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A120 */ rbrew_write32(cpu->mem, _t59, cpu->r[31]);
|
|
/* 0250A124 */ Gambit_fn_02980A18(cpu);
|
|
/* 0250A128 */ _t60 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250A128 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
|
|
/* 0250A12C */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250A130 */ _t61 = cpu->r[29] + 0x000001FCu;
|
|
/* 0250A130 */ rbrew_write32(cpu->mem, _t61, cpu->r[3]);
|
|
/* 0250A134 */ cpu->r[9] = cpu->r[9] + 0xFFFFEA40u;
|
|
/* 0250A138 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A138 */ rbrew_write32(cpu->mem, _t62, cpu->r[31]);
|
|
/* 0250A13C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A140 */ _t63 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0250A144 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A144 */ rbrew_write32(cpu->mem, _t64, cpu->r[9]);
|
|
/* 0250A148 */ Gambit_fn_02980A18(cpu);
|
|
/* 0250A14C */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250A150 */ _t65 = cpu->r[1] + 0x00000050u;
|
|
/* 0250A150 */ rbrew_write32(cpu->mem, _t65, cpu->r[3]);
|
|
/* 0250A154 */ cpu->r[10] = cpu->r[10] + 0xFFFFEA30u;
|
|
/* 0250A158 */ _t66 = cpu->r[29] + 0x00000200u;
|
|
/* 0250A158 */ rbrew_write32(cpu->mem, _t66, cpu->r[3]);
|
|
/* 0250A15C */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A15C */ rbrew_write32(cpu->mem, _t67, cpu->r[10]);
|
|
/* 0250A160 */ _t68 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A160 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0250A164 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A168 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A168 */ rbrew_write32(cpu->mem, _t69, cpu->r[31]);
|
|
/* 0250A16C */ Gambit_fn_029807A8(cpu);
|
|
/* 0250A170 */ cpu->r[28] = cpu->r[3];
|
|
/* 0250A174 */ _t70 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A174 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0250A178 */ /* nop */
|
|
/* 0250A17C */ cpu->r[3] = cpu->r[30];
|
|
/* 0250A180 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250A184 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250A188 */ _t71 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0250A188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0250A18C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0250A190 */ cpu->r[12] = 0x00000000u;
|
|
/* 0250A194 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250A194 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0250A194 */ if (_t73) goto L_0250A198; else goto L_0250A1A4;
|
|
L_0250A198: ; // 0x250a198
|
|
/* 0250A198 */ _t74 = cpu->r[30] + 0x00000024u;
|
|
/* 0250A198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0250A19C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250A1A0 */ _t75 = cpu->r[12] + cpu->r[0];
|
|
/* 0250A1A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
L_0250A1A4: ; // 0x250a1a4
|
|
/* 0250A1A4 */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 0250A1A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0250A1A8 */ _t77 = cpu->r[3] + 0x00000088u;
|
|
/* 0250A1A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0250A1AC */ _t78 = cpu->r[7] + 0x0000007Cu;
|
|
/* 0250A1AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0250A1B0 */ cpu->ctr = cpu->r[8];
|
|
/* 0250A1B4 */ /* nop */
|
|
/* 0250A1B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A1BC */ _t79 = cpu->r[29] + 0x000001F4u;
|
|
/* 0250A1BC */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t79);
|
|
/* 0250A1C0 */ _t80 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A1C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0250A1C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250A1C8 */ _t81 = cpu->r[29] + 0x00000204u;
|
|
/* 0250A1C8 */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
|
|
/* 0250A1CC */ cpu->r[3] = cpu->r[30];
|
|
/* 0250A1D0 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250A1D4 */ _t82 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0250A1D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0250A1D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 0250A1DC */ cpu->r[12] = 0x00000000u;
|
|
/* 0250A1E0 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250A1E0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0250A1E0 */ if (_t84) goto L_0250A1E4; else goto L_0250A1F0;
|
|
L_0250A1E4: ; // 0x250a1e4
|
|
/* 0250A1E4 */ _t85 = cpu->r[30] + 0x00000024u;
|
|
/* 0250A1E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0250A1E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250A1EC */ _t86 = cpu->r[10] + cpu->r[11];
|
|
/* 0250A1EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t86);
|
|
L_0250A1F0: ; // 0x250a1f0
|
|
/* 0250A1F0 */ _t87 = cpu->r[12] + 0x00000000u;
|
|
/* 0250A1F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0250A1F4 */ _t88 = cpu->r[3] + 0x00000088u;
|
|
/* 0250A1F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0250A1F8 */ _t89 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0250A1F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0250A1FC */ _t90 = cpu->r[29] + 0x000001F6u;
|
|
/* 0250A1FC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t90);
|
|
/* 0250A200 */ cpu->ctr = cpu->r[0];
|
|
/* 0250A204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A208 */ _t91 = cpu->r[29] + 0x000001F8u;
|
|
/* 0250A208 */ cpu->r[30] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t91);
|
|
/* 0250A20C */ _t92 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A20C */ cpu->r[31] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0250A210 */ cpu->r[4] = cpu->r[30];
|
|
/* 0250A214 */ _t93 = cpu->r[29] + 0x00000208u;
|
|
/* 0250A214 */ rbrew_write32(cpu->mem, _t93, cpu->r[3]);
|
|
/* 0250A218 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A21C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250A220 */ _t94 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250A220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0250A224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0250A228 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250A22C */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250A22C */ _t96 = _t95 & 0x00000001u;
|
|
/* 0250A22C */ if (_t96) goto L_0250A230; else goto L_0250A23C;
|
|
L_0250A230: ; // 0x250a230
|
|
/* 0250A230 */ _t97 = cpu->r[31] + 0x00000024u;
|
|
/* 0250A230 */ cpu->r[8] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0250A234 */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250A238 */ _t98 = cpu->r[7] + cpu->r[8];
|
|
/* 0250A238 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
L_0250A23C: ; // 0x250a23c
|
|
/* 0250A23C */ _t99 = cpu->r[6] + 0x00000000u;
|
|
/* 0250A23C */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0250A240 */ _t100 = cpu->r[3] + 0x00000088u;
|
|
/* 0250A240 */ cpu->r[9] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0250A244 */ _t101 = cpu->r[9] + 0x0000007Cu;
|
|
/* 0250A244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0250A248 */ cpu->ctr = cpu->r[0];
|
|
/* 0250A24C */ _t102 = cpu->r[29] + 0x000001FAu;
|
|
/* 0250A24C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t102);
|
|
/* 0250A250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A254 */ _t103 = cpu->r[29] + 0x00000064u;
|
|
/* 0250A254 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 0250A258 */ _t104 = cpu->r[29] + 0x00000070u;
|
|
/* 0250A258 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 0250A25C */ _t105 = cpu->r[1] + 0x00000024u;
|
|
/* 0250A25C */ rbrew_write_f32(cpu->mem, _t105, cpu->f[13]);
|
|
/* 0250A260 */ _t106 = cpu->r[29] + 0x00000068u;
|
|
/* 0250A260 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 0250A264 */ _t107 = cpu->r[29] + 0x00000078u;
|
|
/* 0250A264 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 0250A268 */ _t108 = cpu->r[1] + 0x00000034u;
|
|
/* 0250A268 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[13]);
|
|
/* 0250A26C */ _t109 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A26C */ rbrew_write_f32(cpu->mem, _t109, cpu->f[11]);
|
|
/* 0250A270 */ _t110 = cpu->r[29] + 0x0000006Cu;
|
|
/* 0250A270 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 0250A274 */ _t111 = cpu->r[29] + 0x00000058u;
|
|
/* 0250A274 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 0250A278 */ _t112 = cpu->r[29] + 0x0000007Cu;
|
|
/* 0250A278 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 0250A27C */ _t113 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A27C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[0]);
|
|
/* 0250A280 */ _t114 = cpu->r[29] + 0x00000074u;
|
|
/* 0250A280 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 0250A284 */ _t115 = cpu->r[29] + 0x00000054u;
|
|
/* 0250A284 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 0250A288 */ _t116 = cpu->r[1] + 0x00000038u;
|
|
/* 0250A288 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[0]);
|
|
/* 0250A28C */ _t117 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250A28C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[11]);
|
|
/* 0250A290 */ _t118 = cpu->r[1] + 0x00000020u;
|
|
/* 0250A290 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[12]);
|
|
/* 0250A294 */ _t119 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0250A294 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 0250A298 */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A298 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[8]);
|
|
/* 0250A29C */ _t121 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A29C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[12]);
|
|
/* 0250A2A0 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A2A4 */ _t122 = cpu->r[29] + 0x0000020Cu;
|
|
/* 0250A2A4 */ rbrew_write32(cpu->mem, _t122, cpu->r[3]);
|
|
/* 0250A2A8 */ _t123 = cpu->r[29] + 0x00000080u;
|
|
/* 0250A2A8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 0250A2AC */ cpu->r[12] = cpu->r[1] + 0x00000050u;
|
|
/* 0250A2B0 */ _t124 = cpu->r[29] + 0x00000060u;
|
|
/* 0250A2B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 0250A2B4 */ _t125 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A2B4 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[10]);
|
|
/* 0250A2B8 */ _t126 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A2B8 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[9]);
|
|
/* 0250A2BC */ cpu->r[6] = 0x00000003u;
|
|
/* 0250A2C0 */ _t127 = cpu->r[29] + 0x00000008u;
|
|
/* 0250A2C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0250A2C4 */ cpu->ctr = cpu->r[6];
|
|
/* 0250A2C8 */ _t128 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250A2C8 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[7]);
|
|
L_0250A2CC: ; // 0x250a2cc
|
|
/* 0250A2CC */ _t129 = cpu->r[11] + 0x00000004u;
|
|
/* 0250A2CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0250A2D0 */ _t130 = cpu->r[12] + 0x00000004u;
|
|
/* 0250A2D0 */ rbrew_write32(cpu->mem, _t130, cpu->r[7]);
|
|
/* 0250A2D4 */ _t131 = cpu->r[11] + 0x00000008u;
|
|
/* 0250A2D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0250A2D8 */ _t132 = cpu->r[12] + 0x00000008u;
|
|
/* 0250A2D8 */ rbrew_write32(cpu->mem, _t132, cpu->r[9]);
|
|
/* 0250A2DC */ _t133 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0250A2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0250A2E0 */ _t134 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0250A2E0 */ rbrew_write32(cpu->mem, _t134, cpu->r[0]);
|
|
/* 0250A2E4 */ _t135 = cpu->r[11] + 0x00000010u;
|
|
/* 0250A2E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0250A2E4 */ cpu->r[11] = _t135;
|
|
/* 0250A2E8 */ _t136 = cpu->r[12] + 0x00000010u;
|
|
/* 0250A2E8 */ rbrew_write32(cpu->mem, _t136, cpu->r[6]);
|
|
/* 0250A2E8 */ cpu->r[12] = _t136;
|
|
/* 0250A2EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250A2EC */ _t137 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250A2EC */ _t138 = _t137 >> (0x00000002u & 31u);
|
|
/* 0250A2EC */ _t139 = _t138 & 0x00000001u;
|
|
/* 0250A2EC */ if (_t139) goto L_0250A2CC; else goto L_0250A2F0;
|
|
L_0250A2F0: ; // 0x250a2f0
|
|
/* 0250A2F0 */ _t140 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0250A2F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t140);
|
|
/* 0250A2F4 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 0250A2F8 */ cpu->r[8] = cpu->r[8] | 0x00000001u;
|
|
/* 0250A2FC */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 0250A300 */ _t141 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0250A300 */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[8]);
|
|
/* 0250A304 */ Gambit_fn_02C69510(cpu);
|
|
/* 0250A308 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A30C */ Gambit_fn_02980378(cpu);
|
|
/* 0250A310 */ _t142 = cpu->r[1] + 0x00000088u;
|
|
/* 0250A310 */ cpu->r[28] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0250A314 */ _t143 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0250A314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0250A318 */ _t144 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0250A318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0250A31C */ _t145 = cpu->r[1] + 0x00000090u;
|
|
/* 0250A31C */ cpu->r[30] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0250A320 */ cpu->lr = cpu->r[0];
|
|
/* 0250A324 */ _t146 = cpu->r[1] + 0x00000094u;
|
|
/* 0250A324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0250A328 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 0250A32C */ return;
|
|
}
|
|
|
|
// fn_0250A330 @ 0x250a330
|
|
void Gambit_fn_0250A330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96;
|
|
|
|
L_0250A330: ; // 0x250a330
|
|
/* 0250A330 */ cpu->r[0] = cpu->lr;
|
|
/* 0250A334 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0250A334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250A334 */ cpu->r[1] = _t0;
|
|
/* 0250A338 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0250A338 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250A33C */ cpu->r[11] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A340 */ _t2 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250A340 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250A344 */ cpu->r[0] = 0x00000003u;
|
|
/* 0250A348 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A34C */ cpu->ctr = cpu->r[0];
|
|
/* 0250A350 */ cpu->r[9] = cpu->r[31] + 0x00000050u;
|
|
L_0250A354: ; // 0x250a354
|
|
/* 0250A354 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 0250A354 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250A358 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0250A358 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 0250A35C */ _t5 = cpu->r[9] + 0x00000008u;
|
|
/* 0250A35C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250A360 */ _t6 = cpu->r[11] + 0x00000008u;
|
|
/* 0250A360 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0250A364 */ _t7 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0250A364 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250A368 */ _t8 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0250A368 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0250A36C */ _t9 = cpu->r[9] + 0x00000010u;
|
|
/* 0250A36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250A36C */ cpu->r[9] = _t9;
|
|
/* 0250A370 */ _t10 = cpu->r[11] + 0x00000010u;
|
|
/* 0250A370 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0250A370 */ cpu->r[11] = _t10;
|
|
/* 0250A374 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250A374 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250A374 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 0250A374 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250A374 */ if (_t13) goto L_0250A354; else goto L_0250A378;
|
|
L_0250A378: ; // 0x250a378
|
|
/* 0250A378 */ _t14 = cpu->r[31] + 0x00000234u;
|
|
/* 0250A378 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0250A37C */ _t15 = cpu->r[31] + 0x000000BCu;
|
|
/* 0250A37C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0250A380 */ _t16 = cpu->r[31] + 0x000000D4u;
|
|
/* 0250A380 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250A384 */ _t17 = cpu->r[31] + 0x000000C8u;
|
|
/* 0250A384 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0250A388 */ cpu->f[9] = cpu->f[9] * cpu->f[6];
|
|
/* 0250A38C */ /* nop */
|
|
/* 0250A390 */ _t18 = cpu->r[31] + 0x00000238u;
|
|
/* 0250A390 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250A394 */ _t19 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0250A394 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250A398 */ cpu->f[9] = fma(cpu->f[7], cpu->f[0], cpu->f[9]);
|
|
/* 0250A39C */ _t20 = cpu->r[31] + 0x000000B4u;
|
|
/* 0250A39C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0250A3A0 */ _t21 = cpu->r[31] + 0x000000B8u;
|
|
/* 0250A3A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250A3A4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A3A4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 0250A3A8 */ cpu->f[12] = fma(cpu->f[8], cpu->f[10], cpu->f[9]);
|
|
/* 0250A3AC */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A3AC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 0250A3B0 */ /* nop */
|
|
/* 0250A3B4 */ /* nop */
|
|
/* 0250A3B8 */ /* nop */
|
|
/* 0250A3BC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A3BC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
/* 0250A3C0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A3C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250A3C4 */ /* nop */
|
|
/* 0250A3C8 */ /* nop */
|
|
/* 0250A3CC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A3CC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0250A3D0 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A3D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0250A3D4 */ /* nop */
|
|
/* 0250A3D8 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A3D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250A3DC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A3DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250A3E0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A3E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 0250A3E4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A3E4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0250A3E8 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A3E8 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 0250A3EC */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A3EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0250A3F0 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250A3F4 */ _t34 = cpu->r[1] + 0x00000038u;
|
|
/* 0250A3F4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[10]);
|
|
/* 0250A3F8 */ _t35 = cpu->r[1] + 0x00000040u;
|
|
/* 0250A3F8 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 0250A3FC */ cpu->r[4] = cpu->r[4] + 0xFFFFEA4Cu;
|
|
/* 0250A400 */ cpu->r[5] = 0x000002F2u;
|
|
/* 0250A404 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250A404 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 0250A408 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0250A40C */ Gambit_fn_0204D380(cpu);
|
|
/* 0250A410 */ _t37 = cpu->r[31] + 0x00000134u;
|
|
/* 0250A410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0250A414 */ _t38 = cpu->r[3] + 0x000001CCu;
|
|
/* 0250A414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250A418 */ _t39 = cpu->r[8] + 0x0000002Cu;
|
|
/* 0250A418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0250A41C */ cpu->ctr = cpu->r[9];
|
|
/* 0250A420 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0250A424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A428 */ _t40 = cpu->r[31] + 0x00000134u;
|
|
/* 0250A428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250A42C */ _t41 = cpu->r[3] + 0x000001CCu;
|
|
/* 0250A42C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0250A430 */ _t42 = cpu->r[11] + 0x00000024u;
|
|
/* 0250A430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0250A434 */ cpu->ctr = cpu->r[0];
|
|
/* 0250A438 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A43C */ _t43 = cpu->r[31] + 0x00000208u;
|
|
/* 0250A43C */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0250A440 */ _t44 = cpu->r[7] + 0x00000010u;
|
|
/* 0250A440 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0250A444 */ _t45 = cpu->r[7] + 0x00000000u;
|
|
/* 0250A444 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0250A448 */ _t46 = cpu->r[7] + 0x00000020u;
|
|
/* 0250A448 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0250A44C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A44C */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 0250A450 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A450 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
|
|
/* 0250A454 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A454 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]);
|
|
/* 0250A458 */ _t50 = cpu->r[7] + 0x00000014u;
|
|
/* 0250A458 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 0250A45C */ _t51 = cpu->r[7] + 0x00000004u;
|
|
/* 0250A45C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0250A460 */ _t52 = cpu->r[7] + 0x00000024u;
|
|
/* 0250A460 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0250A464 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A464 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[11]);
|
|
/* 0250A468 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A468 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
/* 0250A46C */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A46C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 0250A470 */ _t56 = cpu->r[7] + 0x00000018u;
|
|
/* 0250A470 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 0250A474 */ _t57 = cpu->r[7] + 0x00000008u;
|
|
/* 0250A474 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0250A478 */ _t58 = cpu->r[7] + 0x00000028u;
|
|
/* 0250A478 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0250A47C */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 0250A47C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[12]);
|
|
/* 0250A480 */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 0250A480 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 0250A484 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A484 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[13]);
|
|
/* 0250A488 */ _t62 = cpu->r[7] + 0x0000001Cu;
|
|
/* 0250A488 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 0250A48C */ _t63 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0250A48C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0250A490 */ _t64 = cpu->r[7] + 0x0000002Cu;
|
|
/* 0250A490 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 0250A494 */ _t65 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250A494 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 0250A498 */ _t66 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A498 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 0250A49C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A4A0 */ _t67 = cpu->r[1] + 0x00000034u;
|
|
/* 0250A4A0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[0]);
|
|
/* 0250A4A4 */ Gambit_fn_0204CAC0(cpu);
|
|
/* 0250A4A8 */ _t68 = cpu->r[31] + 0x000001E8u;
|
|
/* 0250A4A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0250A4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A4B0 */ Gambit_fn_024F270C(cpu);
|
|
/* 0250A4B4 */ _t69 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0250A4B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0250A4B8 */ _t70 = cpu->r[11] + 0x00000010u;
|
|
/* 0250A4B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 0250A4BC */ _t71 = cpu->r[11] + 0x00000000u;
|
|
/* 0250A4BC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 0250A4C0 */ _t72 = cpu->r[11] + 0x00000020u;
|
|
/* 0250A4C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 0250A4C4 */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A4C4 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[13]);
|
|
/* 0250A4C8 */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A4C8 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[10]);
|
|
/* 0250A4CC */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A4CC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
|
|
/* 0250A4D0 */ _t76 = cpu->r[11] + 0x00000024u;
|
|
/* 0250A4D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0250A4D4 */ _t77 = cpu->r[11] + 0x00000014u;
|
|
/* 0250A4D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 0250A4D8 */ _t78 = cpu->r[11] + 0x00000004u;
|
|
/* 0250A4D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 0250A4DC */ _t79 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A4DC */ rbrew_write_f32(cpu->mem, _t79, cpu->f[12]);
|
|
/* 0250A4E0 */ _t80 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A4E0 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
/* 0250A4E4 */ _t81 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A4E4 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 0250A4E8 */ _t82 = cpu->r[11] + 0x00000028u;
|
|
/* 0250A4E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 0250A4EC */ _t83 = cpu->r[11] + 0x00000008u;
|
|
/* 0250A4EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 0250A4F0 */ _t84 = cpu->r[11] + 0x00000018u;
|
|
/* 0250A4F0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 0250A4F4 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 0250A4F4 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[0]);
|
|
/* 0250A4F8 */ _t86 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A4F8 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[11]);
|
|
/* 0250A4FC */ _t87 = cpu->r[1] + 0x00000024u;
|
|
/* 0250A4FC */ rbrew_write_f32(cpu->mem, _t87, cpu->f[10]);
|
|
/* 0250A500 */ _t88 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0250A500 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 0250A504 */ _t89 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0250A504 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 0250A508 */ _t90 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0250A508 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 0250A50C */ _t91 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A50C */ rbrew_write_f32(cpu->mem, _t91, cpu->f[13]);
|
|
/* 0250A510 */ _t92 = cpu->r[1] + 0x00000034u;
|
|
/* 0250A510 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[0]);
|
|
/* 0250A514 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A518 */ _t93 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250A518 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[12]);
|
|
/* 0250A51C */ Gambit_fn_0204CAC0(cpu);
|
|
/* 0250A520 */ _t94 = cpu->r[31] + 0x000001ECu;
|
|
/* 0250A520 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0250A524 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A528 */ Gambit_fn_024F270C(cpu);
|
|
/* 0250A52C */ _t95 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250A52C */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0250A530 */ _t96 = cpu->r[1] + 0x00000054u;
|
|
/* 0250A530 */ cpu->r[31] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0250A534 */ cpu->lr = cpu->r[0];
|
|
/* 0250A538 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0250A53C */ return;
|
|
}
|
|
|
|
// fn_0250A334 @ 0x250a334
|
|
void Gambit_fn_0250A334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96;
|
|
|
|
L_0250A334: ; // 0x250a334
|
|
/* 0250A334 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0250A334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250A334 */ cpu->r[1] = _t0;
|
|
/* 0250A338 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0250A338 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250A33C */ cpu->r[11] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A340 */ _t2 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250A340 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250A344 */ cpu->r[0] = 0x00000003u;
|
|
/* 0250A348 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A34C */ cpu->ctr = cpu->r[0];
|
|
/* 0250A350 */ cpu->r[9] = cpu->r[31] + 0x00000050u;
|
|
L_0250A354: ; // 0x250a354
|
|
/* 0250A354 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 0250A354 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250A358 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0250A358 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 0250A35C */ _t5 = cpu->r[9] + 0x00000008u;
|
|
/* 0250A35C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250A360 */ _t6 = cpu->r[11] + 0x00000008u;
|
|
/* 0250A360 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0250A364 */ _t7 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0250A364 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250A368 */ _t8 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0250A368 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0250A36C */ _t9 = cpu->r[9] + 0x00000010u;
|
|
/* 0250A36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250A36C */ cpu->r[9] = _t9;
|
|
/* 0250A370 */ _t10 = cpu->r[11] + 0x00000010u;
|
|
/* 0250A370 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0250A370 */ cpu->r[11] = _t10;
|
|
/* 0250A374 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250A374 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250A374 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 0250A374 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250A374 */ if (_t13) goto L_0250A354; else goto L_0250A378;
|
|
L_0250A378: ; // 0x250a378
|
|
/* 0250A378 */ _t14 = cpu->r[31] + 0x00000234u;
|
|
/* 0250A378 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0250A37C */ _t15 = cpu->r[31] + 0x000000BCu;
|
|
/* 0250A37C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0250A380 */ _t16 = cpu->r[31] + 0x000000D4u;
|
|
/* 0250A380 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250A384 */ _t17 = cpu->r[31] + 0x000000C8u;
|
|
/* 0250A384 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0250A388 */ cpu->f[9] = cpu->f[9] * cpu->f[6];
|
|
/* 0250A38C */ /* nop */
|
|
/* 0250A390 */ _t18 = cpu->r[31] + 0x00000238u;
|
|
/* 0250A390 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250A394 */ _t19 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0250A394 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250A398 */ cpu->f[9] = fma(cpu->f[7], cpu->f[0], cpu->f[9]);
|
|
/* 0250A39C */ _t20 = cpu->r[31] + 0x000000B4u;
|
|
/* 0250A39C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0250A3A0 */ _t21 = cpu->r[31] + 0x000000B8u;
|
|
/* 0250A3A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250A3A4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A3A4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 0250A3A8 */ cpu->f[12] = fma(cpu->f[8], cpu->f[10], cpu->f[9]);
|
|
/* 0250A3AC */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A3AC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 0250A3B0 */ /* nop */
|
|
/* 0250A3B4 */ /* nop */
|
|
/* 0250A3B8 */ /* nop */
|
|
/* 0250A3BC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A3BC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
/* 0250A3C0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A3C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250A3C4 */ /* nop */
|
|
/* 0250A3C8 */ /* nop */
|
|
/* 0250A3CC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A3CC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0250A3D0 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A3D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0250A3D4 */ /* nop */
|
|
/* 0250A3D8 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A3D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250A3DC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A3DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250A3E0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A3E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 0250A3E4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A3E4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0250A3E8 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A3E8 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 0250A3EC */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A3EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0250A3F0 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250A3F4 */ _t34 = cpu->r[1] + 0x00000038u;
|
|
/* 0250A3F4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[10]);
|
|
/* 0250A3F8 */ _t35 = cpu->r[1] + 0x00000040u;
|
|
/* 0250A3F8 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 0250A3FC */ cpu->r[4] = cpu->r[4] + 0xFFFFEA4Cu;
|
|
/* 0250A400 */ cpu->r[5] = 0x000002F2u;
|
|
/* 0250A404 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250A404 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 0250A408 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0250A40C */ Gambit_fn_0204D380(cpu);
|
|
/* 0250A410 */ _t37 = cpu->r[31] + 0x00000134u;
|
|
/* 0250A410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0250A414 */ _t38 = cpu->r[3] + 0x000001CCu;
|
|
/* 0250A414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250A418 */ _t39 = cpu->r[8] + 0x0000002Cu;
|
|
/* 0250A418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0250A41C */ cpu->ctr = cpu->r[9];
|
|
/* 0250A420 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0250A424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A428 */ _t40 = cpu->r[31] + 0x00000134u;
|
|
/* 0250A428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250A42C */ _t41 = cpu->r[3] + 0x000001CCu;
|
|
/* 0250A42C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0250A430 */ _t42 = cpu->r[11] + 0x00000024u;
|
|
/* 0250A430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0250A434 */ cpu->ctr = cpu->r[0];
|
|
/* 0250A438 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250A43C */ _t43 = cpu->r[31] + 0x00000208u;
|
|
/* 0250A43C */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0250A440 */ _t44 = cpu->r[7] + 0x00000010u;
|
|
/* 0250A440 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0250A444 */ _t45 = cpu->r[7] + 0x00000000u;
|
|
/* 0250A444 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0250A448 */ _t46 = cpu->r[7] + 0x00000020u;
|
|
/* 0250A448 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0250A44C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A44C */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 0250A450 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A450 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
|
|
/* 0250A454 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A454 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]);
|
|
/* 0250A458 */ _t50 = cpu->r[7] + 0x00000014u;
|
|
/* 0250A458 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 0250A45C */ _t51 = cpu->r[7] + 0x00000004u;
|
|
/* 0250A45C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0250A460 */ _t52 = cpu->r[7] + 0x00000024u;
|
|
/* 0250A460 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0250A464 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A464 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[11]);
|
|
/* 0250A468 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A468 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
/* 0250A46C */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A46C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 0250A470 */ _t56 = cpu->r[7] + 0x00000018u;
|
|
/* 0250A470 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 0250A474 */ _t57 = cpu->r[7] + 0x00000008u;
|
|
/* 0250A474 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0250A478 */ _t58 = cpu->r[7] + 0x00000028u;
|
|
/* 0250A478 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0250A47C */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 0250A47C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[12]);
|
|
/* 0250A480 */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 0250A480 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 0250A484 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A484 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[13]);
|
|
/* 0250A488 */ _t62 = cpu->r[7] + 0x0000001Cu;
|
|
/* 0250A488 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 0250A48C */ _t63 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0250A48C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0250A490 */ _t64 = cpu->r[7] + 0x0000002Cu;
|
|
/* 0250A490 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 0250A494 */ _t65 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250A494 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 0250A498 */ _t66 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A498 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 0250A49C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A4A0 */ _t67 = cpu->r[1] + 0x00000034u;
|
|
/* 0250A4A0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[0]);
|
|
/* 0250A4A4 */ Gambit_fn_0204CAC0(cpu);
|
|
/* 0250A4A8 */ _t68 = cpu->r[31] + 0x000001E8u;
|
|
/* 0250A4A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0250A4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A4B0 */ Gambit_fn_024F270C(cpu);
|
|
/* 0250A4B4 */ _t69 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0250A4B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0250A4B8 */ _t70 = cpu->r[11] + 0x00000010u;
|
|
/* 0250A4B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 0250A4BC */ _t71 = cpu->r[11] + 0x00000000u;
|
|
/* 0250A4BC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 0250A4C0 */ _t72 = cpu->r[11] + 0x00000020u;
|
|
/* 0250A4C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 0250A4C4 */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A4C4 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[13]);
|
|
/* 0250A4C8 */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A4C8 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[10]);
|
|
/* 0250A4CC */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A4CC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
|
|
/* 0250A4D0 */ _t76 = cpu->r[11] + 0x00000024u;
|
|
/* 0250A4D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0250A4D4 */ _t77 = cpu->r[11] + 0x00000014u;
|
|
/* 0250A4D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 0250A4D8 */ _t78 = cpu->r[11] + 0x00000004u;
|
|
/* 0250A4D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 0250A4DC */ _t79 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A4DC */ rbrew_write_f32(cpu->mem, _t79, cpu->f[12]);
|
|
/* 0250A4E0 */ _t80 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A4E0 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
/* 0250A4E4 */ _t81 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A4E4 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 0250A4E8 */ _t82 = cpu->r[11] + 0x00000028u;
|
|
/* 0250A4E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 0250A4EC */ _t83 = cpu->r[11] + 0x00000008u;
|
|
/* 0250A4EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 0250A4F0 */ _t84 = cpu->r[11] + 0x00000018u;
|
|
/* 0250A4F0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 0250A4F4 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 0250A4F4 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[0]);
|
|
/* 0250A4F8 */ _t86 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A4F8 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[11]);
|
|
/* 0250A4FC */ _t87 = cpu->r[1] + 0x00000024u;
|
|
/* 0250A4FC */ rbrew_write_f32(cpu->mem, _t87, cpu->f[10]);
|
|
/* 0250A500 */ _t88 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0250A500 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 0250A504 */ _t89 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0250A504 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 0250A508 */ _t90 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0250A508 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 0250A50C */ _t91 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A50C */ rbrew_write_f32(cpu->mem, _t91, cpu->f[13]);
|
|
/* 0250A510 */ _t92 = cpu->r[1] + 0x00000034u;
|
|
/* 0250A510 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[0]);
|
|
/* 0250A514 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A518 */ _t93 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250A518 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[12]);
|
|
/* 0250A51C */ Gambit_fn_0204CAC0(cpu);
|
|
/* 0250A520 */ _t94 = cpu->r[31] + 0x000001ECu;
|
|
/* 0250A520 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0250A524 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A528 */ Gambit_fn_024F270C(cpu);
|
|
/* 0250A52C */ _t95 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250A52C */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0250A530 */ _t96 = cpu->r[1] + 0x00000054u;
|
|
/* 0250A530 */ cpu->r[31] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0250A534 */ cpu->lr = cpu->r[0];
|
|
/* 0250A538 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0250A53C */ return;
|
|
}
|
|
|
|
// fn_0250A540 @ 0x250a540
|
|
void Gambit_fn_0250A540(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65;
|
|
|
|
L_0250A540: ; // 0x250a540
|
|
/* 0250A540 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0250A540 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250A540 */ cpu->r[1] = _t0;
|
|
/* 0250A544 */ cpu->r[0] = cpu->lr;
|
|
/* 0250A548 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A548 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250A54C */ /* nop */
|
|
/* 0250A550 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0250A550 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250A554 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A554 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0250A558 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0250A558 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0250A55C */ cpu->r[7] = 0x100C0000u;
|
|
/* 0250A560 */ _t5 = cpu->r[7] + 0xFFFFE81Cu;
|
|
/* 0250A560 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0250A564 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A568 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250A568 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0250A56C */ _t7 = cpu->r[31] + 0x00000134u;
|
|
/* 0250A56C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250A570 */ cpu->f[1] = cpu->f[31];
|
|
/* 0250A574 */ _t8 = cpu->r[6] + 0x00000294u;
|
|
/* 0250A574 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 0250A578 */ _t9 = cpu->r[31] + 0x000001E8u;
|
|
/* 0250A578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250A57C */ Gambit_fn_024F28D0(cpu);
|
|
/* 0250A580 */ cpu->f[1] = cpu->f[31];
|
|
/* 0250A584 */ _t10 = cpu->r[31] + 0x000001ECu;
|
|
/* 0250A584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250A588 */ Gambit_fn_024F28D0(cpu);
|
|
/* 0250A58C */ _t11 = cpu->r[31] + 0x00000134u;
|
|
/* 0250A58C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250A590 */ cpu->r[4] = 0x00000001u;
|
|
/* 0250A594 */ Gambit_fn_02040BB0(cpu);
|
|
/* 0250A598 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250A59C */ _t12 = cpu->r[31] + 0x00000130u;
|
|
/* 0250A59C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250A5A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0250A5A4 */ cpu->r[4] = cpu->r[4] + 0xFFFFEA70u;
|
|
/* 0250A5A8 */ Gambit_fn_02398850(cpu);
|
|
/* 0250A5AC */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250A5B0 */ _t13 = cpu->r[31] + 0x00000130u;
|
|
/* 0250A5B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0250A5B4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0250A5B8 */ cpu->r[4] = cpu->r[4] + 0xFFFFEA68u;
|
|
/* 0250A5BC */ Gambit_fn_02398850(cpu);
|
|
/* 0250A5C0 */ _t14 = cpu->r[31] + 0x00000130u;
|
|
/* 0250A5C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250A5C4 */ _t15 = cpu->r[7] + 0x00000004u;
|
|
/* 0250A5C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250A5C8 */ _t16 = cpu->r[8] + 0x00000008u;
|
|
/* 0250A5C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250A5CC */ cpu->r[10] = 0x101E0000u;
|
|
/* 0250A5D0 */ _t17 = cpu->r[9] + 0x00000008u;
|
|
/* 0250A5D0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 0250A5D4 */ _t18 = cpu->r[10] + 0xFFFF96D8u;
|
|
/* 0250A5D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250A5D4 */ cpu->r[10] = _t18;
|
|
/* 0250A5D8 */ _t19 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0250A5D8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 0250A5DC */ _t20 = cpu->r[10] + 0x00000004u;
|
|
/* 0250A5DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0250A5E0 */ _t21 = cpu->r[31] + 0x00000220u;
|
|
/* 0250A5E0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 0250A5E4 */ _t22 = cpu->r[10] + 0x00000008u;
|
|
/* 0250A5E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0250A5E8 */ _t23 = cpu->r[31] + 0x00000224u;
|
|
/* 0250A5E8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 0250A5EC */ _t24 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0250A5EC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0250A5F0 */ _t25 = cpu->r[31] + 0x00000228u;
|
|
/* 0250A5F0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 0250A5F4 */ _t26 = cpu->r[10] + 0x00000010u;
|
|
/* 0250A5F4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0250A5F8 */ _t27 = cpu->r[31] + 0x0000022Cu;
|
|
/* 0250A5F8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]);
|
|
/* 0250A5FC */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 0250A5FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0250A600 */ _t29 = cpu->r[31] + 0x00000230u;
|
|
/* 0250A600 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[11]);
|
|
/* 0250A604 */ _t30 = cpu->r[10] + 0x00000018u;
|
|
/* 0250A604 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0250A608 */ _t31 = cpu->r[31] + 0x00000234u;
|
|
/* 0250A608 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 0250A60C */ _t32 = cpu->r[10] + 0x0000001Cu;
|
|
/* 0250A60C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0250A610 */ _t33 = cpu->r[31] + 0x00000204u;
|
|
/* 0250A610 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250A614 */ cpu->r[30] = 0x00000000u;
|
|
/* 0250A618 */ _t34 = cpu->r[31] + 0x00000238u;
|
|
/* 0250A618 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 0250A61C */ _t35 = cpu->r[10] + 0x00000020u;
|
|
/* 0250A61C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0250A620 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0250A624 */ _t36 = cpu->r[31] + 0x00000240u;
|
|
/* 0250A624 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[30]);
|
|
/* 0250A628 */ cpu->r[5] = 0x00000003u;
|
|
/* 0250A62C */ _t37 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0250A62C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[11]);
|
|
/* 0250A630 */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250A634 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A634 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250A638 */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A638 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0250A63C */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A63C */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250A640 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A640 */ rbrew_write32(cpu->mem, _t41, cpu->r[8]);
|
|
/* 0250A644 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A644 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 0250A648 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A648 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0250A64C */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250A650 */ _t44 = cpu->r[31] + 0x00000258u;
|
|
/* 0250A650 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 0250A654 */ _t45 = cpu->r[10] + 0xFFFFEA64u;
|
|
/* 0250A654 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0250A658 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A658 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 0250A65C */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A65C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 0250A660 */ _t48 = cpu->r[31] + 0x00000244u;
|
|
/* 0250A660 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 0250A664 */ _t49 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0250A664 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[31]);
|
|
/* 0250A668 */ _t50 = cpu->r[31] + 0x00000250u;
|
|
/* 0250A668 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]);
|
|
/* 0250A66C */ _t51 = cpu->r[31] + 0x00000248u;
|
|
/* 0250A66C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 0250A670 */ _t52 = cpu->r[31] + 0x00000210u;
|
|
/* 0250A670 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[10]);
|
|
/* 0250A674 */ _t53 = cpu->r[31] + 0x00000256u;
|
|
/* 0250A674 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[30]);
|
|
/* 0250A678 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A678 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0250A67C */ _t55 = cpu->r[31] + 0x00000255u;
|
|
/* 0250A67C */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[30]);
|
|
/* 0250A680 */ _t56 = cpu->r[31] + 0x00000214u;
|
|
/* 0250A680 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[12]);
|
|
/* 0250A684 */ _t57 = cpu->r[31] + 0x00000254u;
|
|
/* 0250A684 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[30]);
|
|
/* 0250A688 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A68C */ _t58 = cpu->r[31] + 0x00000218u;
|
|
/* 0250A68C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 0250A690 */ Gambit_fn_0250A330(cpu);
|
|
/* 0250A694 */ _t59 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A694 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 0250A698 */ _t60 = cpu->r[1] + 0x00000020u;
|
|
/* 0250A698 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0250A69C */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A69C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 0250A6A0 */ _t62 = cpu->r[1] + 0x00000024u;
|
|
/* 0250A6A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0250A6A4 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250A6A4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0250A6A4 */ if (_t64) goto L_0250A6A8; // else: addr-0 trap, fall-through
|
|
L_0250A6A8: ; // 0x250a6a8
|
|
/* 0250A6A8 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250A6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0250A6AC */ cpu->lr = cpu->r[0];
|
|
/* 0250A6B0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0250A6B4 */ return;
|
|
}
|
|
|
|
// fn_0250A6B8 @ 0x250a6b8
|
|
void Gambit_fn_0250A6B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161;
|
|
|
|
L_0250A6B8: ; // 0x250a6b8
|
|
/* 0250A6B8 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 0250A6B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250A6B8 */ cpu->r[1] = _t0;
|
|
/* 0250A6BC */ /* nop */
|
|
/* 0250A6C0 */ cpu->r[0] = cpu->lr;
|
|
/* 0250A6C4 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 0250A6C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250A6C8 */ /* nop */
|
|
/* 0250A6CC */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 0250A6CC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0250A6D0 */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250A6D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250A6D4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0250A6D8 */ cpu->r[5] = 0x00000003u;
|
|
/* 0250A6DC */ _t4 = cpu->r[29] + 0x00000204u;
|
|
/* 0250A6DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250A6E0 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 0250A6E4 */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250A6E8 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250A6E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250A6EC */ _t6 = cpu->r[1] + 0x00000038u;
|
|
/* 0250A6EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250A6F0 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A6F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0250A6F4 */ _t8 = cpu->r[1] + 0x00000030u;
|
|
/* 0250A6F4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0250A6F8 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250A6FC */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250A6FC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0250A700 */ _t10 = cpu->r[29] + 0x00000248u;
|
|
/* 0250A700 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250A704 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0250A708 */ _t11 = cpu->r[1] + 0x00000034u;
|
|
/* 0250A708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250A70C */ _t12 = cpu->r[12] + 0xFFFFEA84u;
|
|
/* 0250A70C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0250A710 */ _t13 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250A710 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0250A714 */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A714 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 0250A718 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0250A718 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0250A71C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 0250A720 */ _t16 = cpu->r[29] + 0x00000244u;
|
|
/* 0250A720 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250A724 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0250A728 */ _t17 = cpu->r[29] + 0x00000214u;
|
|
/* 0250A728 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[7]);
|
|
/* 0250A72C */ cpu->r[28] = 0x101D0000u;
|
|
/* 0250A730 */ _t18 = cpu->r[29] + 0x00000218u;
|
|
/* 0250A730 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[8]);
|
|
/* 0250A734 */ cpu->f[31] = cpu->f[9] - cpu->f[10];
|
|
/* 0250A738 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0250A73C */ _t19 = cpu->r[29] + 0x00000210u;
|
|
/* 0250A73C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 0250A740 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A740 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250A740 */ if (_t21) goto L_0250A820; else goto L_0250A744;
|
|
L_0250A744: ; // 0x250a744
|
|
/* 0250A744 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0250A748 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A748 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250A748 */ if (_t23) goto L_0250A74C; else goto L_0250A820;
|
|
L_0250A74C: ; // 0x250a74c
|
|
/* 0250A74C */ _t24 = cpu->r[9] + 0xFFFFFE70u;
|
|
/* 0250A74C */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250A750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250A754 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A754 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0250A754 */ if (_t26) goto L_0250A758; else goto L_0250A774;
|
|
L_0250A758: ; // 0x250a758
|
|
/* 0250A758 */ cpu->r[12] = 0x00000001u;
|
|
/* 0250A75C */ cpu->r[4] = 0x101C0000u;
|
|
/* 0250A760 */ cpu->r[3] = cpu->r[28] + 0x0000517Eu;
|
|
/* 0250A764 */ cpu->r[5] = 0x0000001Fu;
|
|
/* 0250A768 */ cpu->r[4] = cpu->r[4] + 0x00006728u;
|
|
/* 0250A76C */ _t27 = cpu->r[9] + 0xFFFFFE70u;
|
|
/* 0250A76C */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 0250A770 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_0250A774: ; // 0x250a774
|
|
/* 0250A774 */ _t28 = cpu->r[31] + 0xFFFFFE6Cu;
|
|
/* 0250A774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250A778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0250A77C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A77C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0250A77C */ if (_t30) goto L_0250A780; else goto L_0250A7AC;
|
|
L_0250A780: ; // 0x250a780
|
|
/* 0250A780 */ cpu->r[7] = 0x00000001u;
|
|
/* 0250A784 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250A788 */ _t31 = cpu->r[31] + 0xFFFFFE6Cu;
|
|
/* 0250A788 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 0250A78C */ _t32 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A78C */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 0250A790 */ Gambit_fn_0282A450(cpu);
|
|
/* 0250A794 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A798 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250A79C */ _t33 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A79C */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250A7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250A7A4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A7A4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0250A7A4 */ if (_t35) goto L_0250A7D0; else goto L_0250A7A8;
|
|
L_0250A7A8: ; // 0x250a7a8
|
|
/* 0250A7A8 */ goto L_0250A7EC;
|
|
L_0250A7AC: ; // 0x250a7ac
|
|
/* 0250A7AC */ _t36 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A7AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0250A7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250A7B4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A7B4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0250A7B4 */ if (_t38) goto L_0250A7B8; else goto L_0250A7F8;
|
|
L_0250A7B8: ; // 0x250a7b8
|
|
/* 0250A7B8 */ Gambit_fn_0282A450(cpu);
|
|
/* 0250A7BC */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A7C0 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250A7C4 */ _t39 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A7C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0250A7C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250A7CC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A7CC */ _t41 = _t40 & 0x00000001u;
|
|
/* 0250A7CC */ if (_t41) goto L_0250A7D0; else goto L_0250A7EC;
|
|
L_0250A7D0: ; // 0x250a7d0
|
|
/* 0250A7D0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0250A7D4 */ cpu->r[4] = cpu->r[28] + 0x0000517Eu;
|
|
/* 0250A7D8 */ cpu->r[30] = cpu->r[30] + 0x0000097Cu;
|
|
/* 0250A7DC */ cpu->r[5] = 0x00000004u;
|
|
/* 0250A7E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250A7E4 */ Gambit_fn_0282A374(cpu);
|
|
/* 0250A7E8 */ _t42 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A7E8 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
L_0250A7EC: ; // 0x250a7ec
|
|
/* 0250A7EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A7F0 */ Gambit_fn_02837030(cpu);
|
|
/* 0250A7F4 */ _t43 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A7F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
L_0250A7F8: ; // 0x250a7f8
|
|
/* 0250A7F8 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250A7FC */ _t44 = cpu->r[8] + 0x00000004u;
|
|
/* 0250A7FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0250A800 */ cpu->r[11] = cpu->r[11] + 0xFFFFE830u;
|
|
/* 0250A804 */ _t45 = cpu->r[29] + 0x00000030u;
|
|
/* 0250A804 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0250A808 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0250A808 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 0250A80C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250A810 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250A810 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 0250A814 */ Gambit_fn_027B70F0(cpu);
|
|
/* 0250A818 */ _t48 = cpu->r[29] + 0x00000244u;
|
|
/* 0250A818 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0250A81C */ goto L_0250AADC;
|
|
L_0250A820: ; // 0x250a820
|
|
/* 0250A820 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250A824 */ _t49 = cpu->r[10] + 0xFFFFEA64u;
|
|
/* 0250A824 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0250A828 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 0250A82C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A82C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0250A82C */ if (_t51) goto L_0250A90C; else goto L_0250A830;
|
|
L_0250A830: ; // 0x250a830
|
|
/* 0250A830 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 0250A834 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A834 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0250A834 */ if (_t53) goto L_0250A838; else goto L_0250A90C;
|
|
L_0250A838: ; // 0x250a838
|
|
/* 0250A838 */ _t54 = cpu->r[9] + 0xFFFFFE70u;
|
|
/* 0250A838 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0250A83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250A840 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A840 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0250A840 */ if (_t56) goto L_0250A844; else goto L_0250A860;
|
|
L_0250A844: ; // 0x250a844
|
|
/* 0250A844 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250A848 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0250A84C */ cpu->r[3] = cpu->r[28] + 0x0000517Eu;
|
|
/* 0250A850 */ cpu->r[5] = 0x0000001Fu;
|
|
/* 0250A854 */ cpu->r[4] = cpu->r[4] + 0x00006728u;
|
|
/* 0250A858 */ _t57 = cpu->r[9] + 0xFFFFFE70u;
|
|
/* 0250A858 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0250A85C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_0250A860: ; // 0x250a860
|
|
/* 0250A860 */ _t58 = cpu->r[31] + 0xFFFFFE6Cu;
|
|
/* 0250A860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0250A864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250A868 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A868 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0250A868 */ if (_t60) goto L_0250A86C; else goto L_0250A898;
|
|
L_0250A86C: ; // 0x250a86c
|
|
/* 0250A86C */ cpu->r[7] = 0x00000001u;
|
|
/* 0250A870 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250A874 */ _t61 = cpu->r[31] + 0xFFFFFE6Cu;
|
|
/* 0250A874 */ rbrew_write32(cpu->mem, _t61, cpu->r[7]);
|
|
/* 0250A878 */ _t62 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A878 */ rbrew_write32(cpu->mem, _t62, cpu->r[8]);
|
|
/* 0250A87C */ Gambit_fn_0282A450(cpu);
|
|
/* 0250A880 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A884 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250A888 */ _t63 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A888 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0250A88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250A890 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A890 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0250A890 */ if (_t65) goto L_0250A8BC; else goto L_0250A894;
|
|
L_0250A894: ; // 0x250a894
|
|
/* 0250A894 */ goto L_0250A8D8;
|
|
L_0250A898: ; // 0x250a898
|
|
/* 0250A898 */ _t66 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A898 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0250A89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250A8A0 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A8A0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0250A8A0 */ if (_t68) goto L_0250A8A4; else goto L_0250A8E4;
|
|
L_0250A8A4: ; // 0x250a8a4
|
|
/* 0250A8A4 */ Gambit_fn_0282A450(cpu);
|
|
/* 0250A8A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A8AC */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250A8B0 */ _t69 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A8B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0250A8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250A8B8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A8B8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0250A8B8 */ if (_t71) goto L_0250A8BC; else goto L_0250A8D8;
|
|
L_0250A8BC: ; // 0x250a8bc
|
|
/* 0250A8BC */ cpu->r[30] = 0x101D0000u;
|
|
/* 0250A8C0 */ cpu->r[4] = cpu->r[28] + 0x0000517Eu;
|
|
/* 0250A8C4 */ cpu->r[30] = cpu->r[30] + 0x0000097Cu;
|
|
/* 0250A8C8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0250A8CC */ cpu->r[3] = cpu->r[30];
|
|
/* 0250A8D0 */ Gambit_fn_0282A374(cpu);
|
|
/* 0250A8D4 */ _t72 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A8D4 */ rbrew_write32(cpu->mem, _t72, cpu->r[30]);
|
|
L_0250A8D8: ; // 0x250a8d8
|
|
/* 0250A8D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A8DC */ Gambit_fn_02837030(cpu);
|
|
/* 0250A8E0 */ _t73 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A8E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
L_0250A8E4: ; // 0x250a8e4
|
|
/* 0250A8E4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250A8E8 */ _t74 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0250A8E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0250A8EC */ cpu->r[10] = cpu->r[10] + 0xFFFFE830u;
|
|
/* 0250A8F0 */ _t75 = cpu->r[29] + 0x00000030u;
|
|
/* 0250A8F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0250A8F4 */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 0250A8F4 */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 0250A8F8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0250A8FC */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 0250A8FC */ rbrew_write32(cpu->mem, _t77, cpu->r[10]);
|
|
/* 0250A900 */ Gambit_fn_027B70F0(cpu);
|
|
/* 0250A904 */ _t78 = cpu->r[29] + 0x00000244u;
|
|
/* 0250A904 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 0250A908 */ goto L_0250AADC;
|
|
L_0250A90C: ; // 0x250a90c
|
|
/* 0250A90C */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250A910 */ _t79 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0250A910 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 0250A914 */ _t80 = cpu->r[6] + 0xFFFFE81Cu;
|
|
/* 0250A914 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 0250A918 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 0250A91C */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250A91C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0250A91C */ if (_t82) goto L_0250A9FC; else goto L_0250A920;
|
|
L_0250A920: ; // 0x250a920
|
|
/* 0250A920 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[12]);
|
|
/* 0250A924 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250A924 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0250A924 */ if (_t84) goto L_0250A928; else goto L_0250A9FC;
|
|
L_0250A928: ; // 0x250a928
|
|
/* 0250A928 */ _t85 = cpu->r[9] + 0xFFFFFE70u;
|
|
/* 0250A928 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0250A92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250A930 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A930 */ _t87 = _t86 & 0x00000001u;
|
|
/* 0250A930 */ if (_t87) goto L_0250A934; else goto L_0250A950;
|
|
L_0250A934: ; // 0x250a934
|
|
/* 0250A934 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250A938 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0250A93C */ cpu->r[3] = cpu->r[28] + 0x0000517Eu;
|
|
/* 0250A940 */ cpu->r[5] = 0x0000001Fu;
|
|
/* 0250A944 */ cpu->r[4] = cpu->r[4] + 0x00006728u;
|
|
/* 0250A948 */ _t88 = cpu->r[9] + 0xFFFFFE70u;
|
|
/* 0250A948 */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 0250A94C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_0250A950: ; // 0x250a950
|
|
/* 0250A950 */ _t89 = cpu->r[31] + 0xFFFFFE6Cu;
|
|
/* 0250A950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0250A954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250A958 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A958 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0250A958 */ if (_t91) goto L_0250A95C; else goto L_0250A988;
|
|
L_0250A95C: ; // 0x250a95c
|
|
/* 0250A95C */ cpu->r[0] = 0x00000001u;
|
|
/* 0250A960 */ cpu->r[7] = 0x00000000u;
|
|
/* 0250A964 */ _t92 = cpu->r[31] + 0xFFFFFE6Cu;
|
|
/* 0250A964 */ rbrew_write32(cpu->mem, _t92, cpu->r[0]);
|
|
/* 0250A968 */ _t93 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A968 */ rbrew_write32(cpu->mem, _t93, cpu->r[7]);
|
|
/* 0250A96C */ Gambit_fn_0282A450(cpu);
|
|
/* 0250A970 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A974 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250A978 */ _t94 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A978 */ cpu->r[8] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0250A97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250A980 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A980 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0250A980 */ if (_t96) goto L_0250A9AC; else goto L_0250A984;
|
|
L_0250A984: ; // 0x250a984
|
|
/* 0250A984 */ goto L_0250A9C8;
|
|
L_0250A988: ; // 0x250a988
|
|
/* 0250A988 */ _t97 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A988 */ cpu->r[8] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0250A98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250A990 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A990 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0250A990 */ if (_t99) goto L_0250A994; else goto L_0250A9D4;
|
|
L_0250A994: ; // 0x250a994
|
|
/* 0250A994 */ Gambit_fn_0282A450(cpu);
|
|
/* 0250A998 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250A99C */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250A9A0 */ _t100 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A9A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0250A9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250A9A8 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250A9A8 */ _t102 = _t101 & 0x00000001u;
|
|
/* 0250A9A8 */ if (_t102) goto L_0250A9AC; else goto L_0250A9C8;
|
|
L_0250A9AC: ; // 0x250a9ac
|
|
/* 0250A9AC */ cpu->r[30] = 0x101D0000u;
|
|
/* 0250A9B0 */ cpu->r[4] = cpu->r[28] + 0x0000517Eu;
|
|
/* 0250A9B4 */ cpu->r[30] = cpu->r[30] + 0x0000097Cu;
|
|
/* 0250A9B8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0250A9BC */ cpu->r[3] = cpu->r[30];
|
|
/* 0250A9C0 */ Gambit_fn_0282A374(cpu);
|
|
/* 0250A9C4 */ _t103 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A9C4 */ rbrew_write32(cpu->mem, _t103, cpu->r[30]);
|
|
L_0250A9C8: ; // 0x250a9c8
|
|
/* 0250A9C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250A9CC */ Gambit_fn_02837030(cpu);
|
|
/* 0250A9D0 */ _t104 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250A9D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t104);
|
|
L_0250A9D4: ; // 0x250a9d4
|
|
/* 0250A9D4 */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250A9D8 */ _t105 = cpu->r[8] + 0x00000000u;
|
|
/* 0250A9D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0250A9DC */ cpu->r[9] = cpu->r[9] + 0xFFFFE830u;
|
|
/* 0250A9E0 */ _t106 = cpu->r[29] + 0x00000030u;
|
|
/* 0250A9E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0250A9E4 */ _t107 = cpu->r[1] + 0x00000018u;
|
|
/* 0250A9E4 */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 0250A9E8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0250A9EC */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250A9EC */ rbrew_write32(cpu->mem, _t108, cpu->r[9]);
|
|
/* 0250A9F0 */ Gambit_fn_027B70F0(cpu);
|
|
/* 0250A9F4 */ _t109 = cpu->r[29] + 0x00000244u;
|
|
/* 0250A9F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 0250A9F8 */ goto L_0250AADC;
|
|
L_0250A9FC: ; // 0x250a9fc
|
|
/* 0250A9FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 0250AA00 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AA00 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0250AA00 */ if (_t111) goto L_0250AADC; else goto L_0250AA04;
|
|
L_0250AA04: ; // 0x250aa04
|
|
/* 0250AA04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[12]);
|
|
/* 0250AA08 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AA08 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0250AA08 */ if (_t113) goto L_0250AA0C; else goto L_0250AADC;
|
|
L_0250AA0C: ; // 0x250aa0c
|
|
/* 0250AA0C */ _t114 = cpu->r[9] + 0xFFFFFE70u;
|
|
/* 0250AA0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0250AA10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250AA14 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AA14 */ _t116 = _t115 & 0x00000001u;
|
|
/* 0250AA14 */ if (_t116) goto L_0250AA18; else goto L_0250AA34;
|
|
L_0250AA18: ; // 0x250aa18
|
|
/* 0250AA18 */ cpu->r[11] = 0x00000001u;
|
|
/* 0250AA1C */ cpu->r[4] = 0x101C0000u;
|
|
/* 0250AA20 */ cpu->r[3] = cpu->r[28] + 0x0000517Eu;
|
|
/* 0250AA24 */ cpu->r[5] = 0x0000001Fu;
|
|
/* 0250AA28 */ cpu->r[4] = cpu->r[4] + 0x00006728u;
|
|
/* 0250AA2C */ _t117 = cpu->r[9] + 0xFFFFFE70u;
|
|
/* 0250AA2C */ rbrew_write32(cpu->mem, _t117, cpu->r[11]);
|
|
/* 0250AA30 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_0250AA34: ; // 0x250aa34
|
|
/* 0250AA34 */ _t118 = cpu->r[31] + 0xFFFFFE6Cu;
|
|
/* 0250AA34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0250AA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250AA3C */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AA3C */ _t120 = _t119 & 0x00000001u;
|
|
/* 0250AA3C */ if (_t120) goto L_0250AA40; else goto L_0250AA6C;
|
|
L_0250AA40: ; // 0x250aa40
|
|
/* 0250AA40 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250AA44 */ cpu->r[7] = 0x00000000u;
|
|
/* 0250AA48 */ _t121 = cpu->r[31] + 0xFFFFFE6Cu;
|
|
/* 0250AA48 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 0250AA4C */ _t122 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250AA4C */ rbrew_write32(cpu->mem, _t122, cpu->r[7]);
|
|
/* 0250AA50 */ Gambit_fn_0282A450(cpu);
|
|
/* 0250AA54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AA58 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250AA5C */ _t123 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250AA5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0250AA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250AA64 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AA64 */ _t125 = _t124 & 0x00000001u;
|
|
/* 0250AA64 */ if (_t125) goto L_0250AA90; else goto L_0250AA68;
|
|
L_0250AA68: ; // 0x250aa68
|
|
/* 0250AA68 */ goto L_0250AAAC;
|
|
L_0250AA6C: ; // 0x250aa6c
|
|
/* 0250AA6C */ _t126 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250AA6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0250AA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250AA74 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AA74 */ _t128 = _t127 & 0x00000001u;
|
|
/* 0250AA74 */ if (_t128) goto L_0250AA78; else goto L_0250AAB8;
|
|
L_0250AA78: ; // 0x250aa78
|
|
/* 0250AA78 */ Gambit_fn_0282A450(cpu);
|
|
/* 0250AA7C */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AA80 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250AA84 */ _t129 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250AA84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0250AA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250AA8C */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AA8C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0250AA8C */ if (_t131) goto L_0250AA90; else goto L_0250AAAC;
|
|
L_0250AA90: ; // 0x250aa90
|
|
/* 0250AA90 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0250AA94 */ cpu->r[4] = cpu->r[28] + 0x0000517Eu;
|
|
/* 0250AA98 */ cpu->r[30] = cpu->r[30] + 0x0000097Cu;
|
|
/* 0250AA9C */ cpu->r[5] = 0x00000004u;
|
|
/* 0250AAA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250AAA4 */ Gambit_fn_0282A374(cpu);
|
|
/* 0250AAA8 */ _t132 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250AAA8 */ rbrew_write32(cpu->mem, _t132, cpu->r[30]);
|
|
L_0250AAAC: ; // 0x250aaac
|
|
/* 0250AAAC */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AAB0 */ Gambit_fn_02837030(cpu);
|
|
/* 0250AAB4 */ _t133 = cpu->r[27] + 0x0000098Cu;
|
|
/* 0250AAB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t133);
|
|
L_0250AAB8: ; // 0x250aab8
|
|
/* 0250AAB8 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250AABC */ _t134 = cpu->r[8] + 0x00000008u;
|
|
/* 0250AABC */ cpu->r[10] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0250AAC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE830u;
|
|
/* 0250AAC4 */ _t135 = cpu->r[29] + 0x00000030u;
|
|
/* 0250AAC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0250AAC8 */ _t136 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AAC8 */ rbrew_write32(cpu->mem, _t136, cpu->r[10]);
|
|
/* 0250AACC */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0250AAD0 */ _t137 = cpu->r[1] + 0x00000024u;
|
|
/* 0250AAD0 */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 0250AAD4 */ Gambit_fn_027B70F0(cpu);
|
|
/* 0250AAD8 */ _t138 = cpu->r[29] + 0x00000244u;
|
|
/* 0250AAD8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t138);
|
|
L_0250AADC: ; // 0x250aadc
|
|
/* 0250AADC */ _t139 = cpu->r[29] + 0x000001BCu;
|
|
/* 0250AADC */ cpu->r[6] = rbrew_read8(cpu->mem, _t139);
|
|
/* 0250AAE0 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250AAE4 */ _t140 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0250AAE4 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[31]);
|
|
/* 0250AAE8 */ /* nop */
|
|
/* 0250AAEC */ _t141 = cpu->r[29] + 0x00000248u;
|
|
/* 0250AAEC */ rbrew_write_f32(cpu->mem, _t141, cpu->f[9]);
|
|
/* 0250AAF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 0250AAF4 */ _t142 = cpu->r[29] + 0x00000255u;
|
|
/* 0250AAF4 */ rbrew_write8(cpu->mem, _t142, (uint8_t)cpu->r[0]);
|
|
/* 0250AAF8 */ _t143 = cpu->r[29] + 0x00000254u;
|
|
/* 0250AAF8 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[0]);
|
|
/* 0250AAFC */ _t144 = cpu->r[29] + 0x00000256u;
|
|
/* 0250AAFC */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[0]);
|
|
/* 0250AB00 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AB00 */ _t146 = _t145 & 0x00000001u;
|
|
/* 0250AB00 */ if (_t146) goto L_0250AB0C; else goto L_0250AB04;
|
|
L_0250AB04: ; // 0x250ab04
|
|
/* 0250AB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000002u);
|
|
/* 0250AB08 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AB08 */ _t148 = _t147 & 0x00000001u;
|
|
/* 0250AB08 */ if (_t148) goto L_0250AB0C; else goto L_0250AB38;
|
|
L_0250AB0C: ; // 0x250ab0c
|
|
/* 0250AB0C */ _t149 = cpu->r[29] + 0x00000258u;
|
|
/* 0250AB0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t149);
|
|
/* 0250AB10 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0250AB14 */ _t150 = cpu->r[29] + 0x00000258u;
|
|
/* 0250AB14 */ rbrew_write32(cpu->mem, _t150, cpu->r[7]);
|
|
/* 0250AB18 */ /* nop */
|
|
/* 0250AB1C */ _t151 = cpu->r[1] + 0x00000060u;
|
|
/* 0250AB1C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 0250AB20 */ _t152 = cpu->r[1] + 0x00000058u;
|
|
/* 0250AB20 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t152);
|
|
/* 0250AB24 */ _t153 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AB24 */ _t154 = _t153 & 0x00000001u;
|
|
/* 0250AB24 */ if (_t154) goto L_0250AB28; // else: addr-0 trap, fall-through
|
|
L_0250AB28: ; // 0x250ab28
|
|
/* 0250AB28 */ _t155 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250AB28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0250AB2C */ cpu->lr = cpu->r[0];
|
|
/* 0250AB30 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0250AB34 */ return;
|
|
L_0250AB38: ; // 0x250ab38
|
|
/* 0250AB38 */ cpu->r[7] = 0x00000000u;
|
|
/* 0250AB3C */ _t156 = cpu->r[29] + 0x00000258u;
|
|
/* 0250AB3C */ rbrew_write32(cpu->mem, _t156, cpu->r[7]);
|
|
/* 0250AB40 */ /* nop */
|
|
/* 0250AB44 */ _t157 = cpu->r[1] + 0x00000060u;
|
|
/* 0250AB44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 0250AB48 */ _t158 = cpu->r[1] + 0x00000058u;
|
|
/* 0250AB48 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t158);
|
|
/* 0250AB4C */ _t159 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AB4C */ _t160 = _t159 & 0x00000001u;
|
|
/* 0250AB4C */ if (_t160) goto L_0250AB50; // else: addr-0 trap, fall-through
|
|
L_0250AB50: ; // 0x250ab50
|
|
/* 0250AB50 */ _t161 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250AB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 0250AB54 */ cpu->lr = cpu->r[0];
|
|
/* 0250AB58 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0250AB5C */ return;
|
|
}
|
|
|
|
// fn_0250AB60 @ 0x250ab60
|
|
void Gambit_fn_0250AB60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t23, _t24, _t25, _t26, _t27;
|
|
double _ft21, _ft22;
|
|
|
|
L_0250AB60: ; // 0x250ab60
|
|
/* 0250AB60 */ _t0 = cpu->r[3] + 0x000001BCu;
|
|
/* 0250AB60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0250AB64 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AB68 */ /* nop */
|
|
/* 0250AB6C */ _t1 = cpu->r[12] + 0xFFFFEA84u;
|
|
/* 0250AB6C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0250AB70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AB70 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250AB70 */ if (_t3) goto L_0250AB88; else goto L_0250AB74;
|
|
L_0250AB74: ; // 0x250ab74
|
|
/* 0250AB74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0250AB78 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250AB78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0250AB78 */ _t6 = _t5 ^ 0x00000001u;
|
|
/* 0250AB78 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250AB78 */ goto L_0250AB7C;
|
|
L_0250AB7C: ; // 0x250ab7c
|
|
/* 0250AB7C */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AB80 */ _t7 = cpu->r[12] + 0xFFFFEA64u;
|
|
/* 0250AB80 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0250AB84 */ return;
|
|
L_0250AB88: ; // 0x250ab88
|
|
/* 0250AB88 */ _t8 = cpu->r[3] + 0x00000244u;
|
|
/* 0250AB88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0250AB8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[1]);
|
|
/* 0250AB90 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AB90 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250AB90 */ if (_t10) goto L_0250AB94; else goto L_0250AC00;
|
|
L_0250AB94: ; // 0x250ab94
|
|
/* 0250AB94 */ _t11 = cpu->r[3] + 0x00000250u;
|
|
/* 0250AB94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250AB98 */ _t12 = cpu->r[3] + 0x00000080u;
|
|
/* 0250AB98 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0250AB9C */ _t13 = cpu->r[12] + 0x0000024Cu;
|
|
/* 0250AB9C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0250ABA0 */ _t14 = cpu->r[12] + 0x00000244u;
|
|
/* 0250ABA0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0250ABA4 */ cpu->f[9] = cpu->f[9] - cpu->f[10];
|
|
/* 0250ABA8 */ _t15 = cpu->r[3] + 0x00000078u;
|
|
/* 0250ABA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0250ABAC */ cpu->f[8] = cpu->f[0] - cpu->f[8];
|
|
/* 0250ABB0 */ cpu->f[0] = cpu->f[9] * cpu->f[9];
|
|
/* 0250ABB4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250ABB8 */ cpu->f[9] = fma(cpu->f[8], cpu->f[8], cpu->f[0]);
|
|
/* 0250ABBC */ _t16 = cpu->r[12] + 0xFFFFE81Cu;
|
|
/* 0250ABBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250ABC0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0250ABC4 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ABC4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250ABC4 */ if (_t18) goto L_0250ABC8; else goto L_0250ABEC;
|
|
L_0250ABC8: ; // 0x250abc8
|
|
/* 0250ABC8 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250ABCC */ _t19 = cpu->r[12] + 0xFFFFEA8Cu;
|
|
/* 0250ABCC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250ABD0 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250ABD4 */ _t20 = cpu->r[12] + 0xFFFFEA88u;
|
|
/* 0250ABD4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0250ABD8 */ _ft21 = sqrt(cpu->f[9]);
|
|
/* 0250ABD8 */ _ft22 = (double)(int32_t)0x00000001u;
|
|
/* 0250ABD8 */ cpu->f[0] = _ft22 / _ft21;
|
|
/* 0250ABDC */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 0250ABE0 */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 0250ABE4 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[9], -(cpu->f[12]));
|
|
/* 0250ABE8 */ cpu->f[0] = cpu->f[10] * cpu->f[13];
|
|
L_0250ABEC: ; // 0x250abec
|
|
/* 0250ABEC */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250ABF0 */ cpu->f[8] = cpu->f[0] * cpu->f[9];
|
|
/* 0250ABF4 */ _t23 = cpu->r[12] + 0xFFFFEA90u;
|
|
/* 0250ABF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0250ABF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
|
|
/* 0250ABFC */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ABFC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0250ABFC */ _t26 = _t25 ^ 0x00000001u;
|
|
/* 0250ABFC */ if (_t26) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250ABFC */ goto L_0250AC00;
|
|
L_0250AC00: ; // 0x250ac00
|
|
/* 0250AC00 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AC04 */ _t27 = cpu->r[12] + 0xFFFFEA64u;
|
|
/* 0250AC04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0250AC08 */ return;
|
|
}
|
|
|
|
// fn_0250AC0C @ 0x250ac0c
|
|
void Gambit_fn_0250AC0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_0250AC0C: ; // 0x250ac0c
|
|
/* 0250AC0C */ cpu->r[0] = cpu->lr;
|
|
/* 0250AC10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250AC10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AC10 */ cpu->r[1] = _t0;
|
|
/* 0250AC14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AC14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250AC18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AC1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AC1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250AC20 */ Gambit_fn_0250AB60(cpu);
|
|
/* 0250AC24 */ _t3 = cpu->r[31] + 0x00000244u;
|
|
/* 0250AC24 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0250AC28 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AC2C */ cpu->f[11] = cpu->f[1] - cpu->f[10];
|
|
/* 0250AC30 */ _t4 = cpu->r[12] + 0xFFFFE81Cu;
|
|
/* 0250AC30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0250AC34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0250AC38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AC38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250AC38 */ if (_t6) goto L_0250ACF4; else goto L_0250AC3C;
|
|
L_0250AC3C: ; // 0x250ac3c
|
|
/* 0250AC3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0250AC40 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250AC44 */ _t7 = cpu->r[11] + 0xFFFFEA94u;
|
|
/* 0250AC44 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0250AC48 */ cpu->f[0] = cpu->f[10];
|
|
/* 0250AC4C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250AC4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250AC4C */ if (_t9) goto L_0250AC50; else goto L_0250ACA4;
|
|
L_0250AC50: ; // 0x250ac50
|
|
/* 0250AC50 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250AC54 */ cpu->f[10] = cpu->f[10] + cpu->f[12];
|
|
/* 0250AC58 */ _t10 = cpu->r[10] + 0xFFFFEA84u;
|
|
/* 0250AC58 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250AC5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
|
|
/* 0250AC60 */ cpu->f[12] = cpu->f[10];
|
|
/* 0250AC64 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AC64 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0250AC64 */ if (_t12) goto L_0250AC68; else goto L_0250AC78;
|
|
L_0250AC68: ; // 0x250ac68
|
|
/* 0250AC68 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 0250AC6C */ _t13 = cpu->r[31] + 0x00000244u;
|
|
/* 0250AC6C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 0250AC70 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AC70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0250AC70 */ if (_t15) goto L_0250AC8C; else goto L_0250AC74;
|
|
L_0250AC74: ; // 0x250ac74
|
|
/* 0250AC74 */ goto L_0250ACF4;
|
|
L_0250AC78: ; // 0x250ac78
|
|
/* 0250AC78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 0250AC7C */ _t16 = cpu->r[31] + 0x00000244u;
|
|
/* 0250AC7C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 0250AC80 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AC80 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250AC80 */ if (_t18) goto L_0250AC84; else goto L_0250ACF4;
|
|
L_0250AC84: ; // 0x250ac84
|
|
/* 0250AC84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 0250AC88 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AC88 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250AC88 */ if (_t20) goto L_0250AC8C; else goto L_0250ACF4;
|
|
L_0250AC8C: ; // 0x250ac8c
|
|
/* 0250AC8C */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250AC90 */ _t21 = cpu->r[31] + 0x00000130u;
|
|
/* 0250AC90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250AC94 */ cpu->r[5] = 0x00000001u;
|
|
/* 0250AC98 */ cpu->r[4] = cpu->r[4] + 0xFFFFEA98u;
|
|
/* 0250AC9C */ Gambit_fn_02398850(cpu);
|
|
/* 0250ACA0 */ goto L_0250ACF4;
|
|
L_0250ACA4: ; // 0x250aca4
|
|
/* 0250ACA4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250ACA8 */ cpu->f[10] = cpu->f[10] - cpu->f[12];
|
|
/* 0250ACAC */ _t22 = cpu->r[12] + 0xFFFFEA64u;
|
|
/* 0250ACAC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0250ACB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[10]);
|
|
/* 0250ACB4 */ cpu->f[12] = cpu->f[10];
|
|
/* 0250ACB8 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ACB8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0250ACB8 */ if (_t24) goto L_0250ACBC; else goto L_0250ACCC;
|
|
L_0250ACBC: ; // 0x250acbc
|
|
/* 0250ACBC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 0250ACC0 */ _t25 = cpu->r[31] + 0x00000244u;
|
|
/* 0250ACC0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 0250ACC4 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ACC4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250ACC4 */ if (_t27) goto L_0250ACE0; else goto L_0250ACC8;
|
|
L_0250ACC8: ; // 0x250acc8
|
|
/* 0250ACC8 */ goto L_0250ACF4;
|
|
L_0250ACCC: ; // 0x250accc
|
|
/* 0250ACCC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 0250ACD0 */ _t28 = cpu->r[31] + 0x00000244u;
|
|
/* 0250ACD0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 0250ACD4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250ACD4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0250ACD4 */ if (_t30) goto L_0250ACD8; else goto L_0250ACF4;
|
|
L_0250ACD8: ; // 0x250acd8
|
|
/* 0250ACD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 0250ACDC */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ACDC */ _t32 = _t31 & 0x00000001u;
|
|
/* 0250ACDC */ if (_t32) goto L_0250ACE0; else goto L_0250ACF4;
|
|
L_0250ACE0: ; // 0x250ace0
|
|
/* 0250ACE0 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250ACE4 */ _t33 = cpu->r[31] + 0x00000130u;
|
|
/* 0250ACE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250ACE8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0250ACEC */ cpu->r[4] = cpu->r[4] + 0xFFFFEA9Cu;
|
|
/* 0250ACF0 */ Gambit_fn_02398850(cpu);
|
|
L_0250ACF4: ; // 0x250acf4
|
|
/* 0250ACF4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0250ACF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250ACF8 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250ACF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250ACFC */ cpu->lr = cpu->r[0];
|
|
/* 0250AD00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250AD04 */ return;
|
|
}
|
|
|
|
// fn_0250AC10 @ 0x250ac10
|
|
void Gambit_fn_0250AC10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_0250AC10: ; // 0x250ac10
|
|
/* 0250AC10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250AC10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AC10 */ cpu->r[1] = _t0;
|
|
/* 0250AC14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AC14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250AC18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AC1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AC1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250AC20 */ Gambit_fn_0250AB60(cpu);
|
|
/* 0250AC24 */ _t3 = cpu->r[31] + 0x00000244u;
|
|
/* 0250AC24 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0250AC28 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AC2C */ cpu->f[11] = cpu->f[1] - cpu->f[10];
|
|
/* 0250AC30 */ _t4 = cpu->r[12] + 0xFFFFE81Cu;
|
|
/* 0250AC30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0250AC34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0250AC38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AC38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250AC38 */ if (_t6) goto L_0250ACF4; else goto L_0250AC3C;
|
|
L_0250AC3C: ; // 0x250ac3c
|
|
/* 0250AC3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0250AC40 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250AC44 */ _t7 = cpu->r[11] + 0xFFFFEA94u;
|
|
/* 0250AC44 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0250AC48 */ cpu->f[0] = cpu->f[10];
|
|
/* 0250AC4C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250AC4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250AC4C */ if (_t9) goto L_0250AC50; else goto L_0250ACA4;
|
|
L_0250AC50: ; // 0x250ac50
|
|
/* 0250AC50 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250AC54 */ cpu->f[10] = cpu->f[10] + cpu->f[12];
|
|
/* 0250AC58 */ _t10 = cpu->r[10] + 0xFFFFEA84u;
|
|
/* 0250AC58 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250AC5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
|
|
/* 0250AC60 */ cpu->f[12] = cpu->f[10];
|
|
/* 0250AC64 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AC64 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0250AC64 */ if (_t12) goto L_0250AC68; else goto L_0250AC78;
|
|
L_0250AC68: ; // 0x250ac68
|
|
/* 0250AC68 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 0250AC6C */ _t13 = cpu->r[31] + 0x00000244u;
|
|
/* 0250AC6C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 0250AC70 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AC70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0250AC70 */ if (_t15) goto L_0250AC8C; else goto L_0250AC74;
|
|
L_0250AC74: ; // 0x250ac74
|
|
/* 0250AC74 */ goto L_0250ACF4;
|
|
L_0250AC78: ; // 0x250ac78
|
|
/* 0250AC78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 0250AC7C */ _t16 = cpu->r[31] + 0x00000244u;
|
|
/* 0250AC7C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 0250AC80 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AC80 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250AC80 */ if (_t18) goto L_0250AC84; else goto L_0250ACF4;
|
|
L_0250AC84: ; // 0x250ac84
|
|
/* 0250AC84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 0250AC88 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AC88 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250AC88 */ if (_t20) goto L_0250AC8C; else goto L_0250ACF4;
|
|
L_0250AC8C: ; // 0x250ac8c
|
|
/* 0250AC8C */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250AC90 */ _t21 = cpu->r[31] + 0x00000130u;
|
|
/* 0250AC90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250AC94 */ cpu->r[5] = 0x00000001u;
|
|
/* 0250AC98 */ cpu->r[4] = cpu->r[4] + 0xFFFFEA98u;
|
|
/* 0250AC9C */ Gambit_fn_02398850(cpu);
|
|
/* 0250ACA0 */ goto L_0250ACF4;
|
|
L_0250ACA4: ; // 0x250aca4
|
|
/* 0250ACA4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250ACA8 */ cpu->f[10] = cpu->f[10] - cpu->f[12];
|
|
/* 0250ACAC */ _t22 = cpu->r[12] + 0xFFFFEA64u;
|
|
/* 0250ACAC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0250ACB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[10]);
|
|
/* 0250ACB4 */ cpu->f[12] = cpu->f[10];
|
|
/* 0250ACB8 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ACB8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0250ACB8 */ if (_t24) goto L_0250ACBC; else goto L_0250ACCC;
|
|
L_0250ACBC: ; // 0x250acbc
|
|
/* 0250ACBC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 0250ACC0 */ _t25 = cpu->r[31] + 0x00000244u;
|
|
/* 0250ACC0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 0250ACC4 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ACC4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250ACC4 */ if (_t27) goto L_0250ACE0; else goto L_0250ACC8;
|
|
L_0250ACC8: ; // 0x250acc8
|
|
/* 0250ACC8 */ goto L_0250ACF4;
|
|
L_0250ACCC: ; // 0x250accc
|
|
/* 0250ACCC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 0250ACD0 */ _t28 = cpu->r[31] + 0x00000244u;
|
|
/* 0250ACD0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 0250ACD4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250ACD4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0250ACD4 */ if (_t30) goto L_0250ACD8; else goto L_0250ACF4;
|
|
L_0250ACD8: ; // 0x250acd8
|
|
/* 0250ACD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 0250ACDC */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ACDC */ _t32 = _t31 & 0x00000001u;
|
|
/* 0250ACDC */ if (_t32) goto L_0250ACE0; else goto L_0250ACF4;
|
|
L_0250ACE0: ; // 0x250ace0
|
|
/* 0250ACE0 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250ACE4 */ _t33 = cpu->r[31] + 0x00000130u;
|
|
/* 0250ACE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250ACE8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0250ACEC */ cpu->r[4] = cpu->r[4] + 0xFFFFEA9Cu;
|
|
/* 0250ACF0 */ Gambit_fn_02398850(cpu);
|
|
L_0250ACF4: ; // 0x250acf4
|
|
/* 0250ACF4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0250ACF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250ACF8 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250ACF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250ACFC */ cpu->lr = cpu->r[0];
|
|
/* 0250AD00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250AD04 */ return;
|
|
}
|
|
|
|
// fn_0250AD08 @ 0x250ad08
|
|
void Gambit_fn_0250AD08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0250AD08: ; // 0x250ad08
|
|
/* 0250AD08 */ cpu->r[0] = cpu->lr;
|
|
/* 0250AD0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250AD0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AD0C */ cpu->r[1] = _t0;
|
|
/* 0250AD10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AD10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250AD14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AD18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AD18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250AD1C */ Gambit_fn_0250A6B8(cpu);
|
|
/* 0250AD20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AD24 */ Gambit_fn_0250AC0C(cpu);
|
|
/* 0250AD28 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AD2C */ Gambit_fn_0250A330(cpu);
|
|
/* 0250AD30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250AD34 */ cpu->lr = cpu->r[0];
|
|
/* 0250AD38 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AD38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250AD3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250AD40 */ return;
|
|
}
|
|
|
|
// fn_0250AD0C @ 0x250ad0c
|
|
void Gambit_fn_0250AD0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0250AD0C: ; // 0x250ad0c
|
|
/* 0250AD0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250AD0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AD0C */ cpu->r[1] = _t0;
|
|
/* 0250AD10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AD10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250AD14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AD18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AD18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250AD1C */ Gambit_fn_0250A6B8(cpu);
|
|
/* 0250AD20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AD24 */ Gambit_fn_0250AC0C(cpu);
|
|
/* 0250AD28 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AD2C */ Gambit_fn_0250A330(cpu);
|
|
/* 0250AD30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250AD34 */ cpu->lr = cpu->r[0];
|
|
/* 0250AD38 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AD38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250AD3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250AD40 */ return;
|
|
}
|
|
|
|
// fn_0250AD44 @ 0x250ad44
|
|
void Gambit_fn_0250AD44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40;
|
|
|
|
L_0250AD44: ; // 0x250ad44
|
|
/* 0250AD44 */ cpu->r[0] = cpu->lr;
|
|
/* 0250AD48 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0250AD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AD48 */ cpu->r[1] = _t0;
|
|
/* 0250AD4C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AD4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250AD50 */ /* nop */
|
|
/* 0250AD54 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0250AD54 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0250AD58 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 0250AD58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250AD5C */ _t4 = cpu->r[3] + 0x000001BCu;
|
|
/* 0250AD5C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0250AD60 */ /* nop */
|
|
/* 0250AD64 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250AD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0250AD6C */ _t5 = cpu->r[11] + 0xFFFFEAA4u;
|
|
/* 0250AD6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0250AD70 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AD70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250AD70 */ if (_t7) goto L_0250AD7C; else goto L_0250AD74;
|
|
L_0250AD74: ; // 0x250ad74
|
|
/* 0250AD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0250AD78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AD78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250AD78 */ if (_t9) goto L_0250AD7C; else goto L_0250AE38;
|
|
L_0250AD7C: ; // 0x250ad7c
|
|
/* 0250AD7C */ _t10 = cpu->r[3] + 0x0000020Cu;
|
|
/* 0250AD7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250AD80 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0250AD84 */ cpu->r[5] = 0x00000003u;
|
|
/* 0250AD88 */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250AD8C */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 0250AD8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250AD90 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0250AD94 */ _t12 = cpu->r[3] + 0x00000E14u;
|
|
/* 0250AD94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250AD98 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AD98 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0250AD9C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250AD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250ADA0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0250ADA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250ADA4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0250ADA4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0250ADA8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0250ADAC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0250ADAC */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0250ADB0 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 0250ADB4 */ Gambit_fn_02014444(cpu);
|
|
/* 0250ADB8 */ Gambit_fn_0200ED68(cpu);
|
|
/* 0250ADBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250ADC0 */ Gambit_fn_02C693A4(cpu);
|
|
/* 0250ADC4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250ADC8 */ _t18 = cpu->r[12] + 0xFFFFEAA8u;
|
|
/* 0250ADC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250ADCC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0250ADD0 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ADD0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250ADD0 */ if (_t20) goto L_0250ADD4; else goto L_0250AE30;
|
|
L_0250ADD4: ; // 0x250add4
|
|
/* 0250ADD4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250ADD8 */ _t21 = cpu->r[10] + 0xFFFFEAACu;
|
|
/* 0250ADD8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250ADDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 0250ADE0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250ADE0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250ADE0 */ if (_t23) goto L_0250AE04; else goto L_0250ADE4;
|
|
L_0250ADE4: ; // 0x250ade4
|
|
/* 0250ADE4 */ cpu->f[1] = cpu->f[31];
|
|
/* 0250ADE8 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 0250ADE8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0250ADEC */ _t25 = cpu->r[1] + 0x00000020u;
|
|
/* 0250ADEC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 0250ADF0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250ADF0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250ADF0 */ if (_t27) goto L_0250ADF4; // else: addr-0 trap, fall-through
|
|
L_0250ADF4: ; // 0x250adf4
|
|
/* 0250ADF4 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 0250ADF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250ADF8 */ cpu->lr = cpu->r[0];
|
|
/* 0250ADFC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250AE00 */ return;
|
|
L_0250AE04: ; // 0x250ae04
|
|
/* 0250AE04 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AE08 */ _t29 = cpu->r[1] + 0x00000028u;
|
|
/* 0250AE08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0250AE0C */ cpu->f[0] = cpu->f[1] - cpu->f[0];
|
|
/* 0250AE10 */ _t30 = cpu->r[12] + 0xFFFFEAB0u;
|
|
/* 0250AE10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0250AE14 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AE14 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 0250AE18 */ cpu->f[1] = cpu->f[0] / cpu->f[13];
|
|
/* 0250AE1C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AE1C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250AE1C */ if (_t33) goto L_0250AE20; // else: addr-0 trap, fall-through
|
|
L_0250AE20: ; // 0x250ae20
|
|
/* 0250AE20 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 0250AE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250AE24 */ cpu->lr = cpu->r[0];
|
|
/* 0250AE28 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250AE2C */ return;
|
|
L_0250AE30: ; // 0x250ae30
|
|
/* 0250AE30 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AE34 */ _t35 = cpu->r[12] + 0xFFFFE81Cu;
|
|
/* 0250AE34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
L_0250AE38: ; // 0x250ae38
|
|
/* 0250AE38 */ cpu->f[1] = cpu->f[31];
|
|
/* 0250AE3C */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 0250AE3C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0250AE40 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AE40 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 0250AE44 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AE44 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0250AE44 */ if (_t39) goto L_0250AE48; // else: addr-0 trap, fall-through
|
|
L_0250AE48: ; // 0x250ae48
|
|
/* 0250AE48 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 0250AE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250AE4C */ cpu->lr = cpu->r[0];
|
|
/* 0250AE50 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250AE54 */ return;
|
|
}
|
|
|
|
// fn_0250AD48 @ 0x250ad48
|
|
void Gambit_fn_0250AD48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40;
|
|
|
|
L_0250AD48: ; // 0x250ad48
|
|
/* 0250AD48 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0250AD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AD48 */ cpu->r[1] = _t0;
|
|
/* 0250AD4C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AD4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250AD50 */ /* nop */
|
|
/* 0250AD54 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0250AD54 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0250AD58 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 0250AD58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250AD5C */ _t4 = cpu->r[3] + 0x000001BCu;
|
|
/* 0250AD5C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0250AD60 */ /* nop */
|
|
/* 0250AD64 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250AD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0250AD6C */ _t5 = cpu->r[11] + 0xFFFFEAA4u;
|
|
/* 0250AD6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0250AD70 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AD70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250AD70 */ if (_t7) goto L_0250AD7C; else goto L_0250AD74;
|
|
L_0250AD74: ; // 0x250ad74
|
|
/* 0250AD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0250AD78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AD78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250AD78 */ if (_t9) goto L_0250AD7C; else goto L_0250AE38;
|
|
L_0250AD7C: ; // 0x250ad7c
|
|
/* 0250AD7C */ _t10 = cpu->r[3] + 0x0000020Cu;
|
|
/* 0250AD7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250AD80 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0250AD84 */ cpu->r[5] = 0x00000003u;
|
|
/* 0250AD88 */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250AD8C */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 0250AD8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250AD90 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0250AD94 */ _t12 = cpu->r[3] + 0x00000E14u;
|
|
/* 0250AD94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250AD98 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AD98 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0250AD9C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250AD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250ADA0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0250ADA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250ADA4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0250ADA4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0250ADA8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0250ADAC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0250ADAC */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0250ADB0 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 0250ADB4 */ Gambit_fn_02014444(cpu);
|
|
/* 0250ADB8 */ Gambit_fn_0200ED68(cpu);
|
|
/* 0250ADBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250ADC0 */ Gambit_fn_02C693A4(cpu);
|
|
/* 0250ADC4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250ADC8 */ _t18 = cpu->r[12] + 0xFFFFEAA8u;
|
|
/* 0250ADC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250ADCC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0250ADD0 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250ADD0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250ADD0 */ if (_t20) goto L_0250ADD4; else goto L_0250AE30;
|
|
L_0250ADD4: ; // 0x250add4
|
|
/* 0250ADD4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250ADD8 */ _t21 = cpu->r[10] + 0xFFFFEAACu;
|
|
/* 0250ADD8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250ADDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 0250ADE0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250ADE0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250ADE0 */ if (_t23) goto L_0250AE04; else goto L_0250ADE4;
|
|
L_0250ADE4: ; // 0x250ade4
|
|
/* 0250ADE4 */ cpu->f[1] = cpu->f[31];
|
|
/* 0250ADE8 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 0250ADE8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0250ADEC */ _t25 = cpu->r[1] + 0x00000020u;
|
|
/* 0250ADEC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 0250ADF0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250ADF0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250ADF0 */ if (_t27) goto L_0250ADF4; // else: addr-0 trap, fall-through
|
|
L_0250ADF4: ; // 0x250adf4
|
|
/* 0250ADF4 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 0250ADF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250ADF8 */ cpu->lr = cpu->r[0];
|
|
/* 0250ADFC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250AE00 */ return;
|
|
L_0250AE04: ; // 0x250ae04
|
|
/* 0250AE04 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AE08 */ _t29 = cpu->r[1] + 0x00000028u;
|
|
/* 0250AE08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0250AE0C */ cpu->f[0] = cpu->f[1] - cpu->f[0];
|
|
/* 0250AE10 */ _t30 = cpu->r[12] + 0xFFFFEAB0u;
|
|
/* 0250AE10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0250AE14 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AE14 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 0250AE18 */ cpu->f[1] = cpu->f[0] / cpu->f[13];
|
|
/* 0250AE1C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AE1C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250AE1C */ if (_t33) goto L_0250AE20; // else: addr-0 trap, fall-through
|
|
L_0250AE20: ; // 0x250ae20
|
|
/* 0250AE20 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 0250AE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250AE24 */ cpu->lr = cpu->r[0];
|
|
/* 0250AE28 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250AE2C */ return;
|
|
L_0250AE30: ; // 0x250ae30
|
|
/* 0250AE30 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250AE34 */ _t35 = cpu->r[12] + 0xFFFFE81Cu;
|
|
/* 0250AE34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
L_0250AE38: ; // 0x250ae38
|
|
/* 0250AE38 */ cpu->f[1] = cpu->f[31];
|
|
/* 0250AE3C */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 0250AE3C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0250AE40 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AE40 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 0250AE44 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AE44 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0250AE44 */ if (_t39) goto L_0250AE48; // else: addr-0 trap, fall-through
|
|
L_0250AE48: ; // 0x250ae48
|
|
/* 0250AE48 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 0250AE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250AE4C */ cpu->lr = cpu->r[0];
|
|
/* 0250AE50 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250AE54 */ return;
|
|
}
|
|
|
|
// fn_0250AE58 @ 0x250ae58
|
|
void Gambit_fn_0250AE58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0250AE58: ; // 0x250ae58
|
|
/* 0250AE58 */ cpu->r[0] = cpu->lr;
|
|
/* 0250AE5C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0250AE5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AE5C */ cpu->r[1] = _t0;
|
|
/* 0250AE60 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0250AE60 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250AE64 */ /* nop */
|
|
/* 0250AE68 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AE68 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250AE6C */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AE6C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0250AE70 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AE74 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250AE74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0250AE78 */ Gambit_fn_0250AD44(cpu);
|
|
/* 0250AE7C */ _t5 = cpu->r[31] + 0x000001FCu;
|
|
/* 0250AE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250AE80 */ cpu->f[31] = cpu->f[1];
|
|
/* 0250AE84 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 0250AE84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250AE88 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0250AE8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250AE90 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0250AE90 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0250AE94 */ Gambit_fn_02981258(cpu);
|
|
/* 0250AE98 */ _t8 = cpu->r[31] + 0x00000200u;
|
|
/* 0250AE98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0250AE9C */ cpu->f[1] = cpu->f[31];
|
|
/* 0250AEA0 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 0250AEA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250AEA4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0250AEA8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AEAC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AEAC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0250AEB0 */ Gambit_fn_02981258(cpu);
|
|
/* 0250AEB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AEB8 */ Gambit_fn_024F606C(cpu);
|
|
/* 0250AEBC */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AEC0 */ Gambit_fn_024F607C(cpu);
|
|
/* 0250AEC4 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AEC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0250AEC8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AEC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250AECC */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 0250AECC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 0250AED0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AED0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0250AED0 */ if (_t15) goto L_0250AED4; // else: addr-0 trap, fall-through
|
|
L_0250AED4: ; // 0x250aed4
|
|
/* 0250AED4 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250AED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250AED8 */ cpu->lr = cpu->r[0];
|
|
/* 0250AEDC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0250AEE0 */ return;
|
|
}
|
|
|
|
// fn_0250AE5C @ 0x250ae5c
|
|
void Gambit_fn_0250AE5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0250AE5C: ; // 0x250ae5c
|
|
/* 0250AE5C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0250AE5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AE5C */ cpu->r[1] = _t0;
|
|
/* 0250AE60 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0250AE60 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250AE64 */ /* nop */
|
|
/* 0250AE68 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AE68 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250AE6C */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AE6C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0250AE70 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AE74 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250AE74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0250AE78 */ Gambit_fn_0250AD44(cpu);
|
|
/* 0250AE7C */ _t5 = cpu->r[31] + 0x000001FCu;
|
|
/* 0250AE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250AE80 */ cpu->f[31] = cpu->f[1];
|
|
/* 0250AE84 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 0250AE84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250AE88 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0250AE8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250AE90 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0250AE90 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0250AE94 */ Gambit_fn_02981258(cpu);
|
|
/* 0250AE98 */ _t8 = cpu->r[31] + 0x00000200u;
|
|
/* 0250AE98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0250AE9C */ cpu->f[1] = cpu->f[31];
|
|
/* 0250AEA0 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 0250AEA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250AEA4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0250AEA8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AEAC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AEAC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0250AEB0 */ Gambit_fn_02981258(cpu);
|
|
/* 0250AEB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AEB8 */ Gambit_fn_024F606C(cpu);
|
|
/* 0250AEBC */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AEC0 */ Gambit_fn_024F607C(cpu);
|
|
/* 0250AEC4 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 0250AEC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0250AEC8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AEC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250AECC */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 0250AECC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 0250AED0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250AED0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0250AED0 */ if (_t15) goto L_0250AED4; // else: addr-0 trap, fall-through
|
|
L_0250AED4: ; // 0x250aed4
|
|
/* 0250AED4 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250AED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250AED8 */ cpu->lr = cpu->r[0];
|
|
/* 0250AEDC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0250AEE0 */ return;
|
|
}
|
|
|
|
// fn_0250AEE4 @ 0x250aee4
|
|
void Gambit_fn_0250AEE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25;
|
|
|
|
L_0250AEE4: ; // 0x250aee4
|
|
/* 0250AEE4 */ cpu->r[0] = cpu->lr;
|
|
/* 0250AEE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250AEE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AEE8 */ cpu->r[1] = _t0;
|
|
/* 0250AEEC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250AEEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250AEF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250AEF4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AEF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250AEF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AEF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250AEFC */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250AF00 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250AF04 */ _t4 = cpu->r[10] + 0xFFFFFE74u;
|
|
/* 0250AF04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250AF04 */ cpu->r[10] = _t4;
|
|
/* 0250AF08 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AF0C */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250AF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250AF14 */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250AF18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AF18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250AF18 */ if (_t6) goto L_0250AF1C; else goto L_0250AF30;
|
|
L_0250AF1C: ; // 0x250af1c
|
|
/* 0250AF1C */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250AF20 */ cpu->r[8] = 0x00000001u;
|
|
/* 0250AF24 */ cpu->r[0] = cpu->r[0] + 0xFFFFE8D0u;
|
|
/* 0250AF28 */ _t7 = cpu->r[10] + 0x00000000u;
|
|
/* 0250AF28 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0250AF2C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 0250AF2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0250AF30: ; // 0x250af30
|
|
/* 0250AF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250AF34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AF34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250AF34 */ if (_t10) goto L_0250AF54; else goto L_0250AF38;
|
|
L_0250AF38: ; // 0x250af38
|
|
/* 0250AF38 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0250AF38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250AF3C */ _t12 = cpu->r[11] + 0x0000006Cu;
|
|
/* 0250AF3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250AF40 */ cpu->ctr = cpu->r[12];
|
|
/* 0250AF44 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AF48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250AF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250AF50 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AF50 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0250AF50 */ if (_t14) goto L_0250AF54; else goto L_0250AF58;
|
|
L_0250AF54: ; // 0x250af54
|
|
/* 0250AF54 */ cpu->r[31] = 0x00000000u;
|
|
L_0250AF58: ; // 0x250af58
|
|
/* 0250AF58 */ _t15 = cpu->r[30] + 0x00000078u;
|
|
/* 0250AF58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0250AF5C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0250AF60 */ _t16 = cpu->r[31] + 0x000002FCu;
|
|
/* 0250AF60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250AF64 */ _t17 = cpu->r[3] + 0x00001D14u;
|
|
/* 0250AF64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0250AF68 */ cpu->f[1] = cpu->f[0] - cpu->f[13];
|
|
/* 0250AF6C */ _t18 = cpu->r[30] + 0x00000080u;
|
|
/* 0250AF6C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250AF70 */ cpu->f[2] = cpu->f[0] + cpu->f[13];
|
|
/* 0250AF74 */ _t19 = cpu->r[3] + 0x00005444u;
|
|
/* 0250AF74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250AF78 */ cpu->f[4] = cpu->f[12] + cpu->f[13];
|
|
/* 0250AF7C */ _t20 = cpu->r[30] + 0x00000278u;
|
|
/* 0250AF7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0250AF80 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0250AF84 */ cpu->f[3] = cpu->f[12] - cpu->f[13];
|
|
/* 0250AF88 */ _t21 = cpu->r[4] + 0x00006648u;
|
|
/* 0250AF88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250AF8C */ cpu->r[5] = cpu->r[30];
|
|
/* 0250AF90 */ Gambit_fn_02031B20(cpu);
|
|
/* 0250AF94 */ _t22 = cpu->r[30] + 0x00000274u;
|
|
/* 0250AF94 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 0250AF98 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250AF9C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0250AF9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250AFA0 */ cpu->lr = cpu->r[0];
|
|
/* 0250AFA4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AFA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250AFA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250AFAC */ return;
|
|
}
|
|
|
|
// fn_0250AEE8 @ 0x250aee8
|
|
void Gambit_fn_0250AEE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25;
|
|
|
|
L_0250AEE8: ; // 0x250aee8
|
|
/* 0250AEE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250AEE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AEE8 */ cpu->r[1] = _t0;
|
|
/* 0250AEEC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250AEEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250AEF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250AEF4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AEF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250AEF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AEF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250AEFC */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250AF00 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250AF04 */ _t4 = cpu->r[10] + 0xFFFFFE74u;
|
|
/* 0250AF04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250AF04 */ cpu->r[10] = _t4;
|
|
/* 0250AF08 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AF0C */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250AF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250AF14 */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250AF18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AF18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250AF18 */ if (_t6) goto L_0250AF1C; else goto L_0250AF30;
|
|
L_0250AF1C: ; // 0x250af1c
|
|
/* 0250AF1C */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250AF20 */ cpu->r[8] = 0x00000001u;
|
|
/* 0250AF24 */ cpu->r[0] = cpu->r[0] + 0xFFFFE8D0u;
|
|
/* 0250AF28 */ _t7 = cpu->r[10] + 0x00000000u;
|
|
/* 0250AF28 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0250AF2C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 0250AF2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0250AF30: ; // 0x250af30
|
|
/* 0250AF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250AF34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AF34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250AF34 */ if (_t10) goto L_0250AF54; else goto L_0250AF38;
|
|
L_0250AF38: ; // 0x250af38
|
|
/* 0250AF38 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0250AF38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250AF3C */ _t12 = cpu->r[11] + 0x0000006Cu;
|
|
/* 0250AF3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250AF40 */ cpu->ctr = cpu->r[12];
|
|
/* 0250AF44 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250AF48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250AF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250AF50 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250AF50 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0250AF50 */ if (_t14) goto L_0250AF54; else goto L_0250AF58;
|
|
L_0250AF54: ; // 0x250af54
|
|
/* 0250AF54 */ cpu->r[31] = 0x00000000u;
|
|
L_0250AF58: ; // 0x250af58
|
|
/* 0250AF58 */ _t15 = cpu->r[30] + 0x00000078u;
|
|
/* 0250AF58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0250AF5C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0250AF60 */ _t16 = cpu->r[31] + 0x000002FCu;
|
|
/* 0250AF60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250AF64 */ _t17 = cpu->r[3] + 0x00001D14u;
|
|
/* 0250AF64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0250AF68 */ cpu->f[1] = cpu->f[0] - cpu->f[13];
|
|
/* 0250AF6C */ _t18 = cpu->r[30] + 0x00000080u;
|
|
/* 0250AF6C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250AF70 */ cpu->f[2] = cpu->f[0] + cpu->f[13];
|
|
/* 0250AF74 */ _t19 = cpu->r[3] + 0x00005444u;
|
|
/* 0250AF74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250AF78 */ cpu->f[4] = cpu->f[12] + cpu->f[13];
|
|
/* 0250AF7C */ _t20 = cpu->r[30] + 0x00000278u;
|
|
/* 0250AF7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0250AF80 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0250AF84 */ cpu->f[3] = cpu->f[12] - cpu->f[13];
|
|
/* 0250AF88 */ _t21 = cpu->r[4] + 0x00006648u;
|
|
/* 0250AF88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250AF8C */ cpu->r[5] = cpu->r[30];
|
|
/* 0250AF90 */ Gambit_fn_02031B20(cpu);
|
|
/* 0250AF94 */ _t22 = cpu->r[30] + 0x00000274u;
|
|
/* 0250AF94 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 0250AF98 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250AF9C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0250AF9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250AFA0 */ cpu->lr = cpu->r[0];
|
|
/* 0250AFA4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AFA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250AFA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250AFAC */ return;
|
|
}
|
|
|
|
// fn_0250AFB0 @ 0x250afb0
|
|
void Gambit_fn_0250AFB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0250AFB0: ; // 0x250afb0
|
|
/* 0250AFB0 */ cpu->r[0] = cpu->lr;
|
|
/* 0250AFB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250AFB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AFB4 */ cpu->r[1] = _t0;
|
|
/* 0250AFB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AFB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250AFBC */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AFC0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0250AFC4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AFC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250AFC8 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 0250AFC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250AFCC */ cpu->r[4] = cpu->r[31] + 0x00000274u;
|
|
/* 0250AFD0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 0250AFD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250AFD8 */ _t4 = cpu->r[31] + 0x00000274u;
|
|
/* 0250AFD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0250AFDC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AFDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250AFE0 */ cpu->lr = cpu->r[0];
|
|
/* 0250AFE4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AFE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250AFE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250AFEC */ return;
|
|
}
|
|
|
|
// fn_0250AFB4 @ 0x250afb4
|
|
void Gambit_fn_0250AFB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0250AFB4: ; // 0x250afb4
|
|
/* 0250AFB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250AFB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AFB4 */ cpu->r[1] = _t0;
|
|
/* 0250AFB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AFB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250AFBC */ cpu->r[31] = cpu->r[3];
|
|
/* 0250AFC0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0250AFC4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AFC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250AFC8 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 0250AFC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250AFCC */ cpu->r[4] = cpu->r[31] + 0x00000274u;
|
|
/* 0250AFD0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 0250AFD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250AFD8 */ _t4 = cpu->r[31] + 0x00000274u;
|
|
/* 0250AFD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0250AFDC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0250AFDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250AFE0 */ cpu->lr = cpu->r[0];
|
|
/* 0250AFE4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250AFE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250AFE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250AFEC */ return;
|
|
}
|
|
|
|
// fn_0250AFF0 @ 0x250aff0
|
|
void Gambit_fn_0250AFF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31;
|
|
|
|
L_0250AFF0: ; // 0x250aff0
|
|
/* 0250AFF0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0250AFF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250AFF0 */ cpu->r[1] = _t0;
|
|
/* 0250AFF4 */ /* nop */
|
|
/* 0250AFF8 */ cpu->r[0] = cpu->lr;
|
|
/* 0250AFFC */ cpu->r[25] = 0x101D0000u;
|
|
/* 0250B000 */ cpu->r[28] = 0x100C0000u;
|
|
/* 0250B004 */ cpu->r[31] = 0x00000000u;
|
|
/* 0250B008 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0250B008 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0250B00C */ cpu->r[30] = 0x101D0000u;
|
|
/* 0250B010 */ cpu->r[21] = 0x00000001u;
|
|
/* 0250B014 */ cpu->r[22] = 0x101D0000u;
|
|
/* 0250B018 */ cpu->r[24] = 0x101D0000u;
|
|
/* 0250B01C */ cpu->r[25] = cpu->r[25] + 0x0000097Cu;
|
|
/* 0250B020 */ cpu->r[28] = cpu->r[28] + 0xFFFFE830u;
|
|
/* 0250B024 */ cpu->r[26] = cpu->r[31];
|
|
/* 0250B028 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 0250B028 */ cpu->r[23] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250B02C */ cpu->r[29] = 0x101D0000u;
|
|
L_0250B030: ; // 0x250b030
|
|
/* 0250B030 */ _t3 = cpu->r[22] + 0xFFFFFE70u;
|
|
/* 0250B030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250B034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250B038 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B038 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0250B038 */ if (_t5) goto L_0250B03C; else goto L_0250B054;
|
|
L_0250B03C: ; // 0x250b03c
|
|
/* 0250B03C */ cpu->r[4] = 0x101C0000u;
|
|
/* 0250B040 */ cpu->r[3] = cpu->r[24] + 0x0000517Eu;
|
|
/* 0250B044 */ cpu->r[5] = 0x0000001Fu;
|
|
/* 0250B048 */ cpu->r[4] = cpu->r[4] + 0x00006728u;
|
|
/* 0250B04C */ _t6 = cpu->r[22] + 0xFFFFFE70u;
|
|
/* 0250B04C */ rbrew_write32(cpu->mem, _t6, cpu->r[21]);
|
|
/* 0250B050 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_0250B054: ; // 0x250b054
|
|
/* 0250B054 */ _t7 = cpu->r[30] + 0xFFFFFE6Cu;
|
|
/* 0250B054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250B058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250B05C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B05C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250B05C */ if (_t9) goto L_0250B060; else goto L_0250B068;
|
|
L_0250B060: ; // 0x250b060
|
|
/* 0250B060 */ _t10 = cpu->r[29] + 0x0000098Cu;
|
|
/* 0250B060 */ rbrew_write32(cpu->mem, _t10, cpu->r[26]);
|
|
/* 0250B064 */ _t11 = cpu->r[30] + 0xFFFFFE6Cu;
|
|
/* 0250B064 */ rbrew_write32(cpu->mem, _t11, cpu->r[21]);
|
|
L_0250B068: ; // 0x250b068
|
|
/* 0250B068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000004u);
|
|
/* 0250B06C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250B06C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250B06C */ if (_t13) goto L_0250B098; else goto L_0250B070;
|
|
L_0250B070: ; // 0x250b070
|
|
/* 0250B070 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B070 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0250B074 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250B078 */ cpu->r[3] = cpu->r[23];
|
|
/* 0250B07C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250B080 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0250B080 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0250B084 */ Gambit_fn_027B70B8(cpu);
|
|
/* 0250B088 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0250B08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 0250B090 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250B090 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0250B090 */ if (_t17) goto L_0250B030; else goto L_0250B094;
|
|
L_0250B094: ; // 0x250b094
|
|
/* 0250B094 */ goto L_0250B104;
|
|
L_0250B098: ; // 0x250b098
|
|
/* 0250B098 */ _t18 = cpu->r[29] + 0x0000098Cu;
|
|
/* 0250B098 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250B09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250B0A0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B0A0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250B0A0 */ if (_t20) goto L_0250B0A4; else goto L_0250B0DC;
|
|
L_0250B0A4: ; // 0x250b0a4
|
|
/* 0250B0A4 */ Gambit_fn_0282A450(cpu);
|
|
/* 0250B0A8 */ cpu->r[27] = cpu->r[3];
|
|
/* 0250B0AC */ Gambit_fn_02836FFC(cpu);
|
|
/* 0250B0B0 */ _t21 = cpu->r[29] + 0x0000098Cu;
|
|
/* 0250B0B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250B0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250B0B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B0B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250B0B8 */ if (_t23) goto L_0250B0BC; else goto L_0250B0D0;
|
|
L_0250B0BC: ; // 0x250b0bc
|
|
/* 0250B0BC */ cpu->r[5] = 0x00000004u;
|
|
/* 0250B0C0 */ cpu->r[4] = cpu->r[24] + 0x0000517Eu;
|
|
/* 0250B0C4 */ cpu->r[3] = cpu->r[25];
|
|
/* 0250B0C8 */ Gambit_fn_0282A374(cpu);
|
|
/* 0250B0CC */ _t24 = cpu->r[29] + 0x0000098Cu;
|
|
/* 0250B0CC */ rbrew_write32(cpu->mem, _t24, cpu->r[25]);
|
|
L_0250B0D0: ; // 0x250b0d0
|
|
/* 0250B0D0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250B0D4 */ Gambit_fn_02837030(cpu);
|
|
/* 0250B0D8 */ _t25 = cpu->r[29] + 0x0000098Cu;
|
|
/* 0250B0D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
L_0250B0DC: ; // 0x250b0dc
|
|
/* 0250B0DC */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250B0E0 */ _t26 = cpu->r[10] + cpu->r[11];
|
|
/* 0250B0E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250B0E4 */ cpu->r[3] = cpu->r[23];
|
|
/* 0250B0E8 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B0E8 */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 0250B0EC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250B0F0 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0250B0F0 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0250B0F4 */ Gambit_fn_027B70B8(cpu);
|
|
/* 0250B0F8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0250B0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 0250B100 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250B100 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0250B100 */ if (_t30) goto L_0250B030; else goto L_0250B104;
|
|
L_0250B104: ; // 0x250b104
|
|
/* 0250B104 */ /* nop */
|
|
/* 0250B108 */ _t31 = cpu->r[1] + 0x00000044u;
|
|
/* 0250B108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250B10C */ cpu->lr = cpu->r[0];
|
|
/* 0250B110 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0250B114 */ return;
|
|
}
|
|
|
|
// fn_0250B118 @ 0x250b118
|
|
void Gambit_fn_0250B118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84;
|
|
|
|
L_0250B118: ; // 0x250b118
|
|
/* 0250B118 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0250B118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250B118 */ cpu->r[1] = _t0;
|
|
/* 0250B11C */ /* nop */
|
|
/* 0250B120 */ cpu->r[0] = cpu->lr;
|
|
/* 0250B124 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0250B124 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 0250B128 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0250B128 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0250B12C */ /* nop */
|
|
/* 0250B130 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 0250B130 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0250B134 */ /* nop */
|
|
/* 0250B138 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0250B138 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
|
|
/* 0250B13C */ /* nop */
|
|
/* 0250B140 */ _t5 = cpu->r[1] + 0x00000048u;
|
|
/* 0250B140 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 0250B144 */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 0250B144 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0250B148 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250B148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250B14C */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 0250B14C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 0250B150 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B150 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250B150 */ if (_t9) goto L_0250B154; else goto L_0250B164;
|
|
L_0250B154: ; // 0x250b154
|
|
/* 0250B154 */ cpu->r[3] = 0x00000428u;
|
|
/* 0250B158 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B15C */ cpu->r[31] = cpu->r[3];
|
|
/* 0250B15C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250B160 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B160 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0250B160 */ if (_t11) goto L_0250B3F4; else goto L_0250B164;
|
|
L_0250B164: ; // 0x250b164
|
|
/* 0250B164 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B168 */ Gambit_fn_025015D0(cpu);
|
|
/* 0250B16C */ cpu->r[28] = cpu->r[31] + 0x00000188u;
|
|
/* 0250B170 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250B174 */ cpu->r[29] = 0x10110000u;
|
|
/* 0250B178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0250B17C */ cpu->r[0] = cpu->r[0] + 0xFFFFE930u;
|
|
/* 0250B180 */ cpu->r[29] = cpu->r[29] + 0x0000095Cu;
|
|
/* 0250B184 */ cpu->r[30] = 0x00000000u;
|
|
/* 0250B188 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0250B188 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0250B18C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B18C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0250B18C */ if (_t14) goto L_0250B190; else goto L_0250B1A0;
|
|
L_0250B190: ; // 0x250b190
|
|
/* 0250B190 */ cpu->r[3] = 0x00000060u;
|
|
/* 0250B194 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B198 */ cpu->r[28] = cpu->r[3];
|
|
/* 0250B198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0250B19C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B19C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0250B19C */ if (_t16) goto L_0250B1DC; else goto L_0250B1A0;
|
|
L_0250B1A0: ; // 0x250b1a0
|
|
/* 0250B1A0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250B1A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250B1A8 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250B1AC */ cpu->r[5] = cpu->r[5] + 0xFFFFEADCu;
|
|
/* 0250B1B0 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250B1B4 */ cpu->r[6] = cpu->r[6] + 0xFFFFEB1Cu;
|
|
/* 0250B1B8 */ cpu->r[7] = cpu->r[5];
|
|
/* 0250B1BC */ cpu->r[3] = cpu->r[28];
|
|
/* 0250B1C0 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0250B1C4 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 0250B1C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0250B1C8 */ cpu->r[12] = 0x0000000Fu;
|
|
/* 0250B1CC */ _t18 = cpu->r[28] + 0x00000058u;
|
|
/* 0250B1CC */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0250B1D0 */ cpu->r[0] = 0x0000003Cu;
|
|
/* 0250B1D4 */ _t19 = cpu->r[28] + 0x00000054u;
|
|
/* 0250B1D4 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0250B1D8 */ _t20 = cpu->r[28] + 0x0000005Cu;
|
|
/* 0250B1D8 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
L_0250B1DC: ; // 0x250b1dc
|
|
/* 0250B1DC */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250B1E0 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250B1E4 */ _t21 = cpu->r[12] + 0xFFFFE81Cu;
|
|
/* 0250B1E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250B1E8 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250B1EC */ _t22 = cpu->r[11] + 0xFFFFEAB4u;
|
|
/* 0250B1EC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0250B1F0 */ cpu->r[28] = 0x10110000u;
|
|
/* 0250B1F4 */ cpu->r[27] = cpu->r[31] + 0x000001E8u;
|
|
/* 0250B1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B1F8 */ _t23 = cpu->r[10] + 0xFFFFEAB8u;
|
|
/* 0250B1F8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0250B1FC */ cpu->r[28] = cpu->r[28] + 0x00000A2Cu;
|
|
/* 0250B200 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B200 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0250B200 */ if (_t25) goto L_0250B204; else goto L_0250B214;
|
|
L_0250B204: ; // 0x250b204
|
|
/* 0250B204 */ cpu->r[3] = 0x00000060u;
|
|
/* 0250B208 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B20C */ cpu->r[27] = cpu->r[3];
|
|
/* 0250B20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B210 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B210 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250B210 */ if (_t27) goto L_0250B248; else goto L_0250B214;
|
|
L_0250B214: ; // 0x250b214
|
|
/* 0250B214 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250B218 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250B21C */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250B220 */ cpu->r[5] = cpu->r[5] + 0xFFFFEAF0u;
|
|
/* 0250B224 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250B228 */ cpu->r[6] = cpu->r[6] + 0xFFFFEB34u;
|
|
/* 0250B22C */ cpu->r[7] = cpu->r[5];
|
|
/* 0250B230 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250B234 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0250B238 */ _t28 = cpu->r[27] + 0x00000058u;
|
|
/* 0250B238 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[31]);
|
|
/* 0250B23C */ _t29 = cpu->r[27] + 0x00000054u;
|
|
/* 0250B23C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[30]);
|
|
/* 0250B240 */ _t30 = cpu->r[27] + 0x0000005Cu;
|
|
/* 0250B240 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[29]);
|
|
/* 0250B244 */ _t31 = cpu->r[27] + 0x00000000u;
|
|
/* 0250B244 */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
|
|
L_0250B248: ; // 0x250b248
|
|
/* 0250B248 */ cpu->r[27] = cpu->r[31] + 0x00000248u;
|
|
/* 0250B248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B24C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B24C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250B24C */ if (_t33) goto L_0250B250; else goto L_0250B260;
|
|
L_0250B250: ; // 0x250b250
|
|
/* 0250B250 */ cpu->r[3] = 0x00000060u;
|
|
/* 0250B254 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B258 */ cpu->r[27] = cpu->r[3];
|
|
/* 0250B258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B25C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B25C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0250B25C */ if (_t35) goto L_0250B29C; else goto L_0250B260;
|
|
L_0250B260: ; // 0x250b260
|
|
/* 0250B260 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250B264 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250B268 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250B26C */ cpu->r[5] = cpu->r[5] + 0xFFFFEB48u;
|
|
/* 0250B270 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250B274 */ cpu->r[6] = cpu->r[6] + 0xFFFFEB5Cu;
|
|
/* 0250B278 */ cpu->r[7] = cpu->r[5];
|
|
/* 0250B27C */ cpu->r[3] = cpu->r[27];
|
|
/* 0250B280 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0250B284 */ _t36 = cpu->r[27] + 0x00000000u;
|
|
/* 0250B284 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 0250B288 */ cpu->r[9] = 0x0000003Cu;
|
|
/* 0250B28C */ _t37 = cpu->r[27] + 0x00000058u;
|
|
/* 0250B28C */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 0250B290 */ cpu->r[0] = 0x00000078u;
|
|
/* 0250B294 */ _t38 = cpu->r[27] + 0x00000054u;
|
|
/* 0250B294 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 0250B298 */ _t39 = cpu->r[27] + 0x0000005Cu;
|
|
/* 0250B298 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
L_0250B29C: ; // 0x250b29c
|
|
/* 0250B29C */ cpu->r[27] = cpu->r[31] + 0x000002A8u;
|
|
/* 0250B29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B2A0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B2A0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0250B2A0 */ if (_t41) goto L_0250B2A4; else goto L_0250B2B4;
|
|
L_0250B2A4: ; // 0x250b2a4
|
|
/* 0250B2A4 */ cpu->r[3] = 0x00000060u;
|
|
/* 0250B2A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B2AC */ cpu->r[27] = cpu->r[3];
|
|
/* 0250B2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B2B0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B2B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0250B2B0 */ if (_t43) goto L_0250B2F0; else goto L_0250B2B4;
|
|
L_0250B2B4: ; // 0x250b2b4
|
|
/* 0250B2B4 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250B2B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250B2BC */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250B2C0 */ cpu->r[5] = cpu->r[5] + 0xFFFFEB70u;
|
|
/* 0250B2C4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250B2C8 */ cpu->r[6] = cpu->r[6] + 0xFFFFEB84u;
|
|
/* 0250B2CC */ cpu->r[7] = cpu->r[5];
|
|
/* 0250B2D0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250B2D4 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0250B2D8 */ _t44 = cpu->r[27] + 0x0000005Cu;
|
|
/* 0250B2D8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[29]);
|
|
/* 0250B2DC */ cpu->r[7] = 0x100C0000u;
|
|
/* 0250B2E0 */ _t45 = cpu->r[27] + 0x00000058u;
|
|
/* 0250B2E0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[31]);
|
|
/* 0250B2E4 */ _t46 = cpu->r[7] + 0xFFFFEABCu;
|
|
/* 0250B2E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0250B2E8 */ _t47 = cpu->r[27] + 0x00000000u;
|
|
/* 0250B2E8 */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
|
|
/* 0250B2EC */ _t48 = cpu->r[27] + 0x00000054u;
|
|
/* 0250B2EC */ rbrew_write_f32(cpu->mem, _t48, cpu->f[13]);
|
|
L_0250B2F0: ; // 0x250b2f0
|
|
/* 0250B2F0 */ cpu->r[27] = cpu->r[31] + 0x00000308u;
|
|
/* 0250B2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B2F4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B2F4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0250B2F4 */ if (_t50) goto L_0250B2F8; else goto L_0250B308;
|
|
L_0250B2F8: ; // 0x250b2f8
|
|
/* 0250B2F8 */ cpu->r[3] = 0x00000060u;
|
|
/* 0250B2FC */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B300 */ cpu->r[27] = cpu->r[3];
|
|
/* 0250B300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B304 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B304 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0250B304 */ if (_t52) goto L_0250B344; else goto L_0250B308;
|
|
L_0250B308: ; // 0x250b308
|
|
/* 0250B308 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250B30C */ cpu->r[4] = cpu->r[31];
|
|
/* 0250B310 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250B314 */ cpu->r[5] = cpu->r[5] + 0xFFFFEAC8u;
|
|
/* 0250B318 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250B31C */ cpu->r[6] = cpu->r[6] + 0xFFFFEB9Cu;
|
|
/* 0250B320 */ cpu->r[7] = cpu->r[5];
|
|
/* 0250B324 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250B328 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0250B32C */ _t53 = cpu->r[27] + 0x00000058u;
|
|
/* 0250B32C */ rbrew_write_f32(cpu->mem, _t53, cpu->f[31]);
|
|
/* 0250B330 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250B334 */ _t54 = cpu->r[27] + 0x00000000u;
|
|
/* 0250B334 */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 0250B338 */ _t55 = cpu->r[12] + 0xFFFFEAC0u;
|
|
/* 0250B338 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 0250B33C */ _t56 = cpu->r[27] + 0x00000054u;
|
|
/* 0250B33C */ rbrew_write_f32(cpu->mem, _t56, cpu->f[30]);
|
|
/* 0250B340 */ _t57 = cpu->r[27] + 0x0000005Cu;
|
|
/* 0250B340 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
|
|
L_0250B344: ; // 0x250b344
|
|
/* 0250B344 */ cpu->r[27] = cpu->r[31] + 0x00000368u;
|
|
/* 0250B344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B348 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B348 */ _t59 = _t58 & 0x00000001u;
|
|
/* 0250B348 */ if (_t59) goto L_0250B34C; else goto L_0250B35C;
|
|
L_0250B34C: ; // 0x250b34c
|
|
/* 0250B34C */ cpu->r[3] = 0x00000060u;
|
|
/* 0250B350 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B354 */ cpu->r[27] = cpu->r[3];
|
|
/* 0250B354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250B358 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B358 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0250B358 */ if (_t61) goto L_0250B3A0; else goto L_0250B35C;
|
|
L_0250B35C: ; // 0x250b35c
|
|
/* 0250B35C */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250B360 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250B364 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250B368 */ cpu->r[5] = cpu->r[5] + 0xFFFFEBBCu;
|
|
/* 0250B36C */ cpu->r[8] = 0x00000000u;
|
|
/* 0250B370 */ cpu->r[6] = cpu->r[6] + 0xFFFFEBD4u;
|
|
/* 0250B374 */ cpu->r[7] = cpu->r[5];
|
|
/* 0250B378 */ cpu->r[3] = cpu->r[27];
|
|
/* 0250B37C */ Gambit_fn_027F84F0(cpu);
|
|
/* 0250B380 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250B384 */ _t62 = cpu->r[27] + 0x00000000u;
|
|
/* 0250B384 */ rbrew_write32(cpu->mem, _t62, cpu->r[28]);
|
|
/* 0250B388 */ cpu->r[7] = 0x100C0000u;
|
|
/* 0250B38C */ _t63 = cpu->r[10] + 0xFFFFEAA8u;
|
|
/* 0250B38C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0250B390 */ _t64 = cpu->r[7] + 0xFFFFEAC4u;
|
|
/* 0250B390 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 0250B394 */ _t65 = cpu->r[27] + 0x00000054u;
|
|
/* 0250B394 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[12]);
|
|
/* 0250B398 */ _t66 = cpu->r[27] + 0x0000005Cu;
|
|
/* 0250B398 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]);
|
|
/* 0250B39C */ _t67 = cpu->r[27] + 0x00000058u;
|
|
/* 0250B39C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
L_0250B3A0: ; // 0x250b3a0
|
|
/* 0250B3A0 */ cpu->r[28] = cpu->r[31] + 0x000003C8u;
|
|
/* 0250B3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0250B3A4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B3A4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0250B3A4 */ if (_t69) goto L_0250B3A8; else goto L_0250B3B8;
|
|
L_0250B3A8: ; // 0x250b3a8
|
|
/* 0250B3A8 */ cpu->r[3] = 0x00000060u;
|
|
/* 0250B3AC */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B3B0 */ cpu->r[28] = cpu->r[3];
|
|
/* 0250B3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0250B3B4 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B3B4 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0250B3B4 */ if (_t71) goto L_0250B3F4; else goto L_0250B3B8;
|
|
L_0250B3B8: ; // 0x250b3b8
|
|
/* 0250B3B8 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250B3BC */ cpu->r[4] = cpu->r[31];
|
|
/* 0250B3C0 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250B3C4 */ cpu->r[5] = cpu->r[5] + 0xFFFFEB00u;
|
|
/* 0250B3C8 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250B3CC */ cpu->r[6] = cpu->r[6] + 0xFFFFEBECu;
|
|
/* 0250B3D0 */ cpu->r[7] = cpu->r[5];
|
|
/* 0250B3D4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0250B3D8 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0250B3DC */ _t72 = cpu->r[28] + 0x00000000u;
|
|
/* 0250B3DC */ rbrew_write32(cpu->mem, _t72, cpu->r[29]);
|
|
/* 0250B3E0 */ cpu->r[8] = 0x0000000Fu;
|
|
/* 0250B3E4 */ _t73 = cpu->r[28] + 0x00000058u;
|
|
/* 0250B3E4 */ rbrew_write32(cpu->mem, _t73, cpu->r[30]);
|
|
/* 0250B3E8 */ cpu->r[0] = 0x0000003Cu;
|
|
/* 0250B3EC */ _t74 = cpu->r[28] + 0x00000054u;
|
|
/* 0250B3EC */ rbrew_write32(cpu->mem, _t74, cpu->r[8]);
|
|
/* 0250B3F0 */ _t75 = cpu->r[28] + 0x0000005Cu;
|
|
/* 0250B3F0 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
L_0250B3F4: ; // 0x250b3f4
|
|
/* 0250B3F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B3F8 */ /* nop */
|
|
/* 0250B3FC */ _t76 = cpu->r[1] + 0x00000028u;
|
|
/* 0250B3FC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0250B400 */ _t77 = cpu->r[1] + 0x00000038u;
|
|
/* 0250B400 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 0250B404 */ _t78 = cpu->r[1] + 0x00000020u;
|
|
/* 0250B404 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t78);
|
|
/* 0250B408 */ _t79 = cpu->r[1] + 0x00000048u;
|
|
/* 0250B408 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 0250B40C */ _t80 = cpu->r[1] + 0x00000030u;
|
|
/* 0250B40C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 0250B410 */ _t81 = cpu->r[1] + 0x00000040u;
|
|
/* 0250B410 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t81);
|
|
/* 0250B414 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250B414 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0250B414 */ if (_t83) goto L_0250B418; // else: addr-0 trap, fall-through
|
|
L_0250B418: ; // 0x250b418
|
|
/* 0250B418 */ _t84 = cpu->r[1] + 0x00000054u;
|
|
/* 0250B418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0250B41C */ cpu->lr = cpu->r[0];
|
|
/* 0250B420 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0250B424 */ return;
|
|
}
|
|
|
|
// fn_0250B428 @ 0x250b428
|
|
void Gambit_fn_0250B428(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0250B428: ; // 0x250b428
|
|
/* 0250B428 */ cpu->r[0] = cpu->lr;
|
|
/* 0250B42C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0250B42C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0250B430 */ cpu->r[3] = 0x00000428u;
|
|
/* 0250B434 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0250B434 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0250B434 */ cpu->r[1] = _t1;
|
|
/* 0250B438 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B43C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250B440 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B440 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250B440 */ rbrew_dispatch(cpu, (_t3) ? 0x0250b444u : 0x0250b118u); return;
|
|
/* 0250B444 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250B448 */ cpu->lr = cpu->r[0];
|
|
/* 0250B44C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0250B450 */ return;
|
|
}
|
|
|
|
// fn_0250B434 @ 0x250b434
|
|
void Gambit_fn_0250B434(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0250B434: ; // 0x250b434
|
|
/* 0250B434 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0250B434 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250B434 */ cpu->r[1] = _t0;
|
|
/* 0250B438 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250B43C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250B440 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B440 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250B440 */ rbrew_dispatch(cpu, (_t2) ? 0x0250b444u : 0x0250b118u); return;
|
|
/* 0250B444 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250B448 */ cpu->lr = cpu->r[0];
|
|
/* 0250B44C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0250B450 */ return;
|
|
}
|
|
|
|
// fn_0250B454 @ 0x250b454
|
|
void Gambit_fn_0250B454(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132;
|
|
|
|
L_0250B454: ; // 0x250b454
|
|
/* 0250B454 */ _t0 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 0250B454 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250B454 */ cpu->r[1] = _t0;
|
|
/* 0250B458 */ cpu->r[0] = cpu->lr;
|
|
/* 0250B45C */ _t1 = cpu->r[1] + 0x000000B0u;
|
|
/* 0250B45C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250B460 */ _t2 = cpu->r[1] + 0x000000A8u;
|
|
/* 0250B460 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250B464 */ /* nop */
|
|
/* 0250B468 */ _t3 = cpu->r[1] + 0x000000ACu;
|
|
/* 0250B468 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0250B46C */ _t4 = cpu->r[1] + 0x000000B8u;
|
|
/* 0250B46C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0250B470 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250B474 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250B478 */ _t5 = cpu->r[1] + 0x000000A4u;
|
|
/* 0250B478 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0250B47C */ _t6 = cpu->r[1] + 0x000000C4u;
|
|
/* 0250B47C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0250B480 */ _t7 = cpu->r[30] + 0x000001F0u;
|
|
/* 0250B480 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 0250B484 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B488 */ cpu->r[4] = cpu->r[29];
|
|
/* 0250B48C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250B490 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250B490 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0250B494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[8]);
|
|
/* 0250B498 */ cpu->r[8] = 0x00000000u;
|
|
/* 0250B49C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250B49C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250B49C */ if (_t10) goto L_0250B4A0; else goto L_0250B4AC;
|
|
L_0250B4A0: ; // 0x250b4a0
|
|
/* 0250B4A0 */ _t11 = cpu->r[31] + 0x00000024u;
|
|
/* 0250B4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250B4A4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250B4A8 */ _t12 = cpu->r[9] + cpu->r[0];
|
|
/* 0250B4A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
L_0250B4AC: ; // 0x250b4ac
|
|
/* 0250B4AC */ _t13 = cpu->r[8] + 0x00000000u;
|
|
/* 0250B4AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0250B4B0 */ _t14 = cpu->r[3] + 0x00000088u;
|
|
/* 0250B4B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250B4B4 */ _t15 = cpu->r[12] + 0x00000064u;
|
|
/* 0250B4B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250B4B8 */ cpu->ctr = cpu->r[0];
|
|
/* 0250B4BC */ _t16 = cpu->r[30] + 0x000001F2u;
|
|
/* 0250B4BC */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16);
|
|
/* 0250B4C0 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0250B4C4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0250B4C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250B4CC */ _t17 = cpu->r[30] + 0x0000023Cu;
|
|
/* 0250B4CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0250B4D0 */ cpu->r[6] = 0x101F0000u;
|
|
/* 0250B4D4 */ _t18 = cpu->r[6] + 0x0000635Cu;
|
|
/* 0250B4D4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250B4D4 */ cpu->r[6] = _t18;
|
|
/* 0250B4D8 */ _t19 = cpu->r[6] + 0x00000008u;
|
|
/* 0250B4D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250B4DC */ cpu->f[11] = cpu->f[7] * cpu->f[12];
|
|
/* 0250B4E0 */ _t20 = cpu->r[30] + 0x00000234u;
|
|
/* 0250B4E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0250B4E4 */ cpu->f[13] = cpu->f[0] * cpu->f[12];
|
|
/* 0250B4E8 */ cpu->f[1] = fma(cpu->f[0], cpu->f[8], -(cpu->f[11]));
|
|
/* 0250B4EC */ cpu->f[2] = fma(cpu->f[7], cpu->f[8], cpu->f[13]);
|
|
/* 0250B4F0 */ Gambit_fn_02C89074(cpu);
|
|
/* 0250B4F4 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250B4F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250B4FC */ _t21 = cpu->r[11] + 0xFFFFE81Cu;
|
|
/* 0250B4FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250B500 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B500 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[1]);
|
|
/* 0250B504 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0250B504 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]);
|
|
/* 0250B508 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 0250B50C */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0250B50C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
|
|
/* 0250B510 */ Gambit_fn_021E983C(cpu);
|
|
/* 0250B514 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0250B518 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 0250B51C */ cpu->r[5] = cpu->r[4];
|
|
/* 0250B520 */ Gambit_fn_02C69544(cpu);
|
|
/* 0250B524 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 0250B528 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 0250B52C */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B530 */ cpu->r[4] = cpu->r[30] + 0x000001F0u;
|
|
/* 0250B534 */ Gambit_fn_02980840(cpu);
|
|
/* 0250B538 */ _t25 = cpu->r[30] + 0x000001F4u;
|
|
/* 0250B538 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t25);
|
|
/* 0250B53C */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B540 */ cpu->r[4] = cpu->r[29];
|
|
/* 0250B544 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250B548 */ _t26 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250B548 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250B54C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 0250B550 */ cpu->r[11] = 0x00000000u;
|
|
/* 0250B554 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250B554 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0250B554 */ if (_t28) goto L_0250B558; else goto L_0250B564;
|
|
L_0250B558: ; // 0x250b558
|
|
/* 0250B558 */ _t29 = cpu->r[31] + 0x00000024u;
|
|
/* 0250B558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250B55C */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250B560 */ _t30 = cpu->r[10] + cpu->r[0];
|
|
/* 0250B560 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
L_0250B564: ; // 0x250b564
|
|
/* 0250B564 */ _t31 = cpu->r[11] + 0x00000000u;
|
|
/* 0250B564 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250B568 */ _t32 = cpu->r[3] + 0x00000088u;
|
|
/* 0250B568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0250B56C */ _t33 = cpu->r[12] + 0x00000064u;
|
|
/* 0250B56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250B570 */ cpu->ctr = cpu->r[0];
|
|
/* 0250B574 */ _t34 = cpu->r[30] + 0x000001F6u;
|
|
/* 0250B574 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34);
|
|
/* 0250B578 */ cpu->r[5] = cpu->r[1] + 0x00000074u;
|
|
/* 0250B57C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0250B580 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250B584 */ _t35 = cpu->r[1] + 0x00000058u;
|
|
/* 0250B584 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0250B588 */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 0250B588 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0250B58C */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0250B58C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 0250B590 */ _t38 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250B590 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0250B594 */ _t39 = cpu->r[1] + 0x00000060u;
|
|
/* 0250B594 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0250B598 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250B598 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[13]);
|
|
/* 0250B59C */ _t41 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250B59C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0250B5A0 */ _t42 = cpu->r[1] + 0x00000048u;
|
|
/* 0250B5A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0250B5A4 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 0250B5A4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[8]);
|
|
/* 0250B5A8 */ _t44 = cpu->r[1] + 0x00000038u;
|
|
/* 0250B5A8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0250B5AC */ _t45 = cpu->r[1] + 0x00000064u;
|
|
/* 0250B5AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0250B5B0 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0250B5B0 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[9]);
|
|
/* 0250B5B4 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 0250B5B4 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 0250B5B8 */ _t48 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250B5B8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0250B5BC */ _t49 = cpu->r[1] + 0x00000050u;
|
|
/* 0250B5BC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0250B5C0 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 0250B5C0 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[6]);
|
|
/* 0250B5C4 */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 0250B5C4 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[11]);
|
|
/* 0250B5C8 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B5C8 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[10]);
|
|
/* 0250B5CC */ _t53 = cpu->r[30] + 0x00000244u;
|
|
/* 0250B5CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0250B5D0 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250B5D0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[13]);
|
|
/* 0250B5D4 */ _t55 = cpu->r[1] + 0x00000030u;
|
|
/* 0250B5D4 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[10]);
|
|
/* 0250B5D8 */ _t56 = cpu->r[1] + 0x00000054u;
|
|
/* 0250B5D8 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[10]);
|
|
/* 0250B5DC */ cpu->r[6] = cpu->r[1] + 0x00000074u;
|
|
/* 0250B5E0 */ _t57 = cpu->r[1] + 0x00000040u;
|
|
/* 0250B5E0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0250B5E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B5E8 */ _t58 = cpu->r[1] + 0x00000028u;
|
|
/* 0250B5E8 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[12]);
|
|
/* 0250B5EC */ cpu->r[4] = cpu->r[30] + 0x000001F4u;
|
|
/* 0250B5F0 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 0250B5F4 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 0250B5F4 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[9]);
|
|
/* 0250B5F8 */ Gambit_fn_02980840(cpu);
|
|
/* 0250B5FC */ _t60 = cpu->r[30] + 0x000001F8u;
|
|
/* 0250B5FC */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t60);
|
|
/* 0250B600 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B604 */ cpu->r[4] = cpu->r[29];
|
|
/* 0250B608 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250B60C */ _t61 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250B60C */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0250B610 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
|
|
/* 0250B614 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250B618 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250B618 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0250B618 */ if (_t63) goto L_0250B61C; else goto L_0250B628;
|
|
L_0250B61C: ; // 0x250b61c
|
|
/* 0250B61C */ _t64 = cpu->r[31] + 0x00000024u;
|
|
/* 0250B61C */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0250B620 */ cpu->r[8] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250B624 */ _t65 = cpu->r[8] + cpu->r[9];
|
|
/* 0250B624 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
L_0250B628: ; // 0x250b628
|
|
/* 0250B628 */ _t66 = cpu->r[6] + 0x00000000u;
|
|
/* 0250B628 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0250B62C */ _t67 = cpu->r[3] + 0x00000088u;
|
|
/* 0250B62C */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0250B630 */ _t68 = cpu->r[10] + 0x00000064u;
|
|
/* 0250B630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0250B634 */ cpu->ctr = cpu->r[0];
|
|
/* 0250B638 */ _t69 = cpu->r[30] + 0x000001FAu;
|
|
/* 0250B638 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t69);
|
|
/* 0250B63C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250B640 */ cpu->r[5] = cpu->r[1] + 0x00000074u;
|
|
/* 0250B644 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250B648 */ _t70 = cpu->r[30] + 0x0000023Cu;
|
|
/* 0250B648 */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0250B64C */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 0250B650 */ _t71 = cpu->r[30] + 0x00000238u;
|
|
/* 0250B650 */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0250B654 */ _t72 = cpu->r[1] + 0x00000070u;
|
|
/* 0250B654 */ rbrew_write32(cpu->mem, _t72, cpu->r[7]);
|
|
/* 0250B658 */ _t73 = cpu->r[30] + 0x00000234u;
|
|
/* 0250B658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0250B65C */ _t74 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250B65C */ rbrew_write32(cpu->mem, _t74, cpu->r[6]);
|
|
/* 0250B660 */ cpu->r[4] = cpu->r[30] + 0x00000234u;
|
|
/* 0250B664 */ _t75 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250B664 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[31]);
|
|
/* 0250B668 */ _t76 = cpu->r[1] + 0x00000068u;
|
|
/* 0250B668 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 0250B66C */ cpu->r[5] = cpu->r[30] + 0x0000021Cu;
|
|
/* 0250B670 */ Gambit_fn_0204F0A0(cpu);
|
|
/* 0250B674 */ _t77 = cpu->r[1] + 0x00000020u;
|
|
/* 0250B674 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 0250B678 */ _t78 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250B678 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 0250B67C */ _t79 = cpu->r[1] + 0x00000054u;
|
|
/* 0250B67C */ rbrew_write_f32(cpu->mem, _t79, cpu->f[10]);
|
|
/* 0250B680 */ _t80 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250B680 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[8]);
|
|
/* 0250B684 */ _t81 = cpu->r[1] + 0x00000014u;
|
|
/* 0250B684 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 0250B688 */ _t82 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250B688 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 0250B68C */ _t83 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250B68C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
/* 0250B690 */ _t84 = cpu->r[1] + 0x00000048u;
|
|
/* 0250B690 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[7]);
|
|
/* 0250B694 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B694 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 0250B698 */ _t86 = cpu->r[1] + 0x00000024u;
|
|
/* 0250B698 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 0250B69C */ _t87 = cpu->r[1] + 0x00000044u;
|
|
/* 0250B69C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[6]);
|
|
/* 0250B6A0 */ _t88 = cpu->r[1] + 0x00000060u;
|
|
/* 0250B6A0 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[13]);
|
|
/* 0250B6A4 */ _t89 = cpu->r[1] + 0x00000028u;
|
|
/* 0250B6A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 0250B6A8 */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 0250B6A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 0250B6AC */ _t91 = cpu->r[1] + 0x00000018u;
|
|
/* 0250B6AC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 0250B6B0 */ _t92 = cpu->r[1] + 0x00000038u;
|
|
/* 0250B6B0 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[0]);
|
|
/* 0250B6B4 */ _t93 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250B6B4 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[9]);
|
|
/* 0250B6B8 */ _t94 = cpu->r[1] + 0x00000010u;
|
|
/* 0250B6B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 0250B6BC */ _t95 = cpu->r[1] + 0x00000040u;
|
|
/* 0250B6BC */ rbrew_write_f32(cpu->mem, _t95, cpu->f[11]);
|
|
/* 0250B6C0 */ _t96 = cpu->r[1] + 0x00000050u;
|
|
/* 0250B6C0 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[9]);
|
|
/* 0250B6C4 */ _t97 = cpu->r[1] + 0x00000034u;
|
|
/* 0250B6C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 0250B6C8 */ _t98 = cpu->r[1] + 0x00000030u;
|
|
/* 0250B6C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 0250B6CC */ _t99 = cpu->r[1] + 0x00000064u;
|
|
/* 0250B6CC */ rbrew_write_f32(cpu->mem, _t99, cpu->f[0]);
|
|
/* 0250B6D0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0250B6D4 */ _t100 = cpu->r[1] + 0x00000058u;
|
|
/* 0250B6D4 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[11]);
|
|
/* 0250B6D8 */ Gambit_fn_0204E3A8(cpu);
|
|
/* 0250B6DC */ _t101 = cpu->r[1] + 0x00000058u;
|
|
/* 0250B6DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 0250B6E0 */ _t102 = cpu->r[1] + 0x00000038u;
|
|
/* 0250B6E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 0250B6E4 */ _t103 = cpu->r[1] + 0x00000048u;
|
|
/* 0250B6E4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 0250B6E8 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 0250B6E8 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[8]);
|
|
/* 0250B6EC */ _t105 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250B6EC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 0250B6F0 */ _t106 = cpu->r[1] + 0x00000044u;
|
|
/* 0250B6F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 0250B6F4 */ _t107 = cpu->r[1] + 0x00000014u;
|
|
/* 0250B6F4 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[8]);
|
|
/* 0250B6F8 */ _t108 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B6F8 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[0]);
|
|
/* 0250B6FC */ _t109 = cpu->r[1] + 0x00000040u;
|
|
/* 0250B6FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 0250B700 */ _t110 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250B700 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 0250B704 */ _t111 = cpu->r[1] + 0x00000060u;
|
|
/* 0250B704 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 0250B708 */ _t112 = cpu->r[1] + 0x00000064u;
|
|
/* 0250B708 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 0250B70C */ _t113 = cpu->r[1] + 0x00000028u;
|
|
/* 0250B70C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[10]);
|
|
/* 0250B710 */ _t114 = cpu->r[1] + 0x00000034u;
|
|
/* 0250B710 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[0]);
|
|
/* 0250B714 */ _t115 = cpu->r[1] + 0x00000030u;
|
|
/* 0250B714 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[13]);
|
|
/* 0250B718 */ _t116 = cpu->r[1] + 0x00000018u;
|
|
/* 0250B718 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[9]);
|
|
/* 0250B71C */ _t117 = cpu->r[1] + 0x00000024u;
|
|
/* 0250B71C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[8]);
|
|
/* 0250B720 */ _t118 = cpu->r[1] + 0x00000050u;
|
|
/* 0250B720 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 0250B724 */ _t119 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250B724 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[11]);
|
|
/* 0250B728 */ cpu->r[6] = cpu->r[1] + 0x00000074u;
|
|
/* 0250B72C */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 0250B72C */ rbrew_write_f32(cpu->mem, _t120, cpu->f[7]);
|
|
/* 0250B730 */ _t121 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250B730 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 0250B734 */ cpu->r[4] = cpu->r[30] + 0x000001F8u;
|
|
/* 0250B738 */ _t122 = cpu->r[1] + 0x00000054u;
|
|
/* 0250B738 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 0250B73C */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B740 */ _t123 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250B740 */ rbrew_write_f32(cpu->mem, _t123, cpu->f[12]);
|
|
/* 0250B744 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0250B748 */ _t124 = cpu->r[1] + 0x00000020u;
|
|
/* 0250B748 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[7]);
|
|
/* 0250B74C */ Gambit_fn_02980840(cpu);
|
|
/* 0250B750 */ _t125 = cpu->r[1] + 0x000000A4u;
|
|
/* 0250B750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0250B754 */ _t126 = cpu->r[1] + 0x000000B8u;
|
|
/* 0250B754 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 0250B758 */ _t127 = cpu->r[1] + 0x000000A8u;
|
|
/* 0250B758 */ cpu->r[30] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0250B75C */ _t128 = cpu->r[1] + 0x000000B0u;
|
|
/* 0250B75C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t128);
|
|
/* 0250B760 */ _t129 = cpu->r[1] + 0x000000ACu;
|
|
/* 0250B760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0250B764 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250B764 */ _t131 = _t130 & 0x00000001u;
|
|
/* 0250B764 */ if (_t131) goto L_0250B768; // else: addr-0 trap, fall-through
|
|
L_0250B768: ; // 0x250b768
|
|
/* 0250B768 */ _t132 = cpu->r[1] + 0x000000C4u;
|
|
/* 0250B768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0250B76C */ cpu->lr = cpu->r[0];
|
|
/* 0250B770 */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 0250B774 */ return;
|
|
}
|
|
|
|
// fn_0250B778 @ 0x250b778
|
|
void Gambit_fn_0250B778(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73;
|
|
|
|
L_0250B778: ; // 0x250b778
|
|
/* 0250B778 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 0250B778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250B778 */ cpu->r[1] = _t0;
|
|
/* 0250B77C */ cpu->r[0] = cpu->lr;
|
|
/* 0250B780 */ /* nop */
|
|
/* 0250B784 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250B788 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250B78C */ cpu->r[31] = cpu->r[4];
|
|
/* 0250B790 */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 0250B790 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0250B794 */ Gambit_fn_02019890(cpu);
|
|
/* 0250B798 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0250B798 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250B79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000001u);
|
|
/* 0250B7A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B7A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0250B7A0 */ if (_t4) goto L_0250B7A4; else goto L_0250B97C;
|
|
L_0250B7A4: ; // 0x250b7a4
|
|
/* 0250B7A4 */ _t5 = cpu->r[30] + 0x000001BCu;
|
|
/* 0250B7A4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0250B7A8 */ /* nop */
|
|
/* 0250B7AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B7AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250B7AC */ if (_t7) goto L_0250B7B0; else goto L_0250B97C;
|
|
L_0250B7B0: ; // 0x250b7b0
|
|
/* 0250B7B0 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250B7B4 */ cpu->r[9] = 0x10110000u;
|
|
/* 0250B7B8 */ _t8 = cpu->r[10] + 0xFFFFE81Cu;
|
|
/* 0250B7B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0250B7BC */ cpu->r[9] = cpu->r[9] + 0xFFFFEF7Cu;
|
|
/* 0250B7C0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0250B7C4 */ _t9 = cpu->r[1] + 0x00000050u;
|
|
/* 0250B7C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0250B7C8 */ _t10 = cpu->r[7] + 0x00003840u;
|
|
/* 0250B7C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250B7C8 */ cpu->r[7] = _t10;
|
|
/* 0250B7CC */ _t11 = cpu->r[7] + 0x00000004u;
|
|
/* 0250B7CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250B7D0 */ _t12 = cpu->r[7] + 0x00000008u;
|
|
/* 0250B7D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250B7D4 */ _t13 = cpu->r[1] + 0x00000058u;
|
|
/* 0250B7D4 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0250B7D8 */ _t14 = cpu->r[1] + 0x00000068u;
|
|
/* 0250B7D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0250B7DC */ _t15 = cpu->r[1] + 0x00000060u;
|
|
/* 0250B7DC */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 0250B7E0 */ _t16 = cpu->r[1] + 0x00000054u;
|
|
/* 0250B7E0 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0250B7E4 */ _t17 = cpu->r[1] + 0x00000064u;
|
|
/* 0250B7E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0250B7E8 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 0250B7EC */ _t18 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250B7EC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 0250B7F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B7F4 */ _t19 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250B7F4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0250B7F8 */ Gambit_fn_025C65E8(cpu);
|
|
/* 0250B7FC */ cpu->r[3] = cpu->r[30];
|
|
/* 0250B800 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250B804 */ cpu->r[28] = 0x101D0000u;
|
|
/* 0250B808 */ _t20 = cpu->r[28] + 0xFFFFFE74u;
|
|
/* 0250B808 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0250B808 */ cpu->r[28] = _t20;
|
|
/* 0250B80C */ cpu->r[31] = cpu->r[3];
|
|
/* 0250B810 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0250B814 */ cpu->r[29] = 0x100C0000u;
|
|
/* 0250B818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0250B81C */ cpu->r[29] = cpu->r[29] + 0xFFFFE8D0u;
|
|
/* 0250B820 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B820 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0250B820 */ if (_t22) goto L_0250B824; else goto L_0250B830;
|
|
L_0250B824: ; // 0x250b824
|
|
/* 0250B824 */ _t23 = cpu->r[27] + 0x00000990u;
|
|
/* 0250B824 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 0250B828 */ cpu->r[6] = 0x00000001u;
|
|
/* 0250B82C */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 0250B82C */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
L_0250B830: ; // 0x250b830
|
|
/* 0250B830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250B834 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B834 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0250B834 */ if (_t26) goto L_0250B858; else goto L_0250B838;
|
|
L_0250B838: ; // 0x250b838
|
|
/* 0250B838 */ _t27 = cpu->r[31] + 0x00000000u;
|
|
/* 0250B838 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0250B83C */ _t28 = cpu->r[7] + 0x0000006Cu;
|
|
/* 0250B83C */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250B840 */ cpu->ctr = cpu->r[8];
|
|
/* 0250B844 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B848 */ cpu->r[4] = cpu->r[27] + 0x00000990u;
|
|
/* 0250B84C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250B850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250B854 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B854 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0250B854 */ if (_t30) goto L_0250B858; else goto L_0250B85C;
|
|
L_0250B858: ; // 0x250b858
|
|
/* 0250B858 */ cpu->r[31] = 0x00000000u;
|
|
L_0250B85C: ; // 0x250b85c
|
|
/* 0250B85C */ _t31 = cpu->r[30] + 0x00000080u;
|
|
/* 0250B85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250B860 */ cpu->r[9] = 0x10110000u;
|
|
/* 0250B864 */ _t32 = cpu->r[31] + 0x000002FCu;
|
|
/* 0250B864 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0250B868 */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 0250B868 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 0250B86C */ _t34 = cpu->r[30] + 0x00000078u;
|
|
/* 0250B86C */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250B870 */ _t35 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0250B870 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250B874 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF4Cu;
|
|
/* 0250B878 */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250B878 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 0250B87C */ cpu->r[5] = 0x00000000u;
|
|
/* 0250B880 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 0250B880 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 0250B884 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250B888 */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 0250B888 */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 0250B88C */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 0250B890 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250B890 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
/* 0250B894 */ Gambit_fn_027DE3CC(cpu);
|
|
/* 0250B898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250B89C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B89C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0250B89C */ if (_t41) goto L_0250B97C; else goto L_0250B8A0;
|
|
L_0250B8A0: ; // 0x250b8a0
|
|
/* 0250B8A0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0250B8A4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0250B8A8 */ Gambit_fn_024F51B0(cpu);
|
|
/* 0250B8AC */ cpu->r[3] = cpu->r[30];
|
|
/* 0250B8B0 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250B8B4 */ _t42 = cpu->r[28] + 0x00000000u;
|
|
/* 0250B8B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0250B8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0250B8BC */ cpu->r[31] = cpu->r[3];
|
|
/* 0250B8C0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B8C0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0250B8C0 */ if (_t44) goto L_0250B8C4; else goto L_0250B8D0;
|
|
L_0250B8C4: ; // 0x250b8c4
|
|
/* 0250B8C4 */ _t45 = cpu->r[27] + 0x00000990u;
|
|
/* 0250B8C4 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]);
|
|
/* 0250B8C8 */ cpu->r[7] = 0x00000001u;
|
|
/* 0250B8CC */ _t46 = cpu->r[28] + 0x00000000u;
|
|
/* 0250B8CC */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
L_0250B8D0: ; // 0x250b8d0
|
|
/* 0250B8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250B8D4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B8D4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0250B8D4 */ if (_t48) goto L_0250B8F8; else goto L_0250B8D8;
|
|
L_0250B8D8: ; // 0x250b8d8
|
|
/* 0250B8D8 */ _t49 = cpu->r[31] + 0x00000000u;
|
|
/* 0250B8D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0250B8DC */ _t50 = cpu->r[8] + 0x0000006Cu;
|
|
/* 0250B8DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0250B8E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0250B8E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B8E8 */ cpu->r[4] = cpu->r[27] + 0x00000990u;
|
|
/* 0250B8EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250B8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250B8F4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B8F4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0250B8F4 */ if (_t52) goto L_0250B8F8; else goto L_0250B8FC;
|
|
L_0250B8F8: ; // 0x250b8f8
|
|
/* 0250B8F8 */ cpu->r[31] = 0x00000000u;
|
|
L_0250B8FC: ; // 0x250b8fc
|
|
/* 0250B8FC */ _t53 = cpu->r[31] + 0x0000035Cu;
|
|
/* 0250B8FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0250B900 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0250B904 */ /* nop */
|
|
/* 0250B908 */ _t54 = cpu->r[30] + 0x00000068u;
|
|
/* 0250B908 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0250B90C */ /* nop */
|
|
/* 0250B910 */ _t55 = cpu->r[12] + 0x00006BD0u;
|
|
/* 0250B910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0250B914 */ /* nop */
|
|
/* 0250B918 */ cpu->f[12] = cpu->f[13] * cpu->f[11];
|
|
/* 0250B91C */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 0250B91C */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0250B920 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B920 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0250B924 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 0250B924 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[12]);
|
|
/* 0250B928 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 0250B928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0250B92C */ _t60 = cpu->r[1] + 0x00000034u;
|
|
/* 0250B92C */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
|
|
/* 0250B930 */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 0250B930 */ rbrew_write32(cpu->mem, _t61, cpu->r[5]);
|
|
/* 0250B934 */ /* nop */
|
|
/* 0250B938 */ /* nop */
|
|
/* 0250B93C */ _t62 = cpu->r[1] + 0x00000038u;
|
|
/* 0250B93C */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 0250B940 */ _t63 = cpu->r[1] + 0x00000038u;
|
|
/* 0250B940 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0250B944 */ /* nop */
|
|
/* 0250B948 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250B948 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 0250B94C */ /* nop */
|
|
/* 0250B950 */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 0250B950 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0250B954 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
|
|
/* 0250B958 */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250B958 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0250B95C */ _t67 = cpu->r[1] + 0x00000070u;
|
|
/* 0250B95C */ rbrew_write32(cpu->mem, _t67, cpu->r[6]);
|
|
/* 0250B960 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 0250B960 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
/* 0250B964 */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 0250B964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0250B968 */ _t70 = cpu->r[1] + 0x00000074u;
|
|
/* 0250B968 */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 0250B96C */ _t71 = cpu->r[1] + 0x00000078u;
|
|
/* 0250B96C */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 0250B970 */ _t72 = cpu->r[12] + 0x000002E0u;
|
|
/* 0250B970 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0250B974 */ cpu->r[4] = cpu->r[1] + 0x00000070u;
|
|
/* 0250B978 */ Gambit_fn_02411350(cpu);
|
|
L_0250B97C: ; // 0x250b97c
|
|
/* 0250B97C */ /* nop */
|
|
/* 0250B980 */ _t73 = cpu->r[1] + 0x00000094u;
|
|
/* 0250B980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0250B984 */ cpu->lr = cpu->r[0];
|
|
/* 0250B988 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0250B98C */ return;
|
|
}
|
|
|
|
// fn_0250B990 @ 0x250b990
|
|
void Gambit_fn_0250B990(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
double _ft19, _ft20;
|
|
|
|
L_0250B990: ; // 0x250b990
|
|
/* 0250B990 */ cpu->r[0] = cpu->lr;
|
|
/* 0250B994 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0250B994 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250B994 */ cpu->r[1] = _t0;
|
|
/* 0250B998 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B998 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0250B99C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0250B99C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250B9A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250B9A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0250B9A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250B9A8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250B9A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0250B9AC */ _t5 = cpu->r[30] + 0x000001BCu;
|
|
/* 0250B9AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0250B9B0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250B9B4 */ /* nop */
|
|
/* 0250B9B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0250B9BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B9BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250B9BC */ if (_t7) goto L_0250B9C0; else goto L_0250BA3C;
|
|
L_0250B9C0: ; // 0x250b9c0
|
|
/* 0250B9C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B9C4 */ Gambit_fn_025A9CC4(cpu);
|
|
/* 0250B9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250B9CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B9CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250B9CC */ if (_t9) goto L_0250BA3C; else goto L_0250B9D0;
|
|
L_0250B9D0: ; // 0x250b9d0
|
|
/* 0250B9D0 */ _t10 = cpu->r[30] + 0x00000080u;
|
|
/* 0250B9D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250B9D4 */ _t11 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0250B9D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0250B9D8 */ _t12 = cpu->r[30] + 0x00000078u;
|
|
/* 0250B9D8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0250B9DC */ cpu->f[13] = cpu->f[10] - cpu->f[13];
|
|
/* 0250B9E0 */ _t13 = cpu->r[31] + 0x00000244u;
|
|
/* 0250B9E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0250B9E4 */ cpu->f[12] = cpu->f[0] - cpu->f[9];
|
|
/* 0250B9E8 */ cpu->f[0] = cpu->f[13] * cpu->f[13];
|
|
/* 0250B9EC */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250B9F0 */ cpu->f[9] = fma(cpu->f[12], cpu->f[12], cpu->f[0]);
|
|
/* 0250B9F4 */ _t14 = cpu->r[10] + 0xFFFFE81Cu;
|
|
/* 0250B9F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0250B9F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0250B9FC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250B9FC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0250B9FC */ if (_t16) goto L_0250BA00; else goto L_0250BA24;
|
|
L_0250BA00: ; // 0x250ba00
|
|
/* 0250BA00 */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250BA04 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BA08 */ _t17 = cpu->r[9] + 0xFFFFEA8Cu;
|
|
/* 0250BA08 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0250BA0C */ _t18 = cpu->r[12] + 0xFFFFEA88u;
|
|
/* 0250BA0C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250BA10 */ _ft19 = sqrt(cpu->f[9]);
|
|
/* 0250BA10 */ _ft20 = (double)(int32_t)0x00000001u;
|
|
/* 0250BA10 */ cpu->f[0] = _ft20 / _ft19;
|
|
/* 0250BA14 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 0250BA18 */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 0250BA1C */ cpu->f[10] = -fma(cpu->f[10], cpu->f[9], -(cpu->f[12]));
|
|
/* 0250BA20 */ cpu->f[0] = cpu->f[10] * cpu->f[13];
|
|
L_0250BA24: ; // 0x250ba24
|
|
/* 0250BA24 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250BA28 */ cpu->f[11] = cpu->f[0] * cpu->f[9];
|
|
/* 0250BA2C */ _t21 = cpu->r[11] + 0xFFFFEA90u;
|
|
/* 0250BA2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250BA30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0250BA34 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250BA34 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250BA34 */ if (_t23) goto L_0250BA3C; else goto L_0250BA38;
|
|
L_0250BA38: ; // 0x250ba38
|
|
/* 0250BA38 */ cpu->r[29] = 0x00000001u;
|
|
L_0250BA3C: ; // 0x250ba3c
|
|
/* 0250BA3C */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0250BA40 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250BA40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250BA44 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250BA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250BA48 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0250BA48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250BA4C */ cpu->lr = cpu->r[0];
|
|
/* 0250BA50 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BA50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0250BA54 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0250BA58 */ return;
|
|
}
|
|
|
|
// fn_0250B994 @ 0x250b994
|
|
void Gambit_fn_0250B994(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
double _ft19, _ft20;
|
|
|
|
L_0250B994: ; // 0x250b994
|
|
/* 0250B994 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0250B994 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250B994 */ cpu->r[1] = _t0;
|
|
/* 0250B998 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250B998 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0250B99C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0250B99C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250B9A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250B9A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0250B9A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250B9A8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250B9A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0250B9AC */ _t5 = cpu->r[30] + 0x000001BCu;
|
|
/* 0250B9AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0250B9B0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250B9B4 */ /* nop */
|
|
/* 0250B9B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0250B9BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B9BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250B9BC */ if (_t7) goto L_0250B9C0; else goto L_0250BA3C;
|
|
L_0250B9C0: ; // 0x250b9c0
|
|
/* 0250B9C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250B9C4 */ Gambit_fn_025A9CC4(cpu);
|
|
/* 0250B9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250B9CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250B9CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250B9CC */ if (_t9) goto L_0250BA3C; else goto L_0250B9D0;
|
|
L_0250B9D0: ; // 0x250b9d0
|
|
/* 0250B9D0 */ _t10 = cpu->r[30] + 0x00000080u;
|
|
/* 0250B9D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250B9D4 */ _t11 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0250B9D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0250B9D8 */ _t12 = cpu->r[30] + 0x00000078u;
|
|
/* 0250B9D8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0250B9DC */ cpu->f[13] = cpu->f[10] - cpu->f[13];
|
|
/* 0250B9E0 */ _t13 = cpu->r[31] + 0x00000244u;
|
|
/* 0250B9E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0250B9E4 */ cpu->f[12] = cpu->f[0] - cpu->f[9];
|
|
/* 0250B9E8 */ cpu->f[0] = cpu->f[13] * cpu->f[13];
|
|
/* 0250B9EC */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250B9F0 */ cpu->f[9] = fma(cpu->f[12], cpu->f[12], cpu->f[0]);
|
|
/* 0250B9F4 */ _t14 = cpu->r[10] + 0xFFFFE81Cu;
|
|
/* 0250B9F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0250B9F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0250B9FC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250B9FC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0250B9FC */ if (_t16) goto L_0250BA00; else goto L_0250BA24;
|
|
L_0250BA00: ; // 0x250ba00
|
|
/* 0250BA00 */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250BA04 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BA08 */ _t17 = cpu->r[9] + 0xFFFFEA8Cu;
|
|
/* 0250BA08 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0250BA0C */ _t18 = cpu->r[12] + 0xFFFFEA88u;
|
|
/* 0250BA0C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250BA10 */ _ft19 = sqrt(cpu->f[9]);
|
|
/* 0250BA10 */ _ft20 = (double)(int32_t)0x00000001u;
|
|
/* 0250BA10 */ cpu->f[0] = _ft20 / _ft19;
|
|
/* 0250BA14 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 0250BA18 */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 0250BA1C */ cpu->f[10] = -fma(cpu->f[10], cpu->f[9], -(cpu->f[12]));
|
|
/* 0250BA20 */ cpu->f[0] = cpu->f[10] * cpu->f[13];
|
|
L_0250BA24: ; // 0x250ba24
|
|
/* 0250BA24 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250BA28 */ cpu->f[11] = cpu->f[0] * cpu->f[9];
|
|
/* 0250BA2C */ _t21 = cpu->r[11] + 0xFFFFEA90u;
|
|
/* 0250BA2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250BA30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0250BA34 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250BA34 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250BA34 */ if (_t23) goto L_0250BA3C; else goto L_0250BA38;
|
|
L_0250BA38: ; // 0x250ba38
|
|
/* 0250BA38 */ cpu->r[29] = 0x00000001u;
|
|
L_0250BA3C: ; // 0x250ba3c
|
|
/* 0250BA3C */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0250BA40 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250BA40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250BA44 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250BA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250BA48 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0250BA48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250BA4C */ cpu->lr = cpu->r[0];
|
|
/* 0250BA50 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BA50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0250BA54 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0250BA58 */ return;
|
|
}
|
|
|
|
// fn_0250BA5C @ 0x250ba5c
|
|
void Gambit_fn_0250BA5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t19, _t20, _t21, _t22, _t23, _t24, _t25;
|
|
double _ft17, _ft18;
|
|
|
|
L_0250BA5C: ; // 0x250ba5c
|
|
/* 0250BA5C */ cpu->r[0] = cpu->lr;
|
|
/* 0250BA60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250BA60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250BA60 */ cpu->r[1] = _t0;
|
|
/* 0250BA64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250BA64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250BA68 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0250BA68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250BA6C */ cpu->r[30] = cpu->r[3];
|
|
/* 0250BA70 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250BA74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BA74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250BA78 */ Gambit_fn_0250B990(cpu);
|
|
/* 0250BA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250BA80 */ _t4 = cpu->r[30] + 0x00000080u;
|
|
/* 0250BA80 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0250BA84 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BA84 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250BA84 */ if (_t6) goto L_0250BA94; else goto L_0250BA88;
|
|
L_0250BA88: ; // 0x250ba88
|
|
/* 0250BA88 */ _t7 = cpu->r[30] + 0x00000250u;
|
|
/* 0250BA88 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0250BA8C */ cpu->r[0] = 0x00000001u;
|
|
/* 0250BA90 */ _t8 = cpu->r[30] + 0x00000254u;
|
|
/* 0250BA90 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
L_0250BA94: ; // 0x250ba94
|
|
/* 0250BA94 */ _t9 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0250BA94 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0250BA98 */ _t10 = cpu->r[30] + 0x00000078u;
|
|
/* 0250BA98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250BA9C */ cpu->f[9] = cpu->f[0] - cpu->f[9];
|
|
/* 0250BAA0 */ _t11 = cpu->r[31] + 0x00000244u;
|
|
/* 0250BAA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0250BAA4 */ cpu->f[0] = cpu->f[10] - cpu->f[13];
|
|
/* 0250BAA8 */ cpu->f[13] = cpu->f[9] * cpu->f[9];
|
|
/* 0250BAAC */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250BAB0 */ cpu->f[10] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 0250BAB4 */ _t12 = cpu->r[11] + 0xFFFFE81Cu;
|
|
/* 0250BAB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0250BAB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 0250BABC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250BABC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0250BABC */ if (_t14) goto L_0250BAC0; else goto L_0250BAE4;
|
|
L_0250BAC0: ; // 0x250bac0
|
|
/* 0250BAC0 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BAC4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250BAC8 */ _t15 = cpu->r[12] + 0xFFFFEA8Cu;
|
|
/* 0250BAC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0250BACC */ _t16 = cpu->r[10] + 0xFFFFEA88u;
|
|
/* 0250BACC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250BAD0 */ _ft17 = sqrt(cpu->f[10]);
|
|
/* 0250BAD0 */ _ft18 = (double)(int32_t)0x00000001u;
|
|
/* 0250BAD0 */ cpu->f[0] = _ft18 / _ft17;
|
|
/* 0250BAD4 */ cpu->f[11] = cpu->f[0] * cpu->f[0];
|
|
/* 0250BAD8 */ cpu->f[9] = cpu->f[0] * cpu->f[12];
|
|
/* 0250BADC */ cpu->f[11] = -fma(cpu->f[11], cpu->f[10], -(cpu->f[13]));
|
|
/* 0250BAE0 */ cpu->f[0] = cpu->f[11] * cpu->f[9];
|
|
L_0250BAE4: ; // 0x250bae4
|
|
/* 0250BAE4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BAE8 */ cpu->f[10] = cpu->f[0] * cpu->f[10];
|
|
/* 0250BAEC */ _t19 = cpu->r[12] + 0xFFFFEA90u;
|
|
/* 0250BAEC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250BAF0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 0250BAF4 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250BAF4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250BAF4 */ if (_t21) goto L_0250BB08; else goto L_0250BAF8;
|
|
L_0250BAF8: ; // 0x250baf8
|
|
/* 0250BAF8 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250BAFC */ _t22 = cpu->r[10] + 0xFFFFEAA4u;
|
|
/* 0250BAFC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0250BB00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250BB04 */ Gambit_fn_025C81EC(cpu);
|
|
L_0250BB08: ; // 0x250bb08
|
|
/* 0250BB08 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BB08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250BB0C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0250BB0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250BB10 */ cpu->lr = cpu->r[0];
|
|
/* 0250BB14 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250BB14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250BB18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250BB1C */ return;
|
|
}
|
|
|
|
// fn_0250BA60 @ 0x250ba60
|
|
void Gambit_fn_0250BA60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t19, _t20, _t21, _t22, _t23, _t24, _t25;
|
|
double _ft17, _ft18;
|
|
|
|
L_0250BA60: ; // 0x250ba60
|
|
/* 0250BA60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250BA60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250BA60 */ cpu->r[1] = _t0;
|
|
/* 0250BA64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250BA64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250BA68 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0250BA68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250BA6C */ cpu->r[30] = cpu->r[3];
|
|
/* 0250BA70 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250BA74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BA74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250BA78 */ Gambit_fn_0250B990(cpu);
|
|
/* 0250BA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250BA80 */ _t4 = cpu->r[30] + 0x00000080u;
|
|
/* 0250BA80 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0250BA84 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BA84 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250BA84 */ if (_t6) goto L_0250BA94; else goto L_0250BA88;
|
|
L_0250BA88: ; // 0x250ba88
|
|
/* 0250BA88 */ _t7 = cpu->r[30] + 0x00000250u;
|
|
/* 0250BA88 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0250BA8C */ cpu->r[0] = 0x00000001u;
|
|
/* 0250BA90 */ _t8 = cpu->r[30] + 0x00000254u;
|
|
/* 0250BA90 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
L_0250BA94: ; // 0x250ba94
|
|
/* 0250BA94 */ _t9 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0250BA94 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0250BA98 */ _t10 = cpu->r[30] + 0x00000078u;
|
|
/* 0250BA98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250BA9C */ cpu->f[9] = cpu->f[0] - cpu->f[9];
|
|
/* 0250BAA0 */ _t11 = cpu->r[31] + 0x00000244u;
|
|
/* 0250BAA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0250BAA4 */ cpu->f[0] = cpu->f[10] - cpu->f[13];
|
|
/* 0250BAA8 */ cpu->f[13] = cpu->f[9] * cpu->f[9];
|
|
/* 0250BAAC */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250BAB0 */ cpu->f[10] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 0250BAB4 */ _t12 = cpu->r[11] + 0xFFFFE81Cu;
|
|
/* 0250BAB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0250BAB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 0250BABC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250BABC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0250BABC */ if (_t14) goto L_0250BAC0; else goto L_0250BAE4;
|
|
L_0250BAC0: ; // 0x250bac0
|
|
/* 0250BAC0 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BAC4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250BAC8 */ _t15 = cpu->r[12] + 0xFFFFEA8Cu;
|
|
/* 0250BAC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0250BACC */ _t16 = cpu->r[10] + 0xFFFFEA88u;
|
|
/* 0250BACC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250BAD0 */ _ft17 = sqrt(cpu->f[10]);
|
|
/* 0250BAD0 */ _ft18 = (double)(int32_t)0x00000001u;
|
|
/* 0250BAD0 */ cpu->f[0] = _ft18 / _ft17;
|
|
/* 0250BAD4 */ cpu->f[11] = cpu->f[0] * cpu->f[0];
|
|
/* 0250BAD8 */ cpu->f[9] = cpu->f[0] * cpu->f[12];
|
|
/* 0250BADC */ cpu->f[11] = -fma(cpu->f[11], cpu->f[10], -(cpu->f[13]));
|
|
/* 0250BAE0 */ cpu->f[0] = cpu->f[11] * cpu->f[9];
|
|
L_0250BAE4: ; // 0x250bae4
|
|
/* 0250BAE4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BAE8 */ cpu->f[10] = cpu->f[0] * cpu->f[10];
|
|
/* 0250BAEC */ _t19 = cpu->r[12] + 0xFFFFEA90u;
|
|
/* 0250BAEC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250BAF0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 0250BAF4 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250BAF4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250BAF4 */ if (_t21) goto L_0250BB08; else goto L_0250BAF8;
|
|
L_0250BAF8: ; // 0x250baf8
|
|
/* 0250BAF8 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250BAFC */ _t22 = cpu->r[10] + 0xFFFFEAA4u;
|
|
/* 0250BAFC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0250BB00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250BB04 */ Gambit_fn_025C81EC(cpu);
|
|
L_0250BB08: ; // 0x250bb08
|
|
/* 0250BB08 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BB08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250BB0C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0250BB0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250BB10 */ cpu->lr = cpu->r[0];
|
|
/* 0250BB14 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250BB14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250BB18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250BB1C */ return;
|
|
}
|
|
|
|
// fn_0250BB20 @ 0x250bb20
|
|
void Gambit_fn_0250BB20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t32, _t33, _t34, _t35;
|
|
double _ft30, _ft31;
|
|
|
|
L_02271EB0: ; // 0x2271eb0
|
|
/* 02271EB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02271EB4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02271EB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02271EB4 */ cpu->r[1] = _t0;
|
|
/* 02271EB8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02271EB8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02271EBC */ /* nop */
|
|
/* 02271EC0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02271EC0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02271EC4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02271EC8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02271EC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02271ECC */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02271ECC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02271ED0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02271ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02271ED4 */ _t6 = cpu->r[3] + 0x000000B8u;
|
|
/* 02271ED4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 02271ED8 */ _t7 = cpu->r[12] + 0x0000033Cu;
|
|
/* 02271ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02271EDC */ cpu->ctr = cpu->r[0];
|
|
/* 02271EE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02271EE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02271EE8 */ _t8 = cpu->r[31] + 0x000000B4u;
|
|
/* 02271EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02271EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02271EF0 */ _t9 = cpu->r[31] + 0x000000BCu;
|
|
/* 02271EF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02271EF4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02271EF4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02271EF4 */ if (_t11) goto L_02271F04; else goto L_02271EF8;
|
|
L_02271EF8: ; // 0x2271ef8
|
|
/* 02271EF8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02271EFC */ cpu->r[3] = cpu->r[0];
|
|
/* 02271F00 */ Gambit_fn_022483E8(cpu);
|
|
L_02271F04: ; // 0x2271f04
|
|
/* 02271F04 */ _t12 = cpu->r[31] + 0x000000D8u;
|
|
/* 02271F04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02271F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02271F0C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02271F0C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02271F0C */ if (_t14) goto L_02271F18; else goto L_02271F10;
|
|
L_02271F10: ; // 0x2271f10
|
|
/* 02271F10 */ cpu->f[1] = cpu->f[31];
|
|
/* 02271F14 */ Gambit_fn_02249564(cpu);
|
|
L_02271F18: ; // 0x2271f18
|
|
/* 02271F18 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02271F18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02271F1C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02271F1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02271F20 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02271F20 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02271F24 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02271F24 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02271F24 */ if (_t19) goto L_02271F28; // else: addr-0 trap, fall-through
|
|
L_02271F28: ; // 0x2271f28
|
|
/* 02271F28 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02271F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02271F2C */ cpu->lr = cpu->r[0];
|
|
/* 02271F30 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02271F34 */ return;
|
|
L_0250BB20: ; // 0x250bb20
|
|
/* 0250BB20 */ _t21 = cpu->r[3] + 0x00000080u;
|
|
/* 0250BB20 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250BB24 */ _t22 = cpu->r[4] + 0x00000148u;
|
|
/* 0250BB24 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0250BB28 */ _t23 = cpu->r[4] + 0x00000140u;
|
|
/* 0250BB28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0250BB2C */ cpu->f[0] = cpu->f[0] - cpu->f[9];
|
|
/* 0250BB30 */ _t24 = cpu->r[3] + 0x00000078u;
|
|
/* 0250BB30 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0250BB34 */ cpu->f[13] = cpu->f[9] - cpu->f[12];
|
|
/* 0250BB38 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 0250BB3C */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BB40 */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[10]);
|
|
/* 0250BB44 */ _t25 = cpu->r[12] + 0xFFFFE81Cu;
|
|
/* 0250BB44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0250BB48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0250BB4C */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250BB4C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250BB4C */ if (_t27) goto L_0250BB50; else goto L_0250BB74;
|
|
L_0250BB50: ; // 0x250bb50
|
|
/* 0250BB50 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BB54 */ _t28 = cpu->r[12] + 0xFFFFEA8Cu;
|
|
/* 0250BB54 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0250BB58 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BB5C */ _t29 = cpu->r[12] + 0xFFFFEA88u;
|
|
/* 0250BB5C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0250BB60 */ _ft30 = sqrt(cpu->f[9]);
|
|
/* 0250BB60 */ _ft31 = (double)(int32_t)0x00000001u;
|
|
/* 0250BB60 */ cpu->f[0] = _ft31 / _ft30;
|
|
/* 0250BB64 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 0250BB68 */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 0250BB6C */ cpu->f[10] = -fma(cpu->f[10], cpu->f[9], -(cpu->f[12]));
|
|
/* 0250BB70 */ cpu->f[0] = cpu->f[10] * cpu->f[13];
|
|
L_0250BB74: ; // 0x250bb74
|
|
/* 0250BB74 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BB78 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 0250BB7C */ _t32 = cpu->r[12] + 0xFFFFEA90u;
|
|
/* 0250BB7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0250BB80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 0250BB84 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250BB84 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0250BB84 */ if (_t34) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250BB84 */ goto L_0250BB88;
|
|
L_0250BB88: ; // 0x250bb88
|
|
/* 0250BB88 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250BB8C */ _t35 = cpu->r[12] + 0xFFFFEAA4u;
|
|
/* 0250BB8C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0250BB90 */ cpu->r[3] = cpu->r[4];
|
|
/* 0250BB94 */ goto L_02271EB0;
|
|
}
|
|
|
|
// fn_0250BB9C @ 0x250bb9c
|
|
void Gambit_fn_0250BB9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_0250BB9C: ; // 0x250bb9c
|
|
/* 0250BB9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250BB9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250BB9C */ cpu->r[1] = _t0;
|
|
/* 0250BBA0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250BBA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250BBA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250BBA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250BBA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250BBAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BBAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250BBB0 */ _t4 = cpu->r[30] + 0x0000025Cu;
|
|
/* 0250BBB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250BBB4 */ cpu->r[9] = 0x00000000u;
|
|
/* 0250BBB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250BBBC */ _t5 = cpu->r[30] + 0x00000240u;
|
|
/* 0250BBBC */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[9]);
|
|
/* 0250BBC0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BBC0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250BBC0 */ if (_t7) goto L_0250BC08; else goto L_0250BBC4;
|
|
L_0250BBC4: ; // 0x250bbc4
|
|
/* 0250BBC4 */ _t8 = cpu->r[30] + 0x00000260u;
|
|
/* 0250BBC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0250BBC8 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250BBC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250BBCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0250BBD0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BBD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0250BBD0 */ if (_t11) goto L_0250BBD4; else goto L_0250BC08;
|
|
L_0250BBD4: ; // 0x250bbd4
|
|
/* 0250BBD4 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250BBD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250BBD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0250BBDC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BBDC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0250BBDC */ if (_t14) goto L_0250BBE0; else goto L_0250BC08;
|
|
L_0250BBE0: ; // 0x250bbe0
|
|
/* 0250BBE0 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 0250BBE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250BBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250BBE8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BBE8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0250BBE8 */ if (_t17) goto L_0250BC00; else goto L_0250BBEC;
|
|
L_0250BBEC: ; // 0x250bbec
|
|
/* 0250BBEC */ _t18 = cpu->r[3] + 0x00000050u;
|
|
/* 0250BBEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250BBF0 */ _t19 = cpu->r[12] + 0x00000024u;
|
|
/* 0250BBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250BBF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0250BBF8 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0250BBFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0250BC00: ; // 0x250bc00
|
|
/* 0250BC00 */ cpu->r[9] = 0x00000001u;
|
|
/* 0250BC04 */ _t20 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0250BC04 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[9]);
|
|
L_0250BC08: ; // 0x250bc08
|
|
/* 0250BC08 */ _t21 = cpu->r[30] + 0x00000268u;
|
|
/* 0250BC08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250BC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250BC10 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BC10 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250BC10 */ if (_t23) goto L_0250BC58; else goto L_0250BC14;
|
|
L_0250BC14: ; // 0x250bc14
|
|
/* 0250BC14 */ _t24 = cpu->r[30] + 0x0000026Cu;
|
|
/* 0250BC14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250BC18 */ _t25 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250BC18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250BC1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 0250BC20 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BC20 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250BC20 */ if (_t27) goto L_0250BC24; else goto L_0250BC58;
|
|
L_0250BC24: ; // 0x250bc24
|
|
/* 0250BC24 */ _t28 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250BC24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250BC28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 0250BC2C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BC2C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0250BC2C */ if (_t30) goto L_0250BC30; else goto L_0250BC58;
|
|
L_0250BC30: ; // 0x250bc30
|
|
/* 0250BC30 */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 0250BC30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250BC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250BC38 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BC38 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250BC38 */ if (_t33) goto L_0250BC50; else goto L_0250BC3C;
|
|
L_0250BC3C: ; // 0x250bc3c
|
|
/* 0250BC3C */ _t34 = cpu->r[3] + 0x00000050u;
|
|
/* 0250BC3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250BC40 */ _t35 = cpu->r[12] + 0x00000024u;
|
|
/* 0250BC40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250BC44 */ cpu->ctr = cpu->r[9];
|
|
/* 0250BC48 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0250BC4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0250BC50: ; // 0x250bc50
|
|
/* 0250BC50 */ cpu->r[10] = 0x00000001u;
|
|
/* 0250BC54 */ _t36 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0250BC54 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[10]);
|
|
L_0250BC58: ; // 0x250bc58
|
|
/* 0250BC58 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0250BC5C */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0250BC5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250BC60 */ cpu->lr = cpu->r[0];
|
|
/* 0250BC64 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250BC64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0250BC68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250BC6C */ return;
|
|
}
|
|
|
|
// fn_0250BC74 @ 0x250bc74
|
|
void Gambit_fn_0250BC74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_0250BC74: ; // 0x250bc74
|
|
/* 0250BC74 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0250BC74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250BC74 */ cpu->r[1] = _t0;
|
|
/* 0250BC78 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250BC78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250BC7C */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250BC80 */ _t2 = cpu->r[9] + 0xFFFFEA84u;
|
|
/* 0250BC80 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0250BC84 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250BC88 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 0250BC88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250BC8C */ _t4 = cpu->r[31] + 0x00000244u;
|
|
/* 0250BC8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0250BC90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0250BC94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BC94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250BC94 */ if (_t6) goto L_0250BD08; else goto L_0250BC98;
|
|
L_0250BC98: ; // 0x250bc98
|
|
/* 0250BC98 */ cpu->r[8] = 0x00000003u;
|
|
/* 0250BC9C */ cpu->r[10] = cpu->r[31] + 0x00000218u;
|
|
/* 0250BCA0 */ cpu->ctr = cpu->r[8];
|
|
/* 0250BCA4 */ cpu->r[12] = cpu->r[1] + 0x00000004u;
|
|
L_0250BCA8: ; // 0x250bca8
|
|
/* 0250BCA8 */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 0250BCA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250BCAC */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 0250BCAC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0250BCB0 */ _t9 = cpu->r[10] + 0x00000008u;
|
|
/* 0250BCB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250BCB4 */ _t10 = cpu->r[12] + 0x00000008u;
|
|
/* 0250BCB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0250BCB8 */ _t11 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0250BCB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250BCB8 */ cpu->r[10] = _t11;
|
|
/* 0250BCBC */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0250BCBC */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0250BCBC */ cpu->r[12] = _t12;
|
|
/* 0250BCC0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250BCC0 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250BCC0 */ _t14 = _t13 >> (0x00000002u & 31u);
|
|
/* 0250BCC0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0250BCC0 */ if (_t15) goto L_0250BCA8; else goto L_0250BCC4;
|
|
L_0250BCC4: ; // 0x250bcc4
|
|
/* 0250BCC4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0250BCC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250BCCC */ _t16 = cpu->r[12] + 0x00006350u;
|
|
/* 0250BCCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0250BCCC */ cpu->r[12] = _t16;
|
|
/* 0250BCD0 */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 0250BCD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0250BCD4 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BCD4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 0250BCD8 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250BCDC */ _t19 = cpu->r[12] + 0x00000008u;
|
|
/* 0250BCDC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250BCE0 */ cpu->r[4] = cpu->r[4] + 0xFFFFEC0Cu;
|
|
/* 0250BCE4 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0250BCE4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 0250BCE8 */ cpu->r[5] = 0x000001C5u;
|
|
/* 0250BCEC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250BCEC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0250BCF0 */ Gambit_fn_0204D470(cpu);
|
|
/* 0250BCF4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250BCF8 */ cpu->r[3] = cpu->r[31] + 0x0000021Cu;
|
|
/* 0250BCFC */ _t22 = cpu->r[10] + 0xFFFFEC08u;
|
|
/* 0250BCFC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0250BD00 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250BD04 */ Gambit_fn_0204B794(cpu);
|
|
L_0250BD08: ; // 0x250bd08
|
|
/* 0250BD08 */ _t23 = cpu->r[31] + 0x00000254u;
|
|
/* 0250BD08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0250BD0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250BD10 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BD10 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0250BD10 */ if (_t25) goto L_0250BD2C; else goto L_0250BD14;
|
|
L_0250BD14: ; // 0x250bd14
|
|
/* 0250BD14 */ _t26 = cpu->r[31] + 0x00000250u;
|
|
/* 0250BD14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250BD18 */ cpu->r[4] = cpu->r[3] + 0x00000244u;
|
|
/* 0250BD1C */ Gambit_fn_025C77BC(cpu);
|
|
/* 0250BD20 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0250BD24 */ cpu->r[4] = 0x00000001u;
|
|
/* 0250BD28 */ Gambit_fn_021FC770(cpu);
|
|
L_0250BD2C: ; // 0x250bd2c
|
|
/* 0250BD2C */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 0250BD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0250BD30 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250BD30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250BD34 */ cpu->lr = cpu->r[0];
|
|
/* 0250BD38 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250BD3C */ return;
|
|
}
|
|
|
|
// fn_0250BD44 @ 0x250bd44
|
|
void Gambit_fn_0250BD44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167;
|
|
|
|
L_0250BD44: ; // 0x250bd44
|
|
/* 0250BD44 */ _t0 = cpu->r[1] + 0xFFFFFF00u;
|
|
/* 0250BD44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250BD44 */ cpu->r[1] = _t0;
|
|
/* 0250BD48 */ cpu->r[0] = cpu->lr;
|
|
/* 0250BD4C */ _t1 = cpu->r[1] + 0x000000E0u;
|
|
/* 0250BD4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0250BD50 */ /* nop */
|
|
/* 0250BD54 */ _t2 = cpu->r[1] + 0x000000D0u;
|
|
/* 0250BD54 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 0250BD58 */ _t3 = cpu->r[1] + 0x000000F0u;
|
|
/* 0250BD58 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0250BD5C */ /* nop */
|
|
/* 0250BD60 */ _t4 = cpu->r[1] + 0x000000E8u;
|
|
/* 0250BD60 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 0250BD64 */ /* nop */
|
|
/* 0250BD68 */ _t5 = cpu->r[1] + 0x000000D8u;
|
|
/* 0250BD68 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 0250BD6C */ _t6 = cpu->r[1] + 0x000000C8u;
|
|
/* 0250BD6C */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 0250BD70 */ _t7 = cpu->r[1] + 0x00000104u;
|
|
/* 0250BD70 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0250BD74 */ _t8 = cpu->r[1] + 0x000000F8u;
|
|
/* 0250BD74 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 0250BD78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250BD7C */ _t9 = cpu->r[1] + 0x000000CCu;
|
|
/* 0250BD7C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0250BD80 */ _t10 = cpu->r[30] + 0x00000250u;
|
|
/* 0250BD80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250BD84 */ _t11 = cpu->r[3] + 0x00000724u;
|
|
/* 0250BD84 */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0250BD88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250BD8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BD8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250BD8C */ if (_t13) goto L_0250C19C; else goto L_0250BD90;
|
|
L_0250BD90: ; // 0x250bd90
|
|
/* 0250BD90 */ cpu->r[6] = cpu->r[1] + 0x00000098u;
|
|
/* 0250BD94 */ cpu->r[5] = cpu->r[30] + 0x00000256u;
|
|
/* 0250BD98 */ cpu->r[4] = cpu->r[30] + 0x00000255u;
|
|
/* 0250BD9C */ Gambit_fn_025C78E4(cpu);
|
|
/* 0250BDA0 */ _t14 = cpu->r[30] + 0x00000250u;
|
|
/* 0250BDA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250BDA4 */ _t15 = cpu->r[12] + 0x000006F4u;
|
|
/* 0250BDA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250BDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 0250BDAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BDAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0250BDAC */ if (_t17) goto L_0250C19C; else goto L_0250BDB0;
|
|
L_0250BDB0: ; // 0x250bdb0
|
|
/* 0250BDB0 */ _t18 = cpu->r[1] + 0x000000A0u;
|
|
/* 0250BDB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0250BDB4 */ _t19 = cpu->r[1] + 0x000000A4u;
|
|
/* 0250BDB4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0250BDB8 */ cpu->f[11] = -cpu->f[13];
|
|
/* 0250BDBC */ _t20 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0250BDBC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0250BDC0 */ _t21 = cpu->r[1] + 0x00000098u;
|
|
/* 0250BDC0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0250BDC4 */ cpu->f[9] = -cpu->f[10];
|
|
/* 0250BDC8 */ _t22 = cpu->r[1] + 0x00000068u;
|
|
/* 0250BDC8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 0250BDCC */ _t23 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250BDCC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 0250BDD0 */ _t24 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250BDD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250BDD4 */ cpu->f[0] = -cpu->f[8];
|
|
/* 0250BDD8 */ _t25 = cpu->r[1] + 0x000000A8u;
|
|
/* 0250BDD8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0250BDDC */ _t26 = cpu->r[1] + 0x000000B0u;
|
|
/* 0250BDDC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0250BDE0 */ _t27 = cpu->r[1] + 0x00000048u;
|
|
/* 0250BDE0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[9]);
|
|
/* 0250BDE4 */ _t28 = cpu->r[1] + 0x00000048u;
|
|
/* 0250BDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250BDE8 */ cpu->f[7] = -cpu->f[8];
|
|
/* 0250BDEC */ _t29 = cpu->r[1] + 0x00000044u;
|
|
/* 0250BDEC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 0250BDF0 */ _t30 = cpu->r[1] + 0x00000044u;
|
|
/* 0250BDF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0250BDF4 */ _t31 = cpu->r[1] + 0x000000B4u;
|
|
/* 0250BDF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0250BDF8 */ _t32 = cpu->r[1] + 0x00000050u;
|
|
/* 0250BDF8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[7]);
|
|
/* 0250BDFC */ _t33 = cpu->r[1] + 0x00000050u;
|
|
/* 0250BDFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250BE00 */ cpu->f[9] = -cpu->f[10];
|
|
/* 0250BE04 */ _t34 = cpu->r[1] + 0x000000ACu;
|
|
/* 0250BE04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0250BE08 */ _t35 = cpu->r[1] + 0x000000B8u;
|
|
/* 0250BE08 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0250BE0C */ _t36 = cpu->r[1] + 0x00000054u;
|
|
/* 0250BE0C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[9]);
|
|
/* 0250BE10 */ _t37 = cpu->r[1] + 0x00000054u;
|
|
/* 0250BE10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0250BE14 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250BE14 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0250BE18 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250BE18 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0250BE1C */ _t40 = cpu->r[1] + 0x00000038u;
|
|
/* 0250BE1C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 0250BE20 */ _t41 = cpu->r[1] + 0x00000038u;
|
|
/* 0250BE20 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0250BE24 */ _t42 = cpu->r[1] + 0x00000040u;
|
|
/* 0250BE24 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 0250BE28 */ _t43 = cpu->r[1] + 0x00000040u;
|
|
/* 0250BE28 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0250BE2C */ cpu->f[11] = -cpu->f[12];
|
|
/* 0250BE30 */ _t44 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250BE30 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
|
|
/* 0250BE34 */ _t45 = cpu->r[1] + 0x00000060u;
|
|
/* 0250BE34 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[8]);
|
|
/* 0250BE38 */ /* nop */
|
|
/* 0250BE3C */ _t46 = cpu->r[1] + 0x00000058u;
|
|
/* 0250BE3C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[11]);
|
|
/* 0250BE40 */ /* nop */
|
|
/* 0250BE44 */ /* nop */
|
|
/* 0250BE48 */ /* nop */
|
|
/* 0250BE4C */ _t47 = cpu->r[1] + 0x00000058u;
|
|
/* 0250BE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0250BE50 */ /* nop */
|
|
/* 0250BE54 */ _t48 = cpu->r[1] + 0x00000040u;
|
|
/* 0250BE54 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 0250BE58 */ cpu->f[10] = cpu->f[8];
|
|
/* 0250BE5C */ _t49 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250BE5C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[4]);
|
|
/* 0250BE60 */ /* nop */
|
|
/* 0250BE64 */ /* nop */
|
|
/* 0250BE68 */ /* nop */
|
|
/* 0250BE6C */ /* nop */
|
|
/* 0250BE70 */ /* nop */
|
|
/* 0250BE74 */ _t50 = cpu->r[1] + 0x00000038u;
|
|
/* 0250BE74 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0250BE78 */ _t51 = cpu->r[1] + 0x00000038u;
|
|
/* 0250BE78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0250BE7C */ /* nop */
|
|
/* 0250BE80 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250BE80 */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 0250BE84 */ /* nop */
|
|
/* 0250BE88 */ _t53 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250BE88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0250BE8C */ cpu->f[8] = cpu->f[12];
|
|
/* 0250BE90 */ _t54 = cpu->r[1] + 0x00000078u;
|
|
/* 0250BE90 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
/* 0250BE94 */ /* nop */
|
|
/* 0250BE98 */ _t55 = cpu->r[1] + 0x00000074u;
|
|
/* 0250BE98 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[13]);
|
|
/* 0250BE9C */ /* nop */
|
|
/* 0250BEA0 */ /* nop */
|
|
/* 0250BEA4 */ cpu->f[9] = cpu->f[12];
|
|
/* 0250BEA8 */ _t56 = cpu->r[30] + 0x000000BCu;
|
|
/* 0250BEA8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 0250BEAC */ /* nop */
|
|
/* 0250BEB0 */ cpu->f[7] = fma(cpu->f[31], cpu->f[12], cpu->f[7]);
|
|
/* 0250BEB4 */ /* nop */
|
|
/* 0250BEB8 */ /* nop */
|
|
/* 0250BEBC */ _t57 = cpu->r[30] + 0x000000C8u;
|
|
/* 0250BEBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0250BEC0 */ cpu->f[29] = fma(cpu->f[1], cpu->f[12], cpu->f[9]);
|
|
/* 0250BEC4 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BEC4 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[7]);
|
|
/* 0250BEC8 */ /* nop */
|
|
/* 0250BECC */ cpu->f[30] = cpu->f[0];
|
|
/* 0250BED0 */ _t59 = cpu->r[30] + 0x000000D4u;
|
|
/* 0250BED0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 0250BED4 */ cpu->f[0] = fma(cpu->f[31], cpu->f[13], cpu->f[10]);
|
|
/* 0250BED8 */ _t60 = cpu->r[1] + 0x00000040u;
|
|
/* 0250BED8 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 0250BEDC */ cpu->f[10] = fma(cpu->f[31], cpu->f[9], cpu->f[8]);
|
|
/* 0250BEE0 */ /* nop */
|
|
/* 0250BEE4 */ /* nop */
|
|
/* 0250BEE8 */ _t61 = cpu->r[1] + 0x00000018u;
|
|
/* 0250BEE8 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[0]);
|
|
/* 0250BEEC */ cpu->f[0] = cpu->f[8];
|
|
/* 0250BEF0 */ _t62 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0250BEF0 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[2]);
|
|
/* 0250BEF4 */ /* nop */
|
|
/* 0250BEF8 */ _t63 = cpu->r[1] + 0x00000070u;
|
|
/* 0250BEF8 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[1]);
|
|
/* 0250BEFC */ cpu->f[8] = fma(cpu->f[2], cpu->f[12], cpu->f[8]);
|
|
/* 0250BF00 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250BF00 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[10]);
|
|
/* 0250BF04 */ cpu->f[10] = cpu->f[5];
|
|
/* 0250BF08 */ _t65 = cpu->r[30] + 0x00000240u;
|
|
/* 0250BF08 */ cpu->r[9] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0250BF0C */ cpu->f[5] = fma(cpu->f[1], cpu->f[13], cpu->f[30]);
|
|
/* 0250BF10 */ _t66 = cpu->r[1] + 0x00000064u;
|
|
/* 0250BF10 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[31]);
|
|
/* 0250BF14 */ /* nop */
|
|
/* 0250BF18 */ _t67 = cpu->r[1] + 0x00000020u;
|
|
/* 0250BF18 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[29]);
|
|
/* 0250BF1C */ cpu->f[6] = fma(cpu->f[1], cpu->f[9], cpu->f[0]);
|
|
/* 0250BF20 */ _t68 = cpu->r[1] + 0x00000024u;
|
|
/* 0250BF20 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[5]);
|
|
/* 0250BF24 */ cpu->f[0] = fma(cpu->f[2], cpu->f[13], cpu->f[10]);
|
|
/* 0250BF28 */ _t69 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250BF28 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[8]);
|
|
/* 0250BF2C */ /* nop */
|
|
/* 0250BF30 */ _t70 = cpu->r[1] + 0x00000028u;
|
|
/* 0250BF30 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[6]);
|
|
/* 0250BF34 */ cpu->f[8] = fma(cpu->f[2], cpu->f[9], cpu->f[13]);
|
|
/* 0250BF38 */ _t71 = cpu->r[1] + 0x00000030u;
|
|
/* 0250BF38 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]);
|
|
/* 0250BF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250BF40 */ _t72 = cpu->r[1] + 0x00000034u;
|
|
/* 0250BF40 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[8]);
|
|
/* 0250BF44 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BF44 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0250BF44 */ if (_t74) goto L_0250BFE8; else goto L_0250BF48;
|
|
L_0250BF48: ; // 0x250bf48
|
|
/* 0250BF48 */ _t75 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250BF48 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 0250BF4C */ _t76 = cpu->r[1] + 0x00000034u;
|
|
/* 0250BF4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0250BF50 */ _t77 = cpu->r[30] + 0x00000234u;
|
|
/* 0250BF50 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[11]);
|
|
/* 0250BF54 */ _t78 = cpu->r[30] + 0x00000234u;
|
|
/* 0250BF54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0250BF58 */ _t79 = cpu->r[30] + 0x0000023Cu;
|
|
/* 0250BF58 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[13]);
|
|
/* 0250BF5C */ _t80 = cpu->r[30] + 0x0000023Cu;
|
|
/* 0250BF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0250BF60 */ _t81 = cpu->r[1] + 0x00000030u;
|
|
/* 0250BF60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 0250BF64 */ _t82 = cpu->r[1] + 0x00000094u;
|
|
/* 0250BF64 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 0250BF68 */ _t83 = cpu->r[30] + 0x00000238u;
|
|
/* 0250BF68 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
/* 0250BF6C */ _t84 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250BF6C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 0250BF70 */ _t85 = cpu->r[1] + 0x00000018u;
|
|
/* 0250BF70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 0250BF74 */ _t86 = cpu->r[30] + 0x00000224u;
|
|
/* 0250BF74 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[7]);
|
|
/* 0250BF78 */ _t87 = cpu->r[30] + 0x00000220u;
|
|
/* 0250BF78 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[0]);
|
|
/* 0250BF7C */ _t88 = cpu->r[1] + 0x00000020u;
|
|
/* 0250BF7C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 0250BF80 */ _t89 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0250BF80 */ rbrew_write32(cpu->mem, _t89, cpu->r[8]);
|
|
/* 0250BF84 */ _t90 = cpu->r[30] + 0x00000228u;
|
|
/* 0250BF84 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[8]);
|
|
/* 0250BF88 */ cpu->r[8] = 0x100C0000u;
|
|
/* 0250BF8C */ _t91 = cpu->r[1] + 0x00000028u;
|
|
/* 0250BF8C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 0250BF90 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 0250BF90 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 0250BF94 */ _t93 = cpu->r[30] + 0x00000230u;
|
|
/* 0250BF94 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[10]);
|
|
/* 0250BF98 */ _t94 = cpu->r[30] + 0x0000022Cu;
|
|
/* 0250BF98 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[9]);
|
|
/* 0250BF9C */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 0250BF9C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 0250BFA0 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 0250BFA4 */ _t96 = cpu->r[8] + 0xFFFFE81Cu;
|
|
/* 0250BFA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0250BFA8 */ cpu->r[4] = cpu->r[30] + 0x00000234u;
|
|
/* 0250BFAC */ _t97 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0250BFAC */ rbrew_write_f32(cpu->mem, _t97, cpu->f[9]);
|
|
/* 0250BFB0 */ cpu->r[5] = cpu->r[30] + 0x0000021Cu;
|
|
/* 0250BFB4 */ _t98 = cpu->r[1] + 0x00000090u;
|
|
/* 0250BFB4 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[31]);
|
|
/* 0250BFB8 */ Gambit_fn_0204F0A0(cpu);
|
|
/* 0250BFBC */ cpu->r[3] = cpu->r[30];
|
|
/* 0250BFC0 */ cpu->f[30] = cpu->f[1];
|
|
/* 0250BFC4 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250BFC8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0250BFCC */ _t99 = cpu->r[12] + 0xFFFFFE74u;
|
|
/* 0250BFCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0250BFCC */ cpu->r[12] = _t99;
|
|
/* 0250BFD0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250BFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0250BFD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250BFDC */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250BFE0 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250BFE0 */ _t101 = _t100 & 0x00000001u;
|
|
/* 0250BFE0 */ if (_t101) goto L_0250BFE4; else goto L_0250C088;
|
|
L_0250BFE4: ; // 0x250bfe4
|
|
/* 0250BFE4 */ goto L_0250C074;
|
|
L_0250BFE8: ; // 0x250bfe8
|
|
/* 0250BFE8 */ cpu->r[7] = 0x100C0000u;
|
|
/* 0250BFEC */ cpu->r[3] = cpu->r[30] + 0x0000021Cu;
|
|
/* 0250BFF0 */ _t102 = cpu->r[7] + 0xFFFFEC24u;
|
|
/* 0250BFF0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 0250BFF4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0250BFF8 */ Gambit_fn_0204B794(cpu);
|
|
/* 0250BFFC */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250C000 */ cpu->r[3] = cpu->r[30] + 0x00000234u;
|
|
/* 0250C004 */ Gambit_fn_0204E7A8(cpu);
|
|
/* 0250C008 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250C00C */ _t103 = cpu->r[11] + 0xFFFFEC28u;
|
|
/* 0250C00C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 0250C010 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 0250C014 */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250C014 */ _t105 = _t104 & 0x00000001u;
|
|
/* 0250C014 */ if (_t105) goto L_0250C020; else goto L_0250C018;
|
|
L_0250C018: ; // 0x250c018
|
|
/* 0250C018 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250C01C */ _t106 = cpu->r[30] + 0x00000240u;
|
|
/* 0250C01C */ rbrew_write8(cpu->mem, _t106, (uint8_t)cpu->r[0]);
|
|
L_0250C020: ; // 0x250c020
|
|
/* 0250C020 */ _t107 = cpu->r[30] + 0x00000234u;
|
|
/* 0250C020 */ cpu->r[8] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0250C024 */ _t108 = cpu->r[30] + 0x0000023Cu;
|
|
/* 0250C024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0250C028 */ _t109 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0250C028 */ rbrew_write32(cpu->mem, _t109, cpu->r[8]);
|
|
/* 0250C02C */ cpu->r[8] = 0x100C0000u;
|
|
/* 0250C030 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 0250C034 */ _t110 = cpu->r[8] + 0xFFFFE81Cu;
|
|
/* 0250C034 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 0250C038 */ cpu->r[4] = cpu->r[30] + 0x00000234u;
|
|
/* 0250C03C */ _t111 = cpu->r[1] + 0x00000094u;
|
|
/* 0250C03C */ rbrew_write32(cpu->mem, _t111, cpu->r[0]);
|
|
/* 0250C040 */ cpu->r[5] = cpu->r[30] + 0x0000021Cu;
|
|
/* 0250C044 */ _t112 = cpu->r[1] + 0x00000090u;
|
|
/* 0250C044 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[31]);
|
|
/* 0250C048 */ Gambit_fn_0204F0A0(cpu);
|
|
/* 0250C04C */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C050 */ cpu->f[30] = cpu->f[1];
|
|
/* 0250C054 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250C058 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0250C05C */ _t113 = cpu->r[12] + 0xFFFFFE74u;
|
|
/* 0250C05C */ cpu->r[7] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0250C05C */ cpu->r[12] = _t113;
|
|
/* 0250C060 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250C064 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0250C06C */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250C070 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C070 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0250C070 */ if (_t115) goto L_0250C074; else goto L_0250C088;
|
|
L_0250C074: ; // 0x250c074
|
|
/* 0250C074 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250C078 */ cpu->r[11] = 0x00000001u;
|
|
/* 0250C07C */ cpu->r[0] = cpu->r[0] + 0xFFFFE8D0u;
|
|
/* 0250C080 */ _t116 = cpu->r[12] + 0x00000000u;
|
|
/* 0250C080 */ rbrew_write32(cpu->mem, _t116, cpu->r[11]);
|
|
/* 0250C084 */ _t117 = cpu->r[4] + 0x00000000u;
|
|
/* 0250C084 */ rbrew_write32(cpu->mem, _t117, cpu->r[0]);
|
|
L_0250C088: ; // 0x250c088
|
|
/* 0250C088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C08C */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C08C */ _t119 = _t118 & 0x00000001u;
|
|
/* 0250C08C */ if (_t119) goto L_0250C0AC; else goto L_0250C090;
|
|
L_0250C090: ; // 0x250c090
|
|
/* 0250C090 */ _t120 = cpu->r[31] + 0x00000000u;
|
|
/* 0250C090 */ cpu->r[7] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0250C094 */ _t121 = cpu->r[7] + 0x0000006Cu;
|
|
/* 0250C094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0250C098 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C09C */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C0A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C0A8 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C0A8 */ _t123 = _t122 & 0x00000001u;
|
|
/* 0250C0A8 */ if (_t123) goto L_0250C0AC; else goto L_0250C0B0;
|
|
L_0250C0AC: ; // 0x250c0ac
|
|
/* 0250C0AC */ cpu->r[31] = 0x00000000u;
|
|
L_0250C0B0: ; // 0x250c0b0
|
|
/* 0250C0B0 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250C0B4 */ _t124 = cpu->r[31] + 0x000003BCu;
|
|
/* 0250C0B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 0250C0B8 */ cpu->f[11] = fabs(cpu->f[30]);
|
|
/* 0250C0BC */ _t125 = cpu->r[12] + 0xFFFFEC2Cu;
|
|
/* 0250C0BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 0250C0C0 */ cpu->f[7] = -fma(cpu->f[13], cpu->f[12], -(cpu->f[11]));
|
|
/* 0250C0C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 0250C0C8 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250C0C8 */ _t127 = _t126 & 0x00000001u;
|
|
/* 0250C0C8 */ if (_t127) goto L_0250C0CC; else goto L_0250C0F0;
|
|
L_0250C0CC: ; // 0x250c0cc
|
|
/* 0250C0CC */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250C0D0 */ cpu->r[8] = 0x100C0000u;
|
|
/* 0250C0D4 */ _t128 = cpu->r[11] + 0xFFFFEC30u;
|
|
/* 0250C0D4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 0250C0D8 */ cpu->f[0] = -cpu->f[30];
|
|
/* 0250C0DC */ _t129 = cpu->r[8] + 0xFFFFEAA4u;
|
|
/* 0250C0DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 0250C0E0 */ /* nop */
|
|
/* 0250C0E4 */ cpu->f[1] = cpu->f[10] * cpu->f[7];
|
|
/* 0250C0E8 */ cpu->r[3] = cpu->r[30] + 0x0000021Cu;
|
|
/* 0250C0EC */ Gambit_fn_0204E3A8(cpu);
|
|
L_0250C0F0: ; // 0x250c0f0
|
|
/* 0250C0F0 */ _t130 = cpu->r[30] + 0x00000208u;
|
|
/* 0250C0F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0250C0F4 */ cpu->r[3] = cpu->r[1] + 0x000000BCu;
|
|
/* 0250C0F8 */ cpu->r[5] = 0x00000003u;
|
|
/* 0250C0FC */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250C100 */ _t131 = cpu->r[1] + 0x000000C0u;
|
|
/* 0250C100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0250C104 */ _t132 = cpu->r[1] + 0x000000C4u;
|
|
/* 0250C104 */ cpu->r[8] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0250C108 */ _t133 = cpu->r[1] + 0x00000084u;
|
|
/* 0250C108 */ rbrew_write32(cpu->mem, _t133, cpu->r[0]);
|
|
/* 0250C10C */ _t134 = cpu->r[1] + 0x00000084u;
|
|
/* 0250C10C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 0250C110 */ _t135 = cpu->r[30] + 0x00000250u;
|
|
/* 0250C110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0250C114 */ _t136 = cpu->r[1] + 0x000000BCu;
|
|
/* 0250C114 */ cpu->r[10] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0250C118 */ _t137 = cpu->r[1] + 0x00000088u;
|
|
/* 0250C118 */ rbrew_write32(cpu->mem, _t137, cpu->r[8]);
|
|
/* 0250C11C */ _t138 = cpu->r[1] + 0x00000080u;
|
|
/* 0250C11C */ rbrew_write32(cpu->mem, _t138, cpu->r[10]);
|
|
/* 0250C120 */ _t139 = cpu->r[3] + 0x00000244u;
|
|
/* 0250C120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0250C124 */ _t140 = cpu->r[1] + 0x00000080u;
|
|
/* 0250C124 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 0250C128 */ _t141 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C128 */ rbrew_write32(cpu->mem, _t141, cpu->r[0]);
|
|
/* 0250C12C */ _t142 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C12C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 0250C130 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250C134 */ _t143 = cpu->r[3] + 0x00000248u;
|
|
/* 0250C134 */ cpu->r[7] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0250C138 */ cpu->f[11] = cpu->f[13] - cpu->f[10];
|
|
/* 0250C13C */ _t144 = cpu->r[12] + 0xFFFFEC34u;
|
|
/* 0250C13C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 0250C140 */ _t145 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C140 */ rbrew_write32(cpu->mem, _t145, cpu->r[7]);
|
|
/* 0250C144 */ _t146 = cpu->r[3] + 0x0000024Cu;
|
|
/* 0250C144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0250C148 */ cpu->f[10] = fma(cpu->f[11], cpu->f[0], cpu->f[10]);
|
|
/* 0250C14C */ _t147 = cpu->r[1] + 0x00000088u;
|
|
/* 0250C14C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 0250C150 */ _t148 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C150 */ rbrew_write32(cpu->mem, _t148, cpu->r[0]);
|
|
/* 0250C154 */ _t149 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C154 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 0250C158 */ cpu->f[7] = cpu->f[9] - cpu->f[9];
|
|
/* 0250C15C */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 0250C160 */ cpu->f[11] = fma(cpu->f[7], cpu->f[0], cpu->f[9]);
|
|
/* 0250C164 */ _t150 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C164 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[10]);
|
|
/* 0250C168 */ cpu->f[0] = fma(cpu->f[13], cpu->f[0], cpu->f[12]);
|
|
/* 0250C16C */ cpu->r[31] = 0x101F0000u;
|
|
/* 0250C170 */ _t151 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C170 */ rbrew_write_f32(cpu->mem, _t151, cpu->f[11]);
|
|
/* 0250C174 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250C178 */ cpu->r[5] = cpu->r[31] + 0x00006338u;
|
|
/* 0250C17C */ _t152 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C17C */ rbrew_write_f32(cpu->mem, _t152, cpu->f[0]);
|
|
/* 0250C180 */ Gambit_fn_025C7728(cpu);
|
|
/* 0250C184 */ _t153 = cpu->r[30] + 0x00000256u;
|
|
/* 0250C184 */ cpu->r[0] = rbrew_read8(cpu->mem, _t153);
|
|
/* 0250C188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C18C */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C18C */ _t155 = _t154 & 0x00000001u;
|
|
/* 0250C18C */ if (_t155) goto L_0250C190; else goto L_0250C19C;
|
|
L_0250C190: ; // 0x250c190
|
|
/* 0250C190 */ _t156 = cpu->r[30] + 0x00000250u;
|
|
/* 0250C190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t156);
|
|
/* 0250C194 */ cpu->r[4] = cpu->r[31] + 0x00006338u;
|
|
/* 0250C198 */ Gambit_fn_025C7868(cpu);
|
|
L_0250C19C: ; // 0x250c19c
|
|
/* 0250C19C */ _t157 = cpu->r[1] + 0x000000F8u;
|
|
/* 0250C19C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 0250C1A0 */ _t158 = cpu->r[1] + 0x000000D8u;
|
|
/* 0250C1A0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 0250C1A4 */ _t159 = cpu->r[1] + 0x000000F0u;
|
|
/* 0250C1A4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t159);
|
|
/* 0250C1A8 */ _t160 = cpu->r[1] + 0x000000E8u;
|
|
/* 0250C1A8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 0250C1AC */ _t161 = cpu->r[1] + 0x000000D0u;
|
|
/* 0250C1AC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t161);
|
|
/* 0250C1B0 */ _t162 = cpu->r[1] + 0x000000E0u;
|
|
/* 0250C1B0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t162);
|
|
/* 0250C1B4 */ _t163 = cpu->r[1] + 0x000000CCu;
|
|
/* 0250C1B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t163);
|
|
/* 0250C1B8 */ _t164 = cpu->r[1] + 0x000000C8u;
|
|
/* 0250C1B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t164);
|
|
/* 0250C1BC */ _t165 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250C1BC */ _t166 = _t165 & 0x00000001u;
|
|
/* 0250C1BC */ if (_t166) goto L_0250C1C0; // else: addr-0 trap, fall-through
|
|
L_0250C1C0: ; // 0x250c1c0
|
|
/* 0250C1C0 */ _t167 = cpu->r[1] + 0x00000104u;
|
|
/* 0250C1C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t167);
|
|
/* 0250C1C4 */ cpu->lr = cpu->r[0];
|
|
/* 0250C1C8 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 0250C1CC */ return;
|
|
}
|
|
|
|
// fn_0250C1D0 @ 0x250c1d0
|
|
void Gambit_fn_0250C1D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_0250C1D0: ; // 0x250c1d0
|
|
/* 0250C1D0 */ cpu->r[0] = cpu->lr;
|
|
/* 0250C1D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C1D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C1D4 */ cpu->r[1] = _t0;
|
|
/* 0250C1D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C1D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250C1DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C1DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250C1E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250C1E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C1E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250C1E8 */ _t4 = cpu->r[30] + 0x00000258u;
|
|
/* 0250C1E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250C1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Eu);
|
|
/* 0250C1F0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250C1F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250C1F0 */ if (_t6) goto L_0250C278; else goto L_0250C1F4;
|
|
L_0250C1F4: ; // 0x250c1f4
|
|
/* 0250C1F4 */ _t7 = cpu->r[30] + 0x0000025Cu;
|
|
/* 0250C1F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250C1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250C1FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C1FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250C1FC */ if (_t9) goto L_0250C210; else goto L_0250C200;
|
|
L_0250C200: ; // 0x250c200
|
|
/* 0250C200 */ _t10 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0250C200 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250C204 */ _t11 = cpu->r[30] + 0x00000260u;
|
|
/* 0250C204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250C208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0250C20C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C20C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250C20C */ if (_t13) goto L_0250C228; else goto L_0250C210;
|
|
L_0250C210: ; // 0x250c210
|
|
/* 0250C210 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250C214 */ _t14 = cpu->r[30] + 0x00000030u;
|
|
/* 0250C214 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250C218 */ cpu->r[4] = cpu->r[30] + 0x0000025Cu;
|
|
/* 0250C21C */ cpu->r[5] = cpu->r[5] + 0xFFFFEC38u;
|
|
/* 0250C220 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250C224 */ Gambit_fn_027B72F0(cpu);
|
|
L_0250C228: ; // 0x250c228
|
|
/* 0250C228 */ _t15 = cpu->r[30] + 0x00000268u;
|
|
/* 0250C228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250C22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C230 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C230 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0250C230 */ if (_t17) goto L_0250C278; else goto L_0250C234;
|
|
L_0250C234: ; // 0x250c234
|
|
/* 0250C234 */ _t18 = cpu->r[30] + 0x0000026Cu;
|
|
/* 0250C234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250C238 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250C238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250C23C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 0250C240 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C240 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250C240 */ if (_t21) goto L_0250C244; else goto L_0250C278;
|
|
L_0250C244: ; // 0x250c244
|
|
/* 0250C244 */ _t22 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250C244 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0250C248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 0250C24C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C24C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0250C24C */ if (_t24) goto L_0250C250; else goto L_0250C278;
|
|
L_0250C250: ; // 0x250c250
|
|
/* 0250C250 */ _t25 = cpu->r[31] + 0x00000028u;
|
|
/* 0250C250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250C254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C258 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C258 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250C258 */ if (_t27) goto L_0250C270; else goto L_0250C25C;
|
|
L_0250C25C: ; // 0x250c25c
|
|
/* 0250C25C */ _t28 = cpu->r[3] + 0x00000050u;
|
|
/* 0250C25C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250C260 */ _t29 = cpu->r[12] + 0x00000024u;
|
|
/* 0250C260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250C264 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C268 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0250C26C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0250C270: ; // 0x250c270
|
|
/* 0250C270 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250C274 */ _t30 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0250C274 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
L_0250C278: ; // 0x250c278
|
|
/* 0250C278 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250C27C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C27C */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0250C280 */ cpu->lr = cpu->r[0];
|
|
/* 0250C284 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250C288 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C28C */ return;
|
|
}
|
|
|
|
// fn_0250C1D4 @ 0x250c1d4
|
|
void Gambit_fn_0250C1D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_0250C1D4: ; // 0x250c1d4
|
|
/* 0250C1D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C1D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C1D4 */ cpu->r[1] = _t0;
|
|
/* 0250C1D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C1D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250C1DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C1DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250C1E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250C1E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C1E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250C1E8 */ _t4 = cpu->r[30] + 0x00000258u;
|
|
/* 0250C1E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250C1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Eu);
|
|
/* 0250C1F0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250C1F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250C1F0 */ if (_t6) goto L_0250C278; else goto L_0250C1F4;
|
|
L_0250C1F4: ; // 0x250c1f4
|
|
/* 0250C1F4 */ _t7 = cpu->r[30] + 0x0000025Cu;
|
|
/* 0250C1F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250C1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250C1FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C1FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250C1FC */ if (_t9) goto L_0250C210; else goto L_0250C200;
|
|
L_0250C200: ; // 0x250c200
|
|
/* 0250C200 */ _t10 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0250C200 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250C204 */ _t11 = cpu->r[30] + 0x00000260u;
|
|
/* 0250C204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250C208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0250C20C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C20C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250C20C */ if (_t13) goto L_0250C228; else goto L_0250C210;
|
|
L_0250C210: ; // 0x250c210
|
|
/* 0250C210 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250C214 */ _t14 = cpu->r[30] + 0x00000030u;
|
|
/* 0250C214 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250C218 */ cpu->r[4] = cpu->r[30] + 0x0000025Cu;
|
|
/* 0250C21C */ cpu->r[5] = cpu->r[5] + 0xFFFFEC38u;
|
|
/* 0250C220 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250C224 */ Gambit_fn_027B72F0(cpu);
|
|
L_0250C228: ; // 0x250c228
|
|
/* 0250C228 */ _t15 = cpu->r[30] + 0x00000268u;
|
|
/* 0250C228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250C22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C230 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C230 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0250C230 */ if (_t17) goto L_0250C278; else goto L_0250C234;
|
|
L_0250C234: ; // 0x250c234
|
|
/* 0250C234 */ _t18 = cpu->r[30] + 0x0000026Cu;
|
|
/* 0250C234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250C238 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250C238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250C23C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 0250C240 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C240 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250C240 */ if (_t21) goto L_0250C244; else goto L_0250C278;
|
|
L_0250C244: ; // 0x250c244
|
|
/* 0250C244 */ _t22 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0250C244 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0250C248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 0250C24C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C24C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0250C24C */ if (_t24) goto L_0250C250; else goto L_0250C278;
|
|
L_0250C250: ; // 0x250c250
|
|
/* 0250C250 */ _t25 = cpu->r[31] + 0x00000028u;
|
|
/* 0250C250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250C254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C258 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C258 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250C258 */ if (_t27) goto L_0250C270; else goto L_0250C25C;
|
|
L_0250C25C: ; // 0x250c25c
|
|
/* 0250C25C */ _t28 = cpu->r[3] + 0x00000050u;
|
|
/* 0250C25C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250C260 */ _t29 = cpu->r[12] + 0x00000024u;
|
|
/* 0250C260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250C264 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C268 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0250C26C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0250C270: ; // 0x250c270
|
|
/* 0250C270 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250C274 */ _t30 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0250C274 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
L_0250C278: ; // 0x250c278
|
|
/* 0250C278 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250C27C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C27C */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0250C280 */ cpu->lr = cpu->r[0];
|
|
/* 0250C284 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250C288 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C28C */ return;
|
|
}
|
|
|
|
// fn_0250C290 @ 0x250c290
|
|
void Gambit_fn_0250C290(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_0250C290: ; // 0x250c290
|
|
/* 0250C290 */ cpu->r[0] = cpu->lr;
|
|
/* 0250C294 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C294 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C294 */ cpu->r[1] = _t0;
|
|
/* 0250C298 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C298 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250C29C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C29C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250C2A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250C2A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C2A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250C2A8 */ _t4 = cpu->r[30] + 0x000001BCu;
|
|
/* 0250C2A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0250C2AC */ /* nop */
|
|
/* 0250C2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 0250C2B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C2B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250C2B4 */ if (_t6) goto L_0250C2B8; else goto L_0250C354;
|
|
L_0250C2B8: ; // 0x250c2b8
|
|
/* 0250C2B8 */ _t7 = cpu->r[30] + 0x00000255u;
|
|
/* 0250C2B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0250C2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250C2C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C2C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250C2C0 */ if (_t9) goto L_0250C354; else goto L_0250C2C4;
|
|
L_0250C2C4: ; // 0x250c2c4
|
|
/* 0250C2C4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250C2C8 */ _t10 = cpu->r[30] + 0x00000244u;
|
|
/* 0250C2C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250C2CC */ _t11 = cpu->r[12] + 0xFFFFEA84u;
|
|
/* 0250C2CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0250C2D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0250C2D4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C2D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250C2D4 */ if (_t13) goto L_0250C2D8; else goto L_0250C354;
|
|
L_0250C2D8: ; // 0x250c2d8
|
|
/* 0250C2D8 */ _t14 = cpu->r[30] + 0x000001BDu;
|
|
/* 0250C2D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0250C2DC */ /* nop */
|
|
/* 0250C2E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C2E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0250C2E0 */ if (_t16) goto L_0250C2E4; else goto L_0250C370;
|
|
L_0250C2E4: ; // 0x250c2e4
|
|
/* 0250C2E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C2E8 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250C2EC */ cpu->r[7] = 0x101D0000u;
|
|
/* 0250C2F0 */ _t17 = cpu->r[7] + 0xFFFFFE74u;
|
|
/* 0250C2F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0250C2F0 */ cpu->r[7] = _t17;
|
|
/* 0250C2F4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250C2F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250C300 */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250C304 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C304 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0250C304 */ if (_t19) goto L_0250C308; else goto L_0250C31C;
|
|
L_0250C308: ; // 0x250c308
|
|
/* 0250C308 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250C30C */ cpu->r[0] = 0x00000001u;
|
|
/* 0250C310 */ cpu->r[5] = cpu->r[5] + 0xFFFFE8D0u;
|
|
/* 0250C314 */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 0250C314 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0250C318 */ _t21 = cpu->r[4] + 0x00000000u;
|
|
/* 0250C318 */ rbrew_write32(cpu->mem, _t21, cpu->r[5]);
|
|
L_0250C31C: ; // 0x250c31c
|
|
/* 0250C31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C320 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C320 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250C320 */ if (_t23) goto L_0250C340; else goto L_0250C324;
|
|
L_0250C324: ; // 0x250c324
|
|
/* 0250C324 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 0250C324 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250C328 */ _t25 = cpu->r[6] + 0x0000006Cu;
|
|
/* 0250C328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250C32C */ cpu->ctr = cpu->r[0];
|
|
/* 0250C330 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C334 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C33C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C33C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250C33C */ if (_t27) goto L_0250C340; else goto L_0250C344;
|
|
L_0250C340: ; // 0x250c340
|
|
/* 0250C340 */ cpu->r[31] = 0x00000000u;
|
|
L_0250C344: ; // 0x250c344
|
|
/* 0250C344 */ _t28 = cpu->r[30] + 0x000001B8u;
|
|
/* 0250C344 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250C348 */ _t29 = cpu->r[31] + 0x000001DCu;
|
|
/* 0250C348 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250C34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 0250C350 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250C350 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0250C350 */ if (_t31) goto L_0250C370; else goto L_0250C354;
|
|
L_0250C354: ; // 0x250c354
|
|
/* 0250C354 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0250C358 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C358 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250C35C */ cpu->lr = cpu->r[0];
|
|
/* 0250C360 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250C364 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C368 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250C36C */ return;
|
|
L_0250C370: ; // 0x250c370
|
|
/* 0250C370 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250C374 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0250C378 */ cpu->lr = cpu->r[0];
|
|
/* 0250C37C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C37C */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0250C380 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C384 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250C388 */ return;
|
|
}
|
|
|
|
// fn_0250C294 @ 0x250c294
|
|
void Gambit_fn_0250C294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_0250C294: ; // 0x250c294
|
|
/* 0250C294 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C294 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C294 */ cpu->r[1] = _t0;
|
|
/* 0250C298 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C298 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250C29C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C29C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250C2A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250C2A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C2A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250C2A8 */ _t4 = cpu->r[30] + 0x000001BCu;
|
|
/* 0250C2A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0250C2AC */ /* nop */
|
|
/* 0250C2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 0250C2B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C2B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250C2B4 */ if (_t6) goto L_0250C2B8; else goto L_0250C354;
|
|
L_0250C2B8: ; // 0x250c2b8
|
|
/* 0250C2B8 */ _t7 = cpu->r[30] + 0x00000255u;
|
|
/* 0250C2B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0250C2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250C2C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C2C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250C2C0 */ if (_t9) goto L_0250C354; else goto L_0250C2C4;
|
|
L_0250C2C4: ; // 0x250c2c4
|
|
/* 0250C2C4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250C2C8 */ _t10 = cpu->r[30] + 0x00000244u;
|
|
/* 0250C2C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250C2CC */ _t11 = cpu->r[12] + 0xFFFFEA84u;
|
|
/* 0250C2CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0250C2D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0250C2D4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C2D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250C2D4 */ if (_t13) goto L_0250C2D8; else goto L_0250C354;
|
|
L_0250C2D8: ; // 0x250c2d8
|
|
/* 0250C2D8 */ _t14 = cpu->r[30] + 0x000001BDu;
|
|
/* 0250C2D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0250C2DC */ /* nop */
|
|
/* 0250C2E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C2E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0250C2E0 */ if (_t16) goto L_0250C2E4; else goto L_0250C370;
|
|
L_0250C2E4: ; // 0x250c2e4
|
|
/* 0250C2E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C2E8 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250C2EC */ cpu->r[7] = 0x101D0000u;
|
|
/* 0250C2F0 */ _t17 = cpu->r[7] + 0xFFFFFE74u;
|
|
/* 0250C2F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0250C2F0 */ cpu->r[7] = _t17;
|
|
/* 0250C2F4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250C2F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250C300 */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250C304 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C304 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0250C304 */ if (_t19) goto L_0250C308; else goto L_0250C31C;
|
|
L_0250C308: ; // 0x250c308
|
|
/* 0250C308 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250C30C */ cpu->r[0] = 0x00000001u;
|
|
/* 0250C310 */ cpu->r[5] = cpu->r[5] + 0xFFFFE8D0u;
|
|
/* 0250C314 */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 0250C314 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0250C318 */ _t21 = cpu->r[4] + 0x00000000u;
|
|
/* 0250C318 */ rbrew_write32(cpu->mem, _t21, cpu->r[5]);
|
|
L_0250C31C: ; // 0x250c31c
|
|
/* 0250C31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C320 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C320 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250C320 */ if (_t23) goto L_0250C340; else goto L_0250C324;
|
|
L_0250C324: ; // 0x250c324
|
|
/* 0250C324 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 0250C324 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250C328 */ _t25 = cpu->r[6] + 0x0000006Cu;
|
|
/* 0250C328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250C32C */ cpu->ctr = cpu->r[0];
|
|
/* 0250C330 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C334 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C33C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C33C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250C33C */ if (_t27) goto L_0250C340; else goto L_0250C344;
|
|
L_0250C340: ; // 0x250c340
|
|
/* 0250C340 */ cpu->r[31] = 0x00000000u;
|
|
L_0250C344: ; // 0x250c344
|
|
/* 0250C344 */ _t28 = cpu->r[30] + 0x000001B8u;
|
|
/* 0250C344 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250C348 */ _t29 = cpu->r[31] + 0x000001DCu;
|
|
/* 0250C348 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250C34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 0250C350 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250C350 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0250C350 */ if (_t31) goto L_0250C370; else goto L_0250C354;
|
|
L_0250C354: ; // 0x250c354
|
|
/* 0250C354 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0250C358 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C358 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0250C35C */ cpu->lr = cpu->r[0];
|
|
/* 0250C360 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250C364 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C368 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250C36C */ return;
|
|
L_0250C370: ; // 0x250c370
|
|
/* 0250C370 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250C374 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0250C378 */ cpu->lr = cpu->r[0];
|
|
/* 0250C37C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C37C */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0250C380 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C384 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250C388 */ return;
|
|
}
|
|
|
|
// fn_0250C390 @ 0x250c390
|
|
void Gambit_fn_0250C390(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_0250C390: ; // 0x250c390
|
|
/* 0250C390 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C390 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C390 */ cpu->r[1] = _t0;
|
|
/* 0250C394 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C394 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250C398 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C398 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250C39C */ cpu->r[30] = cpu->r[3];
|
|
/* 0250C3A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C3A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250C3A4 */ _t4 = cpu->r[30] + 0x000001BDu;
|
|
/* 0250C3A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0250C3A8 */ /* nop */
|
|
/* 0250C3AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C3AC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250C3AC */ if (_t6) goto L_0250C3B0; else goto L_0250C43C;
|
|
L_0250C3B0: ; // 0x250c3b0
|
|
/* 0250C3B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C3B4 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250C3B8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0250C3BC */ _t7 = cpu->r[9] + 0xFFFFFE74u;
|
|
/* 0250C3BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250C3BC */ cpu->r[9] = _t7;
|
|
/* 0250C3C0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250C3C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250C3CC */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250C3D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C3D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250C3D0 */ if (_t9) goto L_0250C3D4; else goto L_0250C3E8;
|
|
L_0250C3D4: ; // 0x250c3d4
|
|
/* 0250C3D4 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250C3D8 */ cpu->r[8] = 0x00000001u;
|
|
/* 0250C3DC */ cpu->r[11] = cpu->r[11] + 0xFFFFE8D0u;
|
|
/* 0250C3E0 */ _t10 = cpu->r[9] + 0x00000000u;
|
|
/* 0250C3E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0250C3E4 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 0250C3E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_0250C3E8: ; // 0x250c3e8
|
|
/* 0250C3E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C3EC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C3EC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250C3EC */ if (_t13) goto L_0250C40C; else goto L_0250C3F0;
|
|
L_0250C3F0: ; // 0x250c3f0
|
|
/* 0250C3F0 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 0250C3F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250C3F4 */ _t15 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0250C3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250C3F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C3FC */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C400 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C408 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C408 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0250C408 */ if (_t17) goto L_0250C40C; else goto L_0250C410;
|
|
L_0250C40C: ; // 0x250c40c
|
|
/* 0250C40C */ cpu->r[31] = 0x00000000u;
|
|
L_0250C410: ; // 0x250c410
|
|
/* 0250C410 */ _t18 = cpu->r[30] + 0x000001B8u;
|
|
/* 0250C410 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250C414 */ _t19 = cpu->r[31] + 0x0000041Cu;
|
|
/* 0250C414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250C418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 0250C41C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C41C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250C41C */ if (_t21) goto L_0250C420; else goto L_0250C43C;
|
|
L_0250C420: ; // 0x250c420
|
|
/* 0250C420 */ _t22 = cpu->r[30] + 0x00000030u;
|
|
/* 0250C420 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0250C424 */ _t23 = cpu->r[3] + 0x000000E0u;
|
|
/* 0250C424 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250C428 */ _t24 = cpu->r[11] + 0x00000034u;
|
|
/* 0250C428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0250C42C */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250C430 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C434 */ cpu->r[4] = cpu->r[4] + 0xFFFFEC40u;
|
|
/* 0250C438 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0250C43C: ; // 0x250c43c
|
|
/* 0250C43C */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C440 */ Gambit_fn_0250BD44(cpu);
|
|
/* 0250C444 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C448 */ Gambit_fn_0250C1D0(cpu);
|
|
/* 0250C44C */ _t25 = cpu->r[30] + 0x00000250u;
|
|
/* 0250C44C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250C450 */ _t26 = cpu->r[12] + 0x00000724u;
|
|
/* 0250C450 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0250C454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C458 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C458 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0250C458 */ if (_t28) goto L_0250C468; else goto L_0250C45C;
|
|
L_0250C45C: ; // 0x250c45c
|
|
/* 0250C45C */ _t29 = cpu->r[30] + 0x00000256u;
|
|
/* 0250C45C */ cpu->r[10] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0250C460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250C464 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C464 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0250C464 */ if (_t31) goto L_0250C468; else goto L_0250C478;
|
|
L_0250C468: ; // 0x250c468
|
|
/* 0250C468 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 0250C46C */ cpu->r[4] = 0x00000000u;
|
|
/* 0250C470 */ Gambit_fn_021FC770(cpu);
|
|
/* 0250C474 */ goto L_0250C494;
|
|
L_0250C478: ; // 0x250c478
|
|
/* 0250C478 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C47C */ Gambit_fn_0250C290(cpu);
|
|
/* 0250C480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C484 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C484 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250C484 */ if (_t33) goto L_0250C494; else goto L_0250C488;
|
|
L_0250C488: ; // 0x250c488
|
|
/* 0250C488 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 0250C48C */ cpu->r[4] = 0x00000002u;
|
|
/* 0250C490 */ Gambit_fn_021FC770(cpu);
|
|
L_0250C494: ; // 0x250c494
|
|
/* 0250C494 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250C498 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250C49C */ cpu->lr = cpu->r[0];
|
|
/* 0250C4A0 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C4A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0250C4A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C4A8 */ return;
|
|
}
|
|
|
|
// fn_0250C4AC @ 0x250c4ac
|
|
void Gambit_fn_0250C4AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_0250C4AC: ; // 0x250c4ac
|
|
/* 0250C4AC */ cpu->r[0] = cpu->lr;
|
|
/* 0250C4B0 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 0250C4B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C4B0 */ cpu->r[1] = _t0;
|
|
/* 0250C4B4 */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 0250C4B4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250C4B8 */ _t2 = cpu->r[1] + 0x00000078u;
|
|
/* 0250C4B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250C4BC */ /* nop */
|
|
/* 0250C4C0 */ _t3 = cpu->r[1] + 0x00000088u;
|
|
/* 0250C4C0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0250C4C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250C4C8 */ _t4 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0250C4C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0250C4CC */ cpu->r[5] = 0x00000003u;
|
|
/* 0250C4D0 */ _t5 = cpu->r[1] + 0x00000094u;
|
|
/* 0250C4D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0250C4D4 */ _t6 = cpu->r[30] + 0x00000204u;
|
|
/* 0250C4D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250C4D8 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0250C4DC */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250C4E0 */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 0250C4E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250C4E4 */ _t8 = cpu->r[1] + 0x00000054u;
|
|
/* 0250C4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0250C4E8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250C4E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0250C4EC */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250C4EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250C4F0 */ _t11 = cpu->r[1] + 0x00000050u;
|
|
/* 0250C4F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250C4F4 */ _t12 = cpu->r[30] + 0x00000218u;
|
|
/* 0250C4F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0250C4F8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C4F8 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 0250C4FC */ cpu->f[13] = cpu->f[0] - cpu->f[9];
|
|
/* 0250C500 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0250C500 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0250C504 */ /* nop */
|
|
/* 0250C508 */ /* nop */
|
|
/* 0250C50C */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0250C50C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 0250C510 */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 0250C510 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250C514 */ /* nop */
|
|
/* 0250C518 */ /* nop */
|
|
/* 0250C51C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 0250C51C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0250C520 */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 0250C520 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 0250C524 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 0250C524 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250C528 */ _t20 = cpu->r[30] + 0x00000204u;
|
|
/* 0250C528 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0250C52C */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 0250C52C */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 0250C530 */ cpu->r[5] = 0x00000003u;
|
|
/* 0250C534 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250C538 */ _t22 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250C538 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 0250C53C */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250C540 */ /* nop */
|
|
/* 0250C544 */ _t23 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250C544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250C548 */ _t24 = cpu->r[1] + 0x00000040u;
|
|
/* 0250C548 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0250C54C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C54C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0250C550 */ _t26 = cpu->r[1] + 0x00000060u;
|
|
/* 0250C550 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250C554 */ _t27 = cpu->r[1] + 0x00000064u;
|
|
/* 0250C554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0250C558 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 0250C558 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 0250C55C */ /* nop */
|
|
/* 0250C560 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250C560 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0250C564 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250C564 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0250C568 */ /* nop */
|
|
/* 0250C56C */ _t31 = cpu->r[30] + 0x00000204u;
|
|
/* 0250C56C */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250C570 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
|
|
/* 0250C574 */ /* nop */
|
|
/* 0250C578 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250C578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0250C57C */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 0250C57C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
/* 0250C580 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 0250C580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250C584 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 0250C584 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250C588 */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 0250C588 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0250C58C */ cpu->r[5] = 0x00000002u;
|
|
/* 0250C590 */ _t37 = cpu->r[1] + 0x00000048u;
|
|
/* 0250C590 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 0250C594 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 0250C598 */ _t38 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250C598 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0250C59C */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250C5A0 */ _t39 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250C5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0250C5A4 */ _t40 = cpu->r[1] + 0x00000068u;
|
|
/* 0250C5A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250C5A8 */ _t41 = cpu->r[1] + 0x00000070u;
|
|
/* 0250C5A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0250C5AC */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C5AC */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 0250C5B0 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C5B0 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
|
|
/* 0250C5B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C5B8 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C5B8 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 0250C5BC */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250C5C0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250C5C4 */ _t45 = cpu->r[11] + 0xFFFFFE74u;
|
|
/* 0250C5C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0250C5C4 */ cpu->r[11] = _t45;
|
|
/* 0250C5C8 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250C5CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250C5D4 */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250C5D8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C5D8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0250C5D8 */ if (_t47) goto L_0250C5DC; else goto L_0250C5F0;
|
|
L_0250C5DC: ; // 0x250c5dc
|
|
/* 0250C5DC */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250C5E0 */ cpu->r[12] = 0x00000001u;
|
|
/* 0250C5E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE8D0u;
|
|
/* 0250C5E8 */ _t48 = cpu->r[11] + 0x00000000u;
|
|
/* 0250C5E8 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
/* 0250C5EC */ _t49 = cpu->r[4] + 0x00000000u;
|
|
/* 0250C5EC */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
L_0250C5F0: ; // 0x250c5f0
|
|
/* 0250C5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C5F4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C5F4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0250C5F4 */ if (_t51) goto L_0250C614; else goto L_0250C5F8;
|
|
L_0250C5F8: ; // 0x250c5f8
|
|
/* 0250C5F8 */ _t52 = cpu->r[31] + 0x00000000u;
|
|
/* 0250C5F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0250C5FC */ _t53 = cpu->r[8] + 0x0000006Cu;
|
|
/* 0250C5FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0250C600 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C604 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C608 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C610 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C610 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0250C610 */ if (_t55) goto L_0250C614; else goto L_0250C618;
|
|
L_0250C614: ; // 0x250c614
|
|
/* 0250C614 */ cpu->r[31] = 0x00000000u;
|
|
L_0250C618: ; // 0x250c618
|
|
/* 0250C618 */ _t56 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0250C618 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 0250C61C */ cpu->r[11] = 0x101C0000u;
|
|
/* 0250C620 */ /* nop */
|
|
/* 0250C624 */ _t57 = cpu->r[1] + 0x00000040u;
|
|
/* 0250C624 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0250C628 */ /* nop */
|
|
/* 0250C62C */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C62C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0250C630 */ /* nop */
|
|
/* 0250C634 */ _t59 = cpu->r[11] + 0x00006000u;
|
|
/* 0250C634 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0250C638 */ cpu->f[0] = fma(cpu->f[13], cpu->f[0], cpu->f[9]);
|
|
/* 0250C63C */ /* nop */
|
|
/* 0250C640 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0250C644 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C644 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]);
|
|
/* 0250C648 */ _t61 = cpu->r[11] + 0x00000274u;
|
|
/* 0250C648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0250C64C */ _t62 = cpu->r[12] + 0x00005134u;
|
|
/* 0250C64C */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0250C650 */ cpu->r[10] = cpu->r[3] + cpu->r[12];
|
|
/* 0250C654 */ _t63 = cpu->r[10] + 0x00000104u;
|
|
/* 0250C654 */ cpu->r[4] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0250C658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FFu);
|
|
/* 0250C65C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C65C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0250C65C */ if (_t65) goto L_0250C6A4; else goto L_0250C660;
|
|
L_0250C660: ; // 0x250c660
|
|
/* 0250C660 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250C664 */ cpu->r[6] = cpu->r[1] + 0x00000044u;
|
|
/* 0250C668 */ cpu->r[5] = 0x00000001u;
|
|
/* 0250C66C */ Gambit_fn_021F000C(cpu);
|
|
/* 0250C670 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C674 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C674 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0250C674 */ if (_t67) goto L_0250C6A4; else goto L_0250C678;
|
|
L_0250C678: ; // 0x250c678
|
|
/* 0250C678 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0250C67C */ _t68 = cpu->r[3] + 0xFFFF9918u;
|
|
/* 0250C67C */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0250C680 */ Gambit_fn_02830138(cpu);
|
|
/* 0250C684 */ cpu->r[9] = cpu->r[3];
|
|
/* 0250C688 */ cpu->r[5] = 0x00000000u;
|
|
/* 0250C68C */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C690 */ cpu->r[4] = cpu->r[30];
|
|
/* 0250C694 */ cpu->r[6] = cpu->r[5];
|
|
/* 0250C698 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 0250C69C */ cpu->r[7] = cpu->r[1] + 0x00000044u;
|
|
/* 0250C6A0 */ Gambit_fn_021FCD24(cpu);
|
|
L_0250C6A4: ; // 0x250c6a4
|
|
/* 0250C6A4 */ _t69 = cpu->r[1] + 0x00000088u;
|
|
/* 0250C6A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 0250C6A8 */ _t70 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0250C6A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0250C6AC */ _t71 = cpu->r[1] + 0x00000080u;
|
|
/* 0250C6AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 0250C6B0 */ _t72 = cpu->r[1] + 0x00000078u;
|
|
/* 0250C6B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0250C6B4 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250C6B4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0250C6B4 */ if (_t74) goto L_0250C6B8; // else: addr-0 trap, fall-through
|
|
L_0250C6B8: ; // 0x250c6b8
|
|
/* 0250C6B8 */ _t75 = cpu->r[1] + 0x00000094u;
|
|
/* 0250C6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0250C6BC */ cpu->lr = cpu->r[0];
|
|
/* 0250C6C0 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0250C6C4 */ return;
|
|
}
|
|
|
|
// fn_0250C4B0 @ 0x250c4b0
|
|
void Gambit_fn_0250C4B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_0250C4B0: ; // 0x250c4b0
|
|
/* 0250C4B0 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 0250C4B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C4B0 */ cpu->r[1] = _t0;
|
|
/* 0250C4B4 */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 0250C4B4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250C4B8 */ _t2 = cpu->r[1] + 0x00000078u;
|
|
/* 0250C4B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250C4BC */ /* nop */
|
|
/* 0250C4C0 */ _t3 = cpu->r[1] + 0x00000088u;
|
|
/* 0250C4C0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0250C4C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250C4C8 */ _t4 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0250C4C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0250C4CC */ cpu->r[5] = 0x00000003u;
|
|
/* 0250C4D0 */ _t5 = cpu->r[1] + 0x00000094u;
|
|
/* 0250C4D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0250C4D4 */ _t6 = cpu->r[30] + 0x00000204u;
|
|
/* 0250C4D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250C4D8 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0250C4DC */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250C4E0 */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 0250C4E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250C4E4 */ _t8 = cpu->r[1] + 0x00000054u;
|
|
/* 0250C4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0250C4E8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250C4E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0250C4EC */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250C4EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0250C4F0 */ _t11 = cpu->r[1] + 0x00000050u;
|
|
/* 0250C4F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250C4F4 */ _t12 = cpu->r[30] + 0x00000218u;
|
|
/* 0250C4F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0250C4F8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C4F8 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 0250C4FC */ cpu->f[13] = cpu->f[0] - cpu->f[9];
|
|
/* 0250C500 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0250C500 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0250C504 */ /* nop */
|
|
/* 0250C508 */ /* nop */
|
|
/* 0250C50C */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0250C50C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 0250C510 */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 0250C510 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250C514 */ /* nop */
|
|
/* 0250C518 */ /* nop */
|
|
/* 0250C51C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 0250C51C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0250C520 */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 0250C520 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 0250C524 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 0250C524 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250C528 */ _t20 = cpu->r[30] + 0x00000204u;
|
|
/* 0250C528 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0250C52C */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 0250C52C */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 0250C530 */ cpu->r[5] = 0x00000003u;
|
|
/* 0250C534 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250C538 */ _t22 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250C538 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 0250C53C */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250C540 */ /* nop */
|
|
/* 0250C544 */ _t23 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0250C544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250C548 */ _t24 = cpu->r[1] + 0x00000040u;
|
|
/* 0250C548 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0250C54C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C54C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0250C550 */ _t26 = cpu->r[1] + 0x00000060u;
|
|
/* 0250C550 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250C554 */ _t27 = cpu->r[1] + 0x00000064u;
|
|
/* 0250C554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0250C558 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 0250C558 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 0250C55C */ /* nop */
|
|
/* 0250C560 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250C560 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0250C564 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250C564 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0250C568 */ /* nop */
|
|
/* 0250C56C */ _t31 = cpu->r[30] + 0x00000204u;
|
|
/* 0250C56C */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250C570 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
|
|
/* 0250C574 */ /* nop */
|
|
/* 0250C578 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250C578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0250C57C */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 0250C57C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
/* 0250C580 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 0250C580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0250C584 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 0250C584 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0250C588 */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 0250C588 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0250C58C */ cpu->r[5] = 0x00000002u;
|
|
/* 0250C590 */ _t37 = cpu->r[1] + 0x00000048u;
|
|
/* 0250C590 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 0250C594 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 0250C598 */ _t38 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0250C598 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0250C59C */ Gambit_fn_0200FE00(cpu);
|
|
/* 0250C5A0 */ _t39 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0250C5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0250C5A4 */ _t40 = cpu->r[1] + 0x00000068u;
|
|
/* 0250C5A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250C5A8 */ _t41 = cpu->r[1] + 0x00000070u;
|
|
/* 0250C5A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0250C5AC */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C5AC */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 0250C5B0 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C5B0 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
|
|
/* 0250C5B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C5B8 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C5B8 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 0250C5BC */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250C5C0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250C5C4 */ _t45 = cpu->r[11] + 0xFFFFFE74u;
|
|
/* 0250C5C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0250C5C4 */ cpu->r[11] = _t45;
|
|
/* 0250C5C8 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250C5CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250C5D4 */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250C5D8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C5D8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0250C5D8 */ if (_t47) goto L_0250C5DC; else goto L_0250C5F0;
|
|
L_0250C5DC: ; // 0x250c5dc
|
|
/* 0250C5DC */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250C5E0 */ cpu->r[12] = 0x00000001u;
|
|
/* 0250C5E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE8D0u;
|
|
/* 0250C5E8 */ _t48 = cpu->r[11] + 0x00000000u;
|
|
/* 0250C5E8 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
/* 0250C5EC */ _t49 = cpu->r[4] + 0x00000000u;
|
|
/* 0250C5EC */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
L_0250C5F0: ; // 0x250c5f0
|
|
/* 0250C5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C5F4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C5F4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0250C5F4 */ if (_t51) goto L_0250C614; else goto L_0250C5F8;
|
|
L_0250C5F8: ; // 0x250c5f8
|
|
/* 0250C5F8 */ _t52 = cpu->r[31] + 0x00000000u;
|
|
/* 0250C5F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0250C5FC */ _t53 = cpu->r[8] + 0x0000006Cu;
|
|
/* 0250C5FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0250C600 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C604 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C608 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C610 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C610 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0250C610 */ if (_t55) goto L_0250C614; else goto L_0250C618;
|
|
L_0250C614: ; // 0x250c614
|
|
/* 0250C614 */ cpu->r[31] = 0x00000000u;
|
|
L_0250C618: ; // 0x250c618
|
|
/* 0250C618 */ _t56 = cpu->r[31] + 0x0000023Cu;
|
|
/* 0250C618 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 0250C61C */ cpu->r[11] = 0x101C0000u;
|
|
/* 0250C620 */ /* nop */
|
|
/* 0250C624 */ _t57 = cpu->r[1] + 0x00000040u;
|
|
/* 0250C624 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0250C628 */ /* nop */
|
|
/* 0250C62C */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C62C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0250C630 */ /* nop */
|
|
/* 0250C634 */ _t59 = cpu->r[11] + 0x00006000u;
|
|
/* 0250C634 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0250C638 */ cpu->f[0] = fma(cpu->f[13], cpu->f[0], cpu->f[9]);
|
|
/* 0250C63C */ /* nop */
|
|
/* 0250C640 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0250C644 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 0250C644 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]);
|
|
/* 0250C648 */ _t61 = cpu->r[11] + 0x00000274u;
|
|
/* 0250C648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0250C64C */ _t62 = cpu->r[12] + 0x00005134u;
|
|
/* 0250C64C */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0250C650 */ cpu->r[10] = cpu->r[3] + cpu->r[12];
|
|
/* 0250C654 */ _t63 = cpu->r[10] + 0x00000104u;
|
|
/* 0250C654 */ cpu->r[4] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0250C658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FFu);
|
|
/* 0250C65C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C65C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0250C65C */ if (_t65) goto L_0250C6A4; else goto L_0250C660;
|
|
L_0250C660: ; // 0x250c660
|
|
/* 0250C660 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250C664 */ cpu->r[6] = cpu->r[1] + 0x00000044u;
|
|
/* 0250C668 */ cpu->r[5] = 0x00000001u;
|
|
/* 0250C66C */ Gambit_fn_021F000C(cpu);
|
|
/* 0250C670 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C674 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C674 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0250C674 */ if (_t67) goto L_0250C6A4; else goto L_0250C678;
|
|
L_0250C678: ; // 0x250c678
|
|
/* 0250C678 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0250C67C */ _t68 = cpu->r[3] + 0xFFFF9918u;
|
|
/* 0250C67C */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0250C680 */ Gambit_fn_02830138(cpu);
|
|
/* 0250C684 */ cpu->r[9] = cpu->r[3];
|
|
/* 0250C688 */ cpu->r[5] = 0x00000000u;
|
|
/* 0250C68C */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C690 */ cpu->r[4] = cpu->r[30];
|
|
/* 0250C694 */ cpu->r[6] = cpu->r[5];
|
|
/* 0250C698 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 0250C69C */ cpu->r[7] = cpu->r[1] + 0x00000044u;
|
|
/* 0250C6A0 */ Gambit_fn_021FCD24(cpu);
|
|
L_0250C6A4: ; // 0x250c6a4
|
|
/* 0250C6A4 */ _t69 = cpu->r[1] + 0x00000088u;
|
|
/* 0250C6A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 0250C6A8 */ _t70 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0250C6A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0250C6AC */ _t71 = cpu->r[1] + 0x00000080u;
|
|
/* 0250C6AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 0250C6B0 */ _t72 = cpu->r[1] + 0x00000078u;
|
|
/* 0250C6B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0250C6B4 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250C6B4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0250C6B4 */ if (_t74) goto L_0250C6B8; // else: addr-0 trap, fall-through
|
|
L_0250C6B8: ; // 0x250c6b8
|
|
/* 0250C6B8 */ _t75 = cpu->r[1] + 0x00000094u;
|
|
/* 0250C6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0250C6BC */ cpu->lr = cpu->r[0];
|
|
/* 0250C6C0 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0250C6C4 */ return;
|
|
}
|
|
|
|
// fn_0250C6CC @ 0x250c6cc
|
|
void Gambit_fn_0250C6CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250C6CC: ; // 0x250c6cc
|
|
/* 0250C6CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C6CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C6CC */ cpu->r[1] = _t0;
|
|
/* 0250C6D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C6D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250C6D4 */ cpu->r[4] = 0x100C0000u;
|
|
/* 0250C6D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C6DC */ cpu->r[5] = 0x00000001u;
|
|
/* 0250C6E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250C6E4 */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 0250C6E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250C6E8 */ cpu->r[4] = cpu->r[4] + 0xFFFFEC48u;
|
|
/* 0250C6EC */ Gambit_fn_02398850(cpu);
|
|
/* 0250C6F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C6F4 */ Gambit_fn_0250C4AC(cpu);
|
|
/* 0250C6F8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C6F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250C6FC */ cpu->lr = cpu->r[0];
|
|
/* 0250C700 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C700 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250C704 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C708 */ return;
|
|
}
|
|
|
|
// fn_0250C710 @ 0x250c710
|
|
void Gambit_fn_0250C710(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_0250C710: ; // 0x250c710
|
|
/* 0250C710 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C710 */ cpu->r[1] = _t0;
|
|
/* 0250C714 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C714 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250C718 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250C71C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C71C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0250C720 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C720 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250C724 */ Gambit_fn_0250BD44(cpu);
|
|
/* 0250C728 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C72C */ Gambit_fn_0250C1D0(cpu);
|
|
/* 0250C730 */ _t4 = cpu->r[30] + 0x00000250u;
|
|
/* 0250C730 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250C734 */ _t5 = cpu->r[10] + 0x00000724u;
|
|
/* 0250C734 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0250C738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250C73C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C73C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250C73C */ if (_t7) goto L_0250C74C; else goto L_0250C740;
|
|
L_0250C740: ; // 0x250c740
|
|
/* 0250C740 */ _t8 = cpu->r[30] + 0x00000256u;
|
|
/* 0250C740 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0250C744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C748 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C748 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250C748 */ if (_t10) goto L_0250C74C; else goto L_0250C75C;
|
|
L_0250C74C: ; // 0x250c74c
|
|
/* 0250C74C */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 0250C750 */ cpu->r[4] = 0x00000000u;
|
|
/* 0250C754 */ Gambit_fn_021FC770(cpu);
|
|
/* 0250C758 */ goto L_0250C7D8;
|
|
L_0250C75C: ; // 0x250c75c
|
|
/* 0250C75C */ cpu->r[3] = cpu->r[30];
|
|
/* 0250C760 */ Gambit_fn_024F65FC(cpu);
|
|
/* 0250C764 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0250C768 */ _t11 = cpu->r[9] + 0xFFFFFE74u;
|
|
/* 0250C768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250C768 */ cpu->r[9] = _t11;
|
|
/* 0250C76C */ cpu->r[4] = 0x101D0000u;
|
|
/* 0250C770 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C778 */ cpu->r[4] = cpu->r[4] + 0x00000990u;
|
|
/* 0250C77C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C77C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250C77C */ if (_t13) goto L_0250C780; else goto L_0250C794;
|
|
L_0250C780: ; // 0x250c780
|
|
/* 0250C780 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250C784 */ cpu->r[8] = 0x00000001u;
|
|
/* 0250C788 */ cpu->r[0] = cpu->r[0] + 0xFFFFE8D0u;
|
|
/* 0250C78C */ _t14 = cpu->r[9] + 0x00000000u;
|
|
/* 0250C78C */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 0250C790 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 0250C790 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_0250C794: ; // 0x250c794
|
|
/* 0250C794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250C798 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C798 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0250C798 */ if (_t17) goto L_0250C7B8; else goto L_0250C79C;
|
|
L_0250C79C: ; // 0x250c79c
|
|
/* 0250C79C */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 0250C79C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250C7A0 */ _t19 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0250C7A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250C7A4 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C7A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C7AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C7B4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C7B4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0250C7B4 */ if (_t21) goto L_0250C7B8; else goto L_0250C7BC;
|
|
L_0250C7B8: ; // 0x250c7b8
|
|
/* 0250C7B8 */ cpu->r[31] = 0x00000000u;
|
|
L_0250C7BC: ; // 0x250c7bc
|
|
/* 0250C7BC */ _t22 = cpu->r[30] + 0x000001B8u;
|
|
/* 0250C7BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0250C7C0 */ _t23 = cpu->r[31] + 0x0000029Cu;
|
|
/* 0250C7C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250C7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 0250C7C8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250C7C8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0250C7C8 */ if (_t25) goto L_0250C7D8; else goto L_0250C7CC;
|
|
L_0250C7CC: ; // 0x250c7cc
|
|
/* 0250C7CC */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 0250C7D0 */ cpu->r[4] = 0x00000001u;
|
|
/* 0250C7D4 */ Gambit_fn_021FC770(cpu);
|
|
L_0250C7D8: ; // 0x250c7d8
|
|
/* 0250C7D8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C7D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0250C7DC */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0250C7DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0250C7E0 */ cpu->lr = cpu->r[0];
|
|
/* 0250C7E4 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C7E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250C7E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C7EC */ return;
|
|
}
|
|
|
|
// fn_0250C7F0 @ 0x250c7f0
|
|
void Gambit_fn_0250C7F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0250C7F0: ; // 0x250c7f0
|
|
/* 0250C7F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0250C7F4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250C7F8 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250C7FC */ cpu->r[12] = cpu->r[12] + 0xFFFFEC50u;
|
|
/* 0250C800 */ cpu->r[11] = cpu->r[11] + 0xFFFFE830u;
|
|
/* 0250C804 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0250C808 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0250C808 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0250C80C */ cpu->r[0] = 0x02510000u;
|
|
/* 0250C810 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0250C810 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0250C810 */ cpu->r[1] = _t1;
|
|
/* 0250C814 */ cpu->r[0] = cpu->r[0] + 0xFFFFD110u;
|
|
/* 0250C818 */ _t2 = cpu->r[3] + 0xFFFF9578u;
|
|
/* 0250C818 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0250C818 */ cpu->r[3] = _t2;
|
|
/* 0250C81C */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250C820 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0250C820 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0250C824 */ cpu->r[12] = cpu->r[12] + 0xFFFFE910u;
|
|
/* 0250C828 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 0250C828 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0250C82C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0250C82C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0250C830 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250C830 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0250C834 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0250C838 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0250C83C */ cpu->r[3] = cpu->r[3] + 0x00006748u;
|
|
/* 0250C840 */ Gambit_fn_02C83090(cpu);
|
|
/* 0250C844 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250C848 */ cpu->lr = cpu->r[0];
|
|
/* 0250C84C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0250C850 */ return;
|
|
}
|
|
|
|
// fn_0250C810 @ 0x250c810
|
|
void Gambit_fn_0250C810(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0250C810: ; // 0x250c810
|
|
/* 0250C810 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0250C810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C810 */ cpu->r[1] = _t0;
|
|
/* 0250C814 */ cpu->r[0] = cpu->r[0] + 0xFFFFD110u;
|
|
/* 0250C818 */ _t1 = cpu->r[3] + 0xFFFF9578u;
|
|
/* 0250C818 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0250C818 */ cpu->r[3] = _t1;
|
|
/* 0250C81C */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250C820 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 0250C820 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0250C824 */ cpu->r[12] = cpu->r[12] + 0xFFFFE910u;
|
|
/* 0250C828 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 0250C828 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250C82C */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 0250C82C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0250C830 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250C830 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0250C834 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0250C838 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0250C83C */ cpu->r[3] = cpu->r[3] + 0x00006748u;
|
|
/* 0250C840 */ Gambit_fn_02C83090(cpu);
|
|
/* 0250C844 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250C848 */ cpu->lr = cpu->r[0];
|
|
/* 0250C84C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0250C850 */ return;
|
|
}
|
|
|
|
// fn_0250C854 @ 0x250c854
|
|
void Gambit_fn_0250C854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250C854: ; // 0x250c854
|
|
/* 0250C854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C858 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C858 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250C858 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C858 */ goto L_0250C85C;
|
|
L_0250C85C: ; // 0x250c85c
|
|
/* 0250C85C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250C85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C860 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C860 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250C860 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C860 */ goto L_0250C864;
|
|
L_0250C864: ; // 0x250c864
|
|
/* 0250C864 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250C868 @ 0x250c868
|
|
void Gambit_fn_0250C868(CPUState* cpu) {
|
|
L_0250C868: ; // 0x250c868
|
|
/* 0250C868 */ return;
|
|
}
|
|
|
|
// fn_0250C86C @ 0x250c86c
|
|
void Gambit_fn_0250C86C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250C86C: ; // 0x250c86c
|
|
/* 0250C86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C870 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C870 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250C870 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C870 */ goto L_0250C874;
|
|
L_0250C874: ; // 0x250c874
|
|
/* 0250C874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250C874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C878 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C878 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250C878 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C878 */ goto L_0250C87C;
|
|
L_0250C87C: ; // 0x250c87c
|
|
/* 0250C87C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250C880 @ 0x250c880
|
|
void Gambit_fn_0250C880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0250C880: ; // 0x250c880
|
|
/* 0250C880 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0250C880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250C884 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0250C884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250C888 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0250C88C */ cpu->r[11] = 0x10110000u;
|
|
/* 0250C890 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0250C890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0250C894 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0250C894 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0250C898 */ return;
|
|
}
|
|
|
|
// fn_0250C89C @ 0x250c89c
|
|
void Gambit_fn_0250C89C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250C89C: ; // 0x250c89c
|
|
/* 0250C89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C8A0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C8A0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250C8A0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C8A0 */ goto L_0250C8A4;
|
|
L_0250C8A4: ; // 0x250c8a4
|
|
/* 0250C8A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250C8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C8A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C8A8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250C8A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C8A8 */ goto L_0250C8AC;
|
|
L_0250C8AC: ; // 0x250c8ac
|
|
/* 0250C8AC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250C8B0 @ 0x250c8b0
|
|
void Gambit_fn_0250C8B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250C8B0: ; // 0x250c8b0
|
|
/* 0250C8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C8B4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C8B4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250C8B4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C8B4 */ goto L_0250C8B8;
|
|
L_0250C8B8: ; // 0x250c8b8
|
|
/* 0250C8B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250C8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C8BC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C8BC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250C8BC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C8BC */ goto L_0250C8C0;
|
|
L_0250C8C0: ; // 0x250c8c0
|
|
/* 0250C8C0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250C8C4 @ 0x250c8c4
|
|
void Gambit_fn_0250C8C4(CPUState* cpu) {
|
|
L_0250C8C4: ; // 0x250c8c4
|
|
/* 0250C8C4 */ return;
|
|
}
|
|
|
|
// fn_0250C8C8 @ 0x250c8c8
|
|
void Gambit_fn_0250C8C8(CPUState* cpu) {
|
|
L_0250C8C8: ; // 0x250c8c8
|
|
/* 0250C8C8 */ return;
|
|
}
|
|
|
|
// fn_0250C8CC @ 0x250c8cc
|
|
void Gambit_fn_0250C8CC(CPUState* cpu) {
|
|
L_0250C8CC: ; // 0x250c8cc
|
|
/* 0250C8CC */ return;
|
|
}
|
|
|
|
// fn_0250C8D0 @ 0x250c8d0
|
|
void Gambit_fn_0250C8D0(CPUState* cpu) {
|
|
L_0250C8D0: ; // 0x250c8d0
|
|
/* 0250C8D0 */ return;
|
|
}
|
|
|
|
// fn_0250C8D4 @ 0x250c8d4
|
|
void Gambit_fn_0250C8D4(CPUState* cpu) {
|
|
L_0250C8D4: ; // 0x250c8d4
|
|
/* 0250C8D4 */ return;
|
|
}
|
|
|
|
// fn_0250C8D8 @ 0x250c8d8
|
|
void Gambit_fn_0250C8D8(CPUState* cpu) {
|
|
L_0250C8D8: ; // 0x250c8d8
|
|
/* 0250C8D8 */ return;
|
|
}
|
|
|
|
// fn_0250C8DC @ 0x250c8dc
|
|
void Gambit_fn_0250C8DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0250C8DC: ; // 0x250c8dc
|
|
/* 0250C8DC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0250C8DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250C8E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250C8E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C8E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250C8E4 */ if (_t2) goto L_0250C8F0; else goto L_0250C8E8;
|
|
L_0250C8E8: ; // 0x250c8e8
|
|
/* 0250C8E8 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0250C8EC */ return;
|
|
L_0250C8F0: ; // 0x250c8f0
|
|
/* 0250C8F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250C8F4 */ return;
|
|
}
|
|
|
|
// fn_0250C8F8 @ 0x250c8f8
|
|
void Gambit_fn_0250C8F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0250C8F8: ; // 0x250c8f8
|
|
/* 0250C8F8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0250C8F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250C8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250C900 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C900 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250C900 */ if (_t2) goto L_0250C90C; else goto L_0250C904;
|
|
L_0250C904: ; // 0x250c904
|
|
/* 0250C904 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0250C908 */ return;
|
|
L_0250C90C: ; // 0x250c90c
|
|
/* 0250C90C */ cpu->r[3] = 0x00000000u;
|
|
/* 0250C910 */ return;
|
|
}
|
|
|
|
// fn_0250C914 @ 0x250c914
|
|
void Gambit_fn_0250C914(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250C914: ; // 0x250c914
|
|
/* 0250C914 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250C914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250C918 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250C918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250C91C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C91C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250C91C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0250C91C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C91C */ goto L_0250C920;
|
|
L_0250C920: ; // 0x250c920
|
|
/* 0250C920 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0250C920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250C924 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0250C924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250C928 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C92C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250C930 @ 0x250c930
|
|
void Gambit_fn_0250C930(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250C930: ; // 0x250c930
|
|
/* 0250C930 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250C930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250C934 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250C934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250C938 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C938 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250C938 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0250C938 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C938 */ goto L_0250C93C;
|
|
L_0250C93C: ; // 0x250c93c
|
|
/* 0250C93C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0250C93C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250C940 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0250C940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250C944 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C948 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250C94C @ 0x250c94c
|
|
void Gambit_fn_0250C94C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250C94C: ; // 0x250c94c
|
|
/* 0250C94C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250C94C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250C950 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250C950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250C954 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C954 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250C954 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0250C954 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C954 */ goto L_0250C958;
|
|
L_0250C958: ; // 0x250c958
|
|
/* 0250C958 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0250C958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250C95C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0250C95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250C960 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C964 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250C968 @ 0x250c968
|
|
void Gambit_fn_0250C968(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0250C968: ; // 0x250c968
|
|
/* 0250C968 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0250C968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250C96C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0250C96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250C970 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C974 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250C978 @ 0x250c978
|
|
void Gambit_fn_0250C978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0250C978: ; // 0x250c978
|
|
/* 0250C978 */ cpu->r[0] = cpu->lr;
|
|
/* 0250C97C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C97C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C97C */ cpu->r[1] = _t0;
|
|
/* 0250C980 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C980 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250C984 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C988 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C988 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250C98C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250C98C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250C990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0250C994 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C994 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0250C994 */ if (_t5) goto L_0250C998; else goto L_0250C9B4;
|
|
L_0250C998: ; // 0x250c998
|
|
/* 0250C998 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0250C998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250C99C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0250C99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250C9A0 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C9A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C9A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C9AC */ cpu->r[0] = 0x00000002u;
|
|
/* 0250C9B0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250C9B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0250C9B4: ; // 0x250c9b4
|
|
/* 0250C9B4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250C9B8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C9B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250C9BC */ cpu->lr = cpu->r[0];
|
|
/* 0250C9C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C9C4 */ return;
|
|
}
|
|
|
|
// fn_0250C97C @ 0x250c97c
|
|
void Gambit_fn_0250C97C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0250C97C: ; // 0x250c97c
|
|
/* 0250C97C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250C97C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250C97C */ cpu->r[1] = _t0;
|
|
/* 0250C980 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C980 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250C984 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250C988 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C988 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250C98C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250C98C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250C990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0250C994 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C994 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0250C994 */ if (_t5) goto L_0250C998; else goto L_0250C9B4;
|
|
L_0250C998: ; // 0x250c998
|
|
/* 0250C998 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0250C998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250C99C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0250C99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250C9A0 */ cpu->ctr = cpu->r[0];
|
|
/* 0250C9A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250C9A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250C9AC */ cpu->r[0] = 0x00000002u;
|
|
/* 0250C9B0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250C9B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0250C9B4: ; // 0x250c9b4
|
|
/* 0250C9B4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0250C9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250C9B8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250C9B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250C9BC */ cpu->lr = cpu->r[0];
|
|
/* 0250C9C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250C9C4 */ return;
|
|
}
|
|
|
|
// fn_0250C9D0 @ 0x250c9d0
|
|
void Gambit_fn_0250C9D0(CPUState* cpu) {
|
|
L_0250C9D0: ; // 0x250c9d0
|
|
/* 0250C9D0 */ return;
|
|
}
|
|
|
|
// fn_0250C9D4 @ 0x250c9d4
|
|
void Gambit_fn_0250C9D4(CPUState* cpu) {
|
|
L_0250C9D4: ; // 0x250c9d4
|
|
/* 0250C9D4 */ return;
|
|
}
|
|
|
|
// fn_0250C9D8 @ 0x250c9d8
|
|
void Gambit_fn_0250C9D8(CPUState* cpu) {
|
|
L_0250C9D8: ; // 0x250c9d8
|
|
/* 0250C9D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250C9DC */ return;
|
|
}
|
|
|
|
// fn_0250C9E0 @ 0x250c9e0
|
|
void Gambit_fn_0250C9E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250C9E0: ; // 0x250c9e0
|
|
/* 0250C9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250C9E4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C9E4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250C9E4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C9E4 */ goto L_0250C9E8;
|
|
L_0250C9E8: ; // 0x250c9e8
|
|
/* 0250C9E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250C9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250C9EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250C9EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250C9EC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250C9EC */ goto L_0250C9F0;
|
|
L_0250C9F0: ; // 0x250c9f0
|
|
/* 0250C9F0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250C9F4 @ 0x250c9f4
|
|
void Gambit_fn_0250C9F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0250C9F4: ; // 0x250c9f4
|
|
/* 0250C9F4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0250C9F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250C9F8 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0250C9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250C9FC */ cpu->ctr = cpu->r[0];
|
|
/* 0250CA00 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250CA04 @ 0x250ca04
|
|
void Gambit_fn_0250CA04(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0250CA04: ; // 0x250ca04
|
|
/* 0250CA04 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0250CA04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250CA08 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0250CA08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250CA0C */ cpu->ctr = cpu->r[0];
|
|
/* 0250CA10 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250CA14 @ 0x250ca14
|
|
void Gambit_fn_0250CA14(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0250CA14: ; // 0x250ca14
|
|
/* 0250CA14 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0250CA14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250CA18 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0250CA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250CA1C */ cpu->ctr = cpu->r[0];
|
|
/* 0250CA20 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250CA24 @ 0x250ca24
|
|
void Gambit_fn_0250CA24(CPUState* cpu) {
|
|
L_0250CA24: ; // 0x250ca24
|
|
/* 0250CA24 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250CA28 */ return;
|
|
}
|
|
|
|
// fn_0250CA2C @ 0x250ca2c
|
|
void Gambit_fn_0250CA2C(CPUState* cpu) {
|
|
L_0250CA2C: ; // 0x250ca2c
|
|
/* 0250CA2C */ return;
|
|
}
|
|
|
|
// fn_0250CA30 @ 0x250ca30
|
|
void Gambit_fn_0250CA30(CPUState* cpu) {
|
|
L_0250CA30: ; // 0x250ca30
|
|
/* 0250CA30 */ return;
|
|
}
|
|
|
|
// fn_0250CA34 @ 0x250ca34
|
|
void Gambit_fn_0250CA34(CPUState* cpu) {
|
|
L_0250CA34: ; // 0x250ca34
|
|
/* 0250CA34 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250CA38 */ return;
|
|
}
|
|
|
|
// fn_0250CA3C @ 0x250ca3c
|
|
void Gambit_fn_0250CA3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250CA3C: ; // 0x250ca3c
|
|
/* 0250CA3C */ cpu->r[10] = 0x101F0000u;
|
|
/* 0250CA40 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 0250CA40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250CA40 */ cpu->r[10] = _t0;
|
|
/* 0250CA44 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0250CA44 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0250CA48 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0250CA48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250CA4C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0250CA4C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0250CA50 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 0250CA50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250CA54 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0250CA54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0250CA58 */ return;
|
|
}
|
|
|
|
// fn_0250CA5C @ 0x250ca5c
|
|
void Gambit_fn_0250CA5C(CPUState* cpu) {
|
|
L_0250CA5C: ; // 0x250ca5c
|
|
/* 0250CA5C */ return;
|
|
}
|
|
|
|
// fn_0250CA60 @ 0x250ca60
|
|
void Gambit_fn_0250CA60(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0250CA60: ; // 0x250ca60
|
|
/* 0250CA60 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 0250CA60 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0250CA64 */ return;
|
|
}
|
|
|
|
// fn_0250CA68 @ 0x250ca68
|
|
void Gambit_fn_0250CA68(CPUState* cpu) {
|
|
L_0250CA68: ; // 0x250ca68
|
|
/* 0250CA68 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250CA6C */ return;
|
|
}
|
|
|
|
// fn_0250CA70 @ 0x250ca70
|
|
void Gambit_fn_0250CA70(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0250CA70: ; // 0x250ca70
|
|
/* 0250CA70 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0250CA70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250CA74 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 0250CA74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250CA78 */ cpu->ctr = cpu->r[0];
|
|
/* 0250CA7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0250CA80 @ 0x250ca80
|
|
void Gambit_fn_0250CA80(CPUState* cpu) {
|
|
L_0250CA80: ; // 0x250ca80
|
|
/* 0250CA80 */ return;
|
|
}
|
|
|
|
// fn_0250CA84 @ 0x250ca84
|
|
void Gambit_fn_0250CA84(CPUState* cpu) {
|
|
L_0250CA84: ; // 0x250ca84
|
|
/* 0250CA84 */ return;
|
|
}
|
|
|
|
// fn_0250CA88 @ 0x250ca88
|
|
void Gambit_fn_0250CA88(CPUState* cpu) {
|
|
L_0250CA88: ; // 0x250ca88
|
|
/* 0250CA88 */ return;
|
|
}
|
|
|
|
// fn_0250CA8C @ 0x250ca8c
|
|
void Gambit_fn_0250CA8C(CPUState* cpu) {
|
|
L_0250CA8C: ; // 0x250ca8c
|
|
/* 0250CA8C */ return;
|
|
}
|
|
|
|
// fn_0250CA90 @ 0x250ca90
|
|
void Gambit_fn_0250CA90(CPUState* cpu) {
|
|
L_0250CA90: ; // 0x250ca90
|
|
/* 0250CA90 */ return;
|
|
}
|
|
|
|
// fn_0250CA94 @ 0x250ca94
|
|
void Gambit_fn_0250CA94(CPUState* cpu) {
|
|
L_0250CA94: ; // 0x250ca94
|
|
/* 0250CA94 */ return;
|
|
}
|
|
|
|
// fn_0250CA98 @ 0x250ca98
|
|
void Gambit_fn_0250CA98(CPUState* cpu) {
|
|
L_0250CA98: ; // 0x250ca98
|
|
/* 0250CA98 */ return;
|
|
}
|
|
|
|
// fn_0250CA9C @ 0x250ca9c
|
|
void Gambit_fn_0250CA9C(CPUState* cpu) {
|
|
L_0250CA9C: ; // 0x250ca9c
|
|
/* 0250CA9C */ return;
|
|
}
|
|
|
|
// fn_0250CAA0 @ 0x250caa0
|
|
void Gambit_fn_0250CAA0(CPUState* cpu) {
|
|
L_0250CAA0: ; // 0x250caa0
|
|
/* 0250CAA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250CAA4 */ return;
|
|
}
|
|
|
|
// fn_0250CAA8 @ 0x250caa8
|
|
void Gambit_fn_0250CAA8(CPUState* cpu) {
|
|
L_0250CAA8: ; // 0x250caa8
|
|
/* 0250CAA8 */ return;
|
|
}
|
|
|
|
// fn_0250CAAC @ 0x250caac
|
|
void Gambit_fn_0250CAAC(CPUState* cpu) {
|
|
L_0250CAAC: ; // 0x250caac
|
|
/* 0250CAAC */ return;
|
|
}
|
|
|
|
// fn_0250CAB0 @ 0x250cab0
|
|
void Gambit_fn_0250CAB0(CPUState* cpu) {
|
|
L_0250CAB0: ; // 0x250cab0
|
|
/* 0250CAB0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250CAB4 */ return;
|
|
}
|
|
|
|
// fn_0250CAB8 @ 0x250cab8
|
|
void Gambit_fn_0250CAB8(CPUState* cpu) {
|
|
L_0250CAB8: ; // 0x250cab8
|
|
/* 0250CAB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250CABC */ return;
|
|
}
|
|
|
|
// fn_0250CAC0 @ 0x250cac0
|
|
void Gambit_fn_0250CAC0(CPUState* cpu) {
|
|
L_0250CAC0: ; // 0x250cac0
|
|
/* 0250CAC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250CAC4 */ return;
|
|
}
|
|
|
|
// fn_0250CAC8 @ 0x250cac8
|
|
void Gambit_fn_0250CAC8(CPUState* cpu) {
|
|
L_0250CAC8: ; // 0x250cac8
|
|
/* 0250CAC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250CACC */ return;
|
|
}
|
|
|
|
// fn_0250CAD0 @ 0x250cad0
|
|
void Gambit_fn_0250CAD0(CPUState* cpu) {
|
|
L_0250CAD0: ; // 0x250cad0
|
|
/* 0250CAD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0250CAD4 */ return;
|
|
}
|
|
|
|
// fn_0250CAD8 @ 0x250cad8
|
|
void Gambit_fn_0250CAD8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0250CAD8: ; // 0x250cad8
|
|
/* 0250CAD8 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 0250CAD8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0250CADC */ return;
|
|
}
|
|
|
|
// fn_0250CAE0 @ 0x250cae0
|
|
void Gambit_fn_0250CAE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250CAE0: ; // 0x250cae0
|
|
/* 0250CAE0 */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 0250CAE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250CAE4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0250CAE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0250CAE8 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 0250CAE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250CAEC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0250CAEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250CAF0 */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 0250CAF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250CAF4 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0250CAF4 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0250CAF8 */ return;
|
|
}
|
|
|
|
// fn_0250CAFC @ 0x250cafc
|
|
void Gambit_fn_0250CAFC(CPUState* cpu) {
|
|
L_0250CAFC: ; // 0x250cafc
|
|
/* 0250CAFC */ cpu->r[3] = 0x100C0000u;
|
|
/* 0250CB00 */ cpu->r[3] = cpu->r[3] + 0xFFFFE920u;
|
|
/* 0250CB04 */ return;
|
|
}
|
|
|
|
// fn_0250CB08 @ 0x250cb08
|
|
void Gambit_fn_0250CB08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32;
|
|
|
|
L_0250CB08: ; // 0x250cb08
|
|
/* 0250CB08 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250CB0C */ _t0 = cpu->r[10] + 0xFFFFFE68u;
|
|
/* 0250CB0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250CB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250CB14 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250CB18 */ cpu->r[10] = cpu->r[10] + 0x0000007Cu;
|
|
/* 0250CB1C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CB1C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250CB1C */ if (_t2) goto L_0250CB20; else goto L_0250CB38;
|
|
L_0250CB20: ; // 0x250cb20
|
|
/* 0250CB20 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250CB24 */ cpu->r[9] = 0x00000001u;
|
|
/* 0250CB28 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250CB2C */ cpu->r[0] = cpu->r[0] + 0xFFFFE900u;
|
|
/* 0250CB30 */ _t3 = cpu->r[11] + 0xFFFFFE68u;
|
|
/* 0250CB30 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0250CB34 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 0250CB34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0250CB38: ; // 0x250cb38
|
|
/* 0250CB38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0250CB3C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CB3C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250CB3C */ if (_t6) goto L_0250CB40; else goto L_0250CB48;
|
|
L_0250CB40: ; // 0x250cb40
|
|
/* 0250CB40 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250CB44 */ return;
|
|
L_0250CB48: ; // 0x250cb48
|
|
/* 0250CB48 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0250CB4C */ _t7 = cpu->r[9] + 0xFFFFDDF0u;
|
|
/* 0250CB4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250CB50 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250CB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250CB58 */ cpu->r[11] = cpu->r[11] + 0xFFFFFF40u;
|
|
/* 0250CB5C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CB5C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250CB5C */ if (_t9) goto L_0250CB60; else goto L_0250CB78;
|
|
L_0250CB60: ; // 0x250cb60
|
|
/* 0250CB60 */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250CB64 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250CB68 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250CB6C */ cpu->r[9] = cpu->r[9] + 0xFFFFE8B0u;
|
|
/* 0250CB70 */ _t10 = cpu->r[10] + 0xFFFFDDF0u;
|
|
/* 0250CB70 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0250CB74 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0250CB74 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_0250CB78: ; // 0x250cb78
|
|
/* 0250CB78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0250CB7C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CB7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250CB7C */ if (_t13) goto L_0250CB80; else goto L_0250CB88;
|
|
L_0250CB80: ; // 0x250cb80
|
|
/* 0250CB80 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250CB84 */ goto L_0250CC40;
|
|
L_0250CB88: ; // 0x250cb88
|
|
/* 0250CB88 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250CB8C */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 0250CB8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250CB90 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0250CB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250CB98 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 0250CB9C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CB9C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0250CB9C */ if (_t16) goto L_0250CBA0; else goto L_0250CBB8;
|
|
L_0250CBA0: ; // 0x250cba0
|
|
/* 0250CBA0 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250CBA4 */ cpu->r[10] = 0x00000001u;
|
|
/* 0250CBA8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0250CBAC */ cpu->r[11] = cpu->r[11] + 0xFFFFE8A0u;
|
|
/* 0250CBB0 */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 0250CBB0 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0250CBB4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 0250CBB4 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_0250CBB8: ; // 0x250cbb8
|
|
/* 0250CBB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 0250CBBC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CBBC */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250CBBC */ if (_t20) goto L_0250CBC0; else goto L_0250CBC8;
|
|
L_0250CBC0: ; // 0x250cbc0
|
|
/* 0250CBC0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250CBC4 */ goto L_0250CC3C;
|
|
L_0250CBC8: ; // 0x250cbc8
|
|
/* 0250CBC8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0250CBCC */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 0250CBCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250CBCC */ cpu->r[9] = _t21;
|
|
/* 0250CBD0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250CBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250CBD8 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 0250CBDC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CBDC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250CBDC */ if (_t23) goto L_0250CBE0; else goto L_0250CBF4;
|
|
L_0250CBE0: ; // 0x250cbe0
|
|
/* 0250CBE0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250CBE4 */ cpu->r[11] = 0x00000001u;
|
|
/* 0250CBE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFE890u;
|
|
/* 0250CBEC */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0250CBEC */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0250CBF0 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0250CBF0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_0250CBF4: ; // 0x250cbf4
|
|
/* 0250CBF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0250CBF8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CBF8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250CBF8 */ if (_t27) goto L_0250CBFC; else goto L_0250CC04;
|
|
L_0250CBFC: ; // 0x250cbfc
|
|
/* 0250CBFC */ cpu->r[0] = 0x00000001u;
|
|
/* 0250CC00 */ goto L_0250CC3C;
|
|
L_0250CC04: ; // 0x250cc04
|
|
/* 0250CC04 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250CC08 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 0250CC08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0250CC08 */ cpu->r[10] = _t28;
|
|
/* 0250CC0C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250CC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250CC14 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 0250CC18 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CC18 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0250CC18 */ if (_t30) goto L_0250CC1C; else goto L_0250CC30;
|
|
L_0250CC1C: ; // 0x250cc1c
|
|
/* 0250CC1C */ cpu->r[9] = 0x100C0000u;
|
|
/* 0250CC20 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250CC24 */ cpu->r[9] = cpu->r[9] + 0xFFFFE820u;
|
|
/* 0250CC28 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0250CC28 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0250CC2C */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 0250CC2C */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_0250CC30: ; // 0x250cc30
|
|
/* 0250CC30 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0250CC34 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0250CC38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0250CC3C: ; // 0x250cc3c
|
|
/* 0250CC3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0250CC40: ; // 0x250cc40
|
|
/* 0250CC40 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0250CC44 */ return;
|
|
}
|
|
|
|
// fn_0250CC48 @ 0x250cc48
|
|
void Gambit_fn_0250CC48(CPUState* cpu) {
|
|
L_0250CC48: ; // 0x250cc48
|
|
/* 0250CC48 */ return;
|
|
}
|
|
|
|
// fn_0250CC4C @ 0x250cc4c
|
|
void Gambit_fn_0250CC4C(CPUState* cpu) {
|
|
L_0250CC4C: ; // 0x250cc4c
|
|
/* 0250CC4C */ cpu->r[3] = 0x00000000u;
|
|
/* 0250CC50 */ return;
|
|
}
|
|
|
|
// fn_0250CC54 @ 0x250cc54
|
|
void Gambit_fn_0250CC54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021FC678: ; // 0x21fc678
|
|
/* 021FC678 */ cpu->r[0] = cpu->lr;
|
|
/* 021FC67C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FC67C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FC67C */ cpu->r[1] = _t0;
|
|
/* 021FC680 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FC680 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FC684 */ cpu->r[31] = cpu->r[3];
|
|
/* 021FC688 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FC688 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FC68C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 021FC68C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 021FC690 */ cpu->r[12] = 0x00000000u;
|
|
/* 021FC694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FC698 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 021FC698 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 021FC69C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FC69C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021FC69C */ if (_t6) goto L_021FC6C4; else goto L_021FC6A0;
|
|
L_021FC6A0: ; // 0x21fc6a0
|
|
/* 021FC6A0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021FC6A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 021FC6A4 */ /* nop */
|
|
/* 021FC6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 021FC6AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FC6AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 021FC6AC */ if (_t9) goto L_021FC6B0; else goto L_021FC6C4;
|
|
L_021FC6B0: ; // 0x21fc6b0
|
|
/* 021FC6B0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 021FC6B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FC6B4 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 021FC6B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FC6B8 */ cpu->ctr = cpu->r[0];
|
|
/* 021FC6BC */ cpu->r[3] = cpu->r[31];
|
|
/* 021FC6C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021FC6C4: ; // 0x21fc6c4
|
|
/* 021FC6C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FC6C8 */ Gambit_fn_021FC5F0(cpu);
|
|
/* 021FC6CC */ cpu->r[3] = cpu->r[31];
|
|
/* 021FC6D0 */ Gambit_fn_027FC37C(cpu);
|
|
/* 021FC6D4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021FC6D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021FC6D8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FC6D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021FC6DC */ cpu->lr = cpu->r[0];
|
|
/* 021FC6E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FC6E4 */ return;
|
|
L_0250CC54: ; // 0x250cc54
|
|
/* 0250CC54 */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 0250CC58 */ goto L_021FC678;
|
|
}
|
|
|
|
// fn_0250CC5C @ 0x250cc5c
|
|
void Gambit_fn_0250CC5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250CC5C: ; // 0x250cc5c
|
|
/* 0250CC5C */ cpu->r[0] = cpu->lr;
|
|
/* 0250CC60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250CC60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250CC60 */ cpu->r[1] = _t0;
|
|
/* 0250CC64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250CC64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250CC68 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250CC6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250CC6C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250CC70 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 0250CC70 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0250CC74 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0250CC78 */ /* nop */
|
|
/* 0250CC7C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0250CC80 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0250CC84 */ Gambit_fn_021FC568(cpu);
|
|
/* 0250CC88 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0250CC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250CC8C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250CC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250CC90 */ cpu->lr = cpu->r[0];
|
|
/* 0250CC94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250CC98 */ return;
|
|
}
|
|
|
|
// fn_0250CC60 @ 0x250cc60
|
|
void Gambit_fn_0250CC60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250CC60: ; // 0x250cc60
|
|
/* 0250CC60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250CC60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250CC60 */ cpu->r[1] = _t0;
|
|
/* 0250CC64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250CC64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250CC68 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250CC6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0250CC6C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250CC70 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 0250CC70 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0250CC74 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0250CC78 */ /* nop */
|
|
/* 0250CC7C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0250CC80 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 0250CC84 */ Gambit_fn_021FC568(cpu);
|
|
/* 0250CC88 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0250CC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250CC8C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250CC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250CC90 */ cpu->lr = cpu->r[0];
|
|
/* 0250CC94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250CC98 */ return;
|
|
}
|
|
|
|
// fn_0250CC9C @ 0x250cc9c
|
|
void Gambit_fn_0250CC9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0250CC9C: ; // 0x250cc9c
|
|
/* 0250CC9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0250CCA0 */ _t0 = cpu->r[12] + 0xFFFFFE74u;
|
|
/* 0250CCA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0250CCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250CCA8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0250CCAC */ cpu->r[12] = cpu->r[12] + 0x00000990u;
|
|
/* 0250CCB0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CCB0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0250CCB0 */ if (_t2) goto L_0250CCB4; else goto L_0250CCCC;
|
|
L_0250CCB4: ; // 0x250ccb4
|
|
/* 0250CCB4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250CCB8 */ cpu->r[9] = 0x00000001u;
|
|
/* 0250CCBC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0250CCC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE8D0u;
|
|
/* 0250CCC4 */ _t3 = cpu->r[8] + 0xFFFFFE74u;
|
|
/* 0250CCC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0250CCC8 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0250CCC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0250CCCC: ; // 0x250cccc
|
|
/* 0250CCCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0250CCD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CCD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250CCD0 */ if (_t6) goto L_0250CCD4; else goto L_0250CCDC;
|
|
L_0250CCD4: ; // 0x250ccd4
|
|
/* 0250CCD4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0250CCD8 */ return;
|
|
L_0250CCDC: ; // 0x250ccdc
|
|
/* 0250CCDC */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250CCE0 */ _t7 = cpu->r[11] + 0xFFFFE6D4u;
|
|
/* 0250CCE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250CCE0 */ cpu->r[11] = _t7;
|
|
/* 0250CCE4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0250CCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0250CCEC */ cpu->r[10] = cpu->r[10] + 0x000006A4u;
|
|
/* 0250CCF0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CCF0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250CCF0 */ if (_t9) goto L_0250CCF4; else goto L_0250CD08;
|
|
L_0250CCF4: ; // 0x250ccf4
|
|
/* 0250CCF4 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250CCF8 */ cpu->r[9] = 0x00000001u;
|
|
/* 0250CCFC */ cpu->r[12] = cpu->r[12] + 0xFFFFE8C0u;
|
|
/* 0250CD00 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 0250CD00 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0250CD04 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0250CD04 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0250CD08: ; // 0x250cd08
|
|
/* 0250CD08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0250CD0C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CD0C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250CD0C */ if (_t13) goto L_0250CD10; else goto L_0250CD18;
|
|
L_0250CD10: ; // 0x250cd10
|
|
/* 0250CD10 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250CD14 */ goto L_0250CD50;
|
|
L_0250CD18: ; // 0x250cd18
|
|
/* 0250CD18 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0250CD1C */ _t14 = cpu->r[8] + 0xFFFFDA34u;
|
|
/* 0250CD1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250CD1C */ cpu->r[8] = _t14;
|
|
/* 0250CD20 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0250CD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250CD28 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE4u;
|
|
/* 0250CD2C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CD2C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0250CD2C */ if (_t16) goto L_0250CD30; else goto L_0250CD44;
|
|
L_0250CD30: ; // 0x250cd30
|
|
/* 0250CD30 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250CD34 */ cpu->r[9] = 0x00000001u;
|
|
/* 0250CD38 */ cpu->r[10] = cpu->r[10] + 0xFFFFE820u;
|
|
/* 0250CD3C */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 0250CD3C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0250CD40 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0250CD40 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_0250CD44: ; // 0x250cd44
|
|
/* 0250CD44 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0250CD48 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0250CD4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0250CD50: ; // 0x250cd50
|
|
/* 0250CD50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0250CD54 */ return;
|
|
}
|
|
|
|
// fn_0250CD58 @ 0x250cd58
|
|
void Gambit_fn_0250CD58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250CD58: ; // 0x250cd58
|
|
/* 0250CD58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250CD5C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CD5C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250CD5C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250CD5C */ goto L_0250CD60;
|
|
L_0250CD60: ; // 0x250cd60
|
|
/* 0250CD60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250CD60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250CD64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CD64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250CD64 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250CD64 */ goto L_0250CD68;
|
|
L_0250CD68: ; // 0x250cd68
|
|
/* 0250CD68 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250CD6C @ 0x250cd6c
|
|
void Gambit_fn_0250CD6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0250CD6C: ; // 0x250cd6c
|
|
/* 0250CD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250CD70 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CD70 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0250CD70 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250CD70 */ goto L_0250CD74;
|
|
L_0250CD74: ; // 0x250cd74
|
|
/* 0250CD74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0250CD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250CD78 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CD78 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250CD78 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0250CD78 */ goto L_0250CD7C;
|
|
L_0250CD7C: ; // 0x250cd7c
|
|
/* 0250CD7C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0250CD80 @ 0x250cd80
|
|
void Gambit_fn_0250CD80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_0250CD80: ; // 0x250cd80
|
|
/* 0250CD80 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0250CD80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250CD80 */ cpu->r[1] = _t0;
|
|
/* 0250CD84 */ /* nop */
|
|
/* 0250CD88 */ cpu->r[0] = cpu->lr;
|
|
/* 0250CD8C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0250CD8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0250CD90 */ cpu->r[29] = cpu->r[6];
|
|
/* 0250CD94 */ cpu->r[28] = cpu->r[3];
|
|
/* 0250CD98 */ cpu->r[30] = cpu->r[5];
|
|
/* 0250CD9C */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0250CD9C */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0250CDA0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0250CDA4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0250CDA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0250CDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250CDAC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0250CDAC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0250CDB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CDB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0250CDB0 */ if (_t6) goto L_0250CDF4; else goto L_0250CDB4;
|
|
L_0250CDB4: ; // 0x250cdb4
|
|
/* 0250CDB4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0250CDB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250CDB8 */ Gambit_fn_02826F20(cpu);
|
|
/* 0250CDBC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250CDBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0250CDC0 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0250CDC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0250CDC4 */ cpu->ctr = cpu->r[0];
|
|
/* 0250CDC8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0250CDCC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250CDD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250CDD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250CDD8 */ cpu->r[0] = cpu->r[27];
|
|
/* 0250CDDC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250CDDC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0250CDDC */ if (_t11) goto L_0250CDE4; else goto L_0250CDE0;
|
|
L_0250CDE0: ; // 0x250cde0
|
|
/* 0250CDE0 */ cpu->r[0] = 0x00000001u;
|
|
L_0250CDE4: ; // 0x250cde4
|
|
/* 0250CDE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250CDE8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CDE8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250CDE8 */ if (_t13) goto L_0250CDF4; else goto L_0250CDEC;
|
|
L_0250CDEC: ; // 0x250cdec
|
|
/* 0250CDEC */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0250CDEC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0250CDF0 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0250CDF0 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0250CDF4: ; // 0x250cdf4
|
|
/* 0250CDF4 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0250CDF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250CDF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250CDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0250CE00 */ cpu->r[12] = cpu->r[0];
|
|
/* 0250CE04 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250CE04 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0250CE04 */ if (_t18) goto L_0250CE08; else goto L_0250CE2C;
|
|
L_0250CE08: ; // 0x250ce08
|
|
/* 0250CE08 */ cpu->ctr = cpu->r[7];
|
|
/* 0250CE0C */ cpu->r[10] = 0x00000000u;
|
|
L_0250CE10: ; // 0x250ce10
|
|
/* 0250CE10 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0250CE10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0250CE14 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0250CE14 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0250CE18 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0250CE1C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0250CE1C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0250CE20 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0250CE24 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0250CE24 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0250CE28 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250CE28 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250CE28 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0250CE28 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0250CE28 */ if (_t25) goto L_0250CE10; else goto L_0250CE2C;
|
|
L_0250CE2C: ; // 0x250ce2c
|
|
/* 0250CE2C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0250CE2C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0250CE30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250CE34 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CE34 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0250CE34 */ if (_t28) goto L_0250CE78; else goto L_0250CE38;
|
|
L_0250CE38: ; // 0x250ce38
|
|
/* 0250CE38 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0250CE38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250CE3C */ Gambit_fn_02826F20(cpu);
|
|
/* 0250CE40 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250CE40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0250CE44 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0250CE44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0250CE48 */ cpu->ctr = cpu->r[0];
|
|
/* 0250CE4C */ cpu->r[5] = 0x00000004u;
|
|
/* 0250CE50 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250CE54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250CE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250CE5C */ cpu->r[11] = cpu->r[27];
|
|
/* 0250CE60 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250CE60 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250CE60 */ if (_t33) goto L_0250CE68; else goto L_0250CE64;
|
|
L_0250CE64: ; // 0x250ce64
|
|
/* 0250CE64 */ cpu->r[11] = 0x00000001u;
|
|
L_0250CE68: ; // 0x250ce68
|
|
/* 0250CE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250CE6C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CE6C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0250CE6C */ if (_t35) goto L_0250CE78; else goto L_0250CE70;
|
|
L_0250CE70: ; // 0x250ce70
|
|
/* 0250CE70 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0250CE70 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0250CE74 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0250CE74 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0250CE78: ; // 0x250ce78
|
|
/* 0250CE78 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0250CE78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250CE7C */ cpu->r[0] = 0x00000000u;
|
|
/* 0250CE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0250CE84 */ cpu->r[12] = cpu->r[0];
|
|
/* 0250CE88 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250CE88 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0250CE88 */ if (_t40) goto L_0250CE8C; else goto L_0250CEB0;
|
|
L_0250CE8C: ; // 0x250ce8c
|
|
/* 0250CE8C */ cpu->ctr = cpu->r[6];
|
|
/* 0250CE90 */ cpu->r[9] = 0x00000000u;
|
|
L_0250CE94: ; // 0x250ce94
|
|
/* 0250CE94 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0250CE94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0250CE98 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0250CE98 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0250CE9C */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0250CEA0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0250CEA0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0250CEA4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0250CEA8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0250CEA8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0250CEAC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250CEAC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250CEAC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0250CEAC */ _t47 = _t46 & 0x00000001u;
|
|
/* 0250CEAC */ if (_t47) goto L_0250CE94; else goto L_0250CEB0;
|
|
L_0250CEB0: ; // 0x250ceb0
|
|
/* 0250CEB0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0250CEB0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0250CEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250CEB8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CEB8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0250CEB8 */ if (_t50) goto L_0250CEFC; else goto L_0250CEBC;
|
|
L_0250CEBC: ; // 0x250cebc
|
|
/* 0250CEBC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0250CEBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0250CEC0 */ Gambit_fn_02826F20(cpu);
|
|
/* 0250CEC4 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250CEC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0250CEC8 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0250CEC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0250CECC */ cpu->ctr = cpu->r[0];
|
|
/* 0250CED0 */ cpu->r[5] = 0x00000004u;
|
|
/* 0250CED4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250CED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250CEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250CEE0 */ cpu->r[10] = cpu->r[27];
|
|
/* 0250CEE4 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250CEE4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0250CEE4 */ if (_t55) goto L_0250CEEC; else goto L_0250CEE8;
|
|
L_0250CEE8: ; // 0x250cee8
|
|
/* 0250CEE8 */ cpu->r[10] = 0x00000001u;
|
|
L_0250CEEC: ; // 0x250ceec
|
|
/* 0250CEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250CEF0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CEF0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0250CEF0 */ if (_t57) goto L_0250CEFC; else goto L_0250CEF4;
|
|
L_0250CEF4: ; // 0x250cef4
|
|
/* 0250CEF4 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0250CEF4 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0250CEF8 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0250CEF8 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0250CEFC: ; // 0x250cefc
|
|
/* 0250CEFC */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0250CEFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0250CF00 */ cpu->r[0] = 0x00000000u;
|
|
/* 0250CF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0250CF08 */ cpu->r[5] = cpu->r[0];
|
|
/* 0250CF0C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250CF0C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0250CF0C */ if (_t62) goto L_0250CF10; else goto L_0250CF34;
|
|
L_0250CF10: ; // 0x250cf10
|
|
/* 0250CF10 */ cpu->ctr = cpu->r[12];
|
|
/* 0250CF14 */ cpu->r[8] = 0x00000000u;
|
|
L_0250CF18: ; // 0x250cf18
|
|
/* 0250CF18 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0250CF18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0250CF1C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0250CF1C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0250CF20 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0250CF24 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0250CF24 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0250CF28 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0250CF2C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0250CF2C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0250CF30 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250CF30 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250CF30 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0250CF30 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0250CF30 */ if (_t69) goto L_0250CF18; else goto L_0250CF34;
|
|
L_0250CF34: ; // 0x250cf34
|
|
/* 0250CF34 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0250CF34 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0250CF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0250CF3C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CF3C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0250CF3C */ if (_t72) goto L_0250D018; else goto L_0250CF40;
|
|
L_0250CF40: ; // 0x250cf40
|
|
/* 0250CF40 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0250CF40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0250CF44 */ Gambit_fn_02826F20(cpu);
|
|
/* 0250CF48 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0250CF48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0250CF4C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0250CF4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0250CF50 */ cpu->ctr = cpu->r[12];
|
|
/* 0250CF54 */ cpu->r[5] = 0x00000004u;
|
|
/* 0250CF58 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0250CF5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250CF60 */ cpu->r[24] = cpu->r[3];
|
|
/* 0250CF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0250CF68 */ cpu->r[30] = cpu->r[25];
|
|
/* 0250CF6C */ cpu->r[7] = 0x00000000u;
|
|
/* 0250CF70 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250CF70 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0250CF70 */ if (_t77) goto L_0250CF78; else goto L_0250CF74;
|
|
L_0250CF74: ; // 0x250cf74
|
|
/* 0250CF74 */ cpu->r[30] = 0x00000001u;
|
|
L_0250CF78: ; // 0x250cf78
|
|
/* 0250CF78 */ cpu->r[31] = 0x10110000u;
|
|
/* 0250CF7C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0250CF80 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0250CF80 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0250CF84 */ cpu->r[23] = 0x00000018u;
|
|
L_0250CF88: ; // 0x250cf88
|
|
/* 0250CF88 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0250CF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250CF8C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CF8C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0250CF8C */ if (_t80) goto L_0250CFFC; else goto L_0250CF90;
|
|
L_0250CF90: ; // 0x250cf90
|
|
/* 0250CF90 */ cpu->r[26] = cpu->r[27];
|
|
/* 0250CF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0250CF94 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CF94 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0250CF94 */ if (_t82) goto L_0250CF98; else goto L_0250CFA8;
|
|
L_0250CF98: ; // 0x250cf98
|
|
/* 0250CF98 */ cpu->r[3] = 0x00000024u;
|
|
/* 0250CF9C */ Gambit_fn_02801A78(cpu);
|
|
/* 0250CFA0 */ cpu->r[26] = cpu->r[3];
|
|
/* 0250CFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0250CFA4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CFA4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0250CFA4 */ if (_t84) goto L_0250CFF0; else goto L_0250CFA8;
|
|
L_0250CFA8: ; // 0x250cfa8
|
|
/* 0250CFA8 */ cpu->r[11] = cpu->r[26];
|
|
/* 0250CFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250CFAC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CFAC */ _t86 = _t85 & 0x00000001u;
|
|
/* 0250CFAC */ if (_t86) goto L_0250CFB0; else goto L_0250CFC0;
|
|
L_0250CFB0: ; // 0x250cfb0
|
|
/* 0250CFB0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250CFB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250CFB8 */ cpu->r[11] = cpu->r[3];
|
|
/* 0250CFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0250CFBC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250CFBC */ _t88 = _t87 & 0x00000001u;
|
|
/* 0250CFBC */ if (_t88) goto L_0250CFDC; else goto L_0250CFC0;
|
|
L_0250CFC0: ; // 0x250cfc0
|
|
/* 0250CFC0 */ cpu->r[5] = 0x100C0000u;
|
|
/* 0250CFC4 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0250CFC4 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0250CFC8 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0250CFCC */ cpu->r[5] = cpu->r[5] + 0xFFFFE848u;
|
|
/* 0250CFD0 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0250CFD0 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0250CFD4 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0250CFD4 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0250CFD8 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0250CFD8 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0250CFDC: ; // 0x250cfdc
|
|
/* 0250CFDC */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250CFE0 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0250CFE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0250CFE4 */ cpu->r[6] = cpu->r[6] + 0xFFFFE860u;
|
|
/* 0250CFE8 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0250CFE8 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0250CFEC */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0250CFEC */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0250CFF0: ; // 0x250cff0
|
|
/* 0250CFF0 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250CFF4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE878u;
|
|
/* 0250CFF8 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0250CFF8 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0250CFFC: ; // 0x250cffc
|
|
/* 0250CFFC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0250CFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250D000 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0250D004 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D004 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0250D004 */ if (_t98) goto L_0250D008; else goto L_0250CF88;
|
|
L_0250D008: ; // 0x250d008
|
|
/* 0250D008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0250D00C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D00C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0250D00C */ if (_t100) goto L_0250D018; else goto L_0250D010;
|
|
L_0250D010: ; // 0x250d010
|
|
/* 0250D010 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0250D010 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0250D014 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0250D014 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0250D018: ; // 0x250d018
|
|
/* 0250D018 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0250D018 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0250D01C */ /* nop */
|
|
/* 0250D020 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0250D020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0250D024 */ cpu->lr = cpu->r[0];
|
|
/* 0250D028 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0250D02C */ return;
|
|
}
|
|
|
|
// fn_0250D030 @ 0x250d030
|
|
void Gambit_fn_0250D030(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_0250D030: ; // 0x250d030
|
|
/* 0250D030 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0250D030 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0250D034 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0250D034 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250D038 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0250D038 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250D03C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0250D040 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0250D040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0250D044 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250D044 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0250D044 */ if (_t5) goto L_0250D048; else goto L_0250D050;
|
|
L_0250D048: ; // 0x250d048
|
|
/* 0250D048 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250D04C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0250D050: ; // 0x250d050
|
|
/* 0250D050 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0250D050 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0250D054 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0250D054 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0250D058 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0250D058 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0250D05C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0250D05C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0250D060 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0250D060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0250D064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0250D068 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0250D068 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0250D06C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250D06C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250D06C */ if (_t13) goto L_0250D070; else goto L_0250D078;
|
|
L_0250D070: ; // 0x250d070
|
|
/* 0250D070 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250D074 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0250D078: ; // 0x250d078
|
|
/* 0250D078 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0250D078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250D07C */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0250D07C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0250D080 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0250D080 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250D084 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0250D084 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0250D088 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0250D088 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250D08C */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0250D08C */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0250D090 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0250D090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0250D094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0250D098 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0250D098 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250D09C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250D09C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0250D09C */ if (_t23) goto L_0250D0A0; else goto L_0250D0A8;
|
|
L_0250D0A0: ; // 0x250d0a0
|
|
/* 0250D0A0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0250D0A4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0250D0A8: ; // 0x250d0a8
|
|
/* 0250D0A8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0250D0A8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0250D0AC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0250D0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250D0B0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0250D0B0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0250D0B4 */ return;
|
|
}
|
|
|
|
// fn_0250D0B8 @ 0x250d0b8
|
|
void Gambit_fn_0250D0B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0250D0B8: ; // 0x250d0b8
|
|
/* 0250D0B8 */ cpu->r[0] = cpu->lr;
|
|
/* 0250D0BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0250D0C0 */ cpu->r[7] = 0x02510000u;
|
|
/* 0250D0C4 */ cpu->r[6] = 0x02510000u;
|
|
/* 0250D0C8 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0250D0CC */ cpu->r[7] = cpu->r[7] + 0xFFFFC9C8u;
|
|
/* 0250D0D0 */ cpu->r[6] = cpu->r[6] + 0xFFFFC9C8u;
|
|
/* 0250D0D4 */ cpu->r[10] = cpu->r[10] + 0x00006758u;
|
|
/* 0250D0D8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0250D0D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0250D0DC */ cpu->r[0] = 0x101C0000u;
|
|
/* 0250D0E0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250D0E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0250D0E0 */ cpu->r[1] = _t1;
|
|
/* 0250D0E4 */ cpu->r[0] = cpu->r[0] + 0x00006754u;
|
|
/* 0250D0E8 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0250D0E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0250D0EC */ cpu->r[8] = 0x00000000u;
|
|
/* 0250D0F0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D0F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250D0F4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D0F8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D0F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0250D0FC */ Gambit_fn_02791B10(cpu);
|
|
/* 0250D100 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250D104 */ cpu->lr = cpu->r[0];
|
|
/* 0250D108 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250D10C */ return;
|
|
}
|
|
|
|
// fn_0250D0E0 @ 0x250d0e0
|
|
void Gambit_fn_0250D0E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0250D0E0: ; // 0x250d0e0
|
|
/* 0250D0E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0250D0E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250D0E0 */ cpu->r[1] = _t0;
|
|
/* 0250D0E4 */ cpu->r[0] = cpu->r[0] + 0x00006754u;
|
|
/* 0250D0E8 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0250D0E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0250D0EC */ cpu->r[8] = 0x00000000u;
|
|
/* 0250D0F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D0F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0250D0F4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D0F8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D0F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0250D0FC */ Gambit_fn_02791B10(cpu);
|
|
/* 0250D100 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250D104 */ cpu->lr = cpu->r[0];
|
|
/* 0250D108 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0250D10C */ return;
|
|
}
|
|
|
|
// fn_0250D110 @ 0x250d110
|
|
void Gambit_fn_0250D110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0250D110: ; // 0x250d110
|
|
/* 0250D110 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0250D110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250D110 */ cpu->r[1] = _t0;
|
|
/* 0250D114 */ cpu->r[0] = cpu->lr;
|
|
/* 0250D118 */ /* nop */
|
|
/* 0250D11C */ cpu->r[30] = cpu->r[5];
|
|
/* 0250D120 */ cpu->r[26] = cpu->r[3];
|
|
/* 0250D124 */ cpu->r[27] = cpu->r[7];
|
|
/* 0250D128 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250D12C */ cpu->r[31] = cpu->r[6];
|
|
/* 0250D130 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250D130 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0250D134 */ cpu->r[29] = cpu->r[4];
|
|
/* 0250D138 */ cpu->r[4] = cpu->r[27];
|
|
/* 0250D13C */ Gambit_fn_027DB318(cpu);
|
|
/* 0250D140 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 0250D140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0250D144 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D144 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0250D144 */ if (_t3) goto L_0250D1D8; else goto L_0250D148;
|
|
L_0250D148: ; // 0x250d148
|
|
/* 0250D148 */ cpu->r[5] = cpu->r[28];
|
|
/* 0250D14C */ cpu->r[4] = cpu->r[29];
|
|
/* 0250D150 */ cpu->r[3] = cpu->r[26];
|
|
/* 0250D154 */ Gambit_fn_0250D0B8(cpu);
|
|
/* 0250D158 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250D158 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250D15C */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 0250D15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250D160 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 0250D164 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0250D168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0250D16C */ cpu->r[25] = 0x00000000u;
|
|
/* 0250D170 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D170 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250D170 */ if (_t7) goto L_0250D1D8; else goto L_0250D174;
|
|
L_0250D174: ; // 0x250d174
|
|
/* 0250D174 */ cpu->r[24] = 0x101C0000u;
|
|
L_0250D178: ; // 0x250d178
|
|
/* 0250D178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0250D17C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D17C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250D17C */ if (_t9) goto L_0250D194; else goto L_0250D180;
|
|
L_0250D180: ; // 0x250d180
|
|
/* 0250D180 */ cpu->ctr = cpu->r[27];
|
|
/* 0250D184 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250D188 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D190 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D190 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0250D190 */ if (_t11) goto L_0250D1C4; else goto L_0250D194;
|
|
L_0250D194: ; // 0x250d194
|
|
/* 0250D194 */ _t12 = cpu->r[24] + 0x00006754u;
|
|
/* 0250D194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0250D198 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 0250D19C */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 0250D19C */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0250D1A0 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0250D1A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0250D1A4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250D1A8 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0250D1A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0250D1AC */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250D1B0 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 0250D1B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0250D1B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250D1B8 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 0250D1B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0250D1BC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0250D1C0 */ Gambit_fn_02509EC4(cpu);
|
|
L_0250D1C4: ; // 0x250d1c4
|
|
/* 0250D1C4 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0250D1C8 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0250D1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0250D1CC */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0250D1D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0250D1D4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D1D4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0250D1D4 */ if (_t20) goto L_0250D1D8; else goto L_0250D178;
|
|
L_0250D1D8: ; // 0x250d1d8
|
|
/* 0250D1D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0250D1DC */ /* nop */
|
|
/* 0250D1E0 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250D1E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0250D1E4 */ cpu->lr = cpu->r[0];
|
|
/* 0250D1E8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0250D1EC */ return;
|
|
}
|
|
|
|
// fn_0250D1F4 @ 0x250d1f4
|
|
void Gambit_fn_0250D1F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206;
|
|
|
|
L_0250D1F4: ; // 0x250d1f4
|
|
/* 0250D1F4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 0250D1F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250D1F4 */ cpu->r[1] = _t0;
|
|
/* 0250D1F8 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 0250D1F8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0250D1FC */ /* nop */
|
|
/* 0250D200 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 0250D200 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0250D204 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 0250D204 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250D208 */ /* nop */
|
|
/* 0250D20C */ cpu->r[29] = cpu->r[3];
|
|
/* 0250D20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0250D210 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D210 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0250D210 */ if (_t5) goto L_0250D214; else goto L_0250D224;
|
|
L_0250D214: ; // 0x250d214
|
|
/* 0250D214 */ cpu->r[3] = 0x000002C4u;
|
|
/* 0250D218 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D21C */ cpu->r[29] = cpu->r[3];
|
|
/* 0250D21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0250D220 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D220 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250D220 */ if (_t7) goto L_0250D768; else goto L_0250D224;
|
|
L_0250D224: ; // 0x250d224
|
|
/* 0250D224 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250D228 */ Gambit_fn_024F6F3C(cpu);
|
|
/* 0250D22C */ cpu->r[7] = 0x100C0000u;
|
|
/* 0250D230 */ cpu->r[31] = cpu->r[29] + 0x000001B0u;
|
|
/* 0250D230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250D234 */ cpu->r[7] = cpu->r[7] + 0xFFFFF550u;
|
|
/* 0250D238 */ cpu->r[28] = 0x00000000u;
|
|
/* 0250D23C */ _t8 = cpu->r[29] + 0x00000004u;
|
|
/* 0250D23C */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0250D240 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D240 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0250D240 */ if (_t10) goto L_0250D244; else goto L_0250D254;
|
|
L_0250D244: ; // 0x250d244
|
|
/* 0250D244 */ cpu->r[3] = 0x00000038u;
|
|
/* 0250D248 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D24C */ cpu->r[31] = cpu->r[3];
|
|
/* 0250D24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250D250 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D250 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0250D250 */ if (_t12) goto L_0250D284; else goto L_0250D254;
|
|
L_0250D254: ; // 0x250d254
|
|
/* 0250D254 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250D258 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0250D25C */ cpu->r[0] = 0x10040000u;
|
|
/* 0250D260 */ _t13 = cpu->r[31] + 0x00000030u;
|
|
/* 0250D260 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 0250D264 */ cpu->r[0] = cpu->r[0] + 0xFFFFC994u;
|
|
/* 0250D268 */ _t14 = cpu->r[31] + 0x00000034u;
|
|
/* 0250D268 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0250D26C */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 0250D26C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0250D270 */ _t16 = cpu->r[31] + 0x00000024u;
|
|
/* 0250D270 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 0250D274 */ _t17 = cpu->r[31] + 0x00000028u;
|
|
/* 0250D274 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 0250D278 */ _t18 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0250D278 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 0250D27C */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250D27C */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0250D280 */ _t20 = cpu->r[31] + 0x00000020u;
|
|
/* 0250D280 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
L_0250D284: ; // 0x250d284
|
|
/* 0250D284 */ cpu->r[9] = 0x101E0000u;
|
|
/* 0250D288 */ cpu->r[10] = 0x00000003u;
|
|
/* 0250D28C */ _t21 = cpu->r[29] + 0x000001E8u;
|
|
/* 0250D28C */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 0250D290 */ cpu->r[9] = cpu->r[9] + 0xFFFF96F8u;
|
|
/* 0250D294 */ cpu->ctr = cpu->r[10];
|
|
/* 0250D298 */ cpu->r[8] = cpu->r[29] + 0x000001ECu;
|
|
/* 0250D29C */ _t22 = cpu->r[29] + 0x000001ECu;
|
|
/* 0250D29C */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
L_0250D2A0: ; // 0x250d2a0
|
|
/* 0250D2A0 */ _t23 = cpu->r[9] + 0x00000004u;
|
|
/* 0250D2A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250D2A4 */ _t24 = cpu->r[8] + 0x00000004u;
|
|
/* 0250D2A4 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0250D2A8 */ _t25 = cpu->r[9] + 0x00000008u;
|
|
/* 0250D2A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0250D2AC */ _t26 = cpu->r[8] + 0x00000008u;
|
|
/* 0250D2AC */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 0250D2B0 */ _t27 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0250D2B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0250D2B4 */ _t28 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0250D2B4 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 0250D2B8 */ _t29 = cpu->r[9] + 0x00000010u;
|
|
/* 0250D2B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0250D2B8 */ cpu->r[9] = _t29;
|
|
/* 0250D2BC */ _t30 = cpu->r[8] + 0x00000010u;
|
|
/* 0250D2BC */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 0250D2BC */ cpu->r[8] = _t30;
|
|
/* 0250D2C0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250D2C0 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250D2C0 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 0250D2C0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250D2C0 */ if (_t33) goto L_0250D2A0; else goto L_0250D2C4;
|
|
L_0250D2C4: ; // 0x250d2c4
|
|
/* 0250D2C4 */ _t34 = cpu->r[29] + 0x00000238u;
|
|
/* 0250D2C4 */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 0250D2C8 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0250D2CC */ _t35 = cpu->r[29] + 0x00000234u;
|
|
/* 0250D2CC */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 0250D2D0 */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250D2D4 */ _t36 = cpu->r[29] + 0x00000230u;
|
|
/* 0250D2D4 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[8]);
|
|
/* 0250D2D8 */ _t37 = cpu->r[11] + 0xFFFFEFB0u;
|
|
/* 0250D2D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0250D2DC */ _t38 = cpu->r[29] + 0x0000022Cu;
|
|
/* 0250D2DC */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[8]);
|
|
/* 0250D2E0 */ cpu->r[3] = cpu->r[29] + 0x00000240u;
|
|
/* 0250D2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D2E4 */ _t39 = cpu->r[29] + 0x00000232u;
|
|
/* 0250D2E4 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[8]);
|
|
/* 0250D2E8 */ _t40 = cpu->r[29] + 0x00000220u;
|
|
/* 0250D2E8 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[8]);
|
|
/* 0250D2EC */ _t41 = cpu->r[29] + 0x0000022Au;
|
|
/* 0250D2EC */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[8]);
|
|
/* 0250D2F0 */ _t42 = cpu->r[29] + 0x00000226u;
|
|
/* 0250D2F0 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[8]);
|
|
/* 0250D2F4 */ _t43 = cpu->r[29] + 0x00000222u;
|
|
/* 0250D2F4 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[8]);
|
|
/* 0250D2F8 */ _t44 = cpu->r[29] + 0x00000224u;
|
|
/* 0250D2F8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[8]);
|
|
/* 0250D2FC */ _t45 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0250D2FC */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
|
|
/* 0250D300 */ _t46 = cpu->r[29] + 0x00000228u;
|
|
/* 0250D300 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[8]);
|
|
/* 0250D304 */ _t47 = cpu->r[29] + 0x0000022Eu;
|
|
/* 0250D304 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[8]);
|
|
/* 0250D308 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D308 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0250D308 */ if (_t49) goto L_0250D30C; else goto L_0250D31C;
|
|
L_0250D30C: ; // 0x250d30c
|
|
/* 0250D30C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D310 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D318 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D318 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0250D318 */ if (_t51) goto L_0250D340; else goto L_0250D31C;
|
|
L_0250D31C: ; // 0x250d31c
|
|
/* 0250D31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D320 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D320 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0250D320 */ if (_t53) goto L_0250D324; else goto L_0250D334;
|
|
L_0250D324: ; // 0x250d324
|
|
/* 0250D324 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D328 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D330 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D330 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0250D330 */ if (_t55) goto L_0250D340; else goto L_0250D334;
|
|
L_0250D334: ; // 0x250d334
|
|
/* 0250D334 */ _t56 = cpu->r[3] + 0x00000004u;
|
|
/* 0250D334 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[31]);
|
|
/* 0250D338 */ _t57 = cpu->r[3] + 0x00000000u;
|
|
/* 0250D338 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[31]);
|
|
/* 0250D33C */ _t58 = cpu->r[3] + 0x00000008u;
|
|
/* 0250D33C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[31]);
|
|
L_0250D340: ; // 0x250d340
|
|
/* 0250D340 */ cpu->r[6] = 0x00000003u;
|
|
/* 0250D344 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0250D348 */ cpu->r[5] = cpu->r[29] + 0x00000248u;
|
|
/* 0250D34C */ cpu->ctr = cpu->r[6];
|
|
/* 0250D350 */ cpu->r[12] = cpu->r[12] + 0xFFFF96D4u;
|
|
L_0250D354: ; // 0x250d354
|
|
/* 0250D354 */ _t59 = cpu->r[12] + 0x00000004u;
|
|
/* 0250D354 */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0250D358 */ _t60 = cpu->r[5] + 0x00000004u;
|
|
/* 0250D358 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 0250D35C */ _t61 = cpu->r[12] + 0x00000008u;
|
|
/* 0250D35C */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0250D360 */ _t62 = cpu->r[5] + 0x00000008u;
|
|
/* 0250D360 */ rbrew_write32(cpu->mem, _t62, cpu->r[8]);
|
|
/* 0250D364 */ _t63 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0250D364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0250D364 */ cpu->r[12] = _t63;
|
|
/* 0250D368 */ _t64 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0250D368 */ rbrew_write32(cpu->mem, _t64, cpu->r[9]);
|
|
/* 0250D368 */ cpu->r[5] = _t64;
|
|
/* 0250D36C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0250D36C */ _t65 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0250D36C */ _t66 = _t65 >> (0x00000002u & 31u);
|
|
/* 0250D36C */ _t67 = _t66 & 0x00000001u;
|
|
/* 0250D36C */ if (_t67) goto L_0250D354; else goto L_0250D370;
|
|
L_0250D370: ; // 0x250d370
|
|
/* 0250D370 */ _t68 = cpu->r[29] + 0x00000290u;
|
|
/* 0250D370 */ rbrew_write32(cpu->mem, _t68, cpu->r[28]);
|
|
/* 0250D374 */ cpu->r[31] = 0x100C0000u;
|
|
/* 0250D378 */ _t69 = cpu->r[29] + 0x0000028Cu;
|
|
/* 0250D378 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[28]);
|
|
/* 0250D37C */ cpu->r[3] = cpu->r[29] + 0x00000294u;
|
|
/* 0250D37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D380 */ _t70 = cpu->r[29] + 0x00000274u;
|
|
/* 0250D380 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[31]);
|
|
/* 0250D384 */ cpu->r[31] = cpu->r[31] + 0xFFFFF0D8u;
|
|
/* 0250D388 */ _t71 = cpu->r[29] + 0x0000028Eu;
|
|
/* 0250D388 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[28]);
|
|
/* 0250D38C */ _t72 = cpu->r[29] + 0x00000288u;
|
|
/* 0250D38C */ rbrew_write32(cpu->mem, _t72, cpu->r[28]);
|
|
/* 0250D390 */ _t73 = cpu->r[29] + 0x0000027Cu;
|
|
/* 0250D390 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[31]);
|
|
/* 0250D394 */ _t74 = cpu->r[29] + 0x00000284u;
|
|
/* 0250D394 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[28]);
|
|
/* 0250D398 */ _t75 = cpu->r[29] + 0x00000280u;
|
|
/* 0250D398 */ rbrew_write32(cpu->mem, _t75, cpu->r[28]);
|
|
/* 0250D39C */ _t76 = cpu->r[29] + 0x00000278u;
|
|
/* 0250D39C */ rbrew_write_f32(cpu->mem, _t76, cpu->f[31]);
|
|
/* 0250D3A0 */ _t77 = cpu->r[29] + 0x0000028Fu;
|
|
/* 0250D3A0 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[28]);
|
|
/* 0250D3A4 */ _t78 = cpu->r[29] + 0x00000270u;
|
|
/* 0250D3A4 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[28]);
|
|
/* 0250D3A8 */ _t79 = cpu->r[29] + 0x0000028Du;
|
|
/* 0250D3A8 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[28]);
|
|
/* 0250D3AC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D3AC */ _t81 = _t80 & 0x00000001u;
|
|
/* 0250D3AC */ if (_t81) goto L_0250D3B0; else goto L_0250D3C0;
|
|
L_0250D3B0: ; // 0x250d3b0
|
|
/* 0250D3B0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D3B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D3BC */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D3BC */ _t83 = _t82 & 0x00000001u;
|
|
/* 0250D3BC */ if (_t83) goto L_0250D3CC; else goto L_0250D3C0;
|
|
L_0250D3C0: ; // 0x250d3c0
|
|
/* 0250D3C0 */ _t84 = cpu->r[3] + 0x00000000u;
|
|
/* 0250D3C0 */ rbrew_write32(cpu->mem, _t84, cpu->r[28]);
|
|
/* 0250D3C4 */ _t85 = cpu->r[3] + 0x00000008u;
|
|
/* 0250D3C4 */ rbrew_write32(cpu->mem, _t85, cpu->r[31]);
|
|
/* 0250D3C8 */ _t86 = cpu->r[3] + 0x00000004u;
|
|
/* 0250D3C8 */ rbrew_write32(cpu->mem, _t86, cpu->r[28]);
|
|
L_0250D3CC: ; // 0x250d3cc
|
|
/* 0250D3CC */ cpu->r[30] = 0x100C0000u;
|
|
/* 0250D3D0 */ cpu->r[30] = cpu->r[30] + 0xFFFFF0E8u;
|
|
/* 0250D3D4 */ cpu->r[3] = cpu->r[29] + 0x000002A0u;
|
|
/* 0250D3D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D3D8 */ _t87 = cpu->r[29] + 0x0000029Cu;
|
|
/* 0250D3D8 */ rbrew_write32(cpu->mem, _t87, cpu->r[30]);
|
|
/* 0250D3DC */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D3DC */ _t89 = _t88 & 0x00000001u;
|
|
/* 0250D3DC */ if (_t89) goto L_0250D3E0; else goto L_0250D3F0;
|
|
L_0250D3E0: ; // 0x250d3e0
|
|
/* 0250D3E0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D3E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D3E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0250D3EC */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D3EC */ _t91 = _t90 & 0x00000001u;
|
|
/* 0250D3EC */ if (_t91) goto L_0250D3FC; else goto L_0250D3F0;
|
|
L_0250D3F0: ; // 0x250d3f0
|
|
/* 0250D3F0 */ _t92 = cpu->r[3] + 0x00000000u;
|
|
/* 0250D3F0 */ rbrew_write32(cpu->mem, _t92, cpu->r[28]);
|
|
/* 0250D3F4 */ _t93 = cpu->r[3] + 0x00000008u;
|
|
/* 0250D3F4 */ rbrew_write32(cpu->mem, _t93, cpu->r[31]);
|
|
/* 0250D3F8 */ _t94 = cpu->r[3] + 0x00000004u;
|
|
/* 0250D3F8 */ rbrew_write32(cpu->mem, _t94, cpu->r[28]);
|
|
L_0250D3FC: ; // 0x250d3fc
|
|
/* 0250D3FC */ _t95 = cpu->r[29] + 0x000002ACu;
|
|
/* 0250D3FC */ rbrew_write32(cpu->mem, _t95, cpu->r[28]);
|
|
/* 0250D400 */ cpu->r[8] = 0x101C0000u;
|
|
/* 0250D404 */ _t96 = cpu->r[29] + 0x000002A8u;
|
|
/* 0250D404 */ rbrew_write32(cpu->mem, _t96, cpu->r[30]);
|
|
/* 0250D408 */ _t97 = cpu->r[8] + 0x00007230u;
|
|
/* 0250D408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0250D40C */ cpu->r[11] = 0x00000001u;
|
|
/* 0250D410 */ _t98 = cpu->r[29] + 0x000002B8u;
|
|
/* 0250D410 */ rbrew_write32(cpu->mem, _t98, cpu->r[28]);
|
|
/* 0250D414 */ /* nop */
|
|
/* 0250D418 */ _t99 = cpu->r[29] + 0x000002BCu;
|
|
/* 0250D418 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[31]);
|
|
/* 0250D41C */ cpu->r[10] = 0x00000003u;
|
|
/* 0250D420 */ _t100 = cpu->r[29] + 0x000002B0u;
|
|
/* 0250D420 */ rbrew_write32(cpu->mem, _t100, cpu->r[0]);
|
|
/* 0250D424 */ cpu->r[4] = cpu->r[29];
|
|
/* 0250D428 */ _t101 = cpu->r[29] + 0x000002B4u;
|
|
/* 0250D428 */ rbrew_write32(cpu->mem, _t101, cpu->r[28]);
|
|
/* 0250D42C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D430 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 0250D434 */ _t102 = cpu->r[29] + 0x000002C0u;
|
|
/* 0250D434 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[28]);
|
|
/* 0250D438 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250D43C */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D43C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[10]);
|
|
/* 0250D440 */ Gambit_fn_02511DB0(cpu);
|
|
/* 0250D444 */ cpu->r[4] = cpu->r[29] + 0x000001B0u;
|
|
/* 0250D448 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250D44C */ Gambit_fn_02000834(cpu);
|
|
/* 0250D450 */ cpu->r[12] = 0x100C0000u;
|
|
/* 0250D454 */ cpu->r[27] = 0x02510000u;
|
|
/* 0250D458 */ cpu->r[12] = cpu->r[12] + 0xFFFFF21Cu;
|
|
/* 0250D45C */ cpu->r[25] = 0x100C0000u;
|
|
/* 0250D460 */ cpu->r[27] = cpu->r[27] + 0x000016D8u;
|
|
/* 0250D464 */ cpu->r[25] = cpu->r[25] + 0xFFFFEFC8u;
|
|
/* 0250D468 */ cpu->ctr = cpu->r[27];
|
|
/* 0250D46C */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D46C */ rbrew_write32(cpu->mem, _t104, cpu->r[25]);
|
|
/* 0250D470 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D470 */ rbrew_write32(cpu->mem, _t105, cpu->r[12]);
|
|
/* 0250D474 */ _t106 = cpu->r[29] + 0x000001C8u;
|
|
/* 0250D474 */ cpu->r[24] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0250D478 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D47C */ _t107 = cpu->r[24] + 0x00000000u;
|
|
/* 0250D47C */ cpu->r[26] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0250D480 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D484 */ cpu->r[31] = 0x10110000u;
|
|
/* 0250D488 */ _t108 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D488 */ cpu->r[6] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0250D48C */ _t109 = cpu->r[31] + 0x00007399u;
|
|
/* 0250D48C */ cpu->r[31] = rbrew_read8(cpu->mem, _t109);
|
|
/* 0250D490 */ _t110 = cpu->r[6] + 0x00000000u;
|
|
/* 0250D490 */ cpu->r[0] = rbrew_read8(cpu->mem, _t110);
|
|
/* 0250D494 */ cpu->r[30] = 0x00000000u;
|
|
/* 0250D498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0250D49C */ cpu->r[8] = 0x00080000u;
|
|
/* 0250D4A0 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D4A0 */ _t112 = _t111 & 0x00000001u;
|
|
/* 0250D4A0 */ if (_t112) goto L_0250D4C8; else goto L_0250D4A4;
|
|
L_0250D4A4: ; // 0x250d4a4
|
|
/* 0250D4A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0250D4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0250D4AC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0250D4B0 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250D4B0 */ _t114 = _t113 & 0x00000001u;
|
|
/* 0250D4B0 */ if (_t114) goto L_0250D4C4; else goto L_0250D4B4;
|
|
L_0250D4B4: ; // 0x250d4b4
|
|
/* 0250D4B4 */ _t115 = cpu->r[6] + 0x00000000u;
|
|
/* 0250D4B4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t115);
|
|
/* 0250D4B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0250D4BC */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D4BC */ _t117 = _t116 & 0x00000001u;
|
|
/* 0250D4BC */ if (_t117) goto L_0250D4C0; else goto L_0250D4A4;
|
|
L_0250D4C0: ; // 0x250d4c0
|
|
/* 0250D4C0 */ goto L_0250D4C8;
|
|
L_0250D4C4: ; // 0x250d4c4
|
|
/* 0250D4C4 */ cpu->r[30] = 0x00000000u;
|
|
L_0250D4C8: ; // 0x250d4c8
|
|
/* 0250D4C8 */ _t118 = cpu->r[24] + 0x00000008u;
|
|
/* 0250D4C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0250D4CC */ _t119 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D4CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0250D4D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0250D4D4 */ _t120 = cpu->r[7] + 0x00000014u;
|
|
/* 0250D4D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0250D4D8 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250D4D8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 0250D4D8 */ if (_t122) goto L_0250D4E0; else goto L_0250D4DC;
|
|
L_0250D4DC: ; // 0x250d4dc
|
|
/* 0250D4DC */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0250D4E0: ; // 0x250d4e0
|
|
/* 0250D4E0 */ cpu->ctr = cpu->r[10];
|
|
/* 0250D4E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D4E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D4EC */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D4EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0250D4F0 */ cpu->r[3] = cpu->r[26];
|
|
/* 0250D4F4 */ cpu->r[5] = cpu->r[30];
|
|
/* 0250D4F8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250D4FC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0250D500 */ _t124 = cpu->r[26] + cpu->r[30];
|
|
/* 0250D500 */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[31]);
|
|
/* 0250D504 */ cpu->r[0] = 0x02510000u;
|
|
/* 0250D508 */ _t125 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D508 */ rbrew_write16(cpu->mem, _t125, (uint16_t)cpu->r[28]);
|
|
/* 0250D50C */ cpu->r[0] = cpu->r[0] + 0x000006C0u;
|
|
/* 0250D510 */ _t126 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D510 */ rbrew_write16(cpu->mem, _t126, (uint16_t)cpu->r[28]);
|
|
/* 0250D514 */ cpu->r[9] = 0x00000000u;
|
|
/* 0250D518 */ _t127 = cpu->r[1] + 0x00000024u;
|
|
/* 0250D518 */ rbrew_write16(cpu->mem, _t127, (uint16_t)cpu->r[28]);
|
|
/* 0250D51C */ cpu->r[7] = 0x02510000u;
|
|
/* 0250D520 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D520 */ rbrew_write8(cpu->mem, _t128, (uint8_t)cpu->r[9]);
|
|
/* 0250D524 */ _t129 = cpu->r[1] + 0x00000018u;
|
|
/* 0250D524 */ rbrew_write32(cpu->mem, _t129, cpu->r[0]);
|
|
/* 0250D528 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0250D52C */ cpu->r[7] = cpu->r[7] + 0x000007B8u;
|
|
/* 0250D530 */ _t130 = cpu->r[1] + 0x00000016u;
|
|
/* 0250D530 */ rbrew_write16(cpu->mem, _t130, (uint16_t)cpu->r[11]);
|
|
/* 0250D534 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0250D538 */ _t131 = cpu->r[1] + 0x00000020u;
|
|
/* 0250D538 */ rbrew_write32(cpu->mem, _t131, cpu->r[7]);
|
|
/* 0250D53C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D540 */ _t132 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0250D540 */ rbrew_write16(cpu->mem, _t132, (uint16_t)cpu->r[11]);
|
|
/* 0250D544 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D548 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0250D54C */ _t133 = cpu->r[1] + 0x00000026u;
|
|
/* 0250D54C */ rbrew_write16(cpu->mem, _t133, (uint16_t)cpu->r[28]);
|
|
/* 0250D550 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 0250D554 */ _t134 = cpu->r[1] + 0x00000028u;
|
|
/* 0250D554 */ rbrew_write32(cpu->mem, _t134, cpu->r[28]);
|
|
/* 0250D558 */ Gambit_fn_02512060(cpu);
|
|
/* 0250D55C */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250D560 */ _t135 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D560 */ rbrew_write32(cpu->mem, _t135, cpu->r[25]);
|
|
/* 0250D564 */ cpu->r[0] = cpu->r[0] + 0xFFFFF22Cu;
|
|
/* 0250D568 */ _t136 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D568 */ rbrew_write32(cpu->mem, _t136, cpu->r[0]);
|
|
/* 0250D56C */ _t137 = cpu->r[29] + 0x000001C4u;
|
|
/* 0250D56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0250D570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0250D574 */ _t138 = cpu->r[29] + 0x000001C8u;
|
|
/* 0250D574 */ cpu->r[26] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0250D578 */ _t139 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250D578 */ _t140 = _t139 & 0x00000001u;
|
|
/* 0250D578 */ if (_t140) goto L_0250D57C; else goto L_0250D580;
|
|
L_0250D57C: ; // 0x250d57c
|
|
/* 0250D57C */ cpu->r[26] = cpu->r[26] + 0x00000024u;
|
|
L_0250D580: ; // 0x250d580
|
|
/* 0250D580 */ cpu->ctr = cpu->r[27];
|
|
/* 0250D584 */ _t141 = cpu->r[26] + 0x00000000u;
|
|
/* 0250D584 */ cpu->r[24] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0250D588 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D58C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D590 */ _t142 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D590 */ cpu->r[11] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0250D594 */ _t143 = cpu->r[11] + 0x00000000u;
|
|
/* 0250D594 */ cpu->r[0] = rbrew_read8(cpu->mem, _t143);
|
|
/* 0250D598 */ cpu->r[30] = 0x00000000u;
|
|
/* 0250D59C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0250D5A0 */ cpu->r[12] = 0x00080000u;
|
|
/* 0250D5A4 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D5A4 */ _t145 = _t144 & 0x00000001u;
|
|
/* 0250D5A4 */ if (_t145) goto L_0250D5CC; else goto L_0250D5A8;
|
|
L_0250D5A8: ; // 0x250d5a8
|
|
/* 0250D5A8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0250D5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0250D5B0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0250D5B4 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250D5B4 */ _t147 = _t146 & 0x00000001u;
|
|
/* 0250D5B4 */ if (_t147) goto L_0250D5C8; else goto L_0250D5B8;
|
|
L_0250D5B8: ; // 0x250d5b8
|
|
/* 0250D5B8 */ _t148 = cpu->r[11] + 0x00000000u;
|
|
/* 0250D5B8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t148);
|
|
/* 0250D5BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0250D5C0 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D5C0 */ _t150 = _t149 & 0x00000001u;
|
|
/* 0250D5C0 */ if (_t150) goto L_0250D5C4; else goto L_0250D5A8;
|
|
L_0250D5C4: ; // 0x250d5c4
|
|
/* 0250D5C4 */ goto L_0250D5CC;
|
|
L_0250D5C8: ; // 0x250d5c8
|
|
/* 0250D5C8 */ cpu->r[30] = 0x00000000u;
|
|
L_0250D5CC: ; // 0x250d5cc
|
|
/* 0250D5CC */ _t151 = cpu->r[26] + 0x00000008u;
|
|
/* 0250D5CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t151);
|
|
/* 0250D5D0 */ _t152 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D5D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t152);
|
|
/* 0250D5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 0250D5D8 */ _t153 = cpu->r[8] + 0x00000014u;
|
|
/* 0250D5D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t153);
|
|
/* 0250D5DC */ _t154 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250D5DC */ _t155 = _t154 & 0x00000001u;
|
|
/* 0250D5DC */ if (_t155) goto L_0250D5E4; else goto L_0250D5E0;
|
|
L_0250D5E0: ; // 0x250d5e0
|
|
/* 0250D5E0 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0250D5E4: ; // 0x250d5e4
|
|
/* 0250D5E4 */ cpu->ctr = cpu->r[9];
|
|
/* 0250D5E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D5EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D5F0 */ _t156 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D5F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t156);
|
|
/* 0250D5F4 */ cpu->r[3] = cpu->r[24];
|
|
/* 0250D5F8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0250D5FC */ cpu->r[6] = 0x00000000u;
|
|
/* 0250D600 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0250D604 */ _t157 = cpu->r[24] + cpu->r[30];
|
|
/* 0250D604 */ rbrew_write8(cpu->mem, _t157, (uint8_t)cpu->r[31]);
|
|
/* 0250D608 */ cpu->r[0] = 0x00000001u;
|
|
/* 0250D60C */ _t158 = cpu->r[1] + 0x00000028u;
|
|
/* 0250D60C */ rbrew_write32(cpu->mem, _t158, cpu->r[28]);
|
|
/* 0250D610 */ cpu->r[10] = 0x02510000u;
|
|
/* 0250D614 */ _t159 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D614 */ rbrew_write8(cpu->mem, _t159, (uint8_t)cpu->r[0]);
|
|
/* 0250D618 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0250D61C */ _t160 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D61C */ rbrew_write16(cpu->mem, _t160, (uint16_t)cpu->r[28]);
|
|
/* 0250D620 */ cpu->r[12] = 0x02510000u;
|
|
/* 0250D624 */ _t161 = cpu->r[1] + 0x00000024u;
|
|
/* 0250D624 */ rbrew_write16(cpu->mem, _t161, (uint16_t)cpu->r[28]);
|
|
/* 0250D628 */ _t162 = cpu->r[1] + 0x00000026u;
|
|
/* 0250D628 */ rbrew_write16(cpu->mem, _t162, (uint16_t)cpu->r[28]);
|
|
/* 0250D62C */ cpu->r[10] = cpu->r[10] + 0x000008B8u;
|
|
/* 0250D630 */ _t163 = cpu->r[1] + 0x00000016u;
|
|
/* 0250D630 */ rbrew_write16(cpu->mem, _t163, (uint16_t)cpu->r[0]);
|
|
/* 0250D634 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0250D638 */ _t164 = cpu->r[1] + 0x00000020u;
|
|
/* 0250D638 */ rbrew_write32(cpu->mem, _t164, cpu->r[10]);
|
|
/* 0250D63C */ cpu->r[12] = cpu->r[12] + 0x00000EC4u;
|
|
/* 0250D640 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D644 */ _t165 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D644 */ rbrew_write16(cpu->mem, _t165, (uint16_t)cpu->r[28]);
|
|
/* 0250D648 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 0250D64C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0250D650 */ _t166 = cpu->r[1] + 0x00000018u;
|
|
/* 0250D650 */ rbrew_write32(cpu->mem, _t166, cpu->r[12]);
|
|
/* 0250D654 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D658 */ _t167 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0250D658 */ rbrew_write16(cpu->mem, _t167, (uint16_t)cpu->r[0]);
|
|
/* 0250D65C */ Gambit_fn_02512060(cpu);
|
|
/* 0250D660 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250D664 */ _t168 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D664 */ rbrew_write32(cpu->mem, _t168, cpu->r[25]);
|
|
/* 0250D668 */ cpu->r[6] = cpu->r[6] + 0xFFFFF23Cu;
|
|
/* 0250D66C */ _t169 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D66C */ rbrew_write32(cpu->mem, _t169, cpu->r[6]);
|
|
/* 0250D670 */ _t170 = cpu->r[29] + 0x000001C4u;
|
|
/* 0250D670 */ cpu->r[7] = rbrew_read32(cpu->mem, _t170);
|
|
/* 0250D674 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 0250D678 */ _t171 = cpu->r[29] + 0x000001C8u;
|
|
/* 0250D678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0250D67C */ _t172 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250D67C */ _t173 = _t172 & 0x00000001u;
|
|
/* 0250D67C */ if (_t173) goto L_0250D680; else goto L_0250D684;
|
|
L_0250D680: ; // 0x250d680
|
|
/* 0250D680 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
L_0250D684: ; // 0x250d684
|
|
/* 0250D684 */ cpu->ctr = cpu->r[27];
|
|
/* 0250D688 */ _t174 = cpu->r[30] + 0x00000000u;
|
|
/* 0250D688 */ cpu->r[26] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0250D68C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D690 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D694 */ _t175 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D694 */ cpu->r[6] = rbrew_read32(cpu->mem, _t175);
|
|
/* 0250D698 */ _t176 = cpu->r[6] + 0x00000000u;
|
|
/* 0250D698 */ cpu->r[8] = rbrew_read8(cpu->mem, _t176);
|
|
/* 0250D69C */ cpu->r[27] = 0x00000000u;
|
|
/* 0250D6A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0250D6A4 */ cpu->r[8] = 0x00080000u;
|
|
/* 0250D6A8 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D6A8 */ _t178 = _t177 & 0x00000001u;
|
|
/* 0250D6A8 */ if (_t178) goto L_0250D6D0; else goto L_0250D6AC;
|
|
L_0250D6AC: ; // 0x250d6ac
|
|
/* 0250D6AC */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0250D6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[8]);
|
|
/* 0250D6B4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0250D6B8 */ _t179 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0250D6B8 */ _t180 = _t179 & 0x00000001u;
|
|
/* 0250D6B8 */ if (_t180) goto L_0250D6CC; else goto L_0250D6BC;
|
|
L_0250D6BC: ; // 0x250d6bc
|
|
/* 0250D6BC */ _t181 = cpu->r[6] + 0x00000000u;
|
|
/* 0250D6BC */ cpu->r[9] = rbrew_read8(cpu->mem, _t181);
|
|
/* 0250D6C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0250D6C4 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D6C4 */ _t183 = _t182 & 0x00000001u;
|
|
/* 0250D6C4 */ if (_t183) goto L_0250D6C8; else goto L_0250D6AC;
|
|
L_0250D6C8: ; // 0x250d6c8
|
|
/* 0250D6C8 */ goto L_0250D6D0;
|
|
L_0250D6CC: ; // 0x250d6cc
|
|
/* 0250D6CC */ cpu->r[27] = 0x00000000u;
|
|
L_0250D6D0: ; // 0x250d6d0
|
|
/* 0250D6D0 */ _t184 = cpu->r[30] + 0x00000008u;
|
|
/* 0250D6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t184);
|
|
/* 0250D6D4 */ _t185 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D6D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t185);
|
|
/* 0250D6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[12]);
|
|
/* 0250D6DC */ _t186 = cpu->r[10] + 0x00000014u;
|
|
/* 0250D6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 0250D6E0 */ _t187 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250D6E0 */ _t188 = _t187 & 0x00000001u;
|
|
/* 0250D6E0 */ if (_t188) goto L_0250D6E8; else goto L_0250D6E4;
|
|
L_0250D6E4: ; // 0x250d6e4
|
|
/* 0250D6E4 */ cpu->r[27] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0250D6E8: ; // 0x250d6e8
|
|
/* 0250D6E8 */ cpu->ctr = cpu->r[0];
|
|
/* 0250D6EC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D6F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D6F4 */ _t189 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D6F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t189);
|
|
/* 0250D6F8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0250D6FC */ cpu->r[5] = cpu->r[27];
|
|
/* 0250D700 */ cpu->r[3] = cpu->r[26];
|
|
/* 0250D704 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0250D708 */ _t190 = cpu->r[26] + cpu->r[27];
|
|
/* 0250D708 */ rbrew_write8(cpu->mem, _t190, (uint8_t)cpu->r[31]);
|
|
/* 0250D70C */ cpu->r[6] = 0x02510000u;
|
|
/* 0250D710 */ _t191 = cpu->r[1] + 0x00000024u;
|
|
/* 0250D710 */ rbrew_write16(cpu->mem, _t191, (uint16_t)cpu->r[28]);
|
|
/* 0250D714 */ cpu->r[6] = cpu->r[6] + 0x0000124Cu;
|
|
/* 0250D718 */ cpu->r[12] = 0x02510000u;
|
|
/* 0250D71C */ _t192 = cpu->r[1] + 0x00000026u;
|
|
/* 0250D71C */ rbrew_write16(cpu->mem, _t192, (uint16_t)cpu->r[28]);
|
|
/* 0250D720 */ cpu->r[12] = cpu->r[12] + 0x000011F8u;
|
|
/* 0250D724 */ _t193 = cpu->r[1] + 0x00000018u;
|
|
/* 0250D724 */ rbrew_write32(cpu->mem, _t193, cpu->r[6]);
|
|
/* 0250D728 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0250D72C */ _t194 = cpu->r[1] + 0x00000028u;
|
|
/* 0250D72C */ rbrew_write32(cpu->mem, _t194, cpu->r[28]);
|
|
/* 0250D730 */ cpu->r[31] = 0x00000002u;
|
|
/* 0250D734 */ _t195 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D734 */ rbrew_write16(cpu->mem, _t195, (uint16_t)cpu->r[28]);
|
|
/* 0250D738 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D73C */ _t196 = cpu->r[1] + 0x00000016u;
|
|
/* 0250D73C */ rbrew_write16(cpu->mem, _t196, (uint16_t)cpu->r[11]);
|
|
/* 0250D740 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0250D744 */ _t197 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0250D744 */ rbrew_write16(cpu->mem, _t197, (uint16_t)cpu->r[11]);
|
|
/* 0250D748 */ _t198 = cpu->r[1] + 0x00000020u;
|
|
/* 0250D748 */ rbrew_write32(cpu->mem, _t198, cpu->r[12]);
|
|
/* 0250D74C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0250D750 */ _t199 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D750 */ rbrew_write8(cpu->mem, _t199, (uint8_t)cpu->r[31]);
|
|
/* 0250D754 */ cpu->r[3] = cpu->r[29] + 0x000001B0u;
|
|
/* 0250D758 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D75C */ _t200 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D75C */ rbrew_write16(cpu->mem, _t200, (uint16_t)cpu->r[28]);
|
|
/* 0250D760 */ Gambit_fn_02512060(cpu);
|
|
/* 0250D764 */ _t201 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0250D764 */ rbrew_write32(cpu->mem, _t201, cpu->r[31]);
|
|
L_0250D768: ; // 0x250d768
|
|
/* 0250D768 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250D76C */ /* nop */
|
|
/* 0250D770 */ _t202 = cpu->r[1] + 0x00000058u;
|
|
/* 0250D770 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t202);
|
|
/* 0250D774 */ _t203 = cpu->r[1] + 0x00000050u;
|
|
/* 0250D774 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t203);
|
|
/* 0250D778 */ _t204 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250D778 */ _t205 = _t204 & 0x00000001u;
|
|
/* 0250D778 */ if (_t205) goto L_0250D77C; // else: addr-0 trap, fall-through
|
|
L_0250D77C: ; // 0x250d77c
|
|
/* 0250D77C */ _t206 = cpu->r[1] + 0x00000064u;
|
|
/* 0250D77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t206);
|
|
/* 0250D780 */ cpu->lr = cpu->r[0];
|
|
/* 0250D784 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0250D788 */ return;
|
|
}
|
|
|
|
// fn_0250D78C @ 0x250d78c
|
|
void Gambit_fn_0250D78C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0250D78C: ; // 0x250d78c
|
|
/* 0250D78C */ cpu->r[0] = cpu->lr;
|
|
/* 0250D790 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0250D790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250D790 */ cpu->r[1] = _t0;
|
|
/* 0250D794 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D794 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250D798 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D798 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250D79C */ cpu->r[30] = cpu->r[3];
|
|
/* 0250D7A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D7A4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250D7A8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D7A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250D7AC */ Gambit_fn_024F6710(cpu);
|
|
/* 0250D7B0 */ cpu->r[5] = cpu->r[3];
|
|
/* 0250D7B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250D7B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250D7BC */ Gambit_fn_024F4798(cpu);
|
|
/* 0250D7C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D7C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250D7C4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250D7C8 */ cpu->lr = cpu->r[0];
|
|
/* 0250D7CC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D7CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250D7D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0250D7D4 */ return;
|
|
}
|
|
|
|
// fn_0250D790 @ 0x250d790
|
|
void Gambit_fn_0250D790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0250D790: ; // 0x250d790
|
|
/* 0250D790 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0250D790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250D790 */ cpu->r[1] = _t0;
|
|
/* 0250D794 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D794 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0250D798 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D798 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0250D79C */ cpu->r[30] = cpu->r[3];
|
|
/* 0250D7A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D7A4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0250D7A8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D7A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0250D7AC */ Gambit_fn_024F6710(cpu);
|
|
/* 0250D7B0 */ cpu->r[5] = cpu->r[3];
|
|
/* 0250D7B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250D7B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0250D7BC */ Gambit_fn_024F4798(cpu);
|
|
/* 0250D7C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D7C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0250D7C4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0250D7C8 */ cpu->lr = cpu->r[0];
|
|
/* 0250D7CC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D7CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0250D7D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0250D7D4 */ return;
|
|
}
|
|
|
|
// fn_0250D7D8 @ 0x250d7d8
|
|
void Gambit_fn_0250D7D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164;
|
|
|
|
L_0250D7D8: ; // 0x250d7d8
|
|
/* 0250D7D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0250D7DC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0250D7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0250D7DC */ cpu->r[1] = _t0;
|
|
/* 0250D7E0 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 0250D7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0250D7E4 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0250D7E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0250D7E8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250D7E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0250D7EC */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0250D7EC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0250D7F0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250D7F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0250D7F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0250D7F8 */ cpu->r[3] = 0x00000034u;
|
|
/* 0250D7FC */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D800 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250D800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250D804 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D804 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0250D804 */ if (_t7) goto L_0250D870; else goto L_0250D808;
|
|
L_0250D808: ; // 0x250d808
|
|
/* 0250D808 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250D80C */ cpu->r[4] = 0x00000034u;
|
|
/* 0250D810 */ Gambit_fn_02C89380(cpu);
|
|
/* 0250D814 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 0250D814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250D818 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D818 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0250D818 */ if (_t9) goto L_0250D81C; else goto L_0250D82C;
|
|
L_0250D81C: ; // 0x250d81c
|
|
/* 0250D81C */ cpu->r[3] = 0x00000024u;
|
|
/* 0250D820 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D824 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250D824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250D828 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D828 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0250D828 */ if (_t11) goto L_0250D85C; else goto L_0250D82C;
|
|
L_0250D82C: ; // 0x250d82c
|
|
/* 0250D82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250D830 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D830 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0250D830 */ if (_t13) goto L_0250D834; else goto L_0250D83C;
|
|
L_0250D834: ; // 0x250d834
|
|
/* 0250D834 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D838 */ Gambit_fn_02801A78(cpu);
|
|
L_0250D83C: ; // 0x250d83c
|
|
/* 0250D83C */ cpu->r[9] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250D83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0250D840 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D840 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0250D840 */ if (_t15) goto L_0250D844; else goto L_0250D84C;
|
|
L_0250D844: ; // 0x250d844
|
|
/* 0250D844 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D848 */ Gambit_fn_02801A78(cpu);
|
|
L_0250D84C: ; // 0x250d84c
|
|
/* 0250D84C */ cpu->r[0] = cpu->r[30] + 0x00000018u;
|
|
/* 0250D84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250D850 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D850 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0250D850 */ if (_t17) goto L_0250D854; else goto L_0250D85C;
|
|
L_0250D854: ; // 0x250d854
|
|
/* 0250D854 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D858 */ Gambit_fn_02801A78(cpu);
|
|
L_0250D85C: ; // 0x250d85c
|
|
/* 0250D85C */ cpu->r[12] = cpu->r[31] + 0x00000004u;
|
|
/* 0250D860 */ cpu->r[0] = cpu->r[12] + 0x00000024u;
|
|
/* 0250D860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250D864 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D864 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0250D864 */ if (_t19) goto L_0250D868; else goto L_0250D870;
|
|
L_0250D868: ; // 0x250d868
|
|
/* 0250D868 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D86C */ Gambit_fn_02801A78(cpu);
|
|
L_0250D870: ; // 0x250d870
|
|
/* 0250D870 */ _t20 = cpu->r[29] + 0x00000004u;
|
|
/* 0250D870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0250D874 */ _t21 = cpu->r[29] + 0x000001E8u;
|
|
/* 0250D874 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 0250D878 */ _t22 = cpu->r[10] + 0x00000234u;
|
|
/* 0250D878 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0250D87C */ cpu->ctr = cpu->r[7];
|
|
/* 0250D880 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250D884 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D888 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250D88C */ cpu->r[5] = cpu->r[3];
|
|
/* 0250D890 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250D894 */ cpu->r[6] = cpu->r[6] + 0xFFFFF24Cu;
|
|
/* 0250D898 */ cpu->r[4] = cpu->r[29];
|
|
/* 0250D89C */ Gambit_fn_024F264C(cpu);
|
|
/* 0250D8A0 */ _t23 = cpu->r[29] + 0x000001E8u;
|
|
/* 0250D8A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0250D8A4 */ Gambit_fn_024F288C(cpu);
|
|
/* 0250D8A8 */ cpu->r[3] = 0x00000034u;
|
|
/* 0250D8AC */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D8B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0250D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0250D8B4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D8B4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0250D8B4 */ if (_t25) goto L_0250D920; else goto L_0250D8B8;
|
|
L_0250D8B8: ; // 0x250d8b8
|
|
/* 0250D8B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250D8BC */ cpu->r[4] = 0x00000034u;
|
|
/* 0250D8C0 */ Gambit_fn_02C89380(cpu);
|
|
/* 0250D8C4 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 0250D8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250D8C8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D8C8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0250D8C8 */ if (_t27) goto L_0250D8CC; else goto L_0250D8DC;
|
|
L_0250D8CC: ; // 0x250d8cc
|
|
/* 0250D8CC */ cpu->r[3] = 0x00000024u;
|
|
/* 0250D8D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0250D8D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0250D8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250D8D8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D8D8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0250D8D8 */ if (_t29) goto L_0250D90C; else goto L_0250D8DC;
|
|
L_0250D8DC: ; // 0x250d8dc
|
|
/* 0250D8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0250D8E0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D8E0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0250D8E0 */ if (_t31) goto L_0250D8E4; else goto L_0250D8EC;
|
|
L_0250D8E4: ; // 0x250d8e4
|
|
/* 0250D8E4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D8E8 */ Gambit_fn_02801A78(cpu);
|
|
L_0250D8EC: ; // 0x250d8ec
|
|
/* 0250D8EC */ cpu->r[10] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0250D8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0250D8F0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D8F0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0250D8F0 */ if (_t33) goto L_0250D8F4; else goto L_0250D8FC;
|
|
L_0250D8F4: ; // 0x250d8f4
|
|
/* 0250D8F4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D8F8 */ Gambit_fn_02801A78(cpu);
|
|
L_0250D8FC: ; // 0x250d8fc
|
|
/* 0250D8FC */ cpu->r[0] = cpu->r[30] + 0x00000018u;
|
|
/* 0250D8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250D900 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D900 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0250D900 */ if (_t35) goto L_0250D904; else goto L_0250D90C;
|
|
L_0250D904: ; // 0x250d904
|
|
/* 0250D904 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D908 */ Gambit_fn_02801A78(cpu);
|
|
L_0250D90C: ; // 0x250d90c
|
|
/* 0250D90C */ cpu->r[12] = cpu->r[31] + 0x00000004u;
|
|
/* 0250D910 */ cpu->r[0] = cpu->r[12] + 0x00000024u;
|
|
/* 0250D910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0250D914 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250D914 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0250D914 */ if (_t37) goto L_0250D918; else goto L_0250D920;
|
|
L_0250D918: ; // 0x250d918
|
|
/* 0250D918 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0250D91C */ Gambit_fn_02801A78(cpu);
|
|
L_0250D920: ; // 0x250d920
|
|
/* 0250D920 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0250D920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0250D924 */ _t39 = cpu->r[29] + 0x000001ECu;
|
|
/* 0250D924 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 0250D928 */ _t40 = cpu->r[9] + 0x00000234u;
|
|
/* 0250D928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0250D92C */ cpu->ctr = cpu->r[0];
|
|
/* 0250D930 */ cpu->r[3] = cpu->r[29];
|
|
/* 0250D934 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250D938 */ cpu->r[6] = 0x100C0000u;
|
|
/* 0250D93C */ cpu->r[5] = cpu->r[3];
|
|
/* 0250D940 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250D944 */ cpu->r[6] = cpu->r[6] + 0xFFFFF25Cu;
|
|
/* 0250D948 */ cpu->r[4] = cpu->r[29];
|
|
/* 0250D94C */ Gambit_fn_024F264C(cpu);
|
|
/* 0250D950 */ _t41 = cpu->r[29] + 0x000001ECu;
|
|
/* 0250D950 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0250D954 */ Gambit_fn_024F288C(cpu);
|
|
/* 0250D958 */ cpu->r[31] = 0x100C0000u;
|
|
/* 0250D95C */ _t42 = cpu->r[29] + 0x00000008u;
|
|
/* 0250D95C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0250D960 */ cpu->r[31] = cpu->r[31] + 0xFFFFEFC8u;
|
|
/* 0250D964 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250D968 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D968 */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 0250D96C */ cpu->r[0] = cpu->r[0] + 0xFFFFF264u;
|
|
/* 0250D970 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D974 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D974 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 0250D978 */ Gambit_fn_029807A8(cpu);
|
|
/* 0250D97C */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250D980 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 0250D980 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
|
|
/* 0250D984 */ cpu->r[0] = cpu->r[0] + 0xFFFFF254u;
|
|
/* 0250D988 */ _t46 = cpu->r[29] + 0x00000220u;
|
|
/* 0250D988 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 0250D98C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D98C */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0250D990 */ _t48 = cpu->r[29] + 0x00000008u;
|
|
/* 0250D990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0250D994 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D998 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D998 */ rbrew_write32(cpu->mem, _t49, cpu->r[31]);
|
|
/* 0250D99C */ Gambit_fn_029807A8(cpu);
|
|
/* 0250D9A0 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 0250D9A0 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 0250D9A4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250D9A8 */ _t51 = cpu->r[29] + 0x00000224u;
|
|
/* 0250D9A8 */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 0250D9AC */ cpu->r[0] = cpu->r[0] + 0xFFFFF26Cu;
|
|
/* 0250D9B0 */ _t52 = cpu->r[29] + 0x00000008u;
|
|
/* 0250D9B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0250D9B4 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D9B4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0250D9B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D9BC */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D9BC */ rbrew_write32(cpu->mem, _t54, cpu->r[31]);
|
|
/* 0250D9C0 */ Gambit_fn_029807A8(cpu);
|
|
/* 0250D9C4 */ cpu->r[10] = 0x100C0000u;
|
|
/* 0250D9C8 */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 0250D9C8 */ rbrew_write32(cpu->mem, _t55, cpu->r[3]);
|
|
/* 0250D9CC */ cpu->r[10] = cpu->r[10] + 0xFFFFF274u;
|
|
/* 0250D9D0 */ _t56 = cpu->r[29] + 0x00000228u;
|
|
/* 0250D9D0 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 0250D9D4 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 0250D9D4 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 0250D9D8 */ _t58 = cpu->r[29] + 0x00000008u;
|
|
/* 0250D9D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0250D9DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250D9E0 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D9E0 */ rbrew_write32(cpu->mem, _t59, cpu->r[31]);
|
|
/* 0250D9E4 */ Gambit_fn_02980A18(cpu);
|
|
/* 0250D9E8 */ _t60 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0250D9E8 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
|
|
/* 0250D9EC */ cpu->r[11] = 0x100C0000u;
|
|
/* 0250D9F0 */ _t61 = cpu->r[29] + 0x0000022Cu;
|
|
/* 0250D9F0 */ rbrew_write32(cpu->mem, _t61, cpu->r[3]);
|
|
/* 0250D9F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF28Cu;
|
|
/* 0250D9F8 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250D9F8 */ rbrew_write32(cpu->mem, _t62, cpu->r[31]);
|
|
/* 0250D9FC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250DA00 */ _t63 = cpu->r[29] + 0x00000008u;
|
|
/* 0250DA00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0250DA04 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0250DA04 */ rbrew_write32(cpu->mem, _t64, cpu->r[11]);
|
|
/* 0250DA08 */ Gambit_fn_02980A18(cpu);
|
|
/* 0250DA0C */ cpu->r[0] = 0x100C0000u;
|
|
/* 0250DA10 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 0250DA10 */ rbrew_write32(cpu->mem, _t65, cpu->r[3]);
|
|
/* 0250DA14 */ cpu->r[0] = cpu->r[0] + 0xFFFFF27Cu;
|
|
/* 0250DA18 */ _t66 = cpu->r[29] + 0x00000230u;
|
|
/* 0250DA18 */ rbrew_write32(cpu->mem, _t66, cpu->r[3]);
|
|
/* 0250DA1C */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 0250DA1C */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 0250DA20 */ _t68 = cpu->r[29] + 0x00000008u;
|
|
/* 0250DA20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0250DA24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0250DA28 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0250DA28 */ rbrew_write32(cpu->mem, _t69, cpu->r[31]);
|
|
/* 0250DA2C */ Gambit_fn_029807A8(cpu);
|
|
/* 0250DA30 */ cpu->r[28] = cpu->r[3];
|
|
/* 0250DA34 */ _t70 = cpu->r[29] + 0x00000008u;
|
|
/* 0250DA34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0250DA38 */ /* nop */
|
|
/* 0250DA3C */ cpu->r[3] = cpu->r[30];
|
|
/* 0250DA40 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250DA44 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250DA48 */ _t71 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0250DA48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0250DA4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0250DA50 */ cpu->r[9] = 0x00000000u;
|
|
/* 0250DA54 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250DA54 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0250DA54 */ if (_t73) goto L_0250DA58; else goto L_0250DA64;
|
|
L_0250DA58: ; // 0x250da58
|
|
/* 0250DA58 */ _t74 = cpu->r[30] + 0x00000024u;
|
|
/* 0250DA58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0250DA5C */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250DA60 */ _t75 = cpu->r[7] + cpu->r[8];
|
|
/* 0250DA60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
L_0250DA64: ; // 0x250da64
|
|
/* 0250DA64 */ _t76 = cpu->r[9] + 0x00000000u;
|
|
/* 0250DA64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0250DA68 */ _t77 = cpu->r[3] + 0x00000088u;
|
|
/* 0250DA68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0250DA6C */ _t78 = cpu->r[9] + 0x0000007Cu;
|
|
/* 0250DA6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0250DA70 */ cpu->ctr = cpu->r[10];
|
|
/* 0250DA74 */ /* nop */
|
|
/* 0250DA78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250DA7C */ _t79 = cpu->r[29] + 0x00000224u;
|
|
/* 0250DA7C */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t79);
|
|
/* 0250DA80 */ _t80 = cpu->r[29] + 0x00000008u;
|
|
/* 0250DA80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0250DA84 */ cpu->r[4] = cpu->r[31];
|
|
/* 0250DA88 */ _t81 = cpu->r[29] + 0x00000234u;
|
|
/* 0250DA88 */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
|
|
/* 0250DA8C */ cpu->r[3] = cpu->r[30];
|
|
/* 0250DA90 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250DA94 */ _t82 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0250DA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0250DA98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0250DA9C */ cpu->r[7] = 0x00000000u;
|
|
/* 0250DAA0 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250DAA0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0250DAA0 */ if (_t84) goto L_0250DAA4; else goto L_0250DAB0;
|
|
L_0250DAA4: ; // 0x250daa4
|
|
/* 0250DAA4 */ _t85 = cpu->r[30] + 0x00000024u;
|
|
/* 0250DAA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0250DAA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250DAAC */ _t86 = cpu->r[12] + cpu->r[7];
|
|
/* 0250DAAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
L_0250DAB0: ; // 0x250dab0
|
|
/* 0250DAB0 */ _t87 = cpu->r[7] + 0x00000000u;
|
|
/* 0250DAB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0250DAB4 */ _t88 = cpu->r[3] + 0x00000088u;
|
|
/* 0250DAB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0250DAB8 */ _t89 = cpu->r[8] + 0x0000007Cu;
|
|
/* 0250DAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0250DABC */ _t90 = cpu->r[29] + 0x00000226u;
|
|
/* 0250DABC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t90);
|
|
/* 0250DAC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0250DAC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250DAC8 */ _t91 = cpu->r[29] + 0x00000228u;
|
|
/* 0250DAC8 */ cpu->r[30] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t91);
|
|
/* 0250DACC */ _t92 = cpu->r[29] + 0x00000008u;
|
|
/* 0250DACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0250DAD0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0250DAD4 */ _t93 = cpu->r[29] + 0x00000238u;
|
|
/* 0250DAD4 */ rbrew_write32(cpu->mem, _t93, cpu->r[3]);
|
|
/* 0250DAD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0250DADC */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0250DAE0 */ _t94 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0250DAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0250DAE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0250DAE8 */ cpu->r[9] = 0x00000000u;
|
|
/* 0250DAEC */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0250DAEC */ _t96 = _t95 & 0x00000001u;
|
|
/* 0250DAEC */ if (_t96) goto L_0250DAF0; else goto L_0250DAFC;
|
|
L_0250DAF0: ; // 0x250daf0
|
|
/* 0250DAF0 */ _t97 = cpu->r[31] + 0x00000024u;
|
|
/* 0250DAF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0250DAF4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250DAF8 */ _t98 = cpu->r[8] + cpu->r[9];
|
|
/* 0250DAF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
L_0250DAFC: ; // 0x250dafc
|
|
/* 0250DAFC */ _t99 = cpu->r[9] + 0x00000000u;
|
|
/* 0250DAFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0250DB00 */ _t100 = cpu->r[3] + 0x00000088u;
|
|
/* 0250DB00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0250DB04 */ _t101 = cpu->r[10] + 0x0000007Cu;
|
|
/* 0250DB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0250DB08 */ cpu->ctr = cpu->r[0];
|
|
/* 0250DB0C */ _t102 = cpu->r[29] + 0x0000022Au;
|
|
/* 0250DB0C */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t102);
|
|
/* 0250DB10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250DB14 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0250DB18 */ _t103 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0250DB18 */ rbrew_write32(cpu->mem, _t103, cpu->r[3]);
|
|
/* 0250DB1C */ _t104 = cpu->r[12] + 0x00006000u;
|
|
/* 0250DB1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0250DB20 */ _t105 = cpu->r[12] + 0x00000264u;
|
|
/* 0250DB20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0250DB24 */ _t106 = cpu->r[10] + 0x00000030u;
|
|
/* 0250DB24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0250DB28 */ _t107 = cpu->r[12] + 0x00000014u;
|
|
/* 0250DB28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0250DB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0250DB30 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0250DB30 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0250DB30 */ if (_t109) goto L_0250DC10; else goto L_0250DB34;
|
|
L_0250DB34: ; // 0x250db34
|
|
/* 0250DB34 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0250DB38 */ _t110 = cpu->r[11] + 0x00006B80u;
|
|
/* 0250DB38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0250DB3C */ cpu->r[8] = cpu->r[10] + cpu->r[11];
|
|
/* 0250DB40 */ _t111 = cpu->r[8] + 0x00000104u;
|
|
/* 0250DB40 */ cpu->r[9] = rbrew_read8(cpu->mem, _t111);
|
|
/* 0250DB44 */ _t112 = cpu->r[10] + 0x00000030u;
|
|
/* 0250DB44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0250DB48 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0250DB4C */ _t113 = cpu->r[11] + cpu->r[7];
|
|
/* 0250DB4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0250DB50 */ _t114 = cpu->r[9] + 0x00000004u;
|
|
/* 0250DB50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0250DB54 */ _t115 = cpu->r[11] + 0x00000000u;
|
|
/* 0250DB54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0250DB58 */ _t116 = cpu->r[29] + 0x000002B8u;
|
|
/* 0250DB58 */ rbrew_write32(cpu->mem, _t116, cpu->r[7]);
|
|
/* 0250DB5C */ _t117 = cpu->r[7] + 0x00000250u;
|
|
/* 0250DB5C */ rbrew_write32(cpu->mem, _t117, cpu->r[29]);
|
|
/* 0250DB60 */ _t118 = cpu->r[29] + 0x000002B8u;
|
|
/* 0250DB60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0250DB64 */ _t119 = cpu->r[10] + 0x00000050u;
|
|
/* 0250DB64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0250DB68 */ _t120 = cpu->r[3] + 0x000046BCu;
|
|
/* 0250DB68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0250DB6C */ _t121 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0250DB6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0250DB70 */ cpu->ctr = cpu->r[0];
|
|
/* 0250DB74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0250DB78 */ _t122 = cpu->r[3] + 0x00000000u;
|
|
/* 0250DB78 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 0250DB7C */ _t123 = cpu->r[29] + 0x000000D8u;
|
|
/* 0250DB7C */ rbrew_write_f32(cpu->mem, _t123, cpu->f[6]);
|
|
/* 0250DB80 */ _t124 = cpu->r[3] + 0x00000004u;
|
|
/* 0250DB80 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 0250DB84 */ _t125 = cpu->r[29] + 0x000002B8u;
|
|
/* 0250DB84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0250DB88 */ _t126 = cpu->r[29] + 0x000000DCu;
|
|
/* 0250DB88 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[8]);
|
|
/* 0250DB8C */ _t127 = cpu->r[3] + 0x00000008u;
|
|
/* 0250DB8C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 0250DB90 */ _t128 = cpu->r[29] + 0x000000E0u;
|
|
/* 0250DB90 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[11]);
|
|
/* 0250DB94 */ _t129 = cpu->r[10] + 0x00000050u;
|
|
/* 0250DB94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0250DB98 */ _t130 = cpu->r[12] + 0x00000068u;
|
|
/* 0250DB98 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 0250DB9C */ _t131 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0250DB9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 0250DBA0 */ _t132 = cpu->r[12] + 0x00000074u;
|
|
/* 0250DBA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 0250DBA4 */ _t133 = cpu->r[29] + 0x000000B4u;
|
|
/* 0250DBA4 */ rbrew_write_f32(cpu->mem, _t133, cpu->f[12]);
|
|
/* 0250DBA8 */ _t134 = cpu->r[29] + 0x000000B8u;
|
|
/* 0250DBA8 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[13]);
|
|
/* 0250DBAC */ _t135 = cpu->r[29] + 0x000000BCu;
|
|
/* 0250DBAC */ rbrew_write_f32(cpu->mem, _t135, cpu->f[0]);
|
|
/* 0250DBB0 */ _t136 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0250DBB0 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 0250DBB4 */ _t137 = cpu->r[12] + 0x00000060u;
|
|
/* 0250DBB4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 0250DBB8 */ _t138 = cpu->r[12] + 0x00000078u;
|
|
/* 0250DBB8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 0250DBBC */ _t139 = cpu->r[29] + 0x000000C0u;
|
|
/* 0250DBBC */ rbrew_write_f32(cpu->mem, _t139, cpu->f[3]);
|
|
/* 0250DBC0 */ _t140 = cpu->r[29] + 0x000000C8u;
|
|
/* 0250DBC0 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[5]);
|
|
/* 0250DBC4 */ _t141 = cpu->r[29] + 0x000000C4u;
|
|
/* 0250DBC4 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[4]);
|
|
/* 0250DBC8 */ _t142 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0250DBC8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 0250DBCC */ _t143 = cpu->r[12] + 0x00000070u;
|
|
/* 0250DBCC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 0250DBD0 */ _t144 = cpu->r[12] + 0x00000064u;
|
|
/* 0250DBD0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 0250DBD4 */ _t145 = cpu->r[29] + 0x00000080u;
|
|
/* 0250DBD4 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[11]);
|
|
/* 0250DBD8 */ _t146 = cpu->r[29] + 0x00000070u;
|
|
/* 0250DBD8 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[9]);
|
|
/* 0250DBDC */ _t147 = cpu->r[29] + 0x00000064u;
|
|
/* 0250DBDC */ rbrew_write_f32(cpu->mem, _t147, cpu->f[4]);
|
|
/* 0250DBE0 */ _t148 = cpu->r[29] + 0x000000D0u;
|
|
/* 0250DBE0 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[9]);
|
|
/* 0250DBE4 */ _t149 = cpu->r[29] + 0x00000054u;
|
|
/* 0250DBE4 */ rbrew_write_f32(cpu->mem, _t149, cpu->f[12]);
|
|
/* 0250DBE8 */ _t150 = cpu->r[29] + 0x00000078u;
|
|
/* 0250DBE8 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[6]);
|
|
/* 0250DBEC */ _t151 = cpu->r[29] + 0x00000068u;
|
|
/* 0250DBEC */ rbrew_write_f32(cpu->mem, _t151, cpu->f[5]);
|
|
/* 0250DBF0 */ _t152 = cpu->r[29] + 0x00000074u;
|
|
/* 0250DBF0 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[10]);
|
|
/* 0250DBF4 */ _t153 = cpu->r[29] + 0x00000060u;
|
|
/* 0250DBF4 */ rbrew_write_f32(cpu->mem, _t153, cpu->f[3]);
|
|
/* 0250DBF8 */ _t154 = cpu->r[29] + 0x000000CCu;
|
|
/* 0250DBF8 */ rbrew_write_f32(cpu->mem, _t154, cpu->f[7]);
|
|
/* 0250DBFC */ _t155 = cpu->r[29] + 0x0000006Cu;
|
|
/* 0250DBFC */ rbrew_write_f32(cpu->mem, _t155, cpu->f[7]);
|
|
/* 0250DC00 */ _t156 = cpu->r[29] + 0x0000007Cu;
|
|
/* 0250DC00 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[8]);
|
|
/* 0250DC04 */ _t157 = cpu->r[29] + 0x00000058u;
|
|
/* 0250DC04 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[13]);
|
|
/* 0250DC08 */ _t158 = cpu->r[29] + 0x000000D4u;
|
|
/* 0250DC08 */ rbrew_write_f32(cpu->mem, _t158, cpu->f[10]);
|
|
/* 0250DC0C */ _t159 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0250DC0C */ rbrew_write_f32(cpu->mem, _t159, cpu->f[0]);
|
|
L_0250DC10: ; // 0x250dc10
|
|
/* 0250DC10 */ _t160 = cpu->r[1] + 0x00000028u;
|
|
/* 0250DC10 */ cpu->r[28] = rbrew_read32(cpu->mem, _t160);
|
|
/* 0250DC14 */ _t161 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0250DC14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t161);
|
|
/* 0250DC18 */ _t162 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0250DC18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0250DC1C */ _t163 = cpu->r[1] + 0x00000030u;
|
|
/* 0250DC1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t163);
|
|
/* 0250DC20 */ cpu->lr = cpu->r[0];
|
|
/* 0250DC24 */ _t164 = cpu->r[1] + 0x00000034u;
|
|
/* 0250DC24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t164);
|
|
/* 0250DC28 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0250DC2C */ return;
|
|
}
|
|
|