mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
32923 lines
1.7 MiB
Plaintext
32923 lines
1.7 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02584BB4 @ 0x2584bb4
|
|
void Gambit_fn_02584BB4(CPUState* cpu) {
|
|
L_02584BB4: ; // 0x2584bb4
|
|
/* 02584BB4 */ return;
|
|
}
|
|
|
|
// fn_02584BB8 @ 0x2584bb8
|
|
void Gambit_fn_02584BB8(CPUState* cpu) {
|
|
L_02584BB8: ; // 0x2584bb8
|
|
/* 02584BB8 */ return;
|
|
}
|
|
|
|
// fn_02584BBC @ 0x2584bbc
|
|
void Gambit_fn_02584BBC(CPUState* cpu) {
|
|
L_02584BBC: ; // 0x2584bbc
|
|
/* 02584BBC */ return;
|
|
}
|
|
|
|
// fn_02584BC0 @ 0x2584bc0
|
|
void Gambit_fn_02584BC0(CPUState* cpu) {
|
|
L_02584BC0: ; // 0x2584bc0
|
|
/* 02584BC0 */ return;
|
|
}
|
|
|
|
// fn_02584BC4 @ 0x2584bc4
|
|
void Gambit_fn_02584BC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02584BC4: ; // 0x2584bc4
|
|
/* 02584BC4 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02584BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02584BCC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584BCC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02584BCC */ if (_t2) goto L_02584BD8; else goto L_02584BD0;
|
|
L_02584BD0: ; // 0x2584bd0
|
|
/* 02584BD0 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02584BD4 */ return;
|
|
L_02584BD8: ; // 0x2584bd8
|
|
/* 02584BD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02584BDC */ return;
|
|
}
|
|
|
|
// fn_02584BE0 @ 0x2584be0
|
|
void Gambit_fn_02584BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02584BE0: ; // 0x2584be0
|
|
/* 02584BE0 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02584BE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02584BE8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584BE8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02584BE8 */ if (_t2) goto L_02584BF4; else goto L_02584BEC;
|
|
L_02584BEC: ; // 0x2584bec
|
|
/* 02584BEC */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02584BF0 */ return;
|
|
L_02584BF4: ; // 0x2584bf4
|
|
/* 02584BF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02584BF8 */ return;
|
|
}
|
|
|
|
// fn_02584BFC @ 0x2584bfc
|
|
void Gambit_fn_02584BFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02584BFC: ; // 0x2584bfc
|
|
/* 02584BFC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02584BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584C00 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02584C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02584C04 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584C04 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02584C04 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02584C04 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02584C04 */ goto L_02584C08;
|
|
L_02584C08: ; // 0x2584c08
|
|
/* 02584C08 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02584C08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02584C0C */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02584C0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02584C10 */ cpu->ctr = cpu->r[0];
|
|
/* 02584C14 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02584C18 @ 0x2584c18
|
|
void Gambit_fn_02584C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02584C18: ; // 0x2584c18
|
|
/* 02584C18 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02584C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584C1C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02584C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02584C20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584C20 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02584C20 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02584C20 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02584C20 */ goto L_02584C24;
|
|
L_02584C24: ; // 0x2584c24
|
|
/* 02584C24 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02584C24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02584C28 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02584C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02584C2C */ cpu->ctr = cpu->r[0];
|
|
/* 02584C30 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02584C34 @ 0x2584c34
|
|
void Gambit_fn_02584C34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02584C34: ; // 0x2584c34
|
|
/* 02584C34 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02584C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584C38 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02584C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02584C3C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584C3C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02584C3C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02584C3C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02584C3C */ goto L_02584C40;
|
|
L_02584C40: ; // 0x2584c40
|
|
/* 02584C40 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02584C40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02584C44 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02584C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02584C48 */ cpu->ctr = cpu->r[0];
|
|
/* 02584C4C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02584C50 @ 0x2584c50
|
|
void Gambit_fn_02584C50(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02584C50: ; // 0x2584c50
|
|
/* 02584C50 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02584C50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584C54 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02584C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02584C58 */ cpu->ctr = cpu->r[0];
|
|
/* 02584C5C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02584C60 @ 0x2584c60
|
|
void Gambit_fn_02584C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02584C60: ; // 0x2584c60
|
|
/* 02584C60 */ cpu->r[0] = cpu->lr;
|
|
/* 02584C64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02584C64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02584C64 */ cpu->r[1] = _t0;
|
|
/* 02584C68 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584C68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02584C6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02584C70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02584C70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02584C74 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02584C74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02584C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02584C7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584C7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02584C7C */ if (_t5) goto L_02584C80; else goto L_02584C9C;
|
|
L_02584C80: ; // 0x2584c80
|
|
/* 02584C80 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02584C80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02584C84 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02584C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02584C88 */ cpu->ctr = cpu->r[0];
|
|
/* 02584C8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02584C90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02584C94 */ cpu->r[0] = 0x00000002u;
|
|
/* 02584C98 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02584C98 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02584C9C: ; // 0x2584c9c
|
|
/* 02584C9C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02584C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02584CA0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584CA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02584CA4 */ cpu->lr = cpu->r[0];
|
|
/* 02584CA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02584CAC */ return;
|
|
}
|
|
|
|
// fn_02584C64 @ 0x2584c64
|
|
void Gambit_fn_02584C64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02584C64: ; // 0x2584c64
|
|
/* 02584C64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02584C64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02584C64 */ cpu->r[1] = _t0;
|
|
/* 02584C68 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584C68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02584C6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02584C70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02584C70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02584C74 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02584C74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02584C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02584C7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584C7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02584C7C */ if (_t5) goto L_02584C80; else goto L_02584C9C;
|
|
L_02584C80: ; // 0x2584c80
|
|
/* 02584C80 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02584C80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02584C84 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02584C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02584C88 */ cpu->ctr = cpu->r[0];
|
|
/* 02584C8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02584C90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02584C94 */ cpu->r[0] = 0x00000002u;
|
|
/* 02584C98 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02584C98 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02584C9C: ; // 0x2584c9c
|
|
/* 02584C9C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02584C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02584CA0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584CA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02584CA4 */ cpu->lr = cpu->r[0];
|
|
/* 02584CA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02584CAC */ return;
|
|
}
|
|
|
|
// fn_02584CB0 @ 0x2584cb0
|
|
void Gambit_fn_02584CB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02584CB0: ; // 0x2584cb0
|
|
/* 02584CB0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02584CB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584CB4 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02584CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02584CB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02584CBC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02584CC0 @ 0x2584cc0
|
|
void Gambit_fn_02584CC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02584CC0: ; // 0x2584cc0
|
|
/* 02584CC0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02584CC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584CC4 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02584CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02584CC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02584CCC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02584CD0 @ 0x2584cd0
|
|
void Gambit_fn_02584CD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02584CD0: ; // 0x2584cd0
|
|
/* 02584CD0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02584CD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584CD4 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02584CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02584CD8 */ cpu->ctr = cpu->r[0];
|
|
/* 02584CDC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02584CE0 @ 0x2584ce0
|
|
void Gambit_fn_02584CE0(CPUState* cpu) {
|
|
L_02584CE0: ; // 0x2584ce0
|
|
/* 02584CE0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02584CE4 */ return;
|
|
}
|
|
|
|
// fn_02584CE8 @ 0x2584ce8
|
|
void Gambit_fn_02584CE8(CPUState* cpu) {
|
|
L_02584CE8: ; // 0x2584ce8
|
|
/* 02584CE8 */ return;
|
|
}
|
|
|
|
// fn_02584CEC @ 0x2584cec
|
|
void Gambit_fn_02584CEC(CPUState* cpu) {
|
|
L_02584CEC: ; // 0x2584cec
|
|
/* 02584CEC */ return;
|
|
}
|
|
|
|
// fn_02584CF0 @ 0x2584cf0
|
|
void Gambit_fn_02584CF0(CPUState* cpu) {
|
|
L_02584CF0: ; // 0x2584cf0
|
|
/* 02584CF0 */ return;
|
|
}
|
|
|
|
// fn_02584CF4 @ 0x2584cf4
|
|
void Gambit_fn_02584CF4(CPUState* cpu) {
|
|
L_02584CF4: ; // 0x2584cf4
|
|
/* 02584CF4 */ return;
|
|
}
|
|
|
|
// fn_02584CF8 @ 0x2584cf8
|
|
void Gambit_fn_02584CF8(CPUState* cpu) {
|
|
L_02584CF8: ; // 0x2584cf8
|
|
/* 02584CF8 */ return;
|
|
}
|
|
|
|
// fn_02584CFC @ 0x2584cfc
|
|
void Gambit_fn_02584CFC(CPUState* cpu) {
|
|
L_02584CFC: ; // 0x2584cfc
|
|
/* 02584CFC */ cpu->r[3] = 0x00000001u;
|
|
/* 02584D00 */ return;
|
|
}
|
|
|
|
// fn_02584D04 @ 0x2584d04
|
|
void Gambit_fn_02584D04(CPUState* cpu) {
|
|
L_02584D04: ; // 0x2584d04
|
|
/* 02584D04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02584D08 */ return;
|
|
}
|
|
|
|
// fn_02584D0C @ 0x2584d0c
|
|
void Gambit_fn_02584D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02584D0C: ; // 0x2584d0c
|
|
/* 02584D0C */ cpu->r[0] = cpu->lr;
|
|
/* 02584D10 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02584D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02584D10 */ cpu->r[1] = _t0;
|
|
/* 02584D14 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02584D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02584D18 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02584D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02584D1C */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02584D1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02584D20 */ cpu->r[4] = 0x00000000u;
|
|
/* 02584D24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02584D28 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02584D2C */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02584D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02584D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02584D34 */ cpu->r[11] = 0x00000000u;
|
|
/* 02584D38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584D38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02584D38 */ if (_t6) goto L_02584D44; else goto L_02584D3C;
|
|
L_02584D3C: ; // 0x2584d3c
|
|
/* 02584D3C */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02584D3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02584D40 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02584D40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02584D44: ; // 0x2584d44
|
|
/* 02584D44 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02584D44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02584D48 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02584D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02584D4C */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02584D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02584D50 */ cpu->ctr = cpu->r[0];
|
|
/* 02584D54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02584D58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02584D5C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584D5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02584D60 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02584D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02584D64 */ cpu->ctr = cpu->r[0];
|
|
/* 02584D68 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02584D6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02584D70 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02584D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02584D74 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02584D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02584D78 */ cpu->lr = cpu->r[0];
|
|
/* 02584D7C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02584D7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02584D80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02584D84 */ return;
|
|
}
|
|
|
|
// fn_02584D10 @ 0x2584d10
|
|
void Gambit_fn_02584D10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02584D10: ; // 0x2584d10
|
|
/* 02584D10 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02584D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02584D10 */ cpu->r[1] = _t0;
|
|
/* 02584D14 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02584D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02584D18 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02584D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02584D1C */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02584D1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02584D20 */ cpu->r[4] = 0x00000000u;
|
|
/* 02584D24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02584D28 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02584D2C */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02584D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02584D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02584D34 */ cpu->r[11] = 0x00000000u;
|
|
/* 02584D38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584D38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02584D38 */ if (_t6) goto L_02584D44; else goto L_02584D3C;
|
|
L_02584D3C: ; // 0x2584d3c
|
|
/* 02584D3C */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02584D3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02584D40 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02584D40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02584D44: ; // 0x2584d44
|
|
/* 02584D44 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02584D44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02584D48 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02584D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02584D4C */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02584D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02584D50 */ cpu->ctr = cpu->r[0];
|
|
/* 02584D54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02584D58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02584D5C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584D5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02584D60 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02584D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02584D64 */ cpu->ctr = cpu->r[0];
|
|
/* 02584D68 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02584D6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02584D70 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02584D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02584D74 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02584D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02584D78 */ cpu->lr = cpu->r[0];
|
|
/* 02584D7C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02584D7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02584D80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02584D84 */ return;
|
|
}
|
|
|
|
// fn_02584D88 @ 0x2584d88
|
|
void Gambit_fn_02584D88(CPUState* cpu) {
|
|
L_02584D88: ; // 0x2584d88
|
|
/* 02584D88 */ return;
|
|
}
|
|
|
|
// fn_02584DA0 @ 0x2584da0
|
|
void Gambit_fn_02584DA0(CPUState* cpu) {
|
|
L_02584DA0: ; // 0x2584da0
|
|
/* 02584DA0 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02584DA4 */ cpu->r[3] = cpu->r[3] + 0x000018D8u;
|
|
/* 02584DA8 */ return;
|
|
}
|
|
|
|
// fn_02584DAC @ 0x2584dac
|
|
void Gambit_fn_02584DAC(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_02584DAC: ; // 0x2584dac
|
|
/* 02584DAC */ cpu->r[9] = 0x101D0000u;
|
|
/* 02584DB0 */ _t0 = cpu->r[9] + 0x000009E4u;
|
|
/* 02584DB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02584DB4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02584DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02584DBC */ cpu->r[11] = cpu->r[11] + 0x00000AECu;
|
|
/* 02584DC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584DC0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02584DC0 */ if (_t2) goto L_02584DC4; else goto L_02584DDC;
|
|
L_02584DC4: ; // 0x2584dc4
|
|
/* 02584DC4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02584DC8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02584DCC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02584DD0 */ cpu->r[9] = cpu->r[9] + 0x000018C8u;
|
|
/* 02584DD4 */ _t3 = cpu->r[12] + 0x000009E4u;
|
|
/* 02584DD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02584DD8 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02584DD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02584DDC: ; // 0x2584ddc
|
|
/* 02584DDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02584DE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584DE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02584DE0 */ if (_t6) goto L_02584DE4; else goto L_02584DEC;
|
|
L_02584DE4: ; // 0x2584de4
|
|
/* 02584DE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02584DE8 */ return;
|
|
L_02584DEC: ; // 0x2584dec
|
|
/* 02584DEC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02584DF0 */ _t7 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 02584DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02584DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02584DF8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02584DFC */ cpu->r[12] = cpu->r[12] + 0xFFFFDB28u;
|
|
/* 02584E00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584E00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02584E00 */ if (_t9) goto L_02584E04; else goto L_02584E1C;
|
|
L_02584E04: ; // 0x2584e04
|
|
/* 02584E04 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02584E08 */ cpu->r[10] = 0x00000001u;
|
|
/* 02584E0C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02584E10 */ cpu->r[11] = cpu->r[11] + 0x000018B8u;
|
|
/* 02584E14 */ _t10 = cpu->r[9] + 0xFFFFDB24u;
|
|
/* 02584E14 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02584E18 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02584E18 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02584E1C: ; // 0x2584e1c
|
|
/* 02584E1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02584E20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584E20 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02584E20 */ if (_t13) goto L_02584E24; else goto L_02584E2C;
|
|
L_02584E24: ; // 0x2584e24
|
|
/* 02584E24 */ cpu->r[0] = 0x00000001u;
|
|
/* 02584E28 */ goto L_02584EA0;
|
|
L_02584E2C: ; // 0x2584e2c
|
|
/* 02584E2C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02584E30 */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02584E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02584E30 */ cpu->r[10] = _t14;
|
|
/* 02584E34 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02584E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02584E3C */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02584E40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584E40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02584E40 */ if (_t16) goto L_02584E44; else goto L_02584E58;
|
|
L_02584E44: ; // 0x2584e44
|
|
/* 02584E44 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02584E48 */ cpu->r[0] = 0x00000001u;
|
|
/* 02584E4C */ cpu->r[9] = cpu->r[9] + 0x000018A8u;
|
|
/* 02584E50 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02584E50 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02584E54 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02584E54 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_02584E58: ; // 0x2584e58
|
|
/* 02584E58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02584E5C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584E5C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02584E5C */ if (_t20) goto L_02584E60; else goto L_02584E68;
|
|
L_02584E60: ; // 0x2584e60
|
|
/* 02584E60 */ cpu->r[0] = 0x00000001u;
|
|
/* 02584E64 */ goto L_02584EA0;
|
|
L_02584E68: ; // 0x2584e68
|
|
/* 02584E68 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02584E6C */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02584E6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02584E6C */ cpu->r[9] = _t21;
|
|
/* 02584E70 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02584E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02584E78 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02584E7C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584E7C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02584E7C */ if (_t23) goto L_02584E80; else goto L_02584E94;
|
|
L_02584E80: ; // 0x2584e80
|
|
/* 02584E80 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02584E84 */ cpu->r[11] = 0x00000001u;
|
|
/* 02584E88 */ cpu->r[0] = cpu->r[0] + 0x00001838u;
|
|
/* 02584E8C */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02584E8C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02584E90 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02584E90 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02584E94: ; // 0x2584e94
|
|
/* 02584E94 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02584E98 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02584E9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02584EA0: ; // 0x2584ea0
|
|
/* 02584EA0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02584EA4 */ return;
|
|
}
|
|
|
|
// fn_02584EA8 @ 0x2584ea8
|
|
void Gambit_fn_02584EA8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02584EA8: ; // 0x2584ea8
|
|
/* 02584EA8 */ _t0 = cpu->r[3] + 0x000001D8u;
|
|
/* 02584EA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02584EAC */ /* nop */
|
|
/* 02584EB0 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02584EB4 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02584EB8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02584EBC */ return;
|
|
}
|
|
|
|
// fn_02584EC0 @ 0x2584ec0
|
|
void Gambit_fn_02584EC0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02584EC0: ; // 0x2584ec0
|
|
/* 02584EC0 */ _t0 = cpu->r[3] + 0x000001D8u;
|
|
/* 02584EC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02584EC4 */ /* nop */
|
|
/* 02584EC8 */ cpu->r[0] = cpu->r[0] ^ 0x00000002u;
|
|
/* 02584ECC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02584ED0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02584ED4 */ return;
|
|
}
|
|
|
|
// fn_02584ED8 @ 0x2584ed8
|
|
void Gambit_fn_02584ED8(CPUState* cpu) {
|
|
L_02584ED8: ; // 0x2584ed8
|
|
/* 02584ED8 */ return;
|
|
}
|
|
|
|
// fn_02584EDC @ 0x2584edc
|
|
void Gambit_fn_02584EDC(CPUState* cpu) {
|
|
L_02584EDC: ; // 0x2584edc
|
|
/* 02584EDC */ return;
|
|
}
|
|
|
|
// fn_02584EEC @ 0x2584eec
|
|
void Gambit_fn_02584EEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02520DB8: ; // 0x2520db8
|
|
/* 02520DB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02520DBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02520DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02520DBC */ cpu->r[1] = _t0;
|
|
/* 02520DC0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02520DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02520DC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02520DC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02520DC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02520DCC */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02520DCC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02520DD0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02520DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02520DD8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02520DD8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02520DDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02520DDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02520DDC */ if (_t6) goto L_02520E04; else goto L_02520DE0;
|
|
L_02520DE0: ; // 0x2520de0
|
|
/* 02520DE0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02520DE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02520DE4 */ /* nop */
|
|
/* 02520DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02520DEC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02520DEC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02520DEC */ if (_t9) goto L_02520DF0; else goto L_02520E04;
|
|
L_02520DF0: ; // 0x2520df0
|
|
/* 02520DF0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02520DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02520DF4 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02520DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02520DF8 */ cpu->ctr = cpu->r[0];
|
|
/* 02520DFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02520E00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02520E04: ; // 0x2520e04
|
|
/* 02520E04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02520E08 */ Gambit_fn_02520D30(cpu);
|
|
/* 02520E0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02520E10 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02520E14 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02520E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02520E18 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02520E18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02520E1C */ cpu->lr = cpu->r[0];
|
|
/* 02520E20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02520E24 */ return;
|
|
L_02584EEC: ; // 0x2584eec
|
|
/* 02584EEC */ cpu->r[3] = cpu->r[3] + 0x000001CCu;
|
|
/* 02584EF0 */ goto L_02520DB8;
|
|
}
|
|
|
|
// fn_02584EF4 @ 0x2584ef4
|
|
void Gambit_fn_02584EF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02584EF4: ; // 0x2584ef4
|
|
/* 02584EF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02584EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02584EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02584EF8 */ cpu->r[1] = _t0;
|
|
/* 02584EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02584F00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02584F04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02584F04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02584F08 */ _t3 = cpu->r[31] + 0x000001DAu;
|
|
/* 02584F08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02584F0C */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02584F10 */ /* nop */
|
|
/* 02584F14 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02584F18 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02584F1C */ Gambit_fn_02520CA8(cpu);
|
|
/* 02584F20 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02584F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02584F24 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584F24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02584F28 */ cpu->lr = cpu->r[0];
|
|
/* 02584F2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02584F30 */ return;
|
|
}
|
|
|
|
// fn_02584EF8 @ 0x2584ef8
|
|
void Gambit_fn_02584EF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02584EF8: ; // 0x2584ef8
|
|
/* 02584EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02584EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02584EF8 */ cpu->r[1] = _t0;
|
|
/* 02584EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02584F00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02584F04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02584F04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02584F08 */ _t3 = cpu->r[31] + 0x000001DAu;
|
|
/* 02584F08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02584F0C */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02584F10 */ /* nop */
|
|
/* 02584F14 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02584F18 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02584F1C */ Gambit_fn_02520CA8(cpu);
|
|
/* 02584F20 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02584F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02584F24 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02584F24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02584F28 */ cpu->lr = cpu->r[0];
|
|
/* 02584F2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02584F30 */ return;
|
|
}
|
|
|
|
// fn_02584F34 @ 0x2584f34
|
|
void Gambit_fn_02584F34(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_02584F34: ; // 0x2584f34
|
|
/* 02584F34 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02584F34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02584F34 */ cpu->r[1] = _t0;
|
|
/* 02584F38 */ /* nop */
|
|
/* 02584F3C */ cpu->r[0] = cpu->lr;
|
|
/* 02584F40 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02584F40 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02584F44 */ cpu->r[29] = cpu->r[6];
|
|
/* 02584F48 */ cpu->r[28] = cpu->r[3];
|
|
/* 02584F4C */ cpu->r[30] = cpu->r[5];
|
|
/* 02584F50 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02584F50 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02584F54 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02584F58 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02584F58 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02584F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02584F60 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02584F60 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02584F64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584F64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02584F64 */ if (_t6) goto L_02584FA8; else goto L_02584F68;
|
|
L_02584F68: ; // 0x2584f68
|
|
/* 02584F68 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02584F68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02584F6C */ Gambit_fn_02826F20(cpu);
|
|
/* 02584F70 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02584F70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02584F74 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02584F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02584F78 */ cpu->ctr = cpu->r[0];
|
|
/* 02584F7C */ cpu->r[5] = 0x00000004u;
|
|
/* 02584F80 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02584F84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02584F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02584F8C */ cpu->r[0] = cpu->r[27];
|
|
/* 02584F90 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02584F90 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02584F90 */ if (_t11) goto L_02584F98; else goto L_02584F94;
|
|
L_02584F94: ; // 0x2584f94
|
|
/* 02584F94 */ cpu->r[0] = 0x00000001u;
|
|
L_02584F98: ; // 0x2584f98
|
|
/* 02584F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02584F9C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584F9C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02584F9C */ if (_t13) goto L_02584FA8; else goto L_02584FA0;
|
|
L_02584FA0: ; // 0x2584fa0
|
|
/* 02584FA0 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02584FA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02584FA4 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02584FA4 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02584FA8: ; // 0x2584fa8
|
|
/* 02584FA8 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02584FA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02584FAC */ cpu->r[0] = 0x00000000u;
|
|
/* 02584FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02584FB4 */ cpu->r[12] = cpu->r[0];
|
|
/* 02584FB8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02584FB8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02584FB8 */ if (_t18) goto L_02584FBC; else goto L_02584FE0;
|
|
L_02584FBC: ; // 0x2584fbc
|
|
/* 02584FBC */ cpu->ctr = cpu->r[7];
|
|
/* 02584FC0 */ cpu->r[10] = 0x00000000u;
|
|
L_02584FC4: ; // 0x2584fc4
|
|
/* 02584FC4 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02584FC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02584FC8 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02584FC8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02584FCC */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02584FD0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02584FD0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02584FD4 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02584FD8 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02584FD8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02584FDC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02584FDC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02584FDC */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02584FDC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02584FDC */ if (_t25) goto L_02584FC4; else goto L_02584FE0;
|
|
L_02584FE0: ; // 0x2584fe0
|
|
/* 02584FE0 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02584FE0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02584FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02584FE8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02584FE8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02584FE8 */ if (_t28) goto L_0258502C; else goto L_02584FEC;
|
|
L_02584FEC: ; // 0x2584fec
|
|
/* 02584FEC */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02584FEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02584FF0 */ Gambit_fn_02826F20(cpu);
|
|
/* 02584FF4 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02584FF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02584FF8 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02584FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02584FFC */ cpu->ctr = cpu->r[0];
|
|
/* 02585000 */ cpu->r[5] = 0x00000004u;
|
|
/* 02585004 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02585008 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258500C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02585010 */ cpu->r[11] = cpu->r[27];
|
|
/* 02585014 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585014 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02585014 */ if (_t33) goto L_0258501C; else goto L_02585018;
|
|
L_02585018: ; // 0x2585018
|
|
/* 02585018 */ cpu->r[11] = 0x00000001u;
|
|
L_0258501C: ; // 0x258501c
|
|
/* 0258501C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585020 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585020 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02585020 */ if (_t35) goto L_0258502C; else goto L_02585024;
|
|
L_02585024: ; // 0x2585024
|
|
/* 02585024 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02585024 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02585028 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02585028 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0258502C: ; // 0x258502c
|
|
/* 0258502C */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0258502C */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02585030 */ cpu->r[0] = 0x00000000u;
|
|
/* 02585034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02585038 */ cpu->r[12] = cpu->r[0];
|
|
/* 0258503C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258503C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0258503C */ if (_t40) goto L_02585040; else goto L_02585064;
|
|
L_02585040: ; // 0x2585040
|
|
/* 02585040 */ cpu->ctr = cpu->r[6];
|
|
/* 02585044 */ cpu->r[9] = 0x00000000u;
|
|
L_02585048: ; // 0x2585048
|
|
/* 02585048 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02585048 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258504C */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0258504C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02585050 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02585054 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02585054 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02585058 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0258505C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0258505C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02585060 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02585060 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02585060 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02585060 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02585060 */ if (_t47) goto L_02585048; else goto L_02585064;
|
|
L_02585064: ; // 0x2585064
|
|
/* 02585064 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02585064 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02585068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258506C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258506C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0258506C */ if (_t50) goto L_025850B0; else goto L_02585070;
|
|
L_02585070: ; // 0x2585070
|
|
/* 02585070 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02585070 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02585074 */ Gambit_fn_02826F20(cpu);
|
|
/* 02585078 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02585078 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0258507C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0258507C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02585080 */ cpu->ctr = cpu->r[0];
|
|
/* 02585084 */ cpu->r[5] = 0x00000004u;
|
|
/* 02585088 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258508C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02585094 */ cpu->r[10] = cpu->r[27];
|
|
/* 02585098 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585098 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02585098 */ if (_t55) goto L_025850A0; else goto L_0258509C;
|
|
L_0258509C: ; // 0x258509c
|
|
/* 0258509C */ cpu->r[10] = 0x00000001u;
|
|
L_025850A0: ; // 0x25850a0
|
|
/* 025850A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025850A4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025850A4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 025850A4 */ if (_t57) goto L_025850B0; else goto L_025850A8;
|
|
L_025850A8: ; // 0x25850a8
|
|
/* 025850A8 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 025850A8 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 025850AC */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 025850AC */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_025850B0: ; // 0x25850b0
|
|
/* 025850B0 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 025850B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 025850B4 */ cpu->r[0] = 0x00000000u;
|
|
/* 025850B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025850BC */ cpu->r[5] = cpu->r[0];
|
|
/* 025850C0 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025850C0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 025850C0 */ if (_t62) goto L_025850C4; else goto L_025850E8;
|
|
L_025850C4: ; // 0x25850c4
|
|
/* 025850C4 */ cpu->ctr = cpu->r[12];
|
|
/* 025850C8 */ cpu->r[8] = 0x00000000u;
|
|
L_025850CC: ; // 0x25850cc
|
|
/* 025850CC */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 025850CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 025850D0 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 025850D0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 025850D4 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 025850D8 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 025850D8 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 025850DC */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 025850E0 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 025850E0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 025850E4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025850E4 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025850E4 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 025850E4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 025850E4 */ if (_t69) goto L_025850CC; else goto L_025850E8;
|
|
L_025850E8: ; // 0x25850e8
|
|
/* 025850E8 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 025850E8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 025850EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025850F0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025850F0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 025850F0 */ if (_t72) goto L_025851CC; else goto L_025850F4;
|
|
L_025850F4: ; // 0x25850f4
|
|
/* 025850F4 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025850F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025850F8 */ Gambit_fn_02826F20(cpu);
|
|
/* 025850FC */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025850FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02585100 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02585100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02585104 */ cpu->ctr = cpu->r[12];
|
|
/* 02585108 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258510C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02585110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585114 */ cpu->r[24] = cpu->r[3];
|
|
/* 02585118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0258511C */ cpu->r[30] = cpu->r[25];
|
|
/* 02585120 */ cpu->r[7] = 0x00000000u;
|
|
/* 02585124 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585124 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02585124 */ if (_t77) goto L_0258512C; else goto L_02585128;
|
|
L_02585128: ; // 0x2585128
|
|
/* 02585128 */ cpu->r[30] = 0x00000001u;
|
|
L_0258512C: ; // 0x258512c
|
|
/* 0258512C */ cpu->r[31] = 0x10110000u;
|
|
/* 02585130 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02585134 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02585134 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02585138 */ cpu->r[23] = 0x00000018u;
|
|
L_0258513C: ; // 0x258513c
|
|
/* 0258513C */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0258513C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02585140 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585140 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02585140 */ if (_t80) goto L_025851B0; else goto L_02585144;
|
|
L_02585144: ; // 0x2585144
|
|
/* 02585144 */ cpu->r[26] = cpu->r[27];
|
|
/* 02585144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02585148 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585148 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02585148 */ if (_t82) goto L_0258514C; else goto L_0258515C;
|
|
L_0258514C: ; // 0x258514c
|
|
/* 0258514C */ cpu->r[3] = 0x00000024u;
|
|
/* 02585150 */ Gambit_fn_02801A78(cpu);
|
|
/* 02585154 */ cpu->r[26] = cpu->r[3];
|
|
/* 02585154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02585158 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585158 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02585158 */ if (_t84) goto L_025851A4; else goto L_0258515C;
|
|
L_0258515C: ; // 0x258515c
|
|
/* 0258515C */ cpu->r[11] = cpu->r[26];
|
|
/* 0258515C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02585160 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585160 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02585160 */ if (_t86) goto L_02585164; else goto L_02585174;
|
|
L_02585164: ; // 0x2585164
|
|
/* 02585164 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02585168 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258516C */ cpu->r[11] = cpu->r[3];
|
|
/* 0258516C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02585170 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585170 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02585170 */ if (_t88) goto L_02585190; else goto L_02585174;
|
|
L_02585174: ; // 0x2585174
|
|
/* 02585174 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02585178 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02585178 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0258517C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02585180 */ cpu->r[5] = cpu->r[5] + 0x00001860u;
|
|
/* 02585184 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02585184 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02585188 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02585188 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0258518C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0258518C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02585190: ; // 0x2585190
|
|
/* 02585190 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02585194 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02585194 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02585198 */ cpu->r[6] = cpu->r[6] + 0x00001878u;
|
|
/* 0258519C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0258519C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 025851A0 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 025851A0 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_025851A4: ; // 0x25851a4
|
|
/* 025851A4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025851A8 */ cpu->r[0] = cpu->r[0] + 0x00001890u;
|
|
/* 025851AC */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 025851AC */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_025851B0: ; // 0x25851b0
|
|
/* 025851B0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 025851B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025851B4 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 025851B8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025851B8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 025851B8 */ if (_t98) goto L_025851BC; else goto L_0258513C;
|
|
L_025851BC: ; // 0x25851bc
|
|
/* 025851BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 025851C0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025851C0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 025851C0 */ if (_t100) goto L_025851CC; else goto L_025851C4;
|
|
L_025851C4: ; // 0x25851c4
|
|
/* 025851C4 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 025851C4 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 025851C8 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 025851C8 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_025851CC: ; // 0x25851cc
|
|
/* 025851CC */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 025851CC */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 025851D0 */ /* nop */
|
|
/* 025851D4 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 025851D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 025851D8 */ cpu->lr = cpu->r[0];
|
|
/* 025851DC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025851E0 */ return;
|
|
}
|
|
|
|
// fn_025851E4 @ 0x25851e4
|
|
void Gambit_fn_025851E4(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_025851E4: ; // 0x25851e4
|
|
/* 025851E4 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 025851E4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025851E8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 025851E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025851EC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 025851EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025851F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 025851F4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 025851F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025851F8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025851F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025851F8 */ if (_t5) goto L_025851FC; else goto L_02585204;
|
|
L_025851FC: ; // 0x25851fc
|
|
/* 025851FC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02585200 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02585204: ; // 0x2585204
|
|
/* 02585204 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02585204 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02585208 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02585208 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258520C */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0258520C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02585210 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02585210 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02585214 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02585214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02585218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0258521C */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0258521C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02585220 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585220 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02585220 */ if (_t13) goto L_02585224; else goto L_0258522C;
|
|
L_02585224: ; // 0x2585224
|
|
/* 02585224 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02585228 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0258522C: ; // 0x258522c
|
|
/* 0258522C */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0258522C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02585230 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02585230 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02585234 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02585234 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585238 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02585238 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0258523C */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0258523C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02585240 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02585240 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02585244 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02585244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0258524C */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0258524C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02585250 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585250 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02585250 */ if (_t23) goto L_02585254; else goto L_0258525C;
|
|
L_02585254: ; // 0x2585254
|
|
/* 02585254 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02585258 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0258525C: ; // 0x258525c
|
|
/* 0258525C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0258525C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02585260 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02585260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02585264 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02585264 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02585268 */ return;
|
|
}
|
|
|
|
// fn_0258526C @ 0x258526c
|
|
void Gambit_fn_0258526C(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;
|
|
|
|
L_0258526C: ; // 0x258526c
|
|
/* 0258526C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 0258526C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258526C */ cpu->r[1] = _t0;
|
|
/* 02585270 */ cpu->r[0] = cpu->lr;
|
|
/* 02585274 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02585274 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 02585278 */ /* nop */
|
|
/* 0258527C */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0258527C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02585280 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02585280 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02585284 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02585284 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02585288 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02585288 */ rbrew_write32(cpu->mem, _t5, cpu->r[28]);
|
|
/* 0258528C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0258528C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02585290 */ _t7 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585290 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02585294 */ /* nop */
|
|
/* 02585298 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585298 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0258529C */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 0258529C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
|
|
/* 025852A0 */ /* nop */
|
|
/* 025852A4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 025852A4 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 025852A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025852A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025852AC */ _t11 = cpu->r[1] + 0x00000040u;
|
|
/* 025852AC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
|
|
/* 025852B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025852B0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025852B0 */ if (_t13) goto L_025852B4; else goto L_025852C4;
|
|
L_025852B4: ; // 0x25852b4
|
|
/* 025852B4 */ cpu->r[3] = 0x0000024Cu;
|
|
/* 025852B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025852BC */ cpu->r[31] = cpu->r[3];
|
|
/* 025852BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025852C0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025852C0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 025852C0 */ if (_t15) goto L_025855AC; else goto L_025852C4;
|
|
L_025852C4: ; // 0x25852c4
|
|
/* 025852C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025852C8 */ Gambit_fn_02001FA8(cpu);
|
|
/* 025852CC */ cpu->r[5] = 0x100D0000u;
|
|
/* 025852D0 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 025852D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025852D4 */ cpu->r[28] = 0x100D0000u;
|
|
/* 025852D8 */ cpu->r[5] = cpu->r[5] + 0x00001C24u;
|
|
/* 025852DC */ cpu->r[30] = 0x101F0000u;
|
|
/* 025852E0 */ cpu->r[28] = cpu->r[28] + 0x00001BA0u;
|
|
/* 025852E4 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 025852E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 025852E8 */ _t17 = cpu->r[30] + 0x000066E8u;
|
|
/* 025852E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025852EC */ cpu->r[29] = 0x00000000u;
|
|
/* 025852F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025852F0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 025852F0 */ if (_t19) goto L_025852F4; else goto L_02585304;
|
|
L_025852F4: ; // 0x25852f4
|
|
/* 025852F4 */ cpu->r[3] = 0x00000018u;
|
|
/* 025852F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025852FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585300 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585300 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02585300 */ if (_t21) goto L_02585354; else goto L_02585304;
|
|
L_02585304: ; // 0x2585304
|
|
/* 02585304 */ cpu->r[6] = 0x00000001u;
|
|
/* 02585308 */ _t22 = cpu->r[3] + 0x0000000Fu;
|
|
/* 02585308 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[29]);
|
|
/* 0258530C */ cpu->r[8] = 0x100D0000u;
|
|
/* 02585310 */ _t23 = cpu->r[3] + 0x0000000Du;
|
|
/* 02585310 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[6]);
|
|
/* 02585314 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02585318 */ _t24 = cpu->r[8] + 0x00001BE8u;
|
|
/* 02585318 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0258531C */ _t25 = cpu->r[7] + 0x00001BECu;
|
|
/* 0258531C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02585320 */ _t26 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02585320 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[6]);
|
|
/* 02585324 */ _t27 = cpu->r[3] + 0x00000008u;
|
|
/* 02585324 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02585328 */ cpu->r[10] = cpu->r[3] + 0x00000010u;
|
|
/* 02585328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258532C */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 0258532C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02585330 */ _t29 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02585330 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[6]);
|
|
/* 02585334 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 02585334 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02585338 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585338 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02585338 */ if (_t32) goto L_0258533C; else goto L_0258534C;
|
|
L_0258533C: ; // 0x258533c
|
|
/* 0258533C */ cpu->r[3] = 0x00000008u;
|
|
/* 02585340 */ Gambit_fn_02801A78(cpu);
|
|
/* 02585344 */ cpu->r[10] = cpu->r[3];
|
|
/* 02585344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02585348 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585348 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02585348 */ if (_t34) goto L_02585354; else goto L_0258534C;
|
|
L_0258534C: ; // 0x258534c
|
|
/* 0258534C */ _t35 = cpu->r[10] + 0x00000000u;
|
|
/* 0258534C */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 02585350 */ _t36 = cpu->r[10] + 0x00000004u;
|
|
/* 02585350 */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
|
|
L_02585354: ; // 0x2585354
|
|
/* 02585354 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02585358 */ cpu->r[3] = cpu->r[31] + 0x000001E4u;
|
|
/* 02585358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258535C */ _t37 = cpu->r[6] + 0x00001BF0u;
|
|
/* 0258535C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02585360 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585360 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02585360 */ if (_t39) goto L_02585364; else goto L_02585374;
|
|
L_02585364: ; // 0x2585364
|
|
/* 02585364 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02585368 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258536C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585370 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585370 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02585370 */ if (_t41) goto L_02585398; else goto L_02585374;
|
|
L_02585374: ; // 0x2585374
|
|
/* 02585374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585378 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585378 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02585378 */ if (_t43) goto L_0258537C; else goto L_0258538C;
|
|
L_0258537C: ; // 0x258537c
|
|
/* 0258537C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02585380 */ Gambit_fn_02801A78(cpu);
|
|
/* 02585384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585388 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585388 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02585388 */ if (_t45) goto L_02585398; else goto L_0258538C;
|
|
L_0258538C: ; // 0x258538c
|
|
/* 0258538C */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 0258538C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
|
|
/* 02585390 */ _t47 = cpu->r[3] + 0x00000000u;
|
|
/* 02585390 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[31]);
|
|
/* 02585394 */ _t48 = cpu->r[3] + 0x00000008u;
|
|
/* 02585394 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[31]);
|
|
L_02585398: ; // 0x2585398
|
|
/* 02585398 */ cpu->r[30] = cpu->r[31] + 0x000001F4u;
|
|
/* 02585398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258539C */ _t49 = cpu->r[31] + 0x000001F0u;
|
|
/* 0258539C */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
/* 025853A0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025853A0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 025853A0 */ if (_t51) goto L_025853A4; else goto L_025853B4;
|
|
L_025853A4: ; // 0x25853a4
|
|
/* 025853A4 */ cpu->r[3] = 0x00000018u;
|
|
/* 025853A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025853AC */ cpu->r[30] = cpu->r[3];
|
|
/* 025853AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025853B0 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025853B0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 025853B0 */ if (_t53) goto L_025853FC; else goto L_025853B4;
|
|
L_025853B4: ; // 0x25853b4
|
|
/* 025853B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025853B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025853B8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025853B8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 025853B8 */ if (_t55) goto L_025853BC; else goto L_025853CC;
|
|
L_025853BC: ; // 0x25853bc
|
|
/* 025853BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025853C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025853C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025853C8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025853C8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 025853C8 */ if (_t57) goto L_025853D8; else goto L_025853CC;
|
|
L_025853CC: ; // 0x25853cc
|
|
/* 025853CC */ _t58 = cpu->r[3] + 0x00000004u;
|
|
/* 025853CC */ rbrew_write_f32(cpu->mem, _t58, cpu->f[31]);
|
|
/* 025853D0 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 025853D0 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[31]);
|
|
/* 025853D4 */ _t60 = cpu->r[3] + 0x00000008u;
|
|
/* 025853D4 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[31]);
|
|
L_025853D8: ; // 0x25853d8
|
|
/* 025853D8 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 025853D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025853DC */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025853DC */ _t62 = _t61 & 0x00000001u;
|
|
/* 025853DC */ if (_t62) goto L_025853E0; else goto L_025853F0;
|
|
L_025853E0: ; // 0x25853e0
|
|
/* 025853E0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025853E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025853E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025853EC */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025853EC */ _t64 = _t63 & 0x00000001u;
|
|
/* 025853EC */ if (_t64) goto L_025853FC; else goto L_025853F0;
|
|
L_025853F0: ; // 0x25853f0
|
|
/* 025853F0 */ _t65 = cpu->r[3] + 0x00000004u;
|
|
/* 025853F0 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[31]);
|
|
/* 025853F4 */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 025853F4 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[31]);
|
|
/* 025853F8 */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 025853F8 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
L_025853FC: ; // 0x25853fc
|
|
/* 025853FC */ cpu->r[11] = 0x101C0000u;
|
|
/* 02585400 */ _t68 = cpu->r[31] + 0x0000020Cu;
|
|
/* 02585400 */ rbrew_write32(cpu->mem, _t68, cpu->r[29]);
|
|
/* 02585404 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02585408 */ _t69 = cpu->r[11] + 0x00006CB0u;
|
|
/* 02585408 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0258540C */ cpu->r[0] = 0x00000001u;
|
|
/* 02585410 */ _t70 = cpu->r[12] + 0x00007230u;
|
|
/* 02585410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02585414 */ /* nop */
|
|
/* 02585418 */ /* nop */
|
|
/* 0258541C */ cpu->r[29] = cpu->r[31] + 0x00000214u;
|
|
/* 0258541C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02585420 */ cpu->r[12] = cpu->r[9] | cpu->r[11];
|
|
/* 02585424 */ _t71 = cpu->r[31] + 0x00000210u;
|
|
/* 02585424 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 02585428 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585428 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02585428 */ if (_t73) goto L_0258542C; else goto L_0258543C;
|
|
L_0258542C: ; // 0x258542c
|
|
/* 0258542C */ cpu->r[3] = 0x00000030u;
|
|
/* 02585430 */ Gambit_fn_02801A78(cpu);
|
|
/* 02585434 */ cpu->r[29] = cpu->r[3];
|
|
/* 02585434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02585438 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585438 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02585438 */ if (_t75) goto L_02585594; else goto L_0258543C;
|
|
L_0258543C: ; // 0x258543c
|
|
/* 0258543C */ cpu->r[30] = 0x101F0000u;
|
|
/* 02585440 */ cpu->r[28] = cpu->r[29];
|
|
/* 02585440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02585444 */ cpu->r[30] = cpu->r[30] + 0x00005E30u;
|
|
/* 02585448 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585448 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02585448 */ if (_t77) goto L_0258544C; else goto L_02585474;
|
|
L_0258544C: ; // 0x258544c
|
|
/* 0258544C */ cpu->r[3] = 0x00000024u;
|
|
/* 02585450 */ Gambit_fn_02801A78(cpu);
|
|
/* 02585454 */ cpu->r[28] = cpu->r[3];
|
|
/* 02585454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02585458 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585458 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02585458 */ if (_t79) goto L_0258545C; else goto L_02585474;
|
|
L_0258545C: ; // 0x258545c
|
|
/* 0258545C */ _t80 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258545C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02585460 */ cpu->r[3] = cpu->r[29] + 0x00000024u;
|
|
/* 02585460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585464 */ _t81 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02585464 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02585468 */ _t82 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02585468 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 0258546C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258546C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0258546C */ if (_t84) goto L_02585560; else goto L_02585470;
|
|
L_02585470: ; // 0x2585470
|
|
/* 02585470 */ goto L_02585570;
|
|
L_02585474: ; // 0x2585474
|
|
/* 02585474 */ _t85 = cpu->r[30] + 0x00000010u;
|
|
/* 02585474 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02585478 */ cpu->r[3] = cpu->r[28];
|
|
/* 02585478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258547C */ _t86 = cpu->r[30] + 0x00000000u;
|
|
/* 0258547C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02585480 */ _t87 = cpu->r[30] + 0x00000020u;
|
|
/* 02585480 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02585484 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585484 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02585484 */ if (_t89) goto L_02585488; else goto L_02585498;
|
|
L_02585488: ; // 0x2585488
|
|
/* 02585488 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0258548C */ Gambit_fn_02801A78(cpu);
|
|
/* 02585490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585494 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585494 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02585494 */ if (_t91) goto L_025854BC; else goto L_02585498;
|
|
L_02585498: ; // 0x2585498
|
|
/* 02585498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258549C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258549C */ _t93 = _t92 & 0x00000001u;
|
|
/* 0258549C */ if (_t93) goto L_025854A0; else goto L_025854B0;
|
|
L_025854A0: ; // 0x25854a0
|
|
/* 025854A0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025854A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025854A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025854AC */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025854AC */ _t95 = _t94 & 0x00000001u;
|
|
/* 025854AC */ if (_t95) goto L_025854BC; else goto L_025854B0;
|
|
L_025854B0: ; // 0x25854b0
|
|
/* 025854B0 */ _t96 = cpu->r[3] + 0x00000004u;
|
|
/* 025854B0 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[30]);
|
|
/* 025854B4 */ _t97 = cpu->r[3] + 0x00000000u;
|
|
/* 025854B4 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[29]);
|
|
/* 025854B8 */ _t98 = cpu->r[3] + 0x00000008u;
|
|
/* 025854B8 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[31]);
|
|
L_025854BC: ; // 0x25854bc
|
|
/* 025854BC */ _t99 = cpu->r[30] + 0x00000004u;
|
|
/* 025854BC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 025854C0 */ cpu->r[3] = cpu->r[28] + 0x0000000Cu;
|
|
/* 025854C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025854C4 */ _t100 = cpu->r[30] + 0x00000014u;
|
|
/* 025854C4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 025854C8 */ _t101 = cpu->r[30] + 0x00000024u;
|
|
/* 025854C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 025854CC */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025854CC */ _t103 = _t102 & 0x00000001u;
|
|
/* 025854CC */ if (_t103) goto L_025854D0; else goto L_025854E0;
|
|
L_025854D0: ; // 0x25854d0
|
|
/* 025854D0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025854D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025854D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025854DC */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025854DC */ _t105 = _t104 & 0x00000001u;
|
|
/* 025854DC */ if (_t105) goto L_02585504; else goto L_025854E0;
|
|
L_025854E0: ; // 0x25854e0
|
|
/* 025854E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025854E4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025854E4 */ _t107 = _t106 & 0x00000001u;
|
|
/* 025854E4 */ if (_t107) goto L_025854E8; else goto L_025854F8;
|
|
L_025854E8: ; // 0x25854e8
|
|
/* 025854E8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025854EC */ Gambit_fn_02801A78(cpu);
|
|
/* 025854F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025854F4 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025854F4 */ _t109 = _t108 & 0x00000001u;
|
|
/* 025854F4 */ if (_t109) goto L_02585504; else goto L_025854F8;
|
|
L_025854F8: ; // 0x25854f8
|
|
/* 025854F8 */ _t110 = cpu->r[3] + 0x00000004u;
|
|
/* 025854F8 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
|
|
/* 025854FC */ _t111 = cpu->r[3] + 0x00000000u;
|
|
/* 025854FC */ rbrew_write_f32(cpu->mem, _t111, cpu->f[29]);
|
|
/* 02585500 */ _t112 = cpu->r[3] + 0x00000008u;
|
|
/* 02585500 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[31]);
|
|
L_02585504: ; // 0x2585504
|
|
/* 02585504 */ _t113 = cpu->r[30] + 0x00000008u;
|
|
/* 02585504 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02585508 */ cpu->r[3] = cpu->r[28] + 0x00000018u;
|
|
/* 02585508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258550C */ _t114 = cpu->r[30] + 0x00000018u;
|
|
/* 0258550C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02585510 */ _t115 = cpu->r[30] + 0x00000028u;
|
|
/* 02585510 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02585514 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585514 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02585514 */ if (_t117) goto L_02585518; else goto L_02585528;
|
|
L_02585518: ; // 0x2585518
|
|
/* 02585518 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0258551C */ Gambit_fn_02801A78(cpu);
|
|
/* 02585520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585524 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585524 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02585524 */ if (_t119) goto L_0258554C; else goto L_02585528;
|
|
L_02585528: ; // 0x2585528
|
|
/* 02585528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258552C */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258552C */ _t121 = _t120 & 0x00000001u;
|
|
/* 0258552C */ if (_t121) goto L_02585530; else goto L_02585540;
|
|
L_02585530: ; // 0x2585530
|
|
/* 02585530 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02585534 */ Gambit_fn_02801A78(cpu);
|
|
/* 02585538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258553C */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258553C */ _t123 = _t122 & 0x00000001u;
|
|
/* 0258553C */ if (_t123) goto L_0258554C; else goto L_02585540;
|
|
L_02585540: ; // 0x2585540
|
|
/* 02585540 */ _t124 = cpu->r[3] + 0x00000004u;
|
|
/* 02585540 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[30]);
|
|
/* 02585544 */ _t125 = cpu->r[3] + 0x00000000u;
|
|
/* 02585544 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[29]);
|
|
/* 02585548 */ _t126 = cpu->r[3] + 0x00000008u;
|
|
/* 02585548 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[31]);
|
|
L_0258554C: ; // 0x258554c
|
|
/* 0258554C */ _t127 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258554C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02585550 */ cpu->r[3] = cpu->r[29] + 0x00000024u;
|
|
/* 02585550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585554 */ _t128 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02585554 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 02585558 */ _t129 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02585558 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 0258555C */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258555C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0258555C */ if (_t131) goto L_02585560; else goto L_02585570;
|
|
L_02585560: ; // 0x2585560
|
|
/* 02585560 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02585564 */ Gambit_fn_02801A78(cpu);
|
|
/* 02585568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258556C */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258556C */ _t133 = _t132 & 0x00000001u;
|
|
/* 0258556C */ if (_t133) goto L_02585594; else goto L_02585570;
|
|
L_02585570: ; // 0x2585570
|
|
/* 02585570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585574 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585574 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02585574 */ if (_t135) goto L_02585578; else goto L_02585588;
|
|
L_02585578: ; // 0x2585578
|
|
/* 02585578 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0258557C */ Gambit_fn_02801A78(cpu);
|
|
/* 02585580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02585584 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585584 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02585584 */ if (_t137) goto L_02585594; else goto L_02585588;
|
|
L_02585588: ; // 0x2585588
|
|
/* 02585588 */ _t138 = cpu->r[3] + 0x00000004u;
|
|
/* 02585588 */ rbrew_write_f32(cpu->mem, _t138, cpu->f[30]);
|
|
/* 0258558C */ _t139 = cpu->r[3] + 0x00000000u;
|
|
/* 0258558C */ rbrew_write_f32(cpu->mem, _t139, cpu->f[29]);
|
|
/* 02585590 */ _t140 = cpu->r[3] + 0x00000008u;
|
|
/* 02585590 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[31]);
|
|
L_02585594: ; // 0x2585594
|
|
/* 02585594 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02585598 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0258559C */ _t141 = cpu->r[9] + 0x00001BF4u;
|
|
/* 0258559C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 025855A0 */ _t142 = cpu->r[31] + 0x00000246u;
|
|
/* 025855A0 */ rbrew_write16(cpu->mem, _t142, (uint16_t)cpu->r[0]);
|
|
/* 025855A4 */ _t143 = cpu->r[31] + 0x00000248u;
|
|
/* 025855A4 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[0]);
|
|
/* 025855A8 */ _t144 = cpu->r[31] + 0x00000244u;
|
|
/* 025855A8 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[0]);
|
|
L_025855AC: ; // 0x25855ac
|
|
/* 025855AC */ _t145 = cpu->r[1] + 0x00000008u;
|
|
/* 025855AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t145);
|
|
/* 025855B0 */ _t146 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025855B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t146);
|
|
/* 025855B4 */ _t147 = cpu->r[1] + 0x00000040u;
|
|
/* 025855B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 025855B8 */ _t148 = cpu->r[1] + 0x00000020u;
|
|
/* 025855B8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 025855BC */ _t149 = cpu->r[1] + 0x00000038u;
|
|
/* 025855BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t149);
|
|
/* 025855C0 */ _t150 = cpu->r[1] + 0x00000030u;
|
|
/* 025855C0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t150);
|
|
/* 025855C4 */ _t151 = cpu->r[1] + 0x00000018u;
|
|
/* 025855C4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t151);
|
|
/* 025855C8 */ _t152 = cpu->r[1] + 0x00000028u;
|
|
/* 025855C8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t152);
|
|
/* 025855CC */ cpu->r[3] = cpu->r[31];
|
|
/* 025855D0 */ _t153 = cpu->r[1] + 0x00000014u;
|
|
/* 025855D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t153);
|
|
/* 025855D4 */ _t154 = cpu->r[1] + 0x00000010u;
|
|
/* 025855D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t154);
|
|
/* 025855D8 */ _t155 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025855D8 */ _t156 = _t155 & 0x00000001u;
|
|
/* 025855D8 */ if (_t156) goto L_025855DC; // else: addr-0 trap, fall-through
|
|
L_025855DC: ; // 0x25855dc
|
|
/* 025855DC */ _t157 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025855DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t157);
|
|
/* 025855E0 */ cpu->lr = cpu->r[0];
|
|
/* 025855E4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 025855E8 */ return;
|
|
}
|
|
|
|
// fn_025855EC @ 0x25855ec
|
|
void Gambit_fn_025855EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02002638: ; // 0x2002638
|
|
/* 02002638 */ cpu->r[0] = cpu->lr;
|
|
/* 0200263C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0200263C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0200263C */ cpu->r[1] = _t0;
|
|
/* 02002640 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02002640 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02002644 */ cpu->r[31] = cpu->r[3];
|
|
/* 02002648 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02002648 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0200264C */ _t3 = cpu->r[31] + 0x00000080u;
|
|
/* 0200264C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02002650 */ Gambit_fn_02398534(cpu);
|
|
/* 02002654 */ _t4 = cpu->r[31] + 0x00000084u;
|
|
/* 02002654 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02002658 */ cpu->r[0] = 0x00000000u;
|
|
/* 0200265C */ _t5 = cpu->r[31] + 0x00000080u;
|
|
/* 0200265C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02002660 */ _t6 = cpu->r[10] + 0x00000020u;
|
|
/* 02002660 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02002664 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02002668 */ _t7 = cpu->r[31] + 0x000001C8u;
|
|
/* 02002668 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 0200266C */ _t8 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0200266C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02002670 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02002670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02002674 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02002674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02002678 */ cpu->lr = cpu->r[0];
|
|
/* 0200267C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02002680 */ return;
|
|
L_025855EC: ; // 0x25855ec
|
|
/* 025855EC */ _t11 = cpu->r[3] + 0x00000080u;
|
|
/* 025855EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025855F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025855F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025855F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025855F4 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025855F4 */ goto L_025855F8;
|
|
L_025855F8: ; // 0x25855f8
|
|
/* 025855F8 */ goto L_02002638;
|
|
}
|
|
|
|
// fn_025855FC @ 0x25855fc
|
|
void Gambit_fn_025855FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025855FC: ; // 0x25855fc
|
|
/* 025855FC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 025855FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02585600 */ /* nop */
|
|
/* 02585604 */ /* nop */
|
|
/* 02585608 */ /* nop */
|
|
/* 0258560C */ /* nop */
|
|
/* 02585610 */ _t1 = cpu->r[3] + 0x00000228u;
|
|
/* 02585610 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02585614 */ _t2 = cpu->r[3] + 0x00000240u;
|
|
/* 02585614 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02585618 */ cpu->f[11] = fma(cpu->f[11], cpu->f[10], cpu->f[12]);
|
|
/* 0258561C */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0258561C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[11]);
|
|
/* 02585620 */ _t4 = cpu->r[3] + 0x000001D0u;
|
|
/* 02585620 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02585624 */ _t5 = cpu->r[3] + 0x000001CCu;
|
|
/* 02585624 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02585628 */ /* nop */
|
|
/* 0258562C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02585630 */ /* nop */
|
|
/* 02585634 */ /* nop */
|
|
/* 02585638 */ /* nop */
|
|
/* 0258563C */ _t6 = cpu->r[3] + 0x00000228u;
|
|
/* 0258563C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02585640 */ _t7 = cpu->r[3] + 0x00000240u;
|
|
/* 02585640 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02585644 */ cpu->f[0] = fma(cpu->f[0], cpu->f[13], cpu->f[12]);
|
|
/* 02585648 */ _t8 = cpu->r[4] + 0x00000018u;
|
|
/* 02585648 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 0258564C */ _t9 = cpu->r[3] + 0x000001CCu;
|
|
/* 0258564C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02585650 */ _t10 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02585650 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[10]);
|
|
/* 02585654 */ return;
|
|
}
|
|
|
|
// fn_02585658 @ 0x2585658
|
|
void Gambit_fn_02585658(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_02585658: ; // 0x2585658
|
|
/* 02585658 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02585658 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0258565C */ _t1 = cpu->r[3] + 0x000001F4u;
|
|
/* 0258565C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02585660 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02585664 */ _t2 = cpu->r[3] + 0x000001F8u;
|
|
/* 02585664 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02585668 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585668 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02585668 */ if (_t4) goto L_0258566C; else goto L_02585670;
|
|
L_0258566C: ; // 0x258566c
|
|
/* 0258566C */ _t5 = cpu->r[3] + 0x000001F4u;
|
|
/* 0258566C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
L_02585670: ; // 0x2585670
|
|
/* 02585670 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02585670 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02585674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02585678 */ _t7 = cpu->r[3] + 0x000001FCu;
|
|
/* 02585678 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258567C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258567C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258567C */ if (_t9) goto L_02585680; else goto L_02585684;
|
|
L_02585680: ; // 0x2585680
|
|
/* 02585680 */ _t10 = cpu->r[3] + 0x000001F8u;
|
|
/* 02585680 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
L_02585684: ; // 0x2585684
|
|
/* 02585684 */ _t11 = cpu->r[4] + 0x00000008u;
|
|
/* 02585684 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02585688 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 0258568C */ _t12 = cpu->r[3] + 0x00000200u;
|
|
/* 0258568C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02585690 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585690 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02585690 */ if (_t14) goto L_02585694; else goto L_02585698;
|
|
L_02585694: ; // 0x2585694
|
|
/* 02585694 */ _t15 = cpu->r[3] + 0x000001FCu;
|
|
/* 02585694 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
L_02585698: ; // 0x2585698
|
|
/* 02585698 */ _t16 = cpu->r[4] + 0x00000000u;
|
|
/* 02585698 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0258569C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 025856A0 */ _t17 = cpu->r[3] + 0x00000204u;
|
|
/* 025856A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025856A4 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025856A4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 025856A4 */ if (_t19) goto L_025856A8; else goto L_025856AC;
|
|
L_025856A8: ; // 0x25856a8
|
|
/* 025856A8 */ _t20 = cpu->r[3] + 0x00000200u;
|
|
/* 025856A8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
L_025856AC: ; // 0x25856ac
|
|
/* 025856AC */ _t21 = cpu->r[4] + 0x00000004u;
|
|
/* 025856AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 025856B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 025856B4 */ _t22 = cpu->r[3] + 0x00000208u;
|
|
/* 025856B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025856B8 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025856B8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 025856B8 */ if (_t24) goto L_025856BC; else goto L_025856C0;
|
|
L_025856BC: ; // 0x25856bc
|
|
/* 025856BC */ _t25 = cpu->r[3] + 0x00000204u;
|
|
/* 025856BC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
L_025856C0: ; // 0x25856c0
|
|
/* 025856C0 */ _t26 = cpu->r[4] + 0x00000008u;
|
|
/* 025856C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025856C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 025856C8 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025856C8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025856C8 */ _t29 = _t28 ^ 0x00000001u;
|
|
/* 025856C8 */ if (_t29) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025856C8 */ goto L_025856CC;
|
|
L_025856CC: ; // 0x25856cc
|
|
/* 025856CC */ _t30 = cpu->r[3] + 0x00000208u;
|
|
/* 025856CC */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 025856D0 */ return;
|
|
}
|
|
|
|
// fn_025856D4 @ 0x25856d4
|
|
void Gambit_fn_025856D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_025856D4: ; // 0x25856d4
|
|
/* 025856D4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025856D8 */ _t0 = cpu->r[3] + 0x00000248u;
|
|
/* 025856D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025856DC */ _t1 = cpu->r[12] + 0x00001BF0u;
|
|
/* 025856DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 025856E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 025856E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 025856E8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025856E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025856E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025856E8 */ goto L_025856EC;
|
|
L_025856EC: ; // 0x25856ec
|
|
/* 025856EC */ cpu->r[12] = 0x100D0000u;
|
|
/* 025856F0 */ _t4 = cpu->r[12] + 0x00001BF8u;
|
|
/* 025856F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 025856F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 025856F8 */ /* nop */
|
|
/* 025856FC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02585700 */ return;
|
|
}
|
|
|
|
// fn_02585704 @ 0x2585704
|
|
void Gambit_fn_02585704(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_02585704: ; // 0x2585704
|
|
/* 02585704 */ cpu->r[0] = cpu->lr;
|
|
/* 02585708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585708 */ cpu->r[1] = _t0;
|
|
/* 0258570C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258570C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02585710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02585714 */ cpu->r[10] = 0x10110000u;
|
|
/* 02585718 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02585718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258571C */ _t3 = cpu->r[31] + 0x000001DCu;
|
|
/* 0258571C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02585720 */ _t4 = cpu->r[10] + 0x00007399u;
|
|
/* 02585720 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02585724 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02585724 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02585728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0258572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258572C */ if (_t7) goto L_02585744; else goto L_02585730;
|
|
L_02585730: ; // 0x2585730
|
|
/* 02585730 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02585730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02585734 */ cpu->r[4] = cpu->r[31] + 0x000001DCu;
|
|
/* 02585738 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258573C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258573C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02585740 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02585740 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02585744: ; // 0x2585744
|
|
/* 02585744 */ _t11 = cpu->r[31] + 0x000001D9u;
|
|
/* 02585744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02585748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258574C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258574C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258574C */ if (_t13) goto L_02585790; else goto L_02585750;
|
|
L_02585750: ; // 0x2585750
|
|
/* 02585750 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02585750 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585758 */ _t15 = cpu->r[31] + 0x000001CCu;
|
|
/* 02585758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258575C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0258575C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585760 */ cpu->f[1] = cpu->f[0] - cpu->f[12];
|
|
/* 02585764 */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02585764 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02585768 */ cpu->f[2] = cpu->f[0] + cpu->f[12];
|
|
/* 0258576C */ _t18 = cpu->r[3] + 0x00005444u;
|
|
/* 0258576C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02585770 */ cpu->f[4] = cpu->f[13] + cpu->f[12];
|
|
/* 02585774 */ _t19 = cpu->r[31] + 0x00000210u;
|
|
/* 02585774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585778 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258577C */ cpu->f[3] = cpu->f[13] - cpu->f[12];
|
|
/* 02585780 */ _t20 = cpu->r[4] + 0x00006CB0u;
|
|
/* 02585780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585784 */ cpu->r[5] = cpu->r[31];
|
|
/* 02585788 */ Gambit_fn_02031B20(cpu);
|
|
/* 0258578C */ _t21 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0258578C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_02585790: ; // 0x2585790
|
|
/* 02585790 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02585790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585794 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02585798 */ cpu->lr = cpu->r[0];
|
|
/* 0258579C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857A0 */ return;
|
|
}
|
|
|
|
// fn_02585708 @ 0x2585708
|
|
void Gambit_fn_02585708(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_02585708: ; // 0x2585708
|
|
/* 02585708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585708 */ cpu->r[1] = _t0;
|
|
/* 0258570C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258570C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02585710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02585714 */ cpu->r[10] = 0x10110000u;
|
|
/* 02585718 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02585718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258571C */ _t3 = cpu->r[31] + 0x000001DCu;
|
|
/* 0258571C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02585720 */ _t4 = cpu->r[10] + 0x00007399u;
|
|
/* 02585720 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02585724 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02585724 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02585728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0258572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258572C */ if (_t7) goto L_02585744; else goto L_02585730;
|
|
L_02585730: ; // 0x2585730
|
|
/* 02585730 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02585730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02585734 */ cpu->r[4] = cpu->r[31] + 0x000001DCu;
|
|
/* 02585738 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258573C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258573C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02585740 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02585740 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02585744: ; // 0x2585744
|
|
/* 02585744 */ _t11 = cpu->r[31] + 0x000001D9u;
|
|
/* 02585744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02585748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258574C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258574C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258574C */ if (_t13) goto L_02585790; else goto L_02585750;
|
|
L_02585750: ; // 0x2585750
|
|
/* 02585750 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02585750 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585758 */ _t15 = cpu->r[31] + 0x000001CCu;
|
|
/* 02585758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258575C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0258575C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585760 */ cpu->f[1] = cpu->f[0] - cpu->f[12];
|
|
/* 02585764 */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02585764 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02585768 */ cpu->f[2] = cpu->f[0] + cpu->f[12];
|
|
/* 0258576C */ _t18 = cpu->r[3] + 0x00005444u;
|
|
/* 0258576C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02585770 */ cpu->f[4] = cpu->f[13] + cpu->f[12];
|
|
/* 02585774 */ _t19 = cpu->r[31] + 0x00000210u;
|
|
/* 02585774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585778 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258577C */ cpu->f[3] = cpu->f[13] - cpu->f[12];
|
|
/* 02585780 */ _t20 = cpu->r[4] + 0x00006CB0u;
|
|
/* 02585780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585784 */ cpu->r[5] = cpu->r[31];
|
|
/* 02585788 */ Gambit_fn_02031B20(cpu);
|
|
/* 0258578C */ _t21 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0258578C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_02585790: ; // 0x2585790
|
|
/* 02585790 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02585790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585794 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02585798 */ cpu->lr = cpu->r[0];
|
|
/* 0258579C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857A0 */ return;
|
|
}
|
|
|
|
// fn_025857A8 @ 0x25857a8
|
|
void Gambit_fn_025857A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_025857A8: ; // 0x25857a8
|
|
/* 025857A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025857A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025857A8 */ cpu->r[1] = _t0;
|
|
/* 025857AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025857B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025857B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025857B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025857B8 */ _t3 = cpu->r[31] + 0x000001D9u;
|
|
/* 025857B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025857BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025857C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025857C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025857C0 */ if (_t5) goto L_025857DC; else goto L_025857C4;
|
|
L_025857C4: ; // 0x25857c4
|
|
/* 025857C4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 025857C8 */ _t6 = cpu->r[3] + 0x00001D14u;
|
|
/* 025857C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025857CC */ cpu->r[4] = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 025857D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 025857D8 */ _t7 = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_025857DC: ; // 0x25857dc
|
|
/* 025857DC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025857DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025857E0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025857E4 */ cpu->lr = cpu->r[0];
|
|
/* 025857E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857EC */ return;
|
|
}
|
|
|
|
// fn_025857F0 @ 0x25857f0
|
|
void Gambit_fn_025857F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_025857F0: ; // 0x25857f0
|
|
/* 025857F0 */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 025857F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025857F4 */ _t1 = cpu->r[3] + 0x000001CCu;
|
|
/* 025857F4 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 025857F8 */ _t2 = cpu->r[5] + 0x00000004u;
|
|
/* 025857F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 025857FC */ _t3 = cpu->r[3] + 0x000001D0u;
|
|
/* 025857FC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02585800 */ _t4 = cpu->r[5] + 0x00000008u;
|
|
/* 02585800 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02585804 */ _t5 = cpu->r[3] + 0x000001D4u;
|
|
/* 02585804 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02585808 */ _t6 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02585808 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0258580C */ _t7 = cpu->r[3] + 0x000001D8u;
|
|
/* 0258580C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02585810 */ _t8 = cpu->r[5] + 0x0000000Du;
|
|
/* 02585810 */ cpu->r[11] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02585814 */ _t9 = cpu->r[3] + 0x000001D9u;
|
|
/* 02585814 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
|
|
/* 02585818 */ _t10 = cpu->r[5] + 0x0000000Eu;
|
|
/* 02585818 */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0258581C */ _t11 = cpu->r[3] + 0x000001DAu;
|
|
/* 0258581C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02585820 */ _t12 = cpu->r[5] + 0x0000000Fu;
|
|
/* 02585820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02585824 */ _t13 = cpu->r[3] + 0x000001DBu;
|
|
/* 02585824 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 02585828 */ _t14 = cpu->r[5] + 0x00000010u;
|
|
/* 02585828 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258582C */ _t15 = cpu->r[3] + 0x000001DCu;
|
|
/* 0258582C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02585830 */ _t16 = cpu->r[4] + 0x00000004u;
|
|
/* 02585830 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585834 */ _t17 = cpu->r[11] + 0x00000014u;
|
|
/* 02585834 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02585838 */ cpu->ctr = cpu->r[12];
|
|
/* 0258583C */ cpu->r[3] = cpu->r[4];
|
|
/* 02585840 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02585848 @ 0x2585848
|
|
void Gambit_fn_02585848(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;
|
|
|
|
L_02585848: ; // 0x2585848
|
|
/* 02585848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585848 */ cpu->r[1] = _t0;
|
|
/* 0258584C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258584C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02585850 */ cpu->r[30] = cpu->r[3];
|
|
/* 02585854 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585854 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02585858 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258585C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258585C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02585860 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 02585860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02585864 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02585864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02585868 */ _t6 = cpu->r[12] + 0x0000012Cu;
|
|
/* 02585868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258586C */ cpu->ctr = cpu->r[0];
|
|
/* 02585870 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02585870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02585874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585878 */ _t8 = cpu->r[31] + 0x00000224u;
|
|
/* 02585878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258587C */ cpu->r[31] = cpu->r[3];
|
|
/* 02585880 */ cpu->ctr = cpu->r[0];
|
|
/* 02585884 */ cpu->r[3] = cpu->r[30];
|
|
/* 02585888 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258588C */ cpu->r[12] = cpu->r[31] + cpu->r[3];
|
|
/* 02585890 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02585890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585894 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585894 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02585894 */ if (_t10) goto L_02585898; else goto L_02585910;
|
|
L_02585898: ; // 0x2585898
|
|
/* 02585898 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258589C */ _t11 = cpu->r[3] + 0x00000E14u;
|
|
/* 0258589C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025858A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025858A4 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 025858A8 */ Gambit_fn_02014444(cpu);
|
|
/* 025858AC */ Gambit_fn_0200ED68(cpu);
|
|
/* 025858B0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858B4 */ _t12 = cpu->r[30] + 0x00000078u;
|
|
/* 025858B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025858B8 */ _t13 = cpu->r[12] + 0x00001BFCu;
|
|
/* 025858B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025858BC */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 025858C0 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 025858C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025858C4 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 025858C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858CC */ cpu->f[13] = fabs(cpu->f[13]);
|
|
/* 025858D0 */ _t15 = cpu->r[12] + 0x00001C00u;
|
|
/* 025858D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025858D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025858D8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025858D8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 025858D8 */ if (_t17) goto L_025858DC; else goto L_025858EC;
|
|
L_025858DC: ; // 0x25858dc
|
|
/* 025858DC */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858E0 */ _t18 = cpu->r[12] + 0x00001BF4u;
|
|
/* 025858E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025858E4 */ _t19 = cpu->r[30] + 0x00000248u;
|
|
/* 025858E4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 025858E8 */ goto L_02585910;
|
|
L_025858EC: ; // 0x25858ec
|
|
/* 025858EC */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 025858EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 025858F0 */ _t21 = cpu->r[30] + 0x0000007Cu;
|
|
/* 025858F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 025858F4 */ _t22 = cpu->r[30] + 0x00000074u;
|
|
/* 025858F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025858F8 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 025858FC */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 025858FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02585900 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02585904 */ cpu->f[13] = cpu->f[12] * cpu->f[12];
|
|
/* 02585908 */ cpu->f[13] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 0258590C */ _t24 = cpu->r[30] + 0x00000248u;
|
|
/* 0258590C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
L_02585910: ; // 0x2585910
|
|
/* 02585910 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02585910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02585914 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02585914 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02585918 */ cpu->lr = cpu->r[0];
|
|
/* 0258591C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258591C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02585920 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02585924 */ return;
|
|
}
|
|
|
|
// fn_02585928 @ 0x2585928
|
|
void Gambit_fn_02585928(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;
|
|
|
|
L_02585844: ; // 0x2585844
|
|
/* 02585844 */ cpu->r[0] = cpu->lr;
|
|
/* 02585848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585848 */ cpu->r[1] = _t0;
|
|
/* 0258584C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258584C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02585850 */ cpu->r[30] = cpu->r[3];
|
|
/* 02585854 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585854 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02585858 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258585C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258585C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02585860 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 02585860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02585864 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02585864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02585868 */ _t6 = cpu->r[12] + 0x0000012Cu;
|
|
/* 02585868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258586C */ cpu->ctr = cpu->r[0];
|
|
/* 02585870 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02585870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02585874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585878 */ _t8 = cpu->r[31] + 0x00000224u;
|
|
/* 02585878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258587C */ cpu->r[31] = cpu->r[3];
|
|
/* 02585880 */ cpu->ctr = cpu->r[0];
|
|
/* 02585884 */ cpu->r[3] = cpu->r[30];
|
|
/* 02585888 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258588C */ cpu->r[12] = cpu->r[31] + cpu->r[3];
|
|
/* 02585890 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02585890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585894 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585894 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02585894 */ if (_t10) goto L_02585898; else goto L_02585910;
|
|
L_02585898: ; // 0x2585898
|
|
/* 02585898 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258589C */ _t11 = cpu->r[3] + 0x00000E14u;
|
|
/* 0258589C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025858A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025858A4 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 025858A8 */ Gambit_fn_02014444(cpu);
|
|
/* 025858AC */ Gambit_fn_0200ED68(cpu);
|
|
/* 025858B0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858B4 */ _t12 = cpu->r[30] + 0x00000078u;
|
|
/* 025858B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025858B8 */ _t13 = cpu->r[12] + 0x00001BFCu;
|
|
/* 025858B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025858BC */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 025858C0 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 025858C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025858C4 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 025858C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858CC */ cpu->f[13] = fabs(cpu->f[13]);
|
|
/* 025858D0 */ _t15 = cpu->r[12] + 0x00001C00u;
|
|
/* 025858D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025858D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025858D8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025858D8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 025858D8 */ if (_t17) goto L_025858DC; else goto L_025858EC;
|
|
L_025858DC: ; // 0x25858dc
|
|
/* 025858DC */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858E0 */ _t18 = cpu->r[12] + 0x00001BF4u;
|
|
/* 025858E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025858E4 */ _t19 = cpu->r[30] + 0x00000248u;
|
|
/* 025858E4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 025858E8 */ goto L_02585910;
|
|
L_025858EC: ; // 0x25858ec
|
|
/* 025858EC */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 025858EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 025858F0 */ _t21 = cpu->r[30] + 0x0000007Cu;
|
|
/* 025858F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 025858F4 */ _t22 = cpu->r[30] + 0x00000074u;
|
|
/* 025858F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025858F8 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 025858FC */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 025858FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02585900 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02585904 */ cpu->f[13] = cpu->f[12] * cpu->f[12];
|
|
/* 02585908 */ cpu->f[13] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 0258590C */ _t24 = cpu->r[30] + 0x00000248u;
|
|
/* 0258590C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
L_02585910: ; // 0x2585910
|
|
/* 02585910 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02585910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02585914 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02585914 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02585918 */ cpu->lr = cpu->r[0];
|
|
/* 0258591C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258591C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02585920 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02585924 */ return;
|
|
L_02585928: ; // 0x2585928
|
|
/* 02585928 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258592C */ _t28 = cpu->r[12] + 0x00001BF0u;
|
|
/* 0258592C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02585930 */ _t29 = cpu->r[3] + 0x00000208u;
|
|
/* 02585930 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 02585934 */ _t30 = cpu->r[3] + 0x00000200u;
|
|
/* 02585934 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02585938 */ _t31 = cpu->r[3] + 0x000001F4u;
|
|
/* 02585938 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 0258593C */ _t32 = cpu->r[3] + 0x000001F8u;
|
|
/* 0258593C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 02585940 */ _t33 = cpu->r[3] + 0x000001FCu;
|
|
/* 02585940 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02585944 */ _t34 = cpu->r[3] + 0x00000204u;
|
|
/* 02585944 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02585948 */ goto L_02585844;
|
|
}
|
|
|
|
// fn_0258594C @ 0x258594c
|
|
void Gambit_fn_0258594C(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;
|
|
|
|
L_0258594C: ; // 0x258594c
|
|
/* 0258594C */ cpu->r[0] = cpu->lr;
|
|
/* 02585950 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02585950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585950 */ cpu->r[1] = _t0;
|
|
/* 02585954 */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 02585954 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02585958 */ /* nop */
|
|
/* 0258595C */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 0258595C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02585960 */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 02585960 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02585964 */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 02585964 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02585968 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02585968 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0258596C */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258596C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02585970 */ /* nop */
|
|
/* 02585974 */ _t7 = cpu->r[1] + 0x00000064u;
|
|
/* 02585974 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02585978 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258597C */ _t8 = cpu->r[1] + 0x00000070u;
|
|
/* 0258597C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 02585980 */ _t9 = cpu->r[30] + 0x000001D8u;
|
|
/* 02585980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02585984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585988 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585988 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02585988 */ if (_t11) goto L_025859A0; else goto L_0258598C;
|
|
L_0258598C: ; // 0x258598c
|
|
/* 0258598C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02585990 */ _t12 = cpu->r[30] + 0x000001E8u;
|
|
/* 02585990 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02585994 */ _t13 = cpu->r[10] + 0x00001C04u;
|
|
/* 02585994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02585998 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 0258599C */ _t14 = cpu->r[30] + 0x000001E8u;
|
|
/* 0258599C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
L_025859A0: ; // 0x25859a0
|
|
/* 025859A0 */ /* nop */
|
|
/* 025859A4 */ /* nop */
|
|
/* 025859A8 */ _t15 = cpu->r[30] + 0x0000007Cu;
|
|
/* 025859A8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025859AC */ /* nop */
|
|
/* 025859B0 */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 025859B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 025859B4 */ /* nop */
|
|
/* 025859B8 */ _t17 = cpu->r[30] + 0x00000078u;
|
|
/* 025859B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025859BC */ _t18 = cpu->r[30] + 0x00000218u;
|
|
/* 025859BC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 025859C0 */ _t19 = cpu->r[30] + 0x00000074u;
|
|
/* 025859C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 025859C4 */ _t20 = cpu->r[30] + 0x0000023Cu;
|
|
/* 025859C4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[9]);
|
|
/* 025859C8 */ _t21 = cpu->r[30] + 0x00000238u;
|
|
/* 025859C8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 025859CC */ _t22 = cpu->r[30] + 0x000001ECu;
|
|
/* 025859CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025859D0 */ _t23 = cpu->r[30] + 0x0000006Cu;
|
|
/* 025859D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025859D4 */ cpu->f[8] = cpu->f[8] + cpu->f[11];
|
|
/* 025859D8 */ _t24 = cpu->r[30] + 0x00000068u;
|
|
/* 025859D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025859DC */ _t25 = cpu->r[30] + 0x00000230u;
|
|
/* 025859DC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 025859E0 */ _t26 = cpu->r[30] + 0x0000005Cu;
|
|
/* 025859E0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025859E4 */ _t27 = cpu->r[30] + 0x00000058u;
|
|
/* 025859E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025859E8 */ _t28 = cpu->r[30] + 0x00000220u;
|
|
/* 025859E8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[10]);
|
|
/* 025859EC */ _t29 = cpu->r[30] + 0x0000021Cu;
|
|
/* 025859EC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[9]);
|
|
/* 025859F0 */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 025859F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 025859F4 */ _t31 = cpu->r[30] + 0x0000007Cu;
|
|
/* 025859F4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[8]);
|
|
/* 025859F8 */ _t32 = cpu->r[30] + 0x00000224u;
|
|
/* 025859F8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 025859FC */ _t33 = cpu->r[30] + 0x00000064u;
|
|
/* 025859FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02585A00 */ _t34 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02585A00 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[11]);
|
|
/* 02585A04 */ _t35 = cpu->r[30] + 0x00000228u;
|
|
/* 02585A04 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02585A08 */ _t36 = cpu->r[30] + 0x00000070u;
|
|
/* 02585A08 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02585A0C */ _t37 = cpu->r[30] + 0x00000244u;
|
|
/* 02585A0C */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t37);
|
|
/* 02585A10 */ _t38 = cpu->r[30] + 0x00000234u;
|
|
/* 02585A10 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[10]);
|
|
/* 02585A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
|
|
/* 02585A18 */ _t39 = cpu->r[30] + 0x00000050u;
|
|
/* 02585A18 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02585A1C */ _t40 = cpu->r[30] + 0x00000240u;
|
|
/* 02585A1C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[8]);
|
|
/* 02585A20 */ _t41 = cpu->r[30] + 0x00000214u;
|
|
/* 02585A20 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
/* 02585A24 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585A24 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02585A24 */ if (_t43) goto L_02585ADC; else goto L_02585A28;
|
|
L_02585A28: ; // 0x2585a28
|
|
/* 02585A28 */ _t44 = cpu->r[30] + 0x00000246u;
|
|
/* 02585A28 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44);
|
|
/* 02585A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02585A30 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585A30 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02585A30 */ if (_t46) goto L_02585ADC; else goto L_02585A34;
|
|
L_02585A34: ; // 0x2585a34
|
|
/* 02585A34 */ _t47 = cpu->r[30] + 0x00000008u;
|
|
/* 02585A34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02585A38 */ cpu->r[4] = cpu->r[31];
|
|
/* 02585A3C */ cpu->r[3] = cpu->r[29];
|
|
/* 02585A40 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02585A44 */ _t48 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02585A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02585A48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02585A4C */ cpu->r[11] = 0x00000000u;
|
|
/* 02585A50 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585A50 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02585A50 */ if (_t50) goto L_02585A54; else goto L_02585A60;
|
|
L_02585A54: ; // 0x2585a54
|
|
/* 02585A54 */ _t51 = cpu->r[29] + 0x00000024u;
|
|
/* 02585A54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02585A58 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02585A5C */ _t52 = cpu->r[6] + cpu->r[7];
|
|
/* 02585A5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
L_02585A60: ; // 0x2585a60
|
|
/* 02585A60 */ _t53 = cpu->r[11] + 0x00000000u;
|
|
/* 02585A60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02585A64 */ _t54 = cpu->r[3] + 0x00000088u;
|
|
/* 02585A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02585A68 */ _t55 = cpu->r[8] + 0x00000074u;
|
|
/* 02585A68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02585A6C */ _t56 = cpu->r[30] + 0x00000246u;
|
|
/* 02585A6C */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t56);
|
|
/* 02585A70 */ cpu->ctr = cpu->r[9];
|
|
/* 02585A74 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02585A78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585A7C */ _t57 = cpu->r[1] + 0x00000034u;
|
|
/* 02585A7C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02585A80 */ _t58 = cpu->r[1] + 0x00000044u;
|
|
/* 02585A80 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02585A84 */ _t59 = cpu->r[30] + 0x00000224u;
|
|
/* 02585A84 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[10]);
|
|
/* 02585A88 */ _t60 = cpu->r[30] + 0x00000228u;
|
|
/* 02585A88 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 02585A8C */ _t61 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585A8C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02585A90 */ _t62 = cpu->r[1] + 0x00000028u;
|
|
/* 02585A90 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02585A94 */ _t63 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02585A94 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02585A98 */ _t64 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02585A98 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 02585A9C */ _t65 = cpu->r[1] + 0x00000030u;
|
|
/* 02585A9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02585AA0 */ _t66 = cpu->r[1] + 0x00000040u;
|
|
/* 02585AA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02585AA4 */ _t67 = cpu->r[30] + 0x00000218u;
|
|
/* 02585AA4 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[0]);
|
|
/* 02585AA8 */ _t68 = cpu->r[1] + 0x00000038u;
|
|
/* 02585AA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02585AAC */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 02585AAC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02585AB0 */ _t70 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02585AB0 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[11]);
|
|
/* 02585AB4 */ _t71 = cpu->r[30] + 0x00000214u;
|
|
/* 02585AB4 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[12]);
|
|
/* 02585AB8 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585AB8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02585ABC */ _t73 = cpu->r[1] + 0x00000024u;
|
|
/* 02585ABC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02585AC0 */ _t74 = cpu->r[30] + 0x00000238u;
|
|
/* 02585AC0 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[9]);
|
|
/* 02585AC4 */ _t75 = cpu->r[30] + 0x00000220u;
|
|
/* 02585AC4 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
/* 02585AC8 */ _t76 = cpu->r[1] + 0x00000048u;
|
|
/* 02585AC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02585ACC */ _t77 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585ACC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02585AD0 */ _t78 = cpu->r[30] + 0x00000234u;
|
|
/* 02585AD0 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[0]);
|
|
/* 02585AD4 */ _t79 = cpu->r[30] + 0x00000240u;
|
|
/* 02585AD4 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[11]);
|
|
/* 02585AD8 */ _t80 = cpu->r[30] + 0x00000230u;
|
|
/* 02585AD8 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
L_02585ADC: ; // 0x2585adc
|
|
/* 02585ADC */ _t81 = cpu->r[30] + 0x000001D9u;
|
|
/* 02585ADC */ cpu->r[10] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02585AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02585AE4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585AE4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02585AE4 */ if (_t83) goto L_02585BE8; else goto L_02585AE8;
|
|
L_02585AE8: ; // 0x2585ae8
|
|
/* 02585AE8 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02585AEC */ _t84 = cpu->r[30] + 0x00000004u;
|
|
/* 02585AEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02585AF0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02585AF4 */ _t85 = cpu->r[9] + 0x00001BF0u;
|
|
/* 02585AF4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02585AF8 */ _t86 = cpu->r[7] + 0x00003840u;
|
|
/* 02585AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02585AF8 */ cpu->r[7] = _t86;
|
|
/* 02585AFC */ _t87 = cpu->r[7] + 0x00000008u;
|
|
/* 02585AFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02585B00 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 02585B00 */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 02585B04 */ cpu->r[11] = 0x10110000u;
|
|
/* 02585B08 */ _t89 = cpu->r[1] + 0x00000038u;
|
|
/* 02585B08 */ rbrew_write32(cpu->mem, _t89, cpu->r[8]);
|
|
/* 02585B0C */ cpu->r[11] = cpu->r[11] + 0xFFFFEF7Cu;
|
|
/* 02585B10 */ _t90 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585B10 */ rbrew_write32(cpu->mem, _t90, cpu->r[8]);
|
|
/* 02585B14 */ _t91 = cpu->r[1] + 0x00000020u;
|
|
/* 02585B14 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]);
|
|
/* 02585B18 */ _t92 = cpu->r[7] + 0x00000004u;
|
|
/* 02585B18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02585B1C */ _t93 = cpu->r[1] + 0x00000030u;
|
|
/* 02585B1C */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 02585B20 */ _t94 = cpu->r[1] + 0x00000034u;
|
|
/* 02585B20 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02585B24 */ _t95 = cpu->r[1] + 0x00000028u;
|
|
/* 02585B24 */ rbrew_write32(cpu->mem, _t95, cpu->r[6]);
|
|
/* 02585B28 */ _t96 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585B28 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[31]);
|
|
/* 02585B2C */ _t97 = cpu->r[10] + 0x00000204u;
|
|
/* 02585B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02585B30 */ cpu->ctr = cpu->r[0];
|
|
/* 02585B34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02585B38 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02585B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585B40 */ /* nop */
|
|
/* 02585B44 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02585B48 */ /* nop */
|
|
/* 02585B4C */ _t98 = cpu->r[12] + 0x00001BECu;
|
|
/* 02585B4C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02585B50 */ /* nop */
|
|
/* 02585B54 */ /* nop */
|
|
/* 02585B58 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 02585B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02585B5C */ _t100 = cpu->r[1] + 0x00000038u;
|
|
/* 02585B5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 02585B60 */ _t101 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585B60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02585B64 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585B64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02585B68 */ _t103 = cpu->r[1] + 0x00000040u;
|
|
/* 02585B68 */ rbrew_write32(cpu->mem, _t103, cpu->r[0]);
|
|
/* 02585B6C */ cpu->f[10] = cpu->f[12] + cpu->f[13];
|
|
/* 02585B70 */ _t104 = cpu->r[1] + 0x00000044u;
|
|
/* 02585B70 */ rbrew_write32(cpu->mem, _t104, cpu->r[11]);
|
|
/* 02585B74 */ /* nop */
|
|
/* 02585B78 */ _t105 = cpu->r[1] + 0x00000010u;
|
|
/* 02585B78 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[10]);
|
|
/* 02585B7C */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 02585B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02585B80 */ /* nop */
|
|
/* 02585B84 */ /* nop */
|
|
/* 02585B88 */ _t107 = cpu->r[1] + 0x00000014u;
|
|
/* 02585B88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02585B8C */ _t108 = cpu->r[1] + 0x00000048u;
|
|
/* 02585B8C */ rbrew_write32(cpu->mem, _t108, cpu->r[12]);
|
|
/* 02585B90 */ _t109 = cpu->r[1] + 0x00000048u;
|
|
/* 02585B90 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02585B94 */ _t110 = cpu->r[1] + 0x00000018u;
|
|
/* 02585B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02585B98 */ cpu->f[12] = cpu->f[12] * cpu->f[30];
|
|
/* 02585B9C */ _t111 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585B9C */ rbrew_write32(cpu->mem, _t111, cpu->r[6]);
|
|
/* 02585BA0 */ _t112 = cpu->r[1] + 0x00000050u;
|
|
/* 02585BA0 */ rbrew_write32(cpu->mem, _t112, cpu->r[7]);
|
|
/* 02585BA4 */ _t113 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02585BA4 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[12]);
|
|
/* 02585BA8 */ _t114 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02585BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02585BAC */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02585BB0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02585BB4 */ _t115 = cpu->r[1] + 0x00000054u;
|
|
/* 02585BB4 */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 02585BB8 */ Gambit_fn_02C693A4(cpu);
|
|
/* 02585BBC */ _t116 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585BBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02585BC0 */ _t117 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585BC0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02585BC4 */ cpu->f[12] = fma(cpu->f[1], cpu->f[30], cpu->f[13]);
|
|
/* 02585BC8 */ _t118 = cpu->r[1] + 0x00000054u;
|
|
/* 02585BC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02585BCC */ cpu->f[5] = cpu->f[31];
|
|
/* 02585BD0 */ cpu->f[2] = cpu->f[9] + cpu->f[12];
|
|
/* 02585BD4 */ cpu->f[3] = cpu->f[0] - cpu->f[12];
|
|
/* 02585BD8 */ _t119 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02585BD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02585BDC */ cpu->f[4] = cpu->f[0] + cpu->f[12];
|
|
/* 02585BE0 */ cpu->f[1] = cpu->f[9] - cpu->f[12];
|
|
/* 02585BE4 */ Gambit_fn_02031EFC(cpu);
|
|
L_02585BE8: ; // 0x2585be8
|
|
/* 02585BE8 */ _t120 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02585BE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02585BEC */ _t121 = cpu->r[1] + 0x00000080u;
|
|
/* 02585BEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02585BF0 */ _t122 = cpu->r[1] + 0x00000070u;
|
|
/* 02585BF0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02585BF4 */ _t123 = cpu->r[1] + 0x00000078u;
|
|
/* 02585BF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02585BF8 */ _t124 = cpu->r[1] + 0x00000068u;
|
|
/* 02585BF8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t124);
|
|
/* 02585BFC */ _t125 = cpu->r[1] + 0x00000064u;
|
|
/* 02585BFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02585C00 */ _t126 = cpu->r[1] + 0x00000060u;
|
|
/* 02585C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02585C04 */ _t127 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585C04 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02585C04 */ if (_t128) goto L_02585C08; // else: addr-0 trap, fall-through
|
|
L_02585C08: ; // 0x2585c08
|
|
/* 02585C08 */ _t129 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02585C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02585C0C */ cpu->lr = cpu->r[0];
|
|
/* 02585C10 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02585C14 */ return;
|
|
}
|
|
|
|
// fn_02585950 @ 0x2585950
|
|
void Gambit_fn_02585950(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;
|
|
|
|
L_02585950: ; // 0x2585950
|
|
/* 02585950 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02585950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585950 */ cpu->r[1] = _t0;
|
|
/* 02585954 */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 02585954 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02585958 */ /* nop */
|
|
/* 0258595C */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 0258595C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02585960 */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 02585960 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02585964 */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 02585964 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02585968 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02585968 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0258596C */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258596C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02585970 */ /* nop */
|
|
/* 02585974 */ _t7 = cpu->r[1] + 0x00000064u;
|
|
/* 02585974 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02585978 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258597C */ _t8 = cpu->r[1] + 0x00000070u;
|
|
/* 0258597C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 02585980 */ _t9 = cpu->r[30] + 0x000001D8u;
|
|
/* 02585980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02585984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585988 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585988 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02585988 */ if (_t11) goto L_025859A0; else goto L_0258598C;
|
|
L_0258598C: ; // 0x258598c
|
|
/* 0258598C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02585990 */ _t12 = cpu->r[30] + 0x000001E8u;
|
|
/* 02585990 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02585994 */ _t13 = cpu->r[10] + 0x00001C04u;
|
|
/* 02585994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02585998 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 0258599C */ _t14 = cpu->r[30] + 0x000001E8u;
|
|
/* 0258599C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
L_025859A0: ; // 0x25859a0
|
|
/* 025859A0 */ /* nop */
|
|
/* 025859A4 */ /* nop */
|
|
/* 025859A8 */ _t15 = cpu->r[30] + 0x0000007Cu;
|
|
/* 025859A8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025859AC */ /* nop */
|
|
/* 025859B0 */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 025859B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 025859B4 */ /* nop */
|
|
/* 025859B8 */ _t17 = cpu->r[30] + 0x00000078u;
|
|
/* 025859B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025859BC */ _t18 = cpu->r[30] + 0x00000218u;
|
|
/* 025859BC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 025859C0 */ _t19 = cpu->r[30] + 0x00000074u;
|
|
/* 025859C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 025859C4 */ _t20 = cpu->r[30] + 0x0000023Cu;
|
|
/* 025859C4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[9]);
|
|
/* 025859C8 */ _t21 = cpu->r[30] + 0x00000238u;
|
|
/* 025859C8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 025859CC */ _t22 = cpu->r[30] + 0x000001ECu;
|
|
/* 025859CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025859D0 */ _t23 = cpu->r[30] + 0x0000006Cu;
|
|
/* 025859D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025859D4 */ cpu->f[8] = cpu->f[8] + cpu->f[11];
|
|
/* 025859D8 */ _t24 = cpu->r[30] + 0x00000068u;
|
|
/* 025859D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025859DC */ _t25 = cpu->r[30] + 0x00000230u;
|
|
/* 025859DC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 025859E0 */ _t26 = cpu->r[30] + 0x0000005Cu;
|
|
/* 025859E0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025859E4 */ _t27 = cpu->r[30] + 0x00000058u;
|
|
/* 025859E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025859E8 */ _t28 = cpu->r[30] + 0x00000220u;
|
|
/* 025859E8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[10]);
|
|
/* 025859EC */ _t29 = cpu->r[30] + 0x0000021Cu;
|
|
/* 025859EC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[9]);
|
|
/* 025859F0 */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 025859F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 025859F4 */ _t31 = cpu->r[30] + 0x0000007Cu;
|
|
/* 025859F4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[8]);
|
|
/* 025859F8 */ _t32 = cpu->r[30] + 0x00000224u;
|
|
/* 025859F8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 025859FC */ _t33 = cpu->r[30] + 0x00000064u;
|
|
/* 025859FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02585A00 */ _t34 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02585A00 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[11]);
|
|
/* 02585A04 */ _t35 = cpu->r[30] + 0x00000228u;
|
|
/* 02585A04 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02585A08 */ _t36 = cpu->r[30] + 0x00000070u;
|
|
/* 02585A08 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02585A0C */ _t37 = cpu->r[30] + 0x00000244u;
|
|
/* 02585A0C */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t37);
|
|
/* 02585A10 */ _t38 = cpu->r[30] + 0x00000234u;
|
|
/* 02585A10 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[10]);
|
|
/* 02585A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFFu);
|
|
/* 02585A18 */ _t39 = cpu->r[30] + 0x00000050u;
|
|
/* 02585A18 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02585A1C */ _t40 = cpu->r[30] + 0x00000240u;
|
|
/* 02585A1C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[8]);
|
|
/* 02585A20 */ _t41 = cpu->r[30] + 0x00000214u;
|
|
/* 02585A20 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
/* 02585A24 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585A24 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02585A24 */ if (_t43) goto L_02585ADC; else goto L_02585A28;
|
|
L_02585A28: ; // 0x2585a28
|
|
/* 02585A28 */ _t44 = cpu->r[30] + 0x00000246u;
|
|
/* 02585A28 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44);
|
|
/* 02585A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02585A30 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585A30 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02585A30 */ if (_t46) goto L_02585ADC; else goto L_02585A34;
|
|
L_02585A34: ; // 0x2585a34
|
|
/* 02585A34 */ _t47 = cpu->r[30] + 0x00000008u;
|
|
/* 02585A34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02585A38 */ cpu->r[4] = cpu->r[31];
|
|
/* 02585A3C */ cpu->r[3] = cpu->r[29];
|
|
/* 02585A40 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02585A44 */ _t48 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02585A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02585A48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02585A4C */ cpu->r[11] = 0x00000000u;
|
|
/* 02585A50 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585A50 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02585A50 */ if (_t50) goto L_02585A54; else goto L_02585A60;
|
|
L_02585A54: ; // 0x2585a54
|
|
/* 02585A54 */ _t51 = cpu->r[29] + 0x00000024u;
|
|
/* 02585A54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02585A58 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02585A5C */ _t52 = cpu->r[6] + cpu->r[7];
|
|
/* 02585A5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
L_02585A60: ; // 0x2585a60
|
|
/* 02585A60 */ _t53 = cpu->r[11] + 0x00000000u;
|
|
/* 02585A60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02585A64 */ _t54 = cpu->r[3] + 0x00000088u;
|
|
/* 02585A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02585A68 */ _t55 = cpu->r[8] + 0x00000074u;
|
|
/* 02585A68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02585A6C */ _t56 = cpu->r[30] + 0x00000246u;
|
|
/* 02585A6C */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t56);
|
|
/* 02585A70 */ cpu->ctr = cpu->r[9];
|
|
/* 02585A74 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02585A78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585A7C */ _t57 = cpu->r[1] + 0x00000034u;
|
|
/* 02585A7C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02585A80 */ _t58 = cpu->r[1] + 0x00000044u;
|
|
/* 02585A80 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02585A84 */ _t59 = cpu->r[30] + 0x00000224u;
|
|
/* 02585A84 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[10]);
|
|
/* 02585A88 */ _t60 = cpu->r[30] + 0x00000228u;
|
|
/* 02585A88 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 02585A8C */ _t61 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585A8C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02585A90 */ _t62 = cpu->r[1] + 0x00000028u;
|
|
/* 02585A90 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02585A94 */ _t63 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02585A94 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02585A98 */ _t64 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02585A98 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 02585A9C */ _t65 = cpu->r[1] + 0x00000030u;
|
|
/* 02585A9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02585AA0 */ _t66 = cpu->r[1] + 0x00000040u;
|
|
/* 02585AA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02585AA4 */ _t67 = cpu->r[30] + 0x00000218u;
|
|
/* 02585AA4 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[0]);
|
|
/* 02585AA8 */ _t68 = cpu->r[1] + 0x00000038u;
|
|
/* 02585AA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02585AAC */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 02585AAC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02585AB0 */ _t70 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02585AB0 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[11]);
|
|
/* 02585AB4 */ _t71 = cpu->r[30] + 0x00000214u;
|
|
/* 02585AB4 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[12]);
|
|
/* 02585AB8 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585AB8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02585ABC */ _t73 = cpu->r[1] + 0x00000024u;
|
|
/* 02585ABC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02585AC0 */ _t74 = cpu->r[30] + 0x00000238u;
|
|
/* 02585AC0 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[9]);
|
|
/* 02585AC4 */ _t75 = cpu->r[30] + 0x00000220u;
|
|
/* 02585AC4 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
/* 02585AC8 */ _t76 = cpu->r[1] + 0x00000048u;
|
|
/* 02585AC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02585ACC */ _t77 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585ACC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02585AD0 */ _t78 = cpu->r[30] + 0x00000234u;
|
|
/* 02585AD0 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[0]);
|
|
/* 02585AD4 */ _t79 = cpu->r[30] + 0x00000240u;
|
|
/* 02585AD4 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[11]);
|
|
/* 02585AD8 */ _t80 = cpu->r[30] + 0x00000230u;
|
|
/* 02585AD8 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
L_02585ADC: ; // 0x2585adc
|
|
/* 02585ADC */ _t81 = cpu->r[30] + 0x000001D9u;
|
|
/* 02585ADC */ cpu->r[10] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02585AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02585AE4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585AE4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02585AE4 */ if (_t83) goto L_02585BE8; else goto L_02585AE8;
|
|
L_02585AE8: ; // 0x2585ae8
|
|
/* 02585AE8 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02585AEC */ _t84 = cpu->r[30] + 0x00000004u;
|
|
/* 02585AEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02585AF0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02585AF4 */ _t85 = cpu->r[9] + 0x00001BF0u;
|
|
/* 02585AF4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02585AF8 */ _t86 = cpu->r[7] + 0x00003840u;
|
|
/* 02585AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02585AF8 */ cpu->r[7] = _t86;
|
|
/* 02585AFC */ _t87 = cpu->r[7] + 0x00000008u;
|
|
/* 02585AFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02585B00 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 02585B00 */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 02585B04 */ cpu->r[11] = 0x10110000u;
|
|
/* 02585B08 */ _t89 = cpu->r[1] + 0x00000038u;
|
|
/* 02585B08 */ rbrew_write32(cpu->mem, _t89, cpu->r[8]);
|
|
/* 02585B0C */ cpu->r[11] = cpu->r[11] + 0xFFFFEF7Cu;
|
|
/* 02585B10 */ _t90 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585B10 */ rbrew_write32(cpu->mem, _t90, cpu->r[8]);
|
|
/* 02585B14 */ _t91 = cpu->r[1] + 0x00000020u;
|
|
/* 02585B14 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]);
|
|
/* 02585B18 */ _t92 = cpu->r[7] + 0x00000004u;
|
|
/* 02585B18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02585B1C */ _t93 = cpu->r[1] + 0x00000030u;
|
|
/* 02585B1C */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 02585B20 */ _t94 = cpu->r[1] + 0x00000034u;
|
|
/* 02585B20 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02585B24 */ _t95 = cpu->r[1] + 0x00000028u;
|
|
/* 02585B24 */ rbrew_write32(cpu->mem, _t95, cpu->r[6]);
|
|
/* 02585B28 */ _t96 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585B28 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[31]);
|
|
/* 02585B2C */ _t97 = cpu->r[10] + 0x00000204u;
|
|
/* 02585B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02585B30 */ cpu->ctr = cpu->r[0];
|
|
/* 02585B34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02585B38 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02585B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585B40 */ /* nop */
|
|
/* 02585B44 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02585B48 */ /* nop */
|
|
/* 02585B4C */ _t98 = cpu->r[12] + 0x00001BECu;
|
|
/* 02585B4C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02585B50 */ /* nop */
|
|
/* 02585B54 */ /* nop */
|
|
/* 02585B58 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 02585B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02585B5C */ _t100 = cpu->r[1] + 0x00000038u;
|
|
/* 02585B5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 02585B60 */ _t101 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585B60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02585B64 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585B64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02585B68 */ _t103 = cpu->r[1] + 0x00000040u;
|
|
/* 02585B68 */ rbrew_write32(cpu->mem, _t103, cpu->r[0]);
|
|
/* 02585B6C */ cpu->f[10] = cpu->f[12] + cpu->f[13];
|
|
/* 02585B70 */ _t104 = cpu->r[1] + 0x00000044u;
|
|
/* 02585B70 */ rbrew_write32(cpu->mem, _t104, cpu->r[11]);
|
|
/* 02585B74 */ /* nop */
|
|
/* 02585B78 */ _t105 = cpu->r[1] + 0x00000010u;
|
|
/* 02585B78 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[10]);
|
|
/* 02585B7C */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 02585B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02585B80 */ /* nop */
|
|
/* 02585B84 */ /* nop */
|
|
/* 02585B88 */ _t107 = cpu->r[1] + 0x00000014u;
|
|
/* 02585B88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02585B8C */ _t108 = cpu->r[1] + 0x00000048u;
|
|
/* 02585B8C */ rbrew_write32(cpu->mem, _t108, cpu->r[12]);
|
|
/* 02585B90 */ _t109 = cpu->r[1] + 0x00000048u;
|
|
/* 02585B90 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02585B94 */ _t110 = cpu->r[1] + 0x00000018u;
|
|
/* 02585B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02585B98 */ cpu->f[12] = cpu->f[12] * cpu->f[30];
|
|
/* 02585B9C */ _t111 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585B9C */ rbrew_write32(cpu->mem, _t111, cpu->r[6]);
|
|
/* 02585BA0 */ _t112 = cpu->r[1] + 0x00000050u;
|
|
/* 02585BA0 */ rbrew_write32(cpu->mem, _t112, cpu->r[7]);
|
|
/* 02585BA4 */ _t113 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02585BA4 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[12]);
|
|
/* 02585BA8 */ _t114 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02585BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02585BAC */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02585BB0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02585BB4 */ _t115 = cpu->r[1] + 0x00000054u;
|
|
/* 02585BB4 */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 02585BB8 */ Gambit_fn_02C693A4(cpu);
|
|
/* 02585BBC */ _t116 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585BBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02585BC0 */ _t117 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585BC0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02585BC4 */ cpu->f[12] = fma(cpu->f[1], cpu->f[30], cpu->f[13]);
|
|
/* 02585BC8 */ _t118 = cpu->r[1] + 0x00000054u;
|
|
/* 02585BC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02585BCC */ cpu->f[5] = cpu->f[31];
|
|
/* 02585BD0 */ cpu->f[2] = cpu->f[9] + cpu->f[12];
|
|
/* 02585BD4 */ cpu->f[3] = cpu->f[0] - cpu->f[12];
|
|
/* 02585BD8 */ _t119 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02585BD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02585BDC */ cpu->f[4] = cpu->f[0] + cpu->f[12];
|
|
/* 02585BE0 */ cpu->f[1] = cpu->f[9] - cpu->f[12];
|
|
/* 02585BE4 */ Gambit_fn_02031EFC(cpu);
|
|
L_02585BE8: ; // 0x2585be8
|
|
/* 02585BE8 */ _t120 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02585BE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02585BEC */ _t121 = cpu->r[1] + 0x00000080u;
|
|
/* 02585BEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02585BF0 */ _t122 = cpu->r[1] + 0x00000070u;
|
|
/* 02585BF0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02585BF4 */ _t123 = cpu->r[1] + 0x00000078u;
|
|
/* 02585BF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02585BF8 */ _t124 = cpu->r[1] + 0x00000068u;
|
|
/* 02585BF8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t124);
|
|
/* 02585BFC */ _t125 = cpu->r[1] + 0x00000064u;
|
|
/* 02585BFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02585C00 */ _t126 = cpu->r[1] + 0x00000060u;
|
|
/* 02585C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02585C04 */ _t127 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585C04 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02585C04 */ if (_t128) goto L_02585C08; // else: addr-0 trap, fall-through
|
|
L_02585C08: ; // 0x2585c08
|
|
/* 02585C08 */ _t129 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02585C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02585C0C */ cpu->lr = cpu->r[0];
|
|
/* 02585C10 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02585C14 */ return;
|
|
}
|
|
|
|
// fn_02585C18 @ 0x2585c18
|
|
void Gambit_fn_02585C18(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;
|
|
|
|
L_02585C18: ; // 0x2585c18
|
|
/* 02585C18 */ cpu->r[0] = cpu->lr;
|
|
/* 02585C1C */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02585C1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585C1C */ cpu->r[1] = _t0;
|
|
/* 02585C20 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 02585C20 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02585C24 */ /* nop */
|
|
/* 02585C28 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02585C28 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02585C2C */ _t3 = cpu->r[1] + 0x00000070u;
|
|
/* 02585C2C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02585C30 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02585C30 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02585C34 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585C34 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02585C38 */ _t6 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02585C38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02585C3C */ /* nop */
|
|
/* 02585C40 */ _t7 = cpu->r[1] + 0x00000054u;
|
|
/* 02585C40 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02585C44 */ cpu->r[30] = cpu->r[3];
|
|
/* 02585C48 */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 02585C48 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 02585C4C */ _t9 = cpu->r[30] + 0x000001DAu;
|
|
/* 02585C4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02585C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585C54 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585C54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02585C54 */ if (_t11) goto L_02586058; else goto L_02585C58;
|
|
L_02585C58: ; // 0x2585c58
|
|
/* 02585C58 */ _t12 = cpu->r[30] + 0x000001CCu;
|
|
/* 02585C58 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02585C5C */ cpu->r[11] = 0x100D0000u;
|
|
/* 02585C60 */ /* nop */
|
|
/* 02585C64 */ _t13 = cpu->r[11] + 0x00001BF0u;
|
|
/* 02585C64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02585C68 */ _t14 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02585C68 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585C6C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585C6C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 02585C70 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02585C70 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
|
|
/* 02585C74 */ /* nop */
|
|
/* 02585C78 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02585C78 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 02585C7C */ /* nop */
|
|
/* 02585C80 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585C80 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[7]);
|
|
/* 02585C84 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585C84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585C88 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02585C8C */ /* nop */
|
|
/* 02585C90 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02585C90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585C94 */ _t21 = cpu->r[9] + 0x00001C08u;
|
|
/* 02585C94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02585C98 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02585C98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585C9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02585CA0 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02585CA0 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02585CA4 */ _t24 = cpu->r[1] + 0x00000038u;
|
|
/* 02585CA4 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 02585CA8 */ cpu->r[7] = 0x00000005u;
|
|
/* 02585CAC */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 02585CAC */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 02585CB0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585CB0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02585CB0 */ if (_t27) goto L_02585CB8; else goto L_02585CB4;
|
|
L_02585CB4: ; // 0x2585cb4
|
|
/* 02585CB4 */ cpu->r[7] = 0x00000405u;
|
|
L_02585CB8: ; // 0x2585cb8
|
|
/* 02585CB8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02585CBC */ _t28 = cpu->r[30] + 0x000001F0u;
|
|
/* 02585CBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02585CC0 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02585CC4 */ _t29 = cpu->r[11] + 0xFFFF958Cu;
|
|
/* 02585CC4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02585CC8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585CCC */ cpu->r[5] = 0x00000000u;
|
|
/* 02585CD0 */ _t30 = cpu->r[31] + 0x00000004u;
|
|
/* 02585CD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02585CD4 */ cpu->r[8] = 0x00010000u;
|
|
/* 02585CD8 */ cpu->r[6] = cpu->r[5];
|
|
/* 02585CDC */ _t31 = cpu->r[3] + 0x00001EF8u;
|
|
/* 02585CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02585CE0 */ cpu->r[8] = cpu->r[8] + 0x000000FFu;
|
|
/* 02585CE4 */ cpu->r[10] = cpu->r[6];
|
|
/* 02585CE8 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02585CE8 */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02585CEC */ Gambit_fn_0204A4DC(cpu);
|
|
/* 02585CF0 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 02585CF0 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02585CF4 */ _t34 = cpu->r[30] + 0x000001F0u;
|
|
/* 02585CF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02585CF8 */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 02585CF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02585CFC */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02585CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02585D00 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585D00 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02585D00 */ if (_t37) goto L_02586058; else goto L_02585D04;
|
|
L_02585D04: ; // 0x2585d04
|
|
/* 02585D04 */ _t38 = cpu->r[12] + 0x00000004u;
|
|
/* 02585D04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02585D08 */ _t39 = cpu->r[29] + 0x0000015Cu;
|
|
/* 02585D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02585D0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02585D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02585D10 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585D10 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02585D10 */ if (_t41) goto L_02585D1C; else goto L_02585D14;
|
|
L_02585D14: ; // 0x2585d14
|
|
/* 02585D14 */ _t42 = cpu->r[30] + 0x000001E8u;
|
|
/* 02585D14 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[31]);
|
|
/* 02585D18 */ _t43 = cpu->r[29] + 0x0000015Cu;
|
|
/* 02585D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
L_02585D1C: ; // 0x2585d1c
|
|
/* 02585D1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02585D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585D20 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585D20 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02585D20 */ if (_t45) goto L_02585E28; else goto L_02585D24;
|
|
L_02585D24: ; // 0x2585d24
|
|
/* 02585D24 */ _t46 = cpu->r[29] + 0x00000000u;
|
|
/* 02585D24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02585D28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02585D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585D2C */ cpu->r[31] = cpu->r[29] + 0x000000A8u;
|
|
/* 02585D30 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585D30 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02585D30 */ if (_t48) goto L_02585D74; else goto L_02585D34;
|
|
L_02585D34: ; // 0x2585d34
|
|
/* 02585D34 */ cpu->r[3] = cpu->r[29] + 0x00000138u;
|
|
/* 02585D38 */ Gambit_fn_02C69350(cpu);
|
|
/* 02585D3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02585D40 */ _t49 = cpu->r[29] + 0x00000000u;
|
|
/* 02585D40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02585D44 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585D44 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02585D44 */ if (_t51) goto L_02585D48; else goto L_02585D6C;
|
|
L_02585D48: ; // 0x2585d48
|
|
/* 02585D48 */ cpu->r[8] = 0x100D0000u;
|
|
/* 02585D4C */ _t52 = cpu->r[8] + 0x00001C0Cu;
|
|
/* 02585D4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02585D50 */ /* nop */
|
|
/* 02585D54 */ cpu->f[12] = cpu->f[13] / cpu->f[1];
|
|
/* 02585D58 */ _t53 = cpu->r[29] + 0x00000140u;
|
|
/* 02585D58 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02585D5C */ /* nop */
|
|
/* 02585D60 */ cpu->f[7] = cpu->f[8] * cpu->f[12];
|
|
/* 02585D64 */ /* nop */
|
|
/* 02585D68 */ _t54 = cpu->r[29] + 0x000000B0u;
|
|
/* 02585D68 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
L_02585D6C: ; // 0x2585d6c
|
|
/* 02585D6C */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 02585D70 */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 02585D70 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
L_02585D74: ; // 0x2585d74
|
|
/* 02585D74 */ /* nop */
|
|
/* 02585D78 */ /* nop */
|
|
/* 02585D7C */ _t56 = cpu->r[31] + 0x00000008u;
|
|
/* 02585D7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02585D80 */ /* nop */
|
|
/* 02585D84 */ /* nop */
|
|
/* 02585D88 */ _t57 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585D88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02585D8C */ cpu->f[9] = fma(cpu->f[13], cpu->f[0], cpu->f[11]);
|
|
/* 02585D90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585D94 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585D94 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02585D94 */ if (_t59) goto L_02585D98; else goto L_02585E28;
|
|
L_02585D98: ; // 0x2585d98
|
|
/* 02585D98 */ _t60 = cpu->r[31] + 0x00000004u;
|
|
/* 02585D98 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02585D9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[31]);
|
|
/* 02585DA0 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585DA0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02585DA0 */ if (_t62) goto L_02585DA4; else goto L_02585DF0;
|
|
L_02585DA4: ; // 0x2585da4
|
|
/* 02585DA4 */ _t63 = cpu->r[31] + 0x00000000u;
|
|
/* 02585DA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02585DA8 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02585DA8 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[31]);
|
|
/* 02585DAC */ _t65 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02585DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02585DB0 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 02585DB0 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02585DB4 */ _t67 = cpu->r[1] + 0x00000018u;
|
|
/* 02585DB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02585DB8 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 02585DB8 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 02585DBC */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 02585DBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02585DC0 */ _t70 = cpu->r[1] + 0x00000040u;
|
|
/* 02585DC0 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02585DC4 */ _t71 = cpu->r[1] + 0x00000044u;
|
|
/* 02585DC4 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 02585DC8 */ _t72 = cpu->r[1] + 0x00000044u;
|
|
/* 02585DC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02585DCC */ _t73 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585DCC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02585DD0 */ cpu->f[11] = -cpu->f[9];
|
|
/* 02585DD4 */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585DD4 */ rbrew_write32(cpu->mem, _t74, cpu->r[9]);
|
|
/* 02585DD8 */ cpu->f[8] = -fma(cpu->f[9], cpu->f[0], -(cpu->f[8]));
|
|
/* 02585DDC */ /* nop */
|
|
/* 02585DE0 */ /* nop */
|
|
/* 02585DE4 */ _t75 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585DE4 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[8]);
|
|
/* 02585DE8 */ /* nop */
|
|
/* 02585DEC */ goto L_02585E28;
|
|
L_02585DF0: ; // 0x2585df0
|
|
/* 02585DF0 */ _t76 = cpu->r[31] + 0x00000000u;
|
|
/* 02585DF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02585DF4 */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585DF4 */ rbrew_write32(cpu->mem, _t77, cpu->r[8]);
|
|
/* 02585DF8 */ _t78 = cpu->r[31] + 0x00000004u;
|
|
/* 02585DF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02585DFC */ _t79 = cpu->r[1] + 0x00000040u;
|
|
/* 02585DFC */ rbrew_write32(cpu->mem, _t79, cpu->r[9]);
|
|
/* 02585E00 */ _t80 = cpu->r[31] + 0x00000008u;
|
|
/* 02585E00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02585E04 */ _t81 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585E04 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02585E08 */ _t82 = cpu->r[1] + 0x00000044u;
|
|
/* 02585E08 */ rbrew_write32(cpu->mem, _t82, cpu->r[12]);
|
|
/* 02585E0C */ _t83 = cpu->r[1] + 0x00000044u;
|
|
/* 02585E0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02585E10 */ cpu->f[11] = -cpu->f[9];
|
|
/* 02585E14 */ /* nop */
|
|
/* 02585E18 */ cpu->f[8] = -fma(cpu->f[9], cpu->f[0], -(cpu->f[8]));
|
|
/* 02585E1C */ /* nop */
|
|
/* 02585E20 */ /* nop */
|
|
/* 02585E24 */ _t84 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585E24 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[8]);
|
|
L_02585E28: ; // 0x2585e28
|
|
/* 02585E28 */ _t85 = cpu->r[1] + 0x00000014u;
|
|
/* 02585E28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02585E2C */ _t86 = cpu->r[1] + 0x00000038u;
|
|
/* 02585E2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02585E30 */ /* nop */
|
|
/* 02585E34 */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 02585E38 */ /* nop */
|
|
/* 02585E3C */ /* nop */
|
|
/* 02585E40 */ _t87 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02585E40 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[11]);
|
|
/* 02585E44 */ _t88 = cpu->r[29] + 0x00000040u;
|
|
/* 02585E44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02585E48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02585E4C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585E4C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02585E4C */ if (_t90) goto L_02585E74; else goto L_02585E50;
|
|
L_02585E50: ; // 0x2585e50
|
|
/* 02585E50 */ _t91 = cpu->r[29] + 0x00000000u;
|
|
/* 02585E50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02585E54 */ _t92 = cpu->r[29] + 0x00000034u;
|
|
/* 02585E54 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]);
|
|
/* 02585E58 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02585E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02585E5C */ _t93 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02585E5C */ rbrew_write_f32(cpu->mem, _t93, cpu->f[31]);
|
|
/* 02585E60 */ _t94 = cpu->r[29] + 0x00000040u;
|
|
/* 02585E60 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[31]);
|
|
/* 02585E64 */ cpu->r[12] = cpu->r[29] + 0x00000034u;
|
|
/* 02585E68 */ _t95 = cpu->r[29] + 0x00000038u;
|
|
/* 02585E68 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[31]);
|
|
/* 02585E6C */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585E6C */ _t97 = _t96 & 0x00000001u;
|
|
/* 02585E6C */ if (_t97) goto L_02585E70; else goto L_02585EC0;
|
|
L_02585E70: ; // 0x2585e70
|
|
/* 02585E70 */ goto L_02585EE4;
|
|
L_02585E74: ; // 0x2585e74
|
|
/* 02585E74 */ _t98 = cpu->r[29] + 0x00000000u;
|
|
/* 02585E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02585E78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02585E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585E7C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585E7C */ _t100 = _t99 & 0x00000001u;
|
|
/* 02585E7C */ if (_t100) goto L_02585E80; else goto L_02585EA4;
|
|
L_02585E80: ; // 0x2585e80
|
|
/* 02585E80 */ /* nop */
|
|
/* 02585E84 */ /* nop */
|
|
/* 02585E88 */ /* nop */
|
|
/* 02585E8C */ /* nop */
|
|
/* 02585E90 */ _t101 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02585E90 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02585E94 */ _t102 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02585E94 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02585E98 */ cpu->f[7] = cpu->f[7] + cpu->f[8];
|
|
/* 02585E9C */ _t103 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02585E9C */ rbrew_write_f32(cpu->mem, _t103, cpu->f[7]);
|
|
/* 02585EA0 */ goto L_02586058;
|
|
L_02585EA4: ; // 0x2585ea4
|
|
/* 02585EA4 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 02585EA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02585EA8 */ _t105 = cpu->r[29] + 0x00000038u;
|
|
/* 02585EA8 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[31]);
|
|
/* 02585EAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02585EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02585EB0 */ _t106 = cpu->r[29] + 0x00000034u;
|
|
/* 02585EB0 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[31]);
|
|
/* 02585EB4 */ cpu->r[12] = cpu->r[29] + 0x00000034u;
|
|
/* 02585EB8 */ _t107 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02585EB8 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[31]);
|
|
/* 02585EBC */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585EBC */ _t109 = _t108 & 0x00000001u;
|
|
/* 02585EBC */ if (_t109) goto L_02585EE4; else goto L_02585EC0;
|
|
L_02585EC0: ; // 0x2585ec0
|
|
/* 02585EC0 */ /* nop */
|
|
/* 02585EC4 */ /* nop */
|
|
/* 02585EC8 */ /* nop */
|
|
/* 02585ECC */ /* nop */
|
|
/* 02585ED0 */ _t110 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02585ED0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02585ED4 */ _t111 = cpu->r[29] + 0x00000018u;
|
|
/* 02585ED4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02585ED8 */ cpu->f[10] = cpu->f[11] + cpu->f[12];
|
|
/* 02585EDC */ _t112 = cpu->r[12] + 0x00000008u;
|
|
/* 02585EDC */ rbrew_write_f32(cpu->mem, _t112, cpu->f[10]);
|
|
/* 02585EE0 */ _t113 = cpu->r[29] + 0x00000000u;
|
|
/* 02585EE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
L_02585EE4: ; // 0x2585ee4
|
|
/* 02585EE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02585EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585EE8 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585EE8 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02585EE8 */ if (_t115) goto L_02586030; else goto L_02585EEC;
|
|
L_02585EEC: ; // 0x2585eec
|
|
/* 02585EEC */ _t116 = cpu->r[12] + 0x00000000u;
|
|
/* 02585EEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02585EF0 */ _t117 = cpu->r[29] + 0x00000040u;
|
|
/* 02585EF0 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02585EF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02585EF8 */ _t118 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02585EF8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02585EFC */ _t119 = cpu->r[29] + 0x00000028u;
|
|
/* 02585EFC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02585F00 */ _t120 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F00 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02585F00 */ if (_t121) goto L_02585F04; else goto L_02585F28;
|
|
L_02585F04: ; // 0x2585f04
|
|
/* 02585F04 */ cpu->f[13] = cpu->f[10] - cpu->f[12];
|
|
/* 02585F08 */ /* nop */
|
|
/* 02585F0C */ cpu->f[6] = fma(cpu->f[9], cpu->f[5], cpu->f[0]);
|
|
/* 02585F10 */ _t122 = cpu->r[12] + 0x00000004u;
|
|
/* 02585F10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02585F14 */ _t123 = cpu->r[29] + 0x00000020u;
|
|
/* 02585F14 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02585F18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585F1C */ _t124 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02585F1C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 02585F20 */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F20 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02585F20 */ if (_t126) goto L_02585F24; else goto L_02585F90;
|
|
L_02585F24: ; // 0x2585f24
|
|
/* 02585F24 */ goto L_02585F6C;
|
|
L_02585F28: ; // 0x2585f28
|
|
/* 02585F28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02585F2C */ _t127 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585F2C */ _t128 = _t127 & 0x00000001u;
|
|
/* 02585F2C */ if (_t128) goto L_02585F30; else goto L_02585F54;
|
|
L_02585F30: ; // 0x2585f30
|
|
/* 02585F30 */ cpu->f[7] = cpu->f[9] - cpu->f[12];
|
|
/* 02585F34 */ /* nop */
|
|
/* 02585F38 */ _t129 = cpu->r[12] + 0x00000004u;
|
|
/* 02585F38 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 02585F3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585F40 */ _t130 = cpu->r[29] + 0x00000020u;
|
|
/* 02585F40 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02585F44 */ cpu->f[6] = fma(cpu->f[10], cpu->f[5], cpu->f[8]);
|
|
/* 02585F48 */ _t131 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02585F48 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 02585F4C */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F4C */ _t133 = _t132 & 0x00000001u;
|
|
/* 02585F4C */ if (_t133) goto L_02585F50; else goto L_02585F90;
|
|
L_02585F50: ; // 0x2585f50
|
|
/* 02585F50 */ goto L_02585F6C;
|
|
L_02585F54: ; // 0x2585f54
|
|
/* 02585F54 */ cpu->f[6] = cpu->f[9] + cpu->f[10];
|
|
/* 02585F58 */ _t134 = cpu->r[12] + 0x00000004u;
|
|
/* 02585F58 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 02585F5C */ _t135 = cpu->r[29] + 0x00000020u;
|
|
/* 02585F5C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 02585F60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585F64 */ _t136 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02585F64 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 02585F68 */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F68 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02585F68 */ if (_t138) goto L_02585F6C; else goto L_02585F90;
|
|
L_02585F6C: ; // 0x2585f6c
|
|
/* 02585F6C */ cpu->f[11] = cpu->f[8] - cpu->f[9];
|
|
/* 02585F70 */ _t139 = cpu->r[12] + 0x00000008u;
|
|
/* 02585F70 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02585F74 */ /* nop */
|
|
/* 02585F78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 02585F7C */ _t140 = cpu->r[29] + 0x00000024u;
|
|
/* 02585F7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 02585F80 */ cpu->f[8] = fma(cpu->f[7], cpu->f[5], cpu->f[12]);
|
|
/* 02585F84 */ _t141 = cpu->r[29] + 0x00000030u;
|
|
/* 02585F84 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 02585F88 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F88 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02585F88 */ if (_t143) goto L_02585F8C; else goto L_02585FF4;
|
|
L_02585F8C: ; // 0x2585f8c
|
|
/* 02585F8C */ goto L_02585FD4;
|
|
L_02585F90: ; // 0x2585f90
|
|
/* 02585F90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585F94 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585F94 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02585F94 */ if (_t145) goto L_02585F98; else goto L_02585FBC;
|
|
L_02585F98: ; // 0x2585f98
|
|
/* 02585F98 */ cpu->f[13] = cpu->f[7] - cpu->f[9];
|
|
/* 02585F9C */ _t146 = cpu->r[12] + 0x00000008u;
|
|
/* 02585F9C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 02585FA0 */ /* nop */
|
|
/* 02585FA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 02585FA8 */ _t147 = cpu->r[29] + 0x00000030u;
|
|
/* 02585FA8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02585FAC */ cpu->f[8] = fma(cpu->f[8], cpu->f[5], cpu->f[0]);
|
|
/* 02585FB0 */ _t148 = cpu->r[29] + 0x00000024u;
|
|
/* 02585FB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 02585FB4 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585FB4 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02585FB4 */ if (_t150) goto L_02585FB8; else goto L_02585FF4;
|
|
L_02585FB8: ; // 0x2585fb8
|
|
/* 02585FB8 */ goto L_02585FD4;
|
|
L_02585FBC: ; // 0x2585fbc
|
|
/* 02585FBC */ _t151 = cpu->r[12] + 0x00000008u;
|
|
/* 02585FBC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 02585FC0 */ cpu->f[8] = cpu->f[7] + cpu->f[8];
|
|
/* 02585FC4 */ _t152 = cpu->r[29] + 0x00000024u;
|
|
/* 02585FC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 02585FC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 02585FCC */ _t153 = cpu->r[29] + 0x00000030u;
|
|
/* 02585FCC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 02585FD0 */ _t154 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585FD0 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02585FD0 */ if (_t155) goto L_02585FD4; else goto L_02585FF4;
|
|
L_02585FD4: ; // 0x2585fd4
|
|
/* 02585FD4 */ cpu->f[9] = cpu->f[7] - cpu->f[10];
|
|
/* 02585FD8 */ /* nop */
|
|
/* 02585FDC */ _t156 = cpu->r[12] + 0x00000004u;
|
|
/* 02585FDC */ rbrew_write_f32(cpu->mem, _t156, cpu->f[8]);
|
|
/* 02585FE0 */ cpu->f[12] = fma(cpu->f[0], cpu->f[5], cpu->f[10]);
|
|
/* 02585FE4 */ _t157 = cpu->r[12] + 0x00000000u;
|
|
/* 02585FE4 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[6]);
|
|
/* 02585FE8 */ _t158 = cpu->r[12] + 0x00000008u;
|
|
/* 02585FE8 */ rbrew_write_f32(cpu->mem, _t158, cpu->f[12]);
|
|
/* 02585FEC */ _t159 = cpu->r[29] + 0x00000000u;
|
|
/* 02585FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02585FF0 */ goto L_02586030;
|
|
L_02585FF4: ; // 0x2585ff4
|
|
/* 02585FF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 02585FF8 */ _t160 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585FF8 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02585FF8 */ if (_t161) goto L_02585FFC; else goto L_0258601C;
|
|
L_02585FFC: ; // 0x2585ffc
|
|
/* 02585FFC */ cpu->f[11] = cpu->f[0] - cpu->f[10];
|
|
/* 02586000 */ /* nop */
|
|
/* 02586004 */ _t162 = cpu->r[12] + 0x00000004u;
|
|
/* 02586004 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[8]);
|
|
/* 02586008 */ cpu->f[12] = fma(cpu->f[7], cpu->f[5], cpu->f[12]);
|
|
/* 0258600C */ _t163 = cpu->r[12] + 0x00000000u;
|
|
/* 0258600C */ rbrew_write_f32(cpu->mem, _t163, cpu->f[6]);
|
|
/* 02586010 */ _t164 = cpu->r[12] + 0x00000008u;
|
|
/* 02586010 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[12]);
|
|
/* 02586014 */ _t165 = cpu->r[29] + 0x00000000u;
|
|
/* 02586014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02586018 */ goto L_02586030;
|
|
L_0258601C: ; // 0x258601c
|
|
/* 0258601C */ cpu->f[12] = cpu->f[0] + cpu->f[7];
|
|
/* 02586020 */ _t166 = cpu->r[12] + 0x00000004u;
|
|
/* 02586020 */ rbrew_write_f32(cpu->mem, _t166, cpu->f[8]);
|
|
/* 02586024 */ _t167 = cpu->r[12] + 0x00000000u;
|
|
/* 02586024 */ rbrew_write_f32(cpu->mem, _t167, cpu->f[6]);
|
|
/* 02586028 */ _t168 = cpu->r[12] + 0x00000008u;
|
|
/* 02586028 */ rbrew_write_f32(cpu->mem, _t168, cpu->f[12]);
|
|
/* 0258602C */ _t169 = cpu->r[29] + 0x00000000u;
|
|
/* 0258602C */ cpu->r[10] = rbrew_read32(cpu->mem, _t169);
|
|
L_02586030: ; // 0x2586030
|
|
/* 02586030 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02586034 */ _t170 = cpu->r[29] + 0x00000000u;
|
|
/* 02586034 */ rbrew_write32(cpu->mem, _t170, cpu->r[0]);
|
|
/* 02586038 */ /* nop */
|
|
/* 0258603C */ /* nop */
|
|
/* 02586040 */ /* nop */
|
|
/* 02586044 */ /* nop */
|
|
/* 02586048 */ _t171 = cpu->r[12] + 0x00000008u;
|
|
/* 02586048 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 0258604C */ _t172 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0258604C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 02586050 */ cpu->f[7] = cpu->f[7] + cpu->f[8];
|
|
/* 02586054 */ _t173 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02586054 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[7]);
|
|
L_02586058: ; // 0x2586058
|
|
/* 02586058 */ _t174 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02586058 */ cpu->r[29] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0258605C */ _t175 = cpu->r[1] + 0x00000070u;
|
|
/* 0258605C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t175);
|
|
/* 02586060 */ _t176 = cpu->r[1] + 0x00000060u;
|
|
/* 02586060 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 02586064 */ _t177 = cpu->r[1] + 0x00000068u;
|
|
/* 02586064 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t177);
|
|
/* 02586068 */ _t178 = cpu->r[1] + 0x00000058u;
|
|
/* 02586068 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t178);
|
|
/* 0258606C */ _t179 = cpu->r[1] + 0x00000054u;
|
|
/* 0258606C */ cpu->r[31] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02586070 */ _t180 = cpu->r[1] + 0x00000050u;
|
|
/* 02586070 */ cpu->r[30] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02586074 */ _t181 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586074 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02586074 */ if (_t182) goto L_02586078; // else: addr-0 trap, fall-through
|
|
L_02586078: ; // 0x2586078
|
|
/* 02586078 */ _t183 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02586078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 0258607C */ cpu->lr = cpu->r[0];
|
|
/* 02586080 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02586084 */ return;
|
|
}
|
|
|
|
// fn_02585C1C @ 0x2585c1c
|
|
void Gambit_fn_02585C1C(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;
|
|
|
|
L_02585C1C: ; // 0x2585c1c
|
|
/* 02585C1C */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02585C1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585C1C */ cpu->r[1] = _t0;
|
|
/* 02585C20 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 02585C20 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02585C24 */ /* nop */
|
|
/* 02585C28 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02585C28 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02585C2C */ _t3 = cpu->r[1] + 0x00000070u;
|
|
/* 02585C2C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02585C30 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02585C30 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02585C34 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02585C34 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02585C38 */ _t6 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02585C38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02585C3C */ /* nop */
|
|
/* 02585C40 */ _t7 = cpu->r[1] + 0x00000054u;
|
|
/* 02585C40 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02585C44 */ cpu->r[30] = cpu->r[3];
|
|
/* 02585C48 */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 02585C48 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 02585C4C */ _t9 = cpu->r[30] + 0x000001DAu;
|
|
/* 02585C4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02585C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585C54 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585C54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02585C54 */ if (_t11) goto L_02586058; else goto L_02585C58;
|
|
L_02585C58: ; // 0x2585c58
|
|
/* 02585C58 */ _t12 = cpu->r[30] + 0x000001CCu;
|
|
/* 02585C58 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02585C5C */ cpu->r[11] = 0x100D0000u;
|
|
/* 02585C60 */ /* nop */
|
|
/* 02585C64 */ _t13 = cpu->r[11] + 0x00001BF0u;
|
|
/* 02585C64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02585C68 */ _t14 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02585C68 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585C6C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585C6C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 02585C70 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02585C70 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
|
|
/* 02585C74 */ /* nop */
|
|
/* 02585C78 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02585C78 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 02585C7C */ /* nop */
|
|
/* 02585C80 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585C80 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[7]);
|
|
/* 02585C84 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02585C84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585C88 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02585C8C */ /* nop */
|
|
/* 02585C90 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02585C90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585C94 */ _t21 = cpu->r[9] + 0x00001C08u;
|
|
/* 02585C94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02585C98 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02585C98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585C9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02585CA0 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02585CA0 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02585CA4 */ _t24 = cpu->r[1] + 0x00000038u;
|
|
/* 02585CA4 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 02585CA8 */ cpu->r[7] = 0x00000005u;
|
|
/* 02585CAC */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 02585CAC */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 02585CB0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585CB0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02585CB0 */ if (_t27) goto L_02585CB8; else goto L_02585CB4;
|
|
L_02585CB4: ; // 0x2585cb4
|
|
/* 02585CB4 */ cpu->r[7] = 0x00000405u;
|
|
L_02585CB8: ; // 0x2585cb8
|
|
/* 02585CB8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02585CBC */ _t28 = cpu->r[30] + 0x000001F0u;
|
|
/* 02585CBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02585CC0 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02585CC4 */ _t29 = cpu->r[11] + 0xFFFF958Cu;
|
|
/* 02585CC4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02585CC8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585CCC */ cpu->r[5] = 0x00000000u;
|
|
/* 02585CD0 */ _t30 = cpu->r[31] + 0x00000004u;
|
|
/* 02585CD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02585CD4 */ cpu->r[8] = 0x00010000u;
|
|
/* 02585CD8 */ cpu->r[6] = cpu->r[5];
|
|
/* 02585CDC */ _t31 = cpu->r[3] + 0x00001EF8u;
|
|
/* 02585CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02585CE0 */ cpu->r[8] = cpu->r[8] + 0x000000FFu;
|
|
/* 02585CE4 */ cpu->r[10] = cpu->r[6];
|
|
/* 02585CE8 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02585CE8 */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02585CEC */ Gambit_fn_0204A4DC(cpu);
|
|
/* 02585CF0 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 02585CF0 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02585CF4 */ _t34 = cpu->r[30] + 0x000001F0u;
|
|
/* 02585CF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02585CF8 */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 02585CF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02585CFC */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02585CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02585D00 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585D00 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02585D00 */ if (_t37) goto L_02586058; else goto L_02585D04;
|
|
L_02585D04: ; // 0x2585d04
|
|
/* 02585D04 */ _t38 = cpu->r[12] + 0x00000004u;
|
|
/* 02585D04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02585D08 */ _t39 = cpu->r[29] + 0x0000015Cu;
|
|
/* 02585D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02585D0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02585D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02585D10 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585D10 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02585D10 */ if (_t41) goto L_02585D1C; else goto L_02585D14;
|
|
L_02585D14: ; // 0x2585d14
|
|
/* 02585D14 */ _t42 = cpu->r[30] + 0x000001E8u;
|
|
/* 02585D14 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[31]);
|
|
/* 02585D18 */ _t43 = cpu->r[29] + 0x0000015Cu;
|
|
/* 02585D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
L_02585D1C: ; // 0x2585d1c
|
|
/* 02585D1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02585D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585D20 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585D20 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02585D20 */ if (_t45) goto L_02585E28; else goto L_02585D24;
|
|
L_02585D24: ; // 0x2585d24
|
|
/* 02585D24 */ _t46 = cpu->r[29] + 0x00000000u;
|
|
/* 02585D24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02585D28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02585D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585D2C */ cpu->r[31] = cpu->r[29] + 0x000000A8u;
|
|
/* 02585D30 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585D30 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02585D30 */ if (_t48) goto L_02585D74; else goto L_02585D34;
|
|
L_02585D34: ; // 0x2585d34
|
|
/* 02585D34 */ cpu->r[3] = cpu->r[29] + 0x00000138u;
|
|
/* 02585D38 */ Gambit_fn_02C69350(cpu);
|
|
/* 02585D3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02585D40 */ _t49 = cpu->r[29] + 0x00000000u;
|
|
/* 02585D40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02585D44 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585D44 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02585D44 */ if (_t51) goto L_02585D48; else goto L_02585D6C;
|
|
L_02585D48: ; // 0x2585d48
|
|
/* 02585D48 */ cpu->r[8] = 0x100D0000u;
|
|
/* 02585D4C */ _t52 = cpu->r[8] + 0x00001C0Cu;
|
|
/* 02585D4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02585D50 */ /* nop */
|
|
/* 02585D54 */ cpu->f[12] = cpu->f[13] / cpu->f[1];
|
|
/* 02585D58 */ _t53 = cpu->r[29] + 0x00000140u;
|
|
/* 02585D58 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02585D5C */ /* nop */
|
|
/* 02585D60 */ cpu->f[7] = cpu->f[8] * cpu->f[12];
|
|
/* 02585D64 */ /* nop */
|
|
/* 02585D68 */ _t54 = cpu->r[29] + 0x000000B0u;
|
|
/* 02585D68 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
L_02585D6C: ; // 0x2585d6c
|
|
/* 02585D6C */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 02585D70 */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 02585D70 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
L_02585D74: ; // 0x2585d74
|
|
/* 02585D74 */ /* nop */
|
|
/* 02585D78 */ /* nop */
|
|
/* 02585D7C */ _t56 = cpu->r[31] + 0x00000008u;
|
|
/* 02585D7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02585D80 */ /* nop */
|
|
/* 02585D84 */ /* nop */
|
|
/* 02585D88 */ _t57 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585D88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02585D8C */ cpu->f[9] = fma(cpu->f[13], cpu->f[0], cpu->f[11]);
|
|
/* 02585D90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585D94 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585D94 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02585D94 */ if (_t59) goto L_02585D98; else goto L_02585E28;
|
|
L_02585D98: ; // 0x2585d98
|
|
/* 02585D98 */ _t60 = cpu->r[31] + 0x00000004u;
|
|
/* 02585D98 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02585D9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[31]);
|
|
/* 02585DA0 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585DA0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02585DA0 */ if (_t62) goto L_02585DA4; else goto L_02585DF0;
|
|
L_02585DA4: ; // 0x2585da4
|
|
/* 02585DA4 */ _t63 = cpu->r[31] + 0x00000000u;
|
|
/* 02585DA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02585DA8 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02585DA8 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[31]);
|
|
/* 02585DAC */ _t65 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02585DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02585DB0 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 02585DB0 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02585DB4 */ _t67 = cpu->r[1] + 0x00000018u;
|
|
/* 02585DB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02585DB8 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 02585DB8 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 02585DBC */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 02585DBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02585DC0 */ _t70 = cpu->r[1] + 0x00000040u;
|
|
/* 02585DC0 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02585DC4 */ _t71 = cpu->r[1] + 0x00000044u;
|
|
/* 02585DC4 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 02585DC8 */ _t72 = cpu->r[1] + 0x00000044u;
|
|
/* 02585DC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02585DCC */ _t73 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585DCC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02585DD0 */ cpu->f[11] = -cpu->f[9];
|
|
/* 02585DD4 */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585DD4 */ rbrew_write32(cpu->mem, _t74, cpu->r[9]);
|
|
/* 02585DD8 */ cpu->f[8] = -fma(cpu->f[9], cpu->f[0], -(cpu->f[8]));
|
|
/* 02585DDC */ /* nop */
|
|
/* 02585DE0 */ /* nop */
|
|
/* 02585DE4 */ _t75 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585DE4 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[8]);
|
|
/* 02585DE8 */ /* nop */
|
|
/* 02585DEC */ goto L_02585E28;
|
|
L_02585DF0: ; // 0x2585df0
|
|
/* 02585DF0 */ _t76 = cpu->r[31] + 0x00000000u;
|
|
/* 02585DF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02585DF4 */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02585DF4 */ rbrew_write32(cpu->mem, _t77, cpu->r[8]);
|
|
/* 02585DF8 */ _t78 = cpu->r[31] + 0x00000004u;
|
|
/* 02585DF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02585DFC */ _t79 = cpu->r[1] + 0x00000040u;
|
|
/* 02585DFC */ rbrew_write32(cpu->mem, _t79, cpu->r[9]);
|
|
/* 02585E00 */ _t80 = cpu->r[31] + 0x00000008u;
|
|
/* 02585E00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02585E04 */ _t81 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585E04 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02585E08 */ _t82 = cpu->r[1] + 0x00000044u;
|
|
/* 02585E08 */ rbrew_write32(cpu->mem, _t82, cpu->r[12]);
|
|
/* 02585E0C */ _t83 = cpu->r[1] + 0x00000044u;
|
|
/* 02585E0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02585E10 */ cpu->f[11] = -cpu->f[9];
|
|
/* 02585E14 */ /* nop */
|
|
/* 02585E18 */ cpu->f[8] = -fma(cpu->f[9], cpu->f[0], -(cpu->f[8]));
|
|
/* 02585E1C */ /* nop */
|
|
/* 02585E20 */ /* nop */
|
|
/* 02585E24 */ _t84 = cpu->r[30] + 0x000001ECu;
|
|
/* 02585E24 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[8]);
|
|
L_02585E28: ; // 0x2585e28
|
|
/* 02585E28 */ _t85 = cpu->r[1] + 0x00000014u;
|
|
/* 02585E28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02585E2C */ _t86 = cpu->r[1] + 0x00000038u;
|
|
/* 02585E2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02585E30 */ /* nop */
|
|
/* 02585E34 */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 02585E38 */ /* nop */
|
|
/* 02585E3C */ /* nop */
|
|
/* 02585E40 */ _t87 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02585E40 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[11]);
|
|
/* 02585E44 */ _t88 = cpu->r[29] + 0x00000040u;
|
|
/* 02585E44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02585E48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02585E4C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585E4C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02585E4C */ if (_t90) goto L_02585E74; else goto L_02585E50;
|
|
L_02585E50: ; // 0x2585e50
|
|
/* 02585E50 */ _t91 = cpu->r[29] + 0x00000000u;
|
|
/* 02585E50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02585E54 */ _t92 = cpu->r[29] + 0x00000034u;
|
|
/* 02585E54 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]);
|
|
/* 02585E58 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02585E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02585E5C */ _t93 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02585E5C */ rbrew_write_f32(cpu->mem, _t93, cpu->f[31]);
|
|
/* 02585E60 */ _t94 = cpu->r[29] + 0x00000040u;
|
|
/* 02585E60 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[31]);
|
|
/* 02585E64 */ cpu->r[12] = cpu->r[29] + 0x00000034u;
|
|
/* 02585E68 */ _t95 = cpu->r[29] + 0x00000038u;
|
|
/* 02585E68 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[31]);
|
|
/* 02585E6C */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585E6C */ _t97 = _t96 & 0x00000001u;
|
|
/* 02585E6C */ if (_t97) goto L_02585E70; else goto L_02585EC0;
|
|
L_02585E70: ; // 0x2585e70
|
|
/* 02585E70 */ goto L_02585EE4;
|
|
L_02585E74: ; // 0x2585e74
|
|
/* 02585E74 */ _t98 = cpu->r[29] + 0x00000000u;
|
|
/* 02585E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02585E78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02585E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585E7C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585E7C */ _t100 = _t99 & 0x00000001u;
|
|
/* 02585E7C */ if (_t100) goto L_02585E80; else goto L_02585EA4;
|
|
L_02585E80: ; // 0x2585e80
|
|
/* 02585E80 */ /* nop */
|
|
/* 02585E84 */ /* nop */
|
|
/* 02585E88 */ /* nop */
|
|
/* 02585E8C */ /* nop */
|
|
/* 02585E90 */ _t101 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02585E90 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02585E94 */ _t102 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02585E94 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02585E98 */ cpu->f[7] = cpu->f[7] + cpu->f[8];
|
|
/* 02585E9C */ _t103 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02585E9C */ rbrew_write_f32(cpu->mem, _t103, cpu->f[7]);
|
|
/* 02585EA0 */ goto L_02586058;
|
|
L_02585EA4: ; // 0x2585ea4
|
|
/* 02585EA4 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 02585EA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02585EA8 */ _t105 = cpu->r[29] + 0x00000038u;
|
|
/* 02585EA8 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[31]);
|
|
/* 02585EAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02585EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02585EB0 */ _t106 = cpu->r[29] + 0x00000034u;
|
|
/* 02585EB0 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[31]);
|
|
/* 02585EB4 */ cpu->r[12] = cpu->r[29] + 0x00000034u;
|
|
/* 02585EB8 */ _t107 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02585EB8 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[31]);
|
|
/* 02585EBC */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585EBC */ _t109 = _t108 & 0x00000001u;
|
|
/* 02585EBC */ if (_t109) goto L_02585EE4; else goto L_02585EC0;
|
|
L_02585EC0: ; // 0x2585ec0
|
|
/* 02585EC0 */ /* nop */
|
|
/* 02585EC4 */ /* nop */
|
|
/* 02585EC8 */ /* nop */
|
|
/* 02585ECC */ /* nop */
|
|
/* 02585ED0 */ _t110 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02585ED0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02585ED4 */ _t111 = cpu->r[29] + 0x00000018u;
|
|
/* 02585ED4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02585ED8 */ cpu->f[10] = cpu->f[11] + cpu->f[12];
|
|
/* 02585EDC */ _t112 = cpu->r[12] + 0x00000008u;
|
|
/* 02585EDC */ rbrew_write_f32(cpu->mem, _t112, cpu->f[10]);
|
|
/* 02585EE0 */ _t113 = cpu->r[29] + 0x00000000u;
|
|
/* 02585EE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
L_02585EE4: ; // 0x2585ee4
|
|
/* 02585EE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02585EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585EE8 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585EE8 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02585EE8 */ if (_t115) goto L_02586030; else goto L_02585EEC;
|
|
L_02585EEC: ; // 0x2585eec
|
|
/* 02585EEC */ _t116 = cpu->r[12] + 0x00000000u;
|
|
/* 02585EEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02585EF0 */ _t117 = cpu->r[29] + 0x00000040u;
|
|
/* 02585EF0 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02585EF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02585EF8 */ _t118 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02585EF8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02585EFC */ _t119 = cpu->r[29] + 0x00000028u;
|
|
/* 02585EFC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02585F00 */ _t120 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F00 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02585F00 */ if (_t121) goto L_02585F04; else goto L_02585F28;
|
|
L_02585F04: ; // 0x2585f04
|
|
/* 02585F04 */ cpu->f[13] = cpu->f[10] - cpu->f[12];
|
|
/* 02585F08 */ /* nop */
|
|
/* 02585F0C */ cpu->f[6] = fma(cpu->f[9], cpu->f[5], cpu->f[0]);
|
|
/* 02585F10 */ _t122 = cpu->r[12] + 0x00000004u;
|
|
/* 02585F10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02585F14 */ _t123 = cpu->r[29] + 0x00000020u;
|
|
/* 02585F14 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02585F18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585F1C */ _t124 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02585F1C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 02585F20 */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F20 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02585F20 */ if (_t126) goto L_02585F24; else goto L_02585F90;
|
|
L_02585F24: ; // 0x2585f24
|
|
/* 02585F24 */ goto L_02585F6C;
|
|
L_02585F28: ; // 0x2585f28
|
|
/* 02585F28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02585F2C */ _t127 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585F2C */ _t128 = _t127 & 0x00000001u;
|
|
/* 02585F2C */ if (_t128) goto L_02585F30; else goto L_02585F54;
|
|
L_02585F30: ; // 0x2585f30
|
|
/* 02585F30 */ cpu->f[7] = cpu->f[9] - cpu->f[12];
|
|
/* 02585F34 */ /* nop */
|
|
/* 02585F38 */ _t129 = cpu->r[12] + 0x00000004u;
|
|
/* 02585F38 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 02585F3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585F40 */ _t130 = cpu->r[29] + 0x00000020u;
|
|
/* 02585F40 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02585F44 */ cpu->f[6] = fma(cpu->f[10], cpu->f[5], cpu->f[8]);
|
|
/* 02585F48 */ _t131 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02585F48 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 02585F4C */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F4C */ _t133 = _t132 & 0x00000001u;
|
|
/* 02585F4C */ if (_t133) goto L_02585F50; else goto L_02585F90;
|
|
L_02585F50: ; // 0x2585f50
|
|
/* 02585F50 */ goto L_02585F6C;
|
|
L_02585F54: ; // 0x2585f54
|
|
/* 02585F54 */ cpu->f[6] = cpu->f[9] + cpu->f[10];
|
|
/* 02585F58 */ _t134 = cpu->r[12] + 0x00000004u;
|
|
/* 02585F58 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 02585F5C */ _t135 = cpu->r[29] + 0x00000020u;
|
|
/* 02585F5C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 02585F60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585F64 */ _t136 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02585F64 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 02585F68 */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F68 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02585F68 */ if (_t138) goto L_02585F6C; else goto L_02585F90;
|
|
L_02585F6C: ; // 0x2585f6c
|
|
/* 02585F6C */ cpu->f[11] = cpu->f[8] - cpu->f[9];
|
|
/* 02585F70 */ _t139 = cpu->r[12] + 0x00000008u;
|
|
/* 02585F70 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02585F74 */ /* nop */
|
|
/* 02585F78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 02585F7C */ _t140 = cpu->r[29] + 0x00000024u;
|
|
/* 02585F7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 02585F80 */ cpu->f[8] = fma(cpu->f[7], cpu->f[5], cpu->f[12]);
|
|
/* 02585F84 */ _t141 = cpu->r[29] + 0x00000030u;
|
|
/* 02585F84 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 02585F88 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585F88 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02585F88 */ if (_t143) goto L_02585F8C; else goto L_02585FF4;
|
|
L_02585F8C: ; // 0x2585f8c
|
|
/* 02585F8C */ goto L_02585FD4;
|
|
L_02585F90: ; // 0x2585f90
|
|
/* 02585F90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 02585F94 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585F94 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02585F94 */ if (_t145) goto L_02585F98; else goto L_02585FBC;
|
|
L_02585F98: ; // 0x2585f98
|
|
/* 02585F98 */ cpu->f[13] = cpu->f[7] - cpu->f[9];
|
|
/* 02585F9C */ _t146 = cpu->r[12] + 0x00000008u;
|
|
/* 02585F9C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 02585FA0 */ /* nop */
|
|
/* 02585FA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 02585FA8 */ _t147 = cpu->r[29] + 0x00000030u;
|
|
/* 02585FA8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02585FAC */ cpu->f[8] = fma(cpu->f[8], cpu->f[5], cpu->f[0]);
|
|
/* 02585FB0 */ _t148 = cpu->r[29] + 0x00000024u;
|
|
/* 02585FB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 02585FB4 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585FB4 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02585FB4 */ if (_t150) goto L_02585FB8; else goto L_02585FF4;
|
|
L_02585FB8: ; // 0x2585fb8
|
|
/* 02585FB8 */ goto L_02585FD4;
|
|
L_02585FBC: ; // 0x2585fbc
|
|
/* 02585FBC */ _t151 = cpu->r[12] + 0x00000008u;
|
|
/* 02585FBC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 02585FC0 */ cpu->f[8] = cpu->f[7] + cpu->f[8];
|
|
/* 02585FC4 */ _t152 = cpu->r[29] + 0x00000024u;
|
|
/* 02585FC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 02585FC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 02585FCC */ _t153 = cpu->r[29] + 0x00000030u;
|
|
/* 02585FCC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 02585FD0 */ _t154 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02585FD0 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02585FD0 */ if (_t155) goto L_02585FD4; else goto L_02585FF4;
|
|
L_02585FD4: ; // 0x2585fd4
|
|
/* 02585FD4 */ cpu->f[9] = cpu->f[7] - cpu->f[10];
|
|
/* 02585FD8 */ /* nop */
|
|
/* 02585FDC */ _t156 = cpu->r[12] + 0x00000004u;
|
|
/* 02585FDC */ rbrew_write_f32(cpu->mem, _t156, cpu->f[8]);
|
|
/* 02585FE0 */ cpu->f[12] = fma(cpu->f[0], cpu->f[5], cpu->f[10]);
|
|
/* 02585FE4 */ _t157 = cpu->r[12] + 0x00000000u;
|
|
/* 02585FE4 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[6]);
|
|
/* 02585FE8 */ _t158 = cpu->r[12] + 0x00000008u;
|
|
/* 02585FE8 */ rbrew_write_f32(cpu->mem, _t158, cpu->f[12]);
|
|
/* 02585FEC */ _t159 = cpu->r[29] + 0x00000000u;
|
|
/* 02585FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02585FF0 */ goto L_02586030;
|
|
L_02585FF4: ; // 0x2585ff4
|
|
/* 02585FF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 02585FF8 */ _t160 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02585FF8 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02585FF8 */ if (_t161) goto L_02585FFC; else goto L_0258601C;
|
|
L_02585FFC: ; // 0x2585ffc
|
|
/* 02585FFC */ cpu->f[11] = cpu->f[0] - cpu->f[10];
|
|
/* 02586000 */ /* nop */
|
|
/* 02586004 */ _t162 = cpu->r[12] + 0x00000004u;
|
|
/* 02586004 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[8]);
|
|
/* 02586008 */ cpu->f[12] = fma(cpu->f[7], cpu->f[5], cpu->f[12]);
|
|
/* 0258600C */ _t163 = cpu->r[12] + 0x00000000u;
|
|
/* 0258600C */ rbrew_write_f32(cpu->mem, _t163, cpu->f[6]);
|
|
/* 02586010 */ _t164 = cpu->r[12] + 0x00000008u;
|
|
/* 02586010 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[12]);
|
|
/* 02586014 */ _t165 = cpu->r[29] + 0x00000000u;
|
|
/* 02586014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02586018 */ goto L_02586030;
|
|
L_0258601C: ; // 0x258601c
|
|
/* 0258601C */ cpu->f[12] = cpu->f[0] + cpu->f[7];
|
|
/* 02586020 */ _t166 = cpu->r[12] + 0x00000004u;
|
|
/* 02586020 */ rbrew_write_f32(cpu->mem, _t166, cpu->f[8]);
|
|
/* 02586024 */ _t167 = cpu->r[12] + 0x00000000u;
|
|
/* 02586024 */ rbrew_write_f32(cpu->mem, _t167, cpu->f[6]);
|
|
/* 02586028 */ _t168 = cpu->r[12] + 0x00000008u;
|
|
/* 02586028 */ rbrew_write_f32(cpu->mem, _t168, cpu->f[12]);
|
|
/* 0258602C */ _t169 = cpu->r[29] + 0x00000000u;
|
|
/* 0258602C */ cpu->r[10] = rbrew_read32(cpu->mem, _t169);
|
|
L_02586030: ; // 0x2586030
|
|
/* 02586030 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02586034 */ _t170 = cpu->r[29] + 0x00000000u;
|
|
/* 02586034 */ rbrew_write32(cpu->mem, _t170, cpu->r[0]);
|
|
/* 02586038 */ /* nop */
|
|
/* 0258603C */ /* nop */
|
|
/* 02586040 */ /* nop */
|
|
/* 02586044 */ /* nop */
|
|
/* 02586048 */ _t171 = cpu->r[12] + 0x00000008u;
|
|
/* 02586048 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 0258604C */ _t172 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0258604C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 02586050 */ cpu->f[7] = cpu->f[7] + cpu->f[8];
|
|
/* 02586054 */ _t173 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02586054 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[7]);
|
|
L_02586058: ; // 0x2586058
|
|
/* 02586058 */ _t174 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02586058 */ cpu->r[29] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0258605C */ _t175 = cpu->r[1] + 0x00000070u;
|
|
/* 0258605C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t175);
|
|
/* 02586060 */ _t176 = cpu->r[1] + 0x00000060u;
|
|
/* 02586060 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 02586064 */ _t177 = cpu->r[1] + 0x00000068u;
|
|
/* 02586064 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t177);
|
|
/* 02586068 */ _t178 = cpu->r[1] + 0x00000058u;
|
|
/* 02586068 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t178);
|
|
/* 0258606C */ _t179 = cpu->r[1] + 0x00000054u;
|
|
/* 0258606C */ cpu->r[31] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02586070 */ _t180 = cpu->r[1] + 0x00000050u;
|
|
/* 02586070 */ cpu->r[30] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02586074 */ _t181 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586074 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02586074 */ if (_t182) goto L_02586078; // else: addr-0 trap, fall-through
|
|
L_02586078: ; // 0x2586078
|
|
/* 02586078 */ _t183 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02586078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 0258607C */ cpu->lr = cpu->r[0];
|
|
/* 02586080 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02586084 */ return;
|
|
}
|
|
|
|
// fn_02586088 @ 0x2586088
|
|
void Gambit_fn_02586088(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;
|
|
|
|
L_02586088: ; // 0x2586088
|
|
/* 02586088 */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02586088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586088 */ cpu->r[1] = _t0;
|
|
/* 0258608C */ /* nop */
|
|
/* 02586090 */ cpu->r[0] = cpu->lr;
|
|
/* 02586094 */ _t1 = cpu->r[1] + 0x000000C0u;
|
|
/* 02586094 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[27]);
|
|
/* 02586098 */ /* nop */
|
|
/* 0258609C */ _t2 = cpu->r[1] + 0x000000F0u;
|
|
/* 0258609C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 025860A0 */ _t3 = cpu->r[1] + 0x000000D0u;
|
|
/* 025860A0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]);
|
|
/* 025860A4 */ /* nop */
|
|
/* 025860A8 */ _t4 = cpu->r[1] + 0x000000B0u;
|
|
/* 025860A8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[26]);
|
|
/* 025860AC */ /* nop */
|
|
/* 025860B0 */ _t5 = cpu->r[1] + 0x00000100u;
|
|
/* 025860B0 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 025860B4 */ _t6 = cpu->r[1] + 0x000000F8u;
|
|
/* 025860B4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 025860B8 */ /* nop */
|
|
/* 025860BC */ _t7 = cpu->r[1] + 0x000000C8u;
|
|
/* 025860BC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[27]);
|
|
/* 025860C0 */ /* nop */
|
|
/* 025860C4 */ _t8 = cpu->r[1] + 0x00000108u;
|
|
/* 025860C4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 025860C8 */ _t9 = cpu->r[1] + 0x000000B8u;
|
|
/* 025860C8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[26]);
|
|
/* 025860CC */ _t10 = cpu->r[1] + 0x000000E0u;
|
|
/* 025860CC */ rbrew_write_f64(cpu->mem, _t10, cpu->f[29]);
|
|
/* 025860D0 */ _t11 = cpu->r[1] + 0x00000114u;
|
|
/* 025860D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 025860D4 */ /* nop */
|
|
/* 025860D8 */ _t12 = cpu->r[1] + 0x000000D8u;
|
|
/* 025860D8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[28]);
|
|
/* 025860DC */ cpu->r[26] = cpu->r[3];
|
|
/* 025860E0 */ _t13 = cpu->r[1] + 0x000000E8u;
|
|
/* 025860E0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[29]);
|
|
/* 025860E4 */ _t14 = cpu->r[26] + 0x000001D9u;
|
|
/* 025860E4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14);
|
|
/* 025860E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 025860EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025860EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 025860EC */ if (_t16) goto L_025864C8; else goto L_025860F0;
|
|
L_025860F0: ; // 0x25860f0
|
|
/* 025860F0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 025860F4 */ _t17 = cpu->r[26] + 0x00000004u;
|
|
/* 025860F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025860F8 */ cpu->r[30] = 0x101F0000u;
|
|
/* 025860FC */ _t18 = cpu->r[5] + 0x00001BF0u;
|
|
/* 025860FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02586100 */ _t19 = cpu->r[30] + 0x00003840u;
|
|
/* 02586100 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02586100 */ cpu->r[30] = _t19;
|
|
/* 02586104 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 02586104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02586108 */ _t21 = cpu->r[1] + 0x00000060u;
|
|
/* 02586108 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 0258610C */ cpu->r[31] = 0x10110000u;
|
|
/* 02586110 */ _t22 = cpu->r[1] + 0x00000074u;
|
|
/* 02586110 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02586114 */ cpu->r[31] = cpu->r[31] + 0xFFFFEF7Cu;
|
|
/* 02586118 */ _t23 = cpu->r[1] + 0x00000068u;
|
|
/* 02586118 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 0258611C */ _t24 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258611C */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 02586120 */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02586120 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02586124 */ _t26 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02586124 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02586128 */ _t27 = cpu->r[1] + 0x00000070u;
|
|
/* 02586128 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 0258612C */ _t28 = cpu->r[1] + 0x00000064u;
|
|
/* 0258612C */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 02586130 */ _t29 = cpu->r[1] + 0x00000078u;
|
|
/* 02586130 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02586134 */ _t30 = cpu->r[12] + 0x00000204u;
|
|
/* 02586134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02586138 */ cpu->ctr = cpu->r[0];
|
|
/* 0258613C */ cpu->r[3] = cpu->r[26];
|
|
/* 02586140 */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02586144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586148 */ _t31 = cpu->r[26] + 0x0000020Cu;
|
|
/* 02586148 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258614C */ _t32 = cpu->r[26] + 0x00000210u;
|
|
/* 0258614C */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02586150 */ Gambit_fn_02032EA4(cpu);
|
|
/* 02586154 */ _t33 = cpu->r[26] + 0x0000020Cu;
|
|
/* 02586154 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02586158 */ _t34 = cpu->r[4] + 0x00000118u;
|
|
/* 02586158 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258615C */ cpu->r[29] = 0x101C0000u;
|
|
/* 02586160 */ _t35 = cpu->r[29] + 0x00006CB0u;
|
|
/* 02586160 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02586160 */ cpu->r[29] = _t35;
|
|
/* 02586164 */ /* nop */
|
|
/* 02586168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02586168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258616C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258616C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0258616C */ if (_t37) goto L_02586470; else goto L_02586170;
|
|
L_02586170: ; // 0x2586170
|
|
/* 02586170 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02586174 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02586178 */ _t38 = cpu->r[10] + 0x00001BECu;
|
|
/* 02586178 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0258617C */ cpu->r[28] = 0x101F0000u;
|
|
/* 02586180 */ _t39 = cpu->r[9] + 0x00001C10u;
|
|
/* 02586180 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02586184 */ cpu->r[28] = cpu->r[28] + 0x00006338u;
|
|
L_02586188: ; // 0x2586188
|
|
/* 02586188 */ cpu->f[27] = cpu->f[31];
|
|
/* 0258618C */ cpu->f[28] = cpu->f[29];
|
|
/* 02586190 */ cpu->f[26] = cpu->f[30];
|
|
L_02586194: ; // 0x2586194
|
|
/* 02586194 */ _t40 = cpu->r[29] + 0x00000000u;
|
|
/* 02586194 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02586198 */ _t41 = cpu->r[4] + 0x00000108u;
|
|
/* 02586198 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258619C */ Gambit_fn_02031DAC(cpu);
|
|
/* 025861A0 */ cpu->r[25] = cpu->r[3];
|
|
/* 025861A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025861A4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025861A4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 025861A4 */ if (_t43) goto L_02586470; else goto L_025861A8;
|
|
L_025861A8: ; // 0x25861a8
|
|
/* 025861A8 */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 025861A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025861AC */ _t45 = cpu->r[4] + 0x00000224u;
|
|
/* 025861AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 025861B0 */ cpu->ctr = cpu->r[7];
|
|
/* 025861B4 */ _t46 = cpu->r[25] + 0x00000004u;
|
|
/* 025861B4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025861B8 */ cpu->r[3] = cpu->r[26];
|
|
/* 025861BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025861C0 */ _t47 = cpu->r[27] + 0x00000224u;
|
|
/* 025861C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025861C4 */ cpu->r[27] = cpu->r[3];
|
|
/* 025861C8 */ cpu->ctr = cpu->r[10];
|
|
/* 025861CC */ cpu->r[3] = cpu->r[25];
|
|
/* 025861D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025861D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[3]);
|
|
/* 025861D8 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025861D8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 025861D8 */ if (_t49) goto L_025861DC; else goto L_02586468;
|
|
L_025861DC: ; // 0x25861dc
|
|
/* 025861DC */ _t50 = cpu->r[30] + 0x00000000u;
|
|
/* 025861DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025861E0 */ _t51 = cpu->r[30] + 0x00000004u;
|
|
/* 025861E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025861E4 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 025861E4 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 025861E8 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 025861E8 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 025861EC */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 025861EC */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 025861F0 */ _t55 = cpu->r[30] + 0x00000008u;
|
|
/* 025861F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 025861F4 */ _t56 = cpu->r[1] + 0x00000030u;
|
|
/* 025861F4 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
/* 025861F8 */ _t57 = cpu->r[1] + 0x00000038u;
|
|
/* 025861F8 */ rbrew_write32(cpu->mem, _t57, cpu->r[8]);
|
|
/* 025861FC */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025861FC */ rbrew_write32(cpu->mem, _t58, cpu->r[8]);
|
|
/* 02586200 */ _t59 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02586200 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[27]);
|
|
/* 02586204 */ _t60 = cpu->r[1] + 0x00000020u;
|
|
/* 02586204 */ rbrew_write32(cpu->mem, _t60, cpu->r[31]);
|
|
/* 02586208 */ _t61 = cpu->r[25] + 0x00000004u;
|
|
/* 02586208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0258620C */ _t62 = cpu->r[10] + 0x00000204u;
|
|
/* 0258620C */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02586210 */ cpu->ctr = cpu->r[11];
|
|
/* 02586214 */ cpu->r[3] = cpu->r[25];
|
|
/* 02586218 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0258621C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586220 */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 02586224 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02586228 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258622C */ Gambit_fn_027DF038(cpu);
|
|
/* 02586230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02586234 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586234 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02586234 */ if (_t64) goto L_02586468; else goto L_02586238;
|
|
L_02586238: ; // 0x2586238
|
|
/* 02586238 */ _t65 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02586238 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 0258623C */ /* nop */
|
|
/* 02586240 */ cpu->f[12] = cpu->f[28] * cpu->f[7];
|
|
/* 02586244 */ _t66 = cpu->r[1] + 0x00000048u;
|
|
/* 02586244 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02586248 */ /* nop */
|
|
/* 0258624C */ /* nop */
|
|
/* 02586250 */ cpu->f[5] = cpu->f[10] * cpu->f[12];
|
|
/* 02586254 */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 02586254 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02586258 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586258 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0258625C */ cpu->f[12] = -cpu->f[0];
|
|
/* 02586260 */ cpu->f[6] = -cpu->f[7];
|
|
/* 02586264 */ _t69 = cpu->r[1] + 0x00000010u;
|
|
/* 02586264 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[5]);
|
|
/* 02586268 */ cpu->f[8] = -cpu->f[5];
|
|
/* 0258626C */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 0258626C */ rbrew_write_f32(cpu->mem, _t70, cpu->f[12]);
|
|
/* 02586270 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[27], cpu->f[7]);
|
|
/* 02586274 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 02586274 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[6]);
|
|
/* 02586278 */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586278 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[8]);
|
|
/* 0258627C */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258627C */ _t74 = _t73 & 0x00000001u;
|
|
/* 0258627C */ if (_t74) goto L_02586280; else goto L_02586290;
|
|
L_02586280: ; // 0x2586280
|
|
/* 02586280 */ _t75 = cpu->r[1] + 0x00000018u;
|
|
/* 02586280 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02586284 */ cpu->f[6] = cpu->f[9] + cpu->f[9];
|
|
/* 02586288 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586288 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[27]);
|
|
/* 0258628C */ _t77 = cpu->r[1] + 0x00000018u;
|
|
/* 0258628C */ rbrew_write_f32(cpu->mem, _t77, cpu->f[6]);
|
|
L_02586290: ; // 0x2586290
|
|
/* 02586290 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[27], cpu->f[6]);
|
|
/* 02586294 */ _t78 = cpu->r[26] + 0x000001DBu;
|
|
/* 02586294 */ cpu->r[12] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02586298 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02586298 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02586298 */ if (_t80) goto L_0258629C; else goto L_025862AC;
|
|
L_0258629C: ; // 0x258629c
|
|
/* 0258629C */ _t81 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258629C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 025862A0 */ cpu->f[10] = cpu->f[10] + cpu->f[10];
|
|
/* 025862A4 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 025862A4 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[27]);
|
|
/* 025862A8 */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025862A8 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[10]);
|
|
L_025862AC: ; // 0x25862ac
|
|
/* 025862AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025862B0 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025862B0 */ _t85 = _t84 & 0x00000001u;
|
|
/* 025862B0 */ if (_t85) goto L_02586310; else goto L_025862B4;
|
|
L_025862B4: ; // 0x25862b4
|
|
/* 025862B4 */ _t86 = cpu->r[28] + 0x00000000u;
|
|
/* 025862B4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 025862B8 */ _t87 = cpu->r[28] + 0x00000008u;
|
|
/* 025862B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 025862BC */ _t88 = cpu->r[28] + 0x00000004u;
|
|
/* 025862BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 025862C0 */ cpu->f[8] = cpu->f[6];
|
|
/* 025862C4 */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 025862C4 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[11]);
|
|
/* 025862C8 */ cpu->f[7] = cpu->f[13];
|
|
/* 025862CC */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 025862CC */ rbrew_write_f32(cpu->mem, _t90, cpu->f[8]);
|
|
/* 025862D0 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025862D0 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[7]);
|
|
/* 025862D4 */ _t92 = cpu->r[25] + 0x000001DBu;
|
|
/* 025862D4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t92);
|
|
/* 025862D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 025862DC */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025862DC */ _t94 = _t93 & 0x00000001u;
|
|
/* 025862DC */ if (_t94) goto L_025862E0; else goto L_02586328;
|
|
L_025862E0: ; // 0x25862e0
|
|
/* 025862E0 */ _t95 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025862E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 025862E4 */ /* nop */
|
|
/* 025862E8 */ cpu->f[0] = cpu->f[0] + cpu->f[0];
|
|
/* 025862EC */ _t96 = cpu->r[26] + 0x000001F4u;
|
|
/* 025862EC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 025862F0 */ /* nop */
|
|
/* 025862F4 */ /* nop */
|
|
/* 025862F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
|
|
/* 025862FC */ _t97 = cpu->r[26] + 0x000001F8u;
|
|
/* 025862FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02586300 */ _t98 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586300 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
|
|
/* 02586304 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02586304 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02586308 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586308 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02586308 */ if (_t101) goto L_0258630C; else goto L_02586394;
|
|
L_0258630C: ; // 0x258630c
|
|
/* 0258630C */ goto L_0258638C;
|
|
L_02586310: ; // 0x2586310
|
|
/* 02586310 */ _t102 = cpu->r[25] + 0x000001DBu;
|
|
/* 02586310 */ cpu->r[0] = rbrew_read8(cpu->mem, _t102);
|
|
/* 02586314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02586318 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586318 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02586318 */ if (_t104) goto L_0258633C; else goto L_0258631C;
|
|
L_0258631C: ; // 0x258631c
|
|
/* 0258631C */ _t105 = cpu->r[28] + 0x00000004u;
|
|
/* 0258631C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02586320 */ _t106 = cpu->r[28] + 0x00000000u;
|
|
/* 02586320 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02586324 */ _t107 = cpu->r[28] + 0x00000008u;
|
|
/* 02586324 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t107);
|
|
L_02586328: ; // 0x2586328
|
|
/* 02586328 */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586328 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[11]);
|
|
/* 0258632C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02586330 */ _t109 = cpu->r[1] + 0x00000014u;
|
|
/* 02586330 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[6]);
|
|
/* 02586334 */ _t110 = cpu->r[1] + 0x00000018u;
|
|
/* 02586334 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[13]);
|
|
/* 02586338 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586338 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02586338 */ if (_t112) goto L_0258635C; else goto L_0258633C;
|
|
L_0258633C: ; // 0x258633c
|
|
/* 0258633C */ _t113 = cpu->r[1] + 0x00000008u;
|
|
/* 0258633C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02586340 */ _t114 = cpu->r[26] + 0x000001F4u;
|
|
/* 02586340 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02586344 */ _t115 = cpu->r[1] + 0x00000010u;
|
|
/* 02586344 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02586348 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
|
|
/* 0258634C */ _t116 = cpu->r[26] + 0x000001F8u;
|
|
/* 0258634C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02586350 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586350 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02586354 */ _t118 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586354 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02586354 */ if (_t119) goto L_02586358; else goto L_02586394;
|
|
L_02586358: ; // 0x2586358
|
|
/* 02586358 */ goto L_0258638C;
|
|
L_0258635C: ; // 0x258635c
|
|
/* 0258635C */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 0258635C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02586360 */ /* nop */
|
|
/* 02586364 */ cpu->f[5] = cpu->f[8] + cpu->f[8];
|
|
/* 02586368 */ _t121 = cpu->r[26] + 0x000001F4u;
|
|
/* 02586368 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 0258636C */ /* nop */
|
|
/* 02586370 */ /* nop */
|
|
/* 02586374 */ _t122 = cpu->r[1] + 0x00000008u;
|
|
/* 02586374 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02586378 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586378 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 0258637C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
|
|
/* 02586380 */ _t124 = cpu->r[1] + 0x00000010u;
|
|
/* 02586380 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[5]);
|
|
/* 02586384 */ _t125 = cpu->r[26] + 0x000001F8u;
|
|
/* 02586384 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 02586388 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586388 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02586388 */ if (_t127) goto L_0258638C; else goto L_02586394;
|
|
L_0258638C: ; // 0x258638c
|
|
/* 0258638C */ _t128 = cpu->r[26] + 0x000001F4u;
|
|
/* 0258638C */ rbrew_write_f32(cpu->mem, _t128, cpu->f[8]);
|
|
/* 02586390 */ _t129 = cpu->r[1] + 0x00000008u;
|
|
/* 02586390 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t129);
|
|
L_02586394: ; // 0x2586394
|
|
/* 02586394 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[10]);
|
|
/* 02586398 */ _t130 = cpu->r[26] + 0x000001FCu;
|
|
/* 02586398 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 0258639C */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258639C */ _t132 = _t131 & 0x00000001u;
|
|
/* 0258639C */ if (_t132) goto L_025863A0; else goto L_025863A8;
|
|
L_025863A0: ; // 0x25863a0
|
|
/* 025863A0 */ _t133 = cpu->r[26] + 0x000001F8u;
|
|
/* 025863A0 */ rbrew_write_f32(cpu->mem, _t133, cpu->f[7]);
|
|
/* 025863A4 */ _t134 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025863A4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t134);
|
|
L_025863A8: ; // 0x25863a8
|
|
/* 025863A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 025863AC */ _t135 = cpu->r[26] + 0x00000200u;
|
|
/* 025863AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 025863B0 */ _t136 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025863B0 */ _t137 = _t136 & 0x00000001u;
|
|
/* 025863B0 */ if (_t137) goto L_025863B4; else goto L_025863BC;
|
|
L_025863B4: ; // 0x25863b4
|
|
/* 025863B4 */ _t138 = cpu->r[26] + 0x000001FCu;
|
|
/* 025863B4 */ rbrew_write_f32(cpu->mem, _t138, cpu->f[5]);
|
|
/* 025863B8 */ _t139 = cpu->r[1] + 0x00000010u;
|
|
/* 025863B8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t139);
|
|
L_025863BC: ; // 0x25863bc
|
|
/* 025863BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 025863C0 */ _t140 = cpu->r[26] + 0x00000204u;
|
|
/* 025863C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 025863C4 */ _t141 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025863C4 */ _t142 = _t141 & 0x00000001u;
|
|
/* 025863C4 */ if (_t142) goto L_025863C8; else goto L_025863CC;
|
|
L_025863C8: ; // 0x25863c8
|
|
/* 025863C8 */ _t143 = cpu->r[26] + 0x00000200u;
|
|
/* 025863C8 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[8]);
|
|
L_025863CC: ; // 0x25863cc
|
|
/* 025863CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]);
|
|
/* 025863D0 */ _t144 = cpu->r[26] + 0x00000208u;
|
|
/* 025863D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 025863D4 */ _t145 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025863D4 */ _t146 = _t145 & 0x00000001u;
|
|
/* 025863D4 */ if (_t146) goto L_025863D8; else goto L_025863DC;
|
|
L_025863D8: ; // 0x25863d8
|
|
/* 025863D8 */ _t147 = cpu->r[26] + 0x00000204u;
|
|
/* 025863D8 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[7]);
|
|
L_025863DC: ; // 0x25863dc
|
|
/* 025863DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[0]);
|
|
/* 025863E0 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025863E0 */ _t149 = _t148 & 0x00000001u;
|
|
/* 025863E0 */ if (_t149) goto L_025863E4; else goto L_025863E8;
|
|
L_025863E4: ; // 0x25863e4
|
|
/* 025863E4 */ _t150 = cpu->r[26] + 0x00000208u;
|
|
/* 025863E4 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[5]);
|
|
L_025863E8: ; // 0x25863e8
|
|
/* 025863E8 */ _t151 = cpu->r[1] + 0x00000014u;
|
|
/* 025863E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 025863EC */ _t152 = cpu->r[25] + 0x000001F4u;
|
|
/* 025863EC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 025863F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[6]);
|
|
/* 025863F4 */ _t153 = cpu->r[25] + 0x000001F8u;
|
|
/* 025863F4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 025863F8 */ _t154 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025863F8 */ _t155 = _t154 & 0x00000001u;
|
|
/* 025863F8 */ if (_t155) goto L_025863FC; else goto L_02586404;
|
|
L_025863FC: ; // 0x25863fc
|
|
/* 025863FC */ _t156 = cpu->r[25] + 0x000001F4u;
|
|
/* 025863FC */ rbrew_write_f32(cpu->mem, _t156, cpu->f[0]);
|
|
/* 02586400 */ _t157 = cpu->r[1] + 0x00000014u;
|
|
/* 02586400 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t157);
|
|
L_02586404: ; // 0x2586404
|
|
/* 02586404 */ _t158 = cpu->r[1] + 0x00000018u;
|
|
/* 02586404 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 02586408 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[7]);
|
|
/* 0258640C */ _t159 = cpu->r[25] + 0x000001FCu;
|
|
/* 0258640C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 02586410 */ _t160 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586410 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02586410 */ if (_t161) goto L_02586414; else goto L_0258641C;
|
|
L_02586414: ; // 0x2586414
|
|
/* 02586414 */ _t162 = cpu->r[25] + 0x000001F8u;
|
|
/* 02586414 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[6]);
|
|
/* 02586418 */ _t163 = cpu->r[1] + 0x00000018u;
|
|
/* 02586418 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t163);
|
|
L_0258641C: ; // 0x258641c
|
|
/* 0258641C */ _t164 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258641C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t164);
|
|
/* 02586420 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[8]);
|
|
/* 02586424 */ _t165 = cpu->r[25] + 0x00000200u;
|
|
/* 02586424 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t165);
|
|
/* 02586428 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586428 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02586428 */ if (_t167) goto L_0258642C; else goto L_02586434;
|
|
L_0258642C: ; // 0x258642c
|
|
/* 0258642C */ _t168 = cpu->r[25] + 0x000001FCu;
|
|
/* 0258642C */ rbrew_write_f32(cpu->mem, _t168, cpu->f[12]);
|
|
/* 02586430 */ _t169 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586430 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t169);
|
|
L_02586434: ; // 0x2586434
|
|
/* 02586434 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[9]);
|
|
/* 02586438 */ _t170 = cpu->r[25] + 0x00000204u;
|
|
/* 02586438 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t170);
|
|
/* 0258643C */ _t171 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258643C */ _t172 = _t171 & 0x00000001u;
|
|
/* 0258643C */ if (_t172) goto L_02586440; else goto L_02586444;
|
|
L_02586440: ; // 0x2586440
|
|
/* 02586440 */ _t173 = cpu->r[25] + 0x00000200u;
|
|
/* 02586440 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[0]);
|
|
L_02586444: ; // 0x2586444
|
|
/* 02586444 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[10]);
|
|
/* 02586448 */ _t174 = cpu->r[25] + 0x00000208u;
|
|
/* 02586448 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 0258644C */ _t175 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258644C */ _t176 = _t175 & 0x00000001u;
|
|
/* 0258644C */ if (_t176) goto L_02586450; else goto L_02586454;
|
|
L_02586450: ; // 0x2586450
|
|
/* 02586450 */ _t177 = cpu->r[25] + 0x00000204u;
|
|
/* 02586450 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[6]);
|
|
L_02586454: ; // 0x2586454
|
|
/* 02586454 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[11]);
|
|
/* 02586458 */ _t178 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02586458 */ _t179 = _t178 & 0x00000001u;
|
|
/* 02586458 */ if (_t179) goto L_0258645C; else goto L_02586460;
|
|
L_0258645C: ; // 0x258645c
|
|
/* 0258645C */ _t180 = cpu->r[25] + 0x00000208u;
|
|
/* 0258645C */ rbrew_write_f32(cpu->mem, _t180, cpu->f[12]);
|
|
L_02586460: ; // 0x2586460
|
|
/* 02586460 */ _t181 = cpu->r[26] + 0x0000020Cu;
|
|
/* 02586460 */ cpu->r[4] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02586464 */ goto L_02586194;
|
|
L_02586468: ; // 0x2586468
|
|
/* 02586468 */ _t182 = cpu->r[26] + 0x0000020Cu;
|
|
/* 02586468 */ cpu->r[4] = rbrew_read32(cpu->mem, _t182);
|
|
/* 0258646C */ goto L_02586188;
|
|
L_02586470: ; // 0x2586470
|
|
/* 02586470 */ _t183 = cpu->r[26] + 0x00000208u;
|
|
/* 02586470 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t183);
|
|
/* 02586474 */ _t184 = cpu->r[26] + 0x000001FCu;
|
|
/* 02586474 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 02586478 */ _t185 = cpu->r[26] + 0x0000007Cu;
|
|
/* 02586478 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t185);
|
|
/* 0258647C */ cpu->f[7] = cpu->f[8] + cpu->f[9];
|
|
/* 02586480 */ /* nop */
|
|
/* 02586484 */ /* nop */
|
|
/* 02586488 */ _t186 = cpu->r[1] + 0x00000084u;
|
|
/* 02586488 */ rbrew_write_f32(cpu->mem, _t186, cpu->f[7]);
|
|
/* 0258648C */ _t187 = cpu->r[1] + 0x00000084u;
|
|
/* 0258648C */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02586490 */ /* nop */
|
|
/* 02586494 */ _t188 = cpu->r[1] + 0x00000090u;
|
|
/* 02586494 */ rbrew_write32(cpu->mem, _t188, cpu->r[0]);
|
|
/* 02586498 */ _t189 = cpu->r[1] + 0x00000090u;
|
|
/* 02586498 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t189);
|
|
/* 0258649C */ /* nop */
|
|
/* 025864A0 */ _t190 = cpu->r[1] + 0x0000007Cu;
|
|
/* 025864A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t190);
|
|
/* 025864A4 */ _t191 = cpu->r[1] + 0x00000080u;
|
|
/* 025864A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t191);
|
|
/* 025864A8 */ _t192 = cpu->r[1] + 0x00000088u;
|
|
/* 025864A8 */ rbrew_write32(cpu->mem, _t192, cpu->r[6]);
|
|
/* 025864AC */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 025864B0 */ _t193 = cpu->r[1] + 0x0000008Cu;
|
|
/* 025864B0 */ rbrew_write32(cpu->mem, _t193, cpu->r[8]);
|
|
/* 025864B4 */ /* nop */
|
|
/* 025864B8 */ /* nop */
|
|
/* 025864BC */ _t194 = cpu->r[26] + 0x0000007Cu;
|
|
/* 025864BC */ rbrew_write_f32(cpu->mem, _t194, cpu->f[13]);
|
|
/* 025864C0 */ /* nop */
|
|
/* 025864C4 */ /* nop */
|
|
L_025864C8: ; // 0x25864c8
|
|
/* 025864C8 */ /* nop */
|
|
/* 025864CC */ _t195 = cpu->r[1] + 0x000000F8u;
|
|
/* 025864CC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t195);
|
|
/* 025864D0 */ _t196 = cpu->r[1] + 0x000000D8u;
|
|
/* 025864D0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t196);
|
|
/* 025864D4 */ _t197 = cpu->r[1] + 0x000000F0u;
|
|
/* 025864D4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t197);
|
|
/* 025864D8 */ _t198 = cpu->r[1] + 0x000000D0u;
|
|
/* 025864D8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t198);
|
|
/* 025864DC */ _t199 = cpu->r[1] + 0x000000C8u;
|
|
/* 025864DC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t199);
|
|
/* 025864E0 */ _t200 = cpu->r[1] + 0x000000E8u;
|
|
/* 025864E0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t200);
|
|
/* 025864E4 */ _t201 = cpu->r[1] + 0x000000C0u;
|
|
/* 025864E4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t201);
|
|
/* 025864E8 */ _t202 = cpu->r[1] + 0x000000E0u;
|
|
/* 025864E8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t202);
|
|
/* 025864EC */ _t203 = cpu->r[1] + 0x000000B8u;
|
|
/* 025864EC */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t203);
|
|
/* 025864F0 */ _t204 = cpu->r[1] + 0x00000108u;
|
|
/* 025864F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t204);
|
|
/* 025864F4 */ _t205 = cpu->r[1] + 0x000000B0u;
|
|
/* 025864F4 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t205);
|
|
/* 025864F8 */ _t206 = cpu->r[1] + 0x00000100u;
|
|
/* 025864F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t206);
|
|
/* 025864FC */ _t207 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025864FC */ _t208 = _t207 & 0x00000001u;
|
|
/* 025864FC */ if (_t208) goto L_02586500; // else: addr-0 trap, fall-through
|
|
L_02586500: ; // 0x2586500
|
|
/* 02586500 */ _t209 = cpu->r[1] + 0x00000114u;
|
|
/* 02586500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02586504 */ cpu->lr = cpu->r[0];
|
|
/* 02586508 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 0258650C */ return;
|
|
}
|
|
|
|
// fn_02586510 @ 0x2586510
|
|
void Gambit_fn_02586510(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_02586510: ; // 0x2586510
|
|
/* 02586510 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02586514 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02586518 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02586518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586518 */ cpu->r[1] = _t0;
|
|
/* 0258651C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02586520 */ _t1 = cpu->r[12] + 0xFFFFB564u;
|
|
/* 02586520 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02586520 */ cpu->r[12] = _t1;
|
|
/* 02586524 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02586528 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02586528 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 0258652C */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02586530 */ _t3 = cpu->r[11] + 0xFFFFB56Cu;
|
|
/* 02586530 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02586530 */ cpu->r[11] = _t3;
|
|
/* 02586534 */ cpu->r[12] = 0x00000002u;
|
|
/* 02586538 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 02586538 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 0258653C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0258653C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02586540 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02586544 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02586544 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02586548 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258654C */ _t7 = cpu->r[12] + 0x00001C1Cu;
|
|
/* 0258654C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02586550 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02586554 */ _t8 = cpu->r[8] + 0xFFFFB574u;
|
|
/* 02586554 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02586554 */ cpu->r[8] = _t8;
|
|
/* 02586558 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0258655C */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 0258655C */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02586560 */ cpu->r[10] = cpu->r[10] + 0xFFFFB584u;
|
|
/* 02586564 */ _t10 = cpu->r[12] + 0x00001C18u;
|
|
/* 02586564 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02586568 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258656C */ cpu->r[6] = 0x101F0000u;
|
|
/* 02586570 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 02586570 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 02586574 */ cpu->r[6] = cpu->r[6] + 0xFFFFB590u;
|
|
/* 02586578 */ _t12 = cpu->r[12] + 0x00001BECu;
|
|
/* 02586578 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0258657C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02586580 */ _t13 = cpu->r[6] + 0x00000004u;
|
|
/* 02586580 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
|
|
/* 02586584 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02586588 */ _t14 = cpu->r[12] + 0x00001C14u;
|
|
/* 02586588 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258658C */ cpu->r[7] = 0x101F0000u;
|
|
/* 02586590 */ _t15 = cpu->r[6] + 0x00000008u;
|
|
/* 02586590 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02586594 */ cpu->r[7] = cpu->r[7] + 0xFFFFB5A0u;
|
|
/* 02586598 */ _t16 = cpu->r[11] + 0xFFFFB57Cu;
|
|
/* 02586598 */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 02586598 */ cpu->r[11] = _t16;
|
|
/* 0258659C */ _t17 = cpu->r[6] + 0x00000000u;
|
|
/* 0258659C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 025865A0 */ cpu->r[12] = 0x00000004u;
|
|
/* 025865A4 */ _t18 = cpu->r[11] + 0x00000004u;
|
|
/* 025865A4 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 025865A8 */ _t19 = cpu->r[7] + 0x0000000Cu;
|
|
/* 025865A8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 025865AC */ cpu->r[11] = 0x101F0000u;
|
|
/* 025865B0 */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 025865B0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 025865B4 */ _t21 = cpu->r[11] + 0xFFFFB58Cu;
|
|
/* 025865B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 025865B8 */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 025865B8 */ rbrew_write32(cpu->mem, _t22, cpu->r[5]);
|
|
/* 025865BC */ _t23 = cpu->r[7] + 0x00000008u;
|
|
/* 025865BC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 025865C0 */ _t24 = cpu->r[6] + 0x0000000Cu;
|
|
/* 025865C0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 025865C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025865C8 */ _t25 = cpu->r[7] + 0x00000004u;
|
|
/* 025865C8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 025865CC */ return;
|
|
}
|
|
|
|
// fn_02586518 @ 0x2586518
|
|
void Gambit_fn_02586518(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_02586518: ; // 0x2586518
|
|
/* 02586518 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02586518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586518 */ cpu->r[1] = _t0;
|
|
/* 0258651C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02586520 */ _t1 = cpu->r[12] + 0xFFFFB564u;
|
|
/* 02586520 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02586520 */ cpu->r[12] = _t1;
|
|
/* 02586524 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02586528 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02586528 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 0258652C */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02586530 */ _t3 = cpu->r[11] + 0xFFFFB56Cu;
|
|
/* 02586530 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02586530 */ cpu->r[11] = _t3;
|
|
/* 02586534 */ cpu->r[12] = 0x00000002u;
|
|
/* 02586538 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 02586538 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 0258653C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0258653C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02586540 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02586544 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02586544 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02586548 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258654C */ _t7 = cpu->r[12] + 0x00001C1Cu;
|
|
/* 0258654C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02586550 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02586554 */ _t8 = cpu->r[8] + 0xFFFFB574u;
|
|
/* 02586554 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02586554 */ cpu->r[8] = _t8;
|
|
/* 02586558 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0258655C */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 0258655C */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02586560 */ cpu->r[10] = cpu->r[10] + 0xFFFFB584u;
|
|
/* 02586564 */ _t10 = cpu->r[12] + 0x00001C18u;
|
|
/* 02586564 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02586568 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258656C */ cpu->r[6] = 0x101F0000u;
|
|
/* 02586570 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 02586570 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 02586574 */ cpu->r[6] = cpu->r[6] + 0xFFFFB590u;
|
|
/* 02586578 */ _t12 = cpu->r[12] + 0x00001BECu;
|
|
/* 02586578 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0258657C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02586580 */ _t13 = cpu->r[6] + 0x00000004u;
|
|
/* 02586580 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
|
|
/* 02586584 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02586588 */ _t14 = cpu->r[12] + 0x00001C14u;
|
|
/* 02586588 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258658C */ cpu->r[7] = 0x101F0000u;
|
|
/* 02586590 */ _t15 = cpu->r[6] + 0x00000008u;
|
|
/* 02586590 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02586594 */ cpu->r[7] = cpu->r[7] + 0xFFFFB5A0u;
|
|
/* 02586598 */ _t16 = cpu->r[11] + 0xFFFFB57Cu;
|
|
/* 02586598 */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 02586598 */ cpu->r[11] = _t16;
|
|
/* 0258659C */ _t17 = cpu->r[6] + 0x00000000u;
|
|
/* 0258659C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 025865A0 */ cpu->r[12] = 0x00000004u;
|
|
/* 025865A4 */ _t18 = cpu->r[11] + 0x00000004u;
|
|
/* 025865A4 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 025865A8 */ _t19 = cpu->r[7] + 0x0000000Cu;
|
|
/* 025865A8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 025865AC */ cpu->r[11] = 0x101F0000u;
|
|
/* 025865B0 */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 025865B0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 025865B4 */ _t21 = cpu->r[11] + 0xFFFFB58Cu;
|
|
/* 025865B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 025865B8 */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 025865B8 */ rbrew_write32(cpu->mem, _t22, cpu->r[5]);
|
|
/* 025865BC */ _t23 = cpu->r[7] + 0x00000008u;
|
|
/* 025865BC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 025865C0 */ _t24 = cpu->r[6] + 0x0000000Cu;
|
|
/* 025865C0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 025865C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025865C8 */ _t25 = cpu->r[7] + 0x00000004u;
|
|
/* 025865C8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 025865CC */ return;
|
|
}
|
|
|
|
// fn_025865D0 @ 0x25865d0
|
|
void Gambit_fn_025865D0(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_025865D0: ; // 0x25865d0
|
|
/* 025865D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025865D4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025865D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025865D4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025865D4 */ goto L_025865D8;
|
|
L_025865D8: ; // 0x25865d8
|
|
/* 025865D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025865D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025865DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025865DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 025865DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025865DC */ goto L_025865E0;
|
|
L_025865E0: ; // 0x25865e0
|
|
/* 025865E0 */ 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_025865E4 @ 0x25865e4
|
|
void Gambit_fn_025865E4(CPUState* cpu) {
|
|
L_025865E4: ; // 0x25865e4
|
|
/* 025865E4 */ return;
|
|
}
|
|
|
|
// fn_025865E8 @ 0x25865e8
|
|
void Gambit_fn_025865E8(CPUState* cpu) {
|
|
L_025865E8: ; // 0x25865e8
|
|
/* 025865E8 */ return;
|
|
}
|
|
|
|
// fn_025865EC @ 0x25865ec
|
|
void Gambit_fn_025865EC(CPUState* cpu) {
|
|
L_025865EC: ; // 0x25865ec
|
|
/* 025865EC */ return;
|
|
}
|
|
|
|
// fn_025865F0 @ 0x25865f0
|
|
void Gambit_fn_025865F0(CPUState* cpu) {
|
|
L_025865F0: ; // 0x25865f0
|
|
/* 025865F0 */ return;
|
|
}
|
|
|
|
// fn_025865F4 @ 0x25865f4
|
|
void Gambit_fn_025865F4(CPUState* cpu) {
|
|
L_025865F4: ; // 0x25865f4
|
|
/* 025865F4 */ return;
|
|
}
|
|
|
|
// fn_025865F8 @ 0x25865f8
|
|
void Gambit_fn_025865F8(CPUState* cpu) {
|
|
L_025865F8: ; // 0x25865f8
|
|
/* 025865F8 */ return;
|
|
}
|
|
|
|
// fn_025865FC @ 0x25865fc
|
|
void Gambit_fn_025865FC(CPUState* cpu) {
|
|
L_025865FC: ; // 0x25865fc
|
|
/* 025865FC */ return;
|
|
}
|
|
|
|
// fn_02586600 @ 0x2586600
|
|
void Gambit_fn_02586600(CPUState* cpu) {
|
|
L_02586600: ; // 0x2586600
|
|
/* 02586600 */ return;
|
|
}
|
|
|
|
// fn_02586604 @ 0x2586604
|
|
void Gambit_fn_02586604(CPUState* cpu) {
|
|
L_02586604: ; // 0x2586604
|
|
/* 02586604 */ return;
|
|
}
|
|
|
|
// fn_02586608 @ 0x2586608
|
|
void Gambit_fn_02586608(CPUState* cpu) {
|
|
L_02586608: ; // 0x2586608
|
|
/* 02586608 */ return;
|
|
}
|
|
|
|
// fn_0258660C @ 0x258660c
|
|
void Gambit_fn_0258660C(CPUState* cpu) {
|
|
L_0258660C: ; // 0x258660c
|
|
/* 0258660C */ return;
|
|
}
|
|
|
|
// fn_02586610 @ 0x2586610
|
|
void Gambit_fn_02586610(CPUState* cpu) {
|
|
L_02586610: ; // 0x2586610
|
|
/* 02586610 */ return;
|
|
}
|
|
|
|
// fn_02586614 @ 0x2586614
|
|
void Gambit_fn_02586614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02586614: ; // 0x2586614
|
|
/* 02586614 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02586614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02586618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258661C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258661C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258661C */ if (_t2) goto L_02586628; else goto L_02586620;
|
|
L_02586620: ; // 0x2586620
|
|
/* 02586620 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02586624 */ return;
|
|
L_02586628: ; // 0x2586628
|
|
/* 02586628 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258662C */ return;
|
|
}
|
|
|
|
// fn_02586630 @ 0x2586630
|
|
void Gambit_fn_02586630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02586630: ; // 0x2586630
|
|
/* 02586630 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02586630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02586634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02586638 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586638 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02586638 */ if (_t2) goto L_02586644; else goto L_0258663C;
|
|
L_0258663C: ; // 0x258663c
|
|
/* 0258663C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02586640 */ return;
|
|
L_02586644: ; // 0x2586644
|
|
/* 02586644 */ cpu->r[3] = 0x00000000u;
|
|
/* 02586648 */ return;
|
|
}
|
|
|
|
// fn_0258664C @ 0x258664c
|
|
void Gambit_fn_0258664C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258664C: ; // 0x258664c
|
|
/* 0258664C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258664C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02586650 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02586650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02586654 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586654 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02586654 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02586654 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02586654 */ goto L_02586658;
|
|
L_02586658: ; // 0x2586658
|
|
/* 02586658 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02586658 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258665C */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0258665C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02586660 */ cpu->ctr = cpu->r[0];
|
|
/* 02586664 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02586668 @ 0x2586668
|
|
void Gambit_fn_02586668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02586668: ; // 0x2586668
|
|
/* 02586668 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02586668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258666C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258666C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02586670 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586670 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02586670 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02586670 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02586670 */ goto L_02586674;
|
|
L_02586674: ; // 0x2586674
|
|
/* 02586674 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02586674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02586678 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02586678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258667C */ cpu->ctr = cpu->r[0];
|
|
/* 02586680 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02586684 @ 0x2586684
|
|
void Gambit_fn_02586684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02586684: ; // 0x2586684
|
|
/* 02586684 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02586684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02586688 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02586688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258668C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258668C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258668C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258668C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258668C */ goto L_02586690;
|
|
L_02586690: ; // 0x2586690
|
|
/* 02586690 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02586690 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02586694 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02586694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02586698 */ cpu->ctr = cpu->r[0];
|
|
/* 0258669C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025866A0 @ 0x25866a0
|
|
void Gambit_fn_025866A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025866A0: ; // 0x25866a0
|
|
/* 025866A0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025866A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025866A4 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025866A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025866A8 */ cpu->ctr = cpu->r[0];
|
|
/* 025866AC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025866B0 @ 0x25866b0
|
|
void Gambit_fn_025866B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025866B0: ; // 0x25866b0
|
|
/* 025866B0 */ cpu->r[0] = cpu->lr;
|
|
/* 025866B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025866B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025866B4 */ cpu->r[1] = _t0;
|
|
/* 025866B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025866B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025866BC */ cpu->r[31] = cpu->r[3];
|
|
/* 025866C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025866C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025866C4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025866C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025866C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 025866CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025866CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 025866CC */ if (_t5) goto L_025866D0; else goto L_025866EC;
|
|
L_025866D0: ; // 0x25866d0
|
|
/* 025866D0 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 025866D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025866D4 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 025866D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025866D8 */ cpu->ctr = cpu->r[0];
|
|
/* 025866DC */ cpu->r[3] = cpu->r[31];
|
|
/* 025866E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025866E4 */ cpu->r[0] = 0x00000002u;
|
|
/* 025866E8 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025866E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_025866EC: ; // 0x25866ec
|
|
/* 025866EC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025866EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025866F0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025866F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025866F4 */ cpu->lr = cpu->r[0];
|
|
/* 025866F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025866FC */ return;
|
|
}
|
|
|
|
// fn_025866B4 @ 0x25866b4
|
|
void Gambit_fn_025866B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025866B4: ; // 0x25866b4
|
|
/* 025866B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025866B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025866B4 */ cpu->r[1] = _t0;
|
|
/* 025866B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025866B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025866BC */ cpu->r[31] = cpu->r[3];
|
|
/* 025866C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025866C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025866C4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025866C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025866C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 025866CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025866CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 025866CC */ if (_t5) goto L_025866D0; else goto L_025866EC;
|
|
L_025866D0: ; // 0x25866d0
|
|
/* 025866D0 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 025866D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025866D4 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 025866D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025866D8 */ cpu->ctr = cpu->r[0];
|
|
/* 025866DC */ cpu->r[3] = cpu->r[31];
|
|
/* 025866E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025866E4 */ cpu->r[0] = 0x00000002u;
|
|
/* 025866E8 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025866E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_025866EC: ; // 0x25866ec
|
|
/* 025866EC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025866EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025866F0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025866F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025866F4 */ cpu->lr = cpu->r[0];
|
|
/* 025866F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025866FC */ return;
|
|
}
|
|
|
|
// fn_02586700 @ 0x2586700
|
|
void Gambit_fn_02586700(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02586700: ; // 0x2586700
|
|
/* 02586700 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02586700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02586704 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02586704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02586708 */ cpu->ctr = cpu->r[0];
|
|
/* 0258670C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02586710 @ 0x2586710
|
|
void Gambit_fn_02586710(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02586710: ; // 0x2586710
|
|
/* 02586710 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02586710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02586714 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02586714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02586718 */ cpu->ctr = cpu->r[0];
|
|
/* 0258671C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02586720 @ 0x2586720
|
|
void Gambit_fn_02586720(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02586720: ; // 0x2586720
|
|
/* 02586720 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02586720 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02586724 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02586724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02586728 */ cpu->ctr = cpu->r[0];
|
|
/* 0258672C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02586730 @ 0x2586730
|
|
void Gambit_fn_02586730(CPUState* cpu) {
|
|
L_02586730: ; // 0x2586730
|
|
/* 02586730 */ cpu->r[3] = 0x00000001u;
|
|
/* 02586734 */ return;
|
|
}
|
|
|
|
// fn_02586738 @ 0x2586738
|
|
void Gambit_fn_02586738(CPUState* cpu) {
|
|
L_02586738: ; // 0x2586738
|
|
/* 02586738 */ return;
|
|
}
|
|
|
|
// fn_0258673C @ 0x258673c
|
|
void Gambit_fn_0258673C(CPUState* cpu) {
|
|
L_0258673C: ; // 0x258673c
|
|
/* 0258673C */ return;
|
|
}
|
|
|
|
// fn_02586740 @ 0x2586740
|
|
void Gambit_fn_02586740(CPUState* cpu) {
|
|
L_02586740: ; // 0x2586740
|
|
/* 02586740 */ return;
|
|
}
|
|
|
|
// fn_02586744 @ 0x2586744
|
|
void Gambit_fn_02586744(CPUState* cpu) {
|
|
L_02586744: ; // 0x2586744
|
|
/* 02586744 */ return;
|
|
}
|
|
|
|
// fn_02586748 @ 0x2586748
|
|
void Gambit_fn_02586748(CPUState* cpu) {
|
|
L_02586748: ; // 0x2586748
|
|
/* 02586748 */ return;
|
|
}
|
|
|
|
// fn_0258674C @ 0x258674c
|
|
void Gambit_fn_0258674C(CPUState* cpu) {
|
|
L_0258674C: ; // 0x258674c
|
|
/* 0258674C */ return;
|
|
}
|
|
|
|
// fn_02586750 @ 0x2586750
|
|
void Gambit_fn_02586750(CPUState* cpu) {
|
|
L_02586750: ; // 0x2586750
|
|
/* 02586750 */ return;
|
|
}
|
|
|
|
// fn_02586754 @ 0x2586754
|
|
void Gambit_fn_02586754(CPUState* cpu) {
|
|
L_02586754: ; // 0x2586754
|
|
/* 02586754 */ cpu->r[3] = 0x00000001u;
|
|
/* 02586758 */ return;
|
|
}
|
|
|
|
// fn_0258675C @ 0x258675c
|
|
void Gambit_fn_0258675C(CPUState* cpu) {
|
|
L_0258675C: ; // 0x258675c
|
|
/* 0258675C */ cpu->r[3] = 0x00000000u;
|
|
/* 02586760 */ return;
|
|
}
|
|
|
|
// fn_02586764 @ 0x2586764
|
|
void Gambit_fn_02586764(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02586764: ; // 0x2586764
|
|
/* 02586764 */ cpu->r[0] = cpu->lr;
|
|
/* 02586768 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02586768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586768 */ cpu->r[1] = _t0;
|
|
/* 0258676C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258676C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02586770 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586770 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02586774 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02586774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02586778 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258677C */ cpu->r[3] = cpu->r[31];
|
|
/* 02586780 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02586784 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02586784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02586788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258678C */ cpu->r[11] = 0x00000000u;
|
|
/* 02586790 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586790 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02586790 */ if (_t6) goto L_0258679C; else goto L_02586794;
|
|
L_02586794: ; // 0x2586794
|
|
/* 02586794 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02586794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02586798 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02586798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0258679C: ; // 0x258679c
|
|
/* 0258679C */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0258679C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025867A0 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 025867A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025867A4 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025867A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025867A8 */ cpu->ctr = cpu->r[0];
|
|
/* 025867AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025867B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025867B4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025867B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025867B8 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 025867B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025867BC */ cpu->ctr = cpu->r[0];
|
|
/* 025867C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025867C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025867C8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025867C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025867CC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 025867CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025867D0 */ cpu->lr = cpu->r[0];
|
|
/* 025867D4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 025867D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025867D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025867DC */ return;
|
|
}
|
|
|
|
// fn_02586768 @ 0x2586768
|
|
void Gambit_fn_02586768(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02586768: ; // 0x2586768
|
|
/* 02586768 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02586768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586768 */ cpu->r[1] = _t0;
|
|
/* 0258676C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258676C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02586770 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586770 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02586774 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02586774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02586778 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258677C */ cpu->r[3] = cpu->r[31];
|
|
/* 02586780 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02586784 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02586784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02586788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258678C */ cpu->r[11] = 0x00000000u;
|
|
/* 02586790 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586790 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02586790 */ if (_t6) goto L_0258679C; else goto L_02586794;
|
|
L_02586794: ; // 0x2586794
|
|
/* 02586794 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02586794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02586798 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02586798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0258679C: ; // 0x258679c
|
|
/* 0258679C */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0258679C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025867A0 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 025867A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025867A4 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025867A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025867A8 */ cpu->ctr = cpu->r[0];
|
|
/* 025867AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025867B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025867B4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025867B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025867B8 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 025867B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025867BC */ cpu->ctr = cpu->r[0];
|
|
/* 025867C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025867C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025867C8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025867C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025867CC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 025867CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025867D0 */ cpu->lr = cpu->r[0];
|
|
/* 025867D4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 025867D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025867D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025867DC */ return;
|
|
}
|
|
|
|
// fn_025867E0 @ 0x25867e0
|
|
void Gambit_fn_025867E0(CPUState* cpu) {
|
|
L_025867E0: ; // 0x25867e0
|
|
/* 025867E0 */ return;
|
|
}
|
|
|
|
// fn_025867E4 @ 0x25867e4
|
|
void Gambit_fn_025867E4(CPUState* cpu) {
|
|
L_025867E4: ; // 0x25867e4
|
|
/* 025867E4 */ cpu->r[3] = 0x100D0000u;
|
|
/* 025867E8 */ cpu->r[3] = cpu->r[3] + 0x00001B88u;
|
|
/* 025867EC */ return;
|
|
}
|
|
|
|
// fn_025867F0 @ 0x25867f0
|
|
void Gambit_fn_025867F0(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_025867F0: ; // 0x25867f0
|
|
/* 025867F0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025867F4 */ _t0 = cpu->r[9] + 0xFFFFF98Cu;
|
|
/* 025867F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025867F8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025867FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02586800 */ cpu->r[11] = cpu->r[11] + 0x00000AE0u;
|
|
/* 02586804 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586804 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02586804 */ if (_t2) goto L_02586808; else goto L_02586820;
|
|
L_02586808: ; // 0x2586808
|
|
/* 02586808 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258680C */ cpu->r[0] = 0x00000001u;
|
|
/* 02586810 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02586814 */ cpu->r[9] = cpu->r[9] + 0x00001BD8u;
|
|
/* 02586818 */ _t3 = cpu->r[12] + 0xFFFFF98Cu;
|
|
/* 02586818 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258681C */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 0258681C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02586820: ; // 0x2586820
|
|
/* 02586820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02586824 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586824 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02586824 */ if (_t6) goto L_02586828; else goto L_02586830;
|
|
L_02586828: ; // 0x2586828
|
|
/* 02586828 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258682C */ return;
|
|
L_02586830: ; // 0x2586830
|
|
/* 02586830 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02586834 */ _t7 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 02586834 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02586838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258683C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02586840 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB28u;
|
|
/* 02586844 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586844 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02586844 */ if (_t9) goto L_02586848; else goto L_02586860;
|
|
L_02586848: ; // 0x2586848
|
|
/* 02586848 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258684C */ cpu->r[10] = 0x00000001u;
|
|
/* 02586850 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02586854 */ cpu->r[11] = cpu->r[11] + 0x00001BC8u;
|
|
/* 02586858 */ _t10 = cpu->r[9] + 0xFFFFDB24u;
|
|
/* 02586858 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0258685C */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 0258685C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02586860: ; // 0x2586860
|
|
/* 02586860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02586864 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586864 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02586864 */ if (_t13) goto L_02586868; else goto L_02586870;
|
|
L_02586868: ; // 0x2586868
|
|
/* 02586868 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258686C */ goto L_025868E4;
|
|
L_02586870: ; // 0x2586870
|
|
/* 02586870 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02586874 */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02586874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02586874 */ cpu->r[10] = _t14;
|
|
/* 02586878 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258687C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02586880 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02586884 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586884 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02586884 */ if (_t16) goto L_02586888; else goto L_0258689C;
|
|
L_02586888: ; // 0x2586888
|
|
/* 02586888 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258688C */ cpu->r[0] = 0x00000001u;
|
|
/* 02586890 */ cpu->r[9] = cpu->r[9] + 0x00001BB8u;
|
|
/* 02586894 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02586894 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02586898 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02586898 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_0258689C: ; // 0x258689c
|
|
/* 0258689C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 025868A0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025868A0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 025868A0 */ if (_t20) goto L_025868A4; else goto L_025868AC;
|
|
L_025868A4: ; // 0x25868a4
|
|
/* 025868A4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025868A8 */ goto L_025868E4;
|
|
L_025868AC: ; // 0x25868ac
|
|
/* 025868AC */ cpu->r[9] = 0x101D0000u;
|
|
/* 025868B0 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 025868B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025868B0 */ cpu->r[9] = _t21;
|
|
/* 025868B4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025868B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025868BC */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 025868C0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025868C0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 025868C0 */ if (_t23) goto L_025868C4; else goto L_025868D8;
|
|
L_025868C4: ; // 0x25868c4
|
|
/* 025868C4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025868C8 */ cpu->r[11] = 0x00000001u;
|
|
/* 025868CC */ cpu->r[0] = cpu->r[0] + 0x00001B90u;
|
|
/* 025868D0 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 025868D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 025868D4 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 025868D4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_025868D8: ; // 0x25868d8
|
|
/* 025868D8 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 025868DC */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 025868E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_025868E4: ; // 0x25868e4
|
|
/* 025868E4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 025868E8 */ return;
|
|
}
|
|
|
|
// fn_025868EC @ 0x25868ec
|
|
void Gambit_fn_025868EC(CPUState* cpu) {
|
|
L_025868EC: ; // 0x25868ec
|
|
/* 025868EC */ return;
|
|
}
|
|
|
|
// fn_025868F0 @ 0x25868f0
|
|
void Gambit_fn_025868F0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025868F0: ; // 0x25868f0
|
|
/* 025868F0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025868F4 */ _t0 = cpu->r[12] + 0x00001BF0u;
|
|
/* 025868F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025868F8 */ return;
|
|
}
|
|
|
|
// fn_025868FC @ 0x25868fc
|
|
void Gambit_fn_025868FC(CPUState* cpu) {
|
|
L_025868FC: ; // 0x25868fc
|
|
/* 025868FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02586900 */ return;
|
|
}
|
|
|
|
// fn_02586904 @ 0x2586904
|
|
void Gambit_fn_02586904(CPUState* cpu) {
|
|
L_02586904: ; // 0x2586904
|
|
/* 02586904 */ cpu->r[3] = 0x00000000u;
|
|
/* 02586908 */ return;
|
|
}
|
|
|
|
// fn_0258690C @ 0x258690c
|
|
void Gambit_fn_0258690C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258690C: ; // 0x258690c
|
|
/* 0258690C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0258690C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02586910 */ return;
|
|
}
|
|
|
|
// fn_02586914 @ 0x2586914
|
|
void Gambit_fn_02586914(CPUState* cpu) {
|
|
L_02586914: ; // 0x2586914
|
|
/* 02586914 */ return;
|
|
}
|
|
|
|
// fn_02586918 @ 0x2586918
|
|
void Gambit_fn_02586918(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02586918: ; // 0x2586918
|
|
/* 02586918 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258691C */ _t0 = cpu->r[12] + 0x00001C20u;
|
|
/* 0258691C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02586920 */ return;
|
|
}
|
|
|
|
// fn_02586924 @ 0x2586924
|
|
void Gambit_fn_02586924(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;
|
|
|
|
L_02586924: ; // 0x2586924
|
|
/* 02586924 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02586924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586924 */ cpu->r[1] = _t0;
|
|
/* 02586928 */ cpu->r[0] = cpu->lr;
|
|
/* 0258692C */ /* nop */
|
|
/* 02586930 */ cpu->r[28] = cpu->r[3];
|
|
/* 02586930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02586934 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02586934 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02586938 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586938 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02586938 */ if (_t3) goto L_0258693C; else goto L_0258694C;
|
|
L_0258693C: ; // 0x258693c
|
|
/* 0258693C */ cpu->r[3] = 0x000002E0u;
|
|
/* 02586940 */ Gambit_fn_02801A78(cpu);
|
|
/* 02586944 */ cpu->r[28] = cpu->r[3];
|
|
/* 02586944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02586948 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586948 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02586948 */ if (_t5) goto L_02586DA0; else goto L_0258694C;
|
|
L_0258694C: ; // 0x258694c
|
|
/* 0258694C */ cpu->r[3] = cpu->r[28];
|
|
/* 02586950 */ Gambit_fn_0258526C(cpu);
|
|
/* 02586954 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02586958 */ cpu->r[31] = cpu->r[28] + 0x0000024Cu;
|
|
/* 02586958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258695C */ cpu->r[11] = cpu->r[11] + 0x000022D4u;
|
|
/* 02586960 */ cpu->r[27] = 0x00000000u;
|
|
/* 02586964 */ _t6 = cpu->r[28] + 0x00000004u;
|
|
/* 02586964 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02586968 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586968 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02586968 */ if (_t8) goto L_0258696C; else goto L_0258697C;
|
|
L_0258696C: ; // 0x258696c
|
|
/* 0258696C */ cpu->r[3] = 0x00000038u;
|
|
/* 02586970 */ Gambit_fn_02801A78(cpu);
|
|
/* 02586974 */ cpu->r[31] = cpu->r[3];
|
|
/* 02586974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02586978 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586978 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02586978 */ if (_t10) goto L_025869AC; else goto L_0258697C;
|
|
L_0258697C: ; // 0x258697c
|
|
/* 0258697C */ cpu->r[3] = cpu->r[31];
|
|
/* 02586980 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02586984 */ cpu->r[12] = 0x100B0000u;
|
|
/* 02586988 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02586988 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 0258698C */ cpu->r[12] = cpu->r[12] + 0x00002E2Cu;
|
|
/* 02586990 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 02586990 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 02586994 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02586994 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02586998 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02586998 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 0258699C */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 0258699C */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 025869A0 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025869A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 025869A4 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025869A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 025869A8 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 025869A8 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_025869AC: ; // 0x25869ac
|
|
/* 025869AC */ _t19 = cpu->r[28] + 0x00000290u;
|
|
/* 025869AC */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 025869B0 */ cpu->r[31] = cpu->r[28] + 0x00000294u;
|
|
/* 025869B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025869B4 */ _t20 = cpu->r[28] + 0x00000288u;
|
|
/* 025869B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 025869B8 */ _t21 = cpu->r[28] + 0x0000028Cu;
|
|
/* 025869B8 */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 025869BC */ _t22 = cpu->r[28] + 0x00000284u;
|
|
/* 025869BC */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 025869C0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025869C0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 025869C0 */ if (_t24) goto L_025869C4; else goto L_025869D4;
|
|
L_025869C4: ; // 0x25869c4
|
|
/* 025869C4 */ cpu->r[3] = 0x00000024u;
|
|
/* 025869C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025869CC */ cpu->r[31] = cpu->r[3];
|
|
/* 025869CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025869D0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025869D0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 025869D0 */ if (_t26) goto L_02586A04; else goto L_025869D4;
|
|
L_025869D4: ; // 0x25869d4
|
|
/* 025869D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025869D8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025869D8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025869D8 */ if (_t28) goto L_025869DC; else goto L_025869E4;
|
|
L_025869DC: ; // 0x25869dc
|
|
/* 025869DC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025869E0 */ Gambit_fn_02801A78(cpu);
|
|
L_025869E4: ; // 0x25869e4
|
|
/* 025869E4 */ cpu->r[0] = cpu->r[31] + 0x0000000Cu;
|
|
/* 025869E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025869E8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025869E8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 025869E8 */ if (_t30) goto L_025869EC; else goto L_025869F4;
|
|
L_025869EC: ; // 0x25869ec
|
|
/* 025869EC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025869F0 */ Gambit_fn_02801A78(cpu);
|
|
L_025869F4: ; // 0x25869f4
|
|
/* 025869F4 */ cpu->r[6] = cpu->r[31] + 0x00000018u;
|
|
/* 025869F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 025869F8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025869F8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 025869F8 */ if (_t32) goto L_025869FC; else goto L_02586A04;
|
|
L_025869FC: ; // 0x25869fc
|
|
/* 025869FC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02586A00 */ Gambit_fn_02801A78(cpu);
|
|
L_02586A04: ; // 0x2586a04
|
|
/* 02586A04 */ cpu->r[7] = cpu->r[28] + 0x00000294u;
|
|
/* 02586A08 */ cpu->r[8] = cpu->r[7] + 0x00000024u;
|
|
/* 02586A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02586A0C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586A0C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02586A0C */ if (_t34) goto L_02586A10; else goto L_02586A18;
|
|
L_02586A10: ; // 0x2586a10
|
|
/* 02586A10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02586A14 */ Gambit_fn_02801A78(cpu);
|
|
L_02586A18: ; // 0x2586a18
|
|
/* 02586A18 */ _t35 = cpu->r[28] + 0x000002D0u;
|
|
/* 02586A18 */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 02586A1C */ cpu->r[5] = 0x100D0000u;
|
|
/* 02586A20 */ _t36 = cpu->r[28] + 0x000002D5u;
|
|
/* 02586A20 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[27]);
|
|
/* 02586A24 */ _t37 = cpu->r[5] + 0x000020CCu;
|
|
/* 02586A24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02586A28 */ _t38 = cpu->r[28] + 0x000002D4u;
|
|
/* 02586A28 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[27]);
|
|
/* 02586A2C */ _t39 = cpu->r[28] + 0x000002C4u;
|
|
/* 02586A2C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 02586A30 */ _t40 = cpu->r[28] + 0x000002D8u;
|
|
/* 02586A30 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 02586A34 */ cpu->r[7] = 0x101C0000u;
|
|
/* 02586A38 */ _t41 = cpu->r[28] + 0x000002DCu;
|
|
/* 02586A38 */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
|
|
/* 02586A3C */ _t42 = cpu->r[28] + 0x000002C8u;
|
|
/* 02586A3C */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 02586A40 */ cpu->r[6] = 0x101C0000u;
|
|
/* 02586A44 */ _t43 = cpu->r[28] + 0x000002CCu;
|
|
/* 02586A44 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 02586A48 */ _t44 = cpu->r[6] + 0x00007230u;
|
|
/* 02586A48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02586A4C */ cpu->r[0] = 0x00000001u;
|
|
/* 02586A50 */ _t45 = cpu->r[7] + 0x00004FA8u;
|
|
/* 02586A50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02586A54 */ /* nop */
|
|
/* 02586A58 */ cpu->r[4] = cpu->r[28];
|
|
/* 02586A5C */ /* nop */
|
|
/* 02586A60 */ cpu->r[0] = 0x00000003u;
|
|
/* 02586A64 */ cpu->r[12] = cpu->r[9] | cpu->r[11];
|
|
/* 02586A68 */ cpu->r[3] = cpu->r[28] + 0x0000024Cu;
|
|
/* 02586A6C */ _t46 = cpu->r[28] + 0x00000210u;
|
|
/* 02586A6C */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02586A70 */ cpu->r[6] = 0x00000000u;
|
|
/* 02586A74 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02586A78 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02586A78 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
/* 02586A7C */ Gambit_fn_02588C5C(cpu);
|
|
/* 02586A80 */ cpu->r[4] = cpu->r[28] + 0x0000024Cu;
|
|
/* 02586A84 */ cpu->r[3] = cpu->r[28];
|
|
/* 02586A88 */ Gambit_fn_02000834(cpu);
|
|
/* 02586A8C */ cpu->r[30] = 0x100D0000u;
|
|
/* 02586A90 */ cpu->r[26] = 0x02590000u;
|
|
/* 02586A94 */ cpu->r[30] = cpu->r[30] + 0x00001E6Cu;
|
|
/* 02586A98 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02586A9C */ cpu->r[26] = cpu->r[26] + 0xFFFF8788u;
|
|
/* 02586AA0 */ cpu->r[5] = cpu->r[5] + 0x000020F0u;
|
|
/* 02586AA4 */ cpu->ctr = cpu->r[26];
|
|
/* 02586AA8 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02586AA8 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
|
|
/* 02586AAC */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586AAC */ rbrew_write32(cpu->mem, _t49, cpu->r[5]);
|
|
/* 02586AB0 */ _t50 = cpu->r[28] + 0x00000264u;
|
|
/* 02586AB0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02586AB4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586AB8 */ _t51 = cpu->r[24] + 0x00000000u;
|
|
/* 02586AB8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02586ABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586AC0 */ cpu->r[29] = 0x10110000u;
|
|
/* 02586AC4 */ _t52 = cpu->r[29] + 0x00007399u;
|
|
/* 02586AC4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02586AC8 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586AC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02586ACC */ _t54 = cpu->r[11] + 0x00000000u;
|
|
/* 02586ACC */ cpu->r[6] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02586AD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02586AD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02586AD8 */ cpu->r[6] = 0x00080000u;
|
|
/* 02586ADC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586ADC */ _t56 = _t55 & 0x00000001u;
|
|
/* 02586ADC */ if (_t56) goto L_02586B04; else goto L_02586AE0;
|
|
L_02586AE0: ; // 0x2586ae0
|
|
/* 02586AE0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02586AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02586AE8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02586AEC */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02586AEC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02586AEC */ if (_t58) goto L_02586B00; else goto L_02586AF0;
|
|
L_02586AF0: ; // 0x2586af0
|
|
/* 02586AF0 */ _t59 = cpu->r[11] + 0x00000000u;
|
|
/* 02586AF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02586AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 02586AF8 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586AF8 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02586AF8 */ if (_t61) goto L_02586AFC; else goto L_02586AE0;
|
|
L_02586AFC: ; // 0x2586afc
|
|
/* 02586AFC */ goto L_02586B04;
|
|
L_02586B00: ; // 0x2586b00
|
|
/* 02586B00 */ cpu->r[31] = 0x00000000u;
|
|
L_02586B04: ; // 0x2586b04
|
|
/* 02586B04 */ _t62 = cpu->r[24] + 0x00000008u;
|
|
/* 02586B04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02586B08 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02586B08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02586B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02586B10 */ _t64 = cpu->r[8] + 0x00000014u;
|
|
/* 02586B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02586B14 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586B14 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02586B14 */ if (_t66) goto L_02586B1C; else goto L_02586B18;
|
|
L_02586B18: ; // 0x2586b18
|
|
/* 02586B18 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02586B1C: ; // 0x2586b1c
|
|
/* 02586B1C */ cpu->ctr = cpu->r[0];
|
|
/* 02586B20 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586B24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586B28 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586B28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02586B2C */ cpu->r[6] = 0x00000000u;
|
|
/* 02586B30 */ cpu->r[5] = cpu->r[31];
|
|
/* 02586B34 */ cpu->r[3] = cpu->r[25];
|
|
/* 02586B38 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02586B3C */ cpu->r[10] = 0x02590000u;
|
|
/* 02586B40 */ _t68 = cpu->r[25] + cpu->r[31];
|
|
/* 02586B40 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[29]);
|
|
/* 02586B44 */ cpu->r[10] = cpu->r[10] + 0xFFFF832Cu;
|
|
/* 02586B48 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 02586B48 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[27]);
|
|
/* 02586B4C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02586B50 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 02586B50 */ rbrew_write32(cpu->mem, _t70, cpu->r[10]);
|
|
/* 02586B54 */ cpu->r[12] = 0x02590000u;
|
|
/* 02586B58 */ _t71 = cpu->r[1] + 0x00000026u;
|
|
/* 02586B58 */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[27]);
|
|
/* 02586B5C */ cpu->r[12] = cpu->r[12] + 0xFFFF8358u;
|
|
/* 02586B60 */ _t72 = cpu->r[1] + 0x00000016u;
|
|
/* 02586B60 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[8]);
|
|
/* 02586B64 */ cpu->r[11] = 0x00000000u;
|
|
/* 02586B68 */ _t73 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586B68 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[27]);
|
|
/* 02586B6C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02586B70 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 02586B70 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[11]);
|
|
/* 02586B74 */ cpu->r[3] = cpu->r[28] + 0x0000024Cu;
|
|
/* 02586B78 */ _t75 = cpu->r[1] + 0x00000024u;
|
|
/* 02586B78 */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[27]);
|
|
/* 02586B7C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02586B80 */ _t76 = cpu->r[1] + 0x00000020u;
|
|
/* 02586B80 */ rbrew_write32(cpu->mem, _t76, cpu->r[12]);
|
|
/* 02586B84 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02586B88 */ _t77 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02586B88 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[8]);
|
|
/* 02586B8C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586B90 */ _t78 = cpu->r[1] + 0x00000028u;
|
|
/* 02586B90 */ rbrew_write32(cpu->mem, _t78, cpu->r[27]);
|
|
/* 02586B94 */ Gambit_fn_02588F0C(cpu);
|
|
/* 02586B98 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02586B9C */ _t79 = cpu->r[1] + 0x00000010u;
|
|
/* 02586B9C */ rbrew_write32(cpu->mem, _t79, cpu->r[30]);
|
|
/* 02586BA0 */ cpu->r[9] = cpu->r[9] + 0x000020D0u;
|
|
/* 02586BA4 */ _t80 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586BA4 */ rbrew_write32(cpu->mem, _t80, cpu->r[9]);
|
|
/* 02586BA8 */ _t81 = cpu->r[28] + 0x00000260u;
|
|
/* 02586BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02586BAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02586BB0 */ _t82 = cpu->r[28] + 0x00000264u;
|
|
/* 02586BB0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02586BB4 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02586BB4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02586BB4 */ if (_t84) goto L_02586BB8; else goto L_02586BBC;
|
|
L_02586BB8: ; // 0x2586bb8
|
|
/* 02586BB8 */ cpu->r[25] = cpu->r[25] + 0x00000024u;
|
|
L_02586BBC: ; // 0x2586bbc
|
|
/* 02586BBC */ cpu->ctr = cpu->r[26];
|
|
/* 02586BC0 */ _t85 = cpu->r[25] + 0x00000000u;
|
|
/* 02586BC0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02586BC4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586BC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586BCC */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586BCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02586BD0 */ _t87 = cpu->r[9] + 0x00000000u;
|
|
/* 02586BD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02586BD4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02586BD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02586BDC */ cpu->r[0] = 0x00080000u;
|
|
/* 02586BE0 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586BE0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02586BE0 */ if (_t89) goto L_02586C08; else goto L_02586BE4;
|
|
L_02586BE4: ; // 0x2586be4
|
|
/* 02586BE4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02586BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02586BEC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02586BF0 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02586BF0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02586BF0 */ if (_t91) goto L_02586C04; else goto L_02586BF4;
|
|
L_02586BF4: ; // 0x2586bf4
|
|
/* 02586BF4 */ _t92 = cpu->r[9] + 0x00000000u;
|
|
/* 02586BF4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02586BF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[29]);
|
|
/* 02586BFC */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586BFC */ _t94 = _t93 & 0x00000001u;
|
|
/* 02586BFC */ if (_t94) goto L_02586C00; else goto L_02586BE4;
|
|
L_02586C00: ; // 0x2586c00
|
|
/* 02586C00 */ goto L_02586C08;
|
|
L_02586C04: ; // 0x2586c04
|
|
/* 02586C04 */ cpu->r[31] = 0x00000000u;
|
|
L_02586C08: ; // 0x2586c08
|
|
/* 02586C08 */ _t95 = cpu->r[25] + 0x00000008u;
|
|
/* 02586C08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02586C0C */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 02586C0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02586C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02586C14 */ _t97 = cpu->r[7] + 0x00000014u;
|
|
/* 02586C14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02586C18 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586C18 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02586C18 */ if (_t99) goto L_02586C20; else goto L_02586C1C;
|
|
L_02586C1C: ; // 0x2586c1c
|
|
/* 02586C1C */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02586C20: ; // 0x2586c20
|
|
/* 02586C20 */ cpu->ctr = cpu->r[8];
|
|
/* 02586C24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586C2C */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586C2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02586C30 */ cpu->r[6] = 0x00000000u;
|
|
/* 02586C34 */ cpu->r[5] = cpu->r[31];
|
|
/* 02586C38 */ cpu->r[3] = cpu->r[24];
|
|
/* 02586C3C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02586C40 */ _t101 = cpu->r[24] + cpu->r[31];
|
|
/* 02586C40 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[29]);
|
|
/* 02586C44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02586C48 */ _t102 = cpu->r[1] + 0x00000024u;
|
|
/* 02586C48 */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[27]);
|
|
/* 02586C4C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02586C50 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02586C50 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[0]);
|
|
/* 02586C54 */ cpu->r[11] = 0x02590000u;
|
|
/* 02586C58 */ _t104 = cpu->r[1] + 0x00000016u;
|
|
/* 02586C58 */ rbrew_write16(cpu->mem, _t104, (uint16_t)cpu->r[8]);
|
|
/* 02586C5C */ cpu->r[12] = 0x02590000u;
|
|
/* 02586C60 */ _t105 = cpu->r[1] + 0x00000026u;
|
|
/* 02586C60 */ rbrew_write16(cpu->mem, _t105, (uint16_t)cpu->r[27]);
|
|
/* 02586C64 */ _t106 = cpu->r[1] + 0x00000014u;
|
|
/* 02586C64 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[27]);
|
|
/* 02586C68 */ cpu->r[12] = cpu->r[12] + 0xFFFF84CCu;
|
|
/* 02586C6C */ _t107 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02586C6C */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[8]);
|
|
/* 02586C70 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02586C74 */ _t108 = cpu->r[1] + 0x00000018u;
|
|
/* 02586C74 */ rbrew_write32(cpu->mem, _t108, cpu->r[12]);
|
|
/* 02586C78 */ cpu->r[11] = cpu->r[11] + 0xFFFF8470u;
|
|
/* 02586C7C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02586C80 */ _t109 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586C80 */ rbrew_write16(cpu->mem, _t109, (uint16_t)cpu->r[27]);
|
|
/* 02586C84 */ cpu->r[3] = cpu->r[28] + 0x0000024Cu;
|
|
/* 02586C88 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02586C8C */ _t110 = cpu->r[1] + 0x00000020u;
|
|
/* 02586C8C */ rbrew_write32(cpu->mem, _t110, cpu->r[11]);
|
|
/* 02586C90 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586C94 */ _t111 = cpu->r[1] + 0x00000028u;
|
|
/* 02586C94 */ rbrew_write32(cpu->mem, _t111, cpu->r[27]);
|
|
/* 02586C98 */ Gambit_fn_02588F0C(cpu);
|
|
/* 02586C9C */ cpu->r[8] = 0x100D0000u;
|
|
/* 02586CA0 */ _t112 = cpu->r[1] + 0x00000010u;
|
|
/* 02586CA0 */ rbrew_write32(cpu->mem, _t112, cpu->r[30]);
|
|
/* 02586CA4 */ cpu->r[8] = cpu->r[8] + 0x000020E0u;
|
|
/* 02586CA8 */ _t113 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586CA8 */ rbrew_write32(cpu->mem, _t113, cpu->r[8]);
|
|
/* 02586CAC */ _t114 = cpu->r[28] + 0x00000260u;
|
|
/* 02586CAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02586CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02586CB4 */ _t115 = cpu->r[28] + 0x00000264u;
|
|
/* 02586CB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02586CB8 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02586CB8 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02586CB8 */ if (_t117) goto L_02586CBC; else goto L_02586CC0;
|
|
L_02586CBC: ; // 0x2586cbc
|
|
/* 02586CBC */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
L_02586CC0: ; // 0x2586cc0
|
|
/* 02586CC0 */ cpu->ctr = cpu->r[26];
|
|
/* 02586CC4 */ _t118 = cpu->r[30] + 0x00000000u;
|
|
/* 02586CC4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02586CC8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586CCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586CD0 */ _t119 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586CD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02586CD4 */ _t120 = cpu->r[12] + 0x00000000u;
|
|
/* 02586CD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02586CD8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02586CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02586CE0 */ cpu->r[6] = 0x00080000u;
|
|
/* 02586CE4 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586CE4 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02586CE4 */ if (_t122) goto L_02586D0C; else goto L_02586CE8;
|
|
L_02586CE8: ; // 0x2586ce8
|
|
/* 02586CE8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02586CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02586CF0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02586CF4 */ _t123 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02586CF4 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02586CF4 */ if (_t124) goto L_02586D08; else goto L_02586CF8;
|
|
L_02586CF8: ; // 0x2586cf8
|
|
/* 02586CF8 */ _t125 = cpu->r[12] + 0x00000000u;
|
|
/* 02586CF8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t125);
|
|
/* 02586CFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[29]);
|
|
/* 02586D00 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586D00 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02586D00 */ if (_t127) goto L_02586D04; else goto L_02586CE8;
|
|
L_02586D04: ; // 0x2586d04
|
|
/* 02586D04 */ goto L_02586D0C;
|
|
L_02586D08: ; // 0x2586d08
|
|
/* 02586D08 */ cpu->r[31] = 0x00000000u;
|
|
L_02586D0C: ; // 0x2586d0c
|
|
/* 02586D0C */ _t128 = cpu->r[30] + 0x00000008u;
|
|
/* 02586D0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02586D10 */ _t129 = cpu->r[1] + 0x00000010u;
|
|
/* 02586D10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02586D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02586D18 */ _t130 = cpu->r[7] + 0x00000014u;
|
|
/* 02586D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02586D1C */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02586D1C */ _t132 = _t131 & 0x00000001u;
|
|
/* 02586D1C */ if (_t132) goto L_02586D24; else goto L_02586D20;
|
|
L_02586D20: ; // 0x2586d20
|
|
/* 02586D20 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02586D24: ; // 0x2586d24
|
|
/* 02586D24 */ cpu->ctr = cpu->r[0];
|
|
/* 02586D28 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586D2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586D30 */ _t133 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586D30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02586D34 */ cpu->r[6] = 0x00000000u;
|
|
/* 02586D38 */ cpu->r[5] = cpu->r[31];
|
|
/* 02586D3C */ cpu->r[3] = cpu->r[25];
|
|
/* 02586D40 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02586D44 */ _t134 = cpu->r[25] + cpu->r[31];
|
|
/* 02586D44 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[29]);
|
|
/* 02586D48 */ cpu->r[0] = 0x00000002u;
|
|
/* 02586D4C */ _t135 = cpu->r[1] + 0x00000014u;
|
|
/* 02586D4C */ rbrew_write16(cpu->mem, _t135, (uint16_t)cpu->r[27]);
|
|
/* 02586D50 */ cpu->r[12] = 0x02590000u;
|
|
/* 02586D54 */ _t136 = cpu->r[1] + 0x00000026u;
|
|
/* 02586D54 */ rbrew_write16(cpu->mem, _t136, (uint16_t)cpu->r[27]);
|
|
/* 02586D58 */ cpu->r[12] = cpu->r[12] + 0xFFFF8590u;
|
|
/* 02586D5C */ _t137 = cpu->r[1] + 0x00000008u;
|
|
/* 02586D5C */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[0]);
|
|
/* 02586D60 */ cpu->r[0] = 0x02590000u;
|
|
/* 02586D64 */ _t138 = cpu->r[1] + 0x00000020u;
|
|
/* 02586D64 */ rbrew_write32(cpu->mem, _t138, cpu->r[12]);
|
|
/* 02586D68 */ cpu->r[0] = cpu->r[0] + 0xFFFF85A4u;
|
|
/* 02586D6C */ _t139 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586D6C */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[27]);
|
|
/* 02586D70 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02586D74 */ _t140 = cpu->r[1] + 0x00000024u;
|
|
/* 02586D74 */ rbrew_write16(cpu->mem, _t140, (uint16_t)cpu->r[27]);
|
|
/* 02586D78 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02586D7C */ _t141 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02586D7C */ rbrew_write16(cpu->mem, _t141, (uint16_t)cpu->r[10]);
|
|
/* 02586D80 */ cpu->r[3] = cpu->r[28] + 0x0000024Cu;
|
|
/* 02586D84 */ _t142 = cpu->r[1] + 0x00000018u;
|
|
/* 02586D84 */ rbrew_write32(cpu->mem, _t142, cpu->r[0]);
|
|
/* 02586D88 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02586D8C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02586D90 */ _t143 = cpu->r[1] + 0x00000028u;
|
|
/* 02586D90 */ rbrew_write32(cpu->mem, _t143, cpu->r[27]);
|
|
/* 02586D94 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02586D98 */ _t144 = cpu->r[1] + 0x00000016u;
|
|
/* 02586D98 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[10]);
|
|
/* 02586D9C */ Gambit_fn_02588F0C(cpu);
|
|
L_02586DA0: ; // 0x2586da0
|
|
/* 02586DA0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02586DA4 */ /* nop */
|
|
/* 02586DA8 */ _t145 = cpu->r[1] + 0x00000054u;
|
|
/* 02586DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02586DAC */ cpu->lr = cpu->r[0];
|
|
/* 02586DB0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02586DB4 */ return;
|
|
}
|
|
|
|
// fn_02586DBC @ 0x2586dbc
|
|
void Gambit_fn_02586DBC(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_02586DBC: ; // 0x2586dbc
|
|
/* 02586DBC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02586DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586DBC */ cpu->r[1] = _t0;
|
|
/* 02586DC0 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02586DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02586DC4 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02586DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02586DC8 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02586DC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02586DCC */ _t4 = cpu->r[3] + 0x00000284u;
|
|
/* 02586DCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02586DD0 */ _t5 = cpu->r[6] + 0x00000068u;
|
|
/* 02586DD0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02586DD4 */ _t6 = cpu->r[6] + 0x0000005Cu;
|
|
/* 02586DD4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02586DD8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02586DDC */ _t7 = cpu->r[6] + 0x00000074u;
|
|
/* 02586DDC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02586DE0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02586DE0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[8]);
|
|
/* 02586DE4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02586DE4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[9]);
|
|
/* 02586DE8 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02586DE8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 02586DEC */ _t11 = cpu->r[6] + 0x0000006Cu;
|
|
/* 02586DEC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02586DF0 */ _t12 = cpu->r[6] + 0x00000060u;
|
|
/* 02586DF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02586DF4 */ _t13 = cpu->r[6] + 0x00000078u;
|
|
/* 02586DF4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02586DF8 */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 02586DF8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[9]);
|
|
/* 02586DFC */ _t15 = cpu->r[31] + 0x00000010u;
|
|
/* 02586DFC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[7]);
|
|
/* 02586E00 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02586E00 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02586E04 */ _t17 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02586E04 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02586E08 */ _t18 = cpu->r[6] + 0x00000064u;
|
|
/* 02586E08 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02586E0C */ _t19 = cpu->r[6] + 0x00000070u;
|
|
/* 02586E0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02586E10 */ _t20 = cpu->r[31] + 0x00000018u;
|
|
/* 02586E10 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 02586E14 */ _t21 = cpu->r[31] + 0x00000020u;
|
|
/* 02586E14 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 02586E18 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02586E18 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02586E1C */ _t23 = cpu->r[3] + 0x00000284u;
|
|
/* 02586E1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02586E20 */ _t24 = cpu->r[3] + 0x000046BCu;
|
|
/* 02586E20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02586E24 */ _t25 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02586E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02586E28 */ cpu->ctr = cpu->r[0];
|
|
/* 02586E2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586E30 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02586E30 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02586E34 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 02586E34 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 02586E38 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 02586E38 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02586E3C */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 02586E3C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02586E40 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02586E40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02586E44 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02586E48 */ _t31 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02586E48 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02586E4C */ Gambit_fn_021729AC(cpu);
|
|
/* 02586E50 */ cpu->r[7] = 0x00000007u;
|
|
/* 02586E54 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02586E58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02586E5C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02586E5C */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 02586E60 */ Gambit_fn_02172B08(cpu);
|
|
/* 02586E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02586E68 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586E68 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02586E68 */ if (_t34) goto L_02586E6C; else goto L_02586F8C;
|
|
L_02586E6C: ; // 0x2586e6c
|
|
/* 02586E6C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586E70 */ Gambit_fn_020198C8(cpu);
|
|
/* 02586E74 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586E74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02586E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02586E7C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586E7C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02586E7C */ if (_t37) goto L_02586E80; else goto L_02586F8C;
|
|
L_02586E80: ; // 0x2586e80
|
|
/* 02586E80 */ cpu->r[9] = 0x101C0000u;
|
|
/* 02586E84 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02586E88 */ _t38 = cpu->r[9] + 0x00001344u;
|
|
/* 02586E88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02586E8C */ _t39 = cpu->r[10] + 0x00001358u;
|
|
/* 02586E8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02586E90 */ _t40 = cpu->r[9] + 0x00000010u;
|
|
/* 02586E90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02586E94 */ cpu->r[4] = cpu->r[10] + 0x00000128u;
|
|
/* 02586E98 */ Gambit_fn_0201A440(cpu);
|
|
/* 02586E9C */ _t41 = cpu->r[3] + 0x00000010u;
|
|
/* 02586E9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02586EA0 */ Gambit_fn_02019CFC(cpu);
|
|
/* 02586EA4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02586EA8 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02586EAC */ _t42 = cpu->r[12] + 0x00006000u;
|
|
/* 02586EAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02586EB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02586EB4 */ cpu->r[4] = cpu->r[4] + 0x00001E6Cu;
|
|
/* 02586EB8 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02586EBC */ _t43 = cpu->r[12] + 0x00000254u;
|
|
/* 02586EBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02586EC0 */ cpu->r[5] = cpu->r[5] + 0x00002100u;
|
|
/* 02586EC4 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02586EC4 */ rbrew_write32(cpu->mem, _t44, cpu->r[4]);
|
|
/* 02586EC8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02586ECC */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02586ECC */ rbrew_write32(cpu->mem, _t45, cpu->r[5]);
|
|
/* 02586ED0 */ Gambit_fn_020ECD78(cpu);
|
|
/* 02586ED4 */ _t46 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02586ED4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02586ED8 */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 02586ED8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02586EDC */ cpu->r[0] = cpu->r[3] - cpu->r[8];
|
|
/* 02586EE0 */ cpu->r[3] = cpu->r[5] - cpu->r[8];
|
|
/* 02586EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02586EE8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586EE8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02586EE8 */ if (_t49) goto L_02586F8C; else goto L_02586EEC;
|
|
L_02586EEC: ; // 0x2586eec
|
|
/* 02586EEC */ _t50 = cpu->r[3] + 0x000046C0u;
|
|
/* 02586EEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02586EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02586EF4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586EF4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02586EF4 */ if (_t52) goto L_02586EF8; else goto L_02586F78;
|
|
L_02586EF8: ; // 0x2586ef8
|
|
/* 02586EF8 */ _t53 = cpu->r[3] + 0x00000074u;
|
|
/* 02586EF8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02586EFC */ _t54 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02586EFC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02586F00 */ _t55 = cpu->r[3] + 0x00000068u;
|
|
/* 02586F00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02586F04 */ _t56 = cpu->r[31] + 0x00000000u;
|
|
/* 02586F04 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[10]);
|
|
/* 02586F08 */ _t57 = cpu->r[31] + 0x00000008u;
|
|
/* 02586F08 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[6]);
|
|
/* 02586F0C */ _t58 = cpu->r[31] + 0x00000004u;
|
|
/* 02586F0C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[12]);
|
|
/* 02586F10 */ _t59 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02586F10 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02586F14 */ _t60 = cpu->r[3] + 0x00000060u;
|
|
/* 02586F14 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02586F18 */ _t61 = cpu->r[3] + 0x00000078u;
|
|
/* 02586F18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02586F1C */ _t62 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02586F1C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[8]);
|
|
/* 02586F20 */ _t63 = cpu->r[31] + 0x00000010u;
|
|
/* 02586F20 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02586F24 */ _t64 = cpu->r[31] + 0x00000014u;
|
|
/* 02586F24 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 02586F28 */ _t65 = cpu->r[3] + 0x00000070u;
|
|
/* 02586F28 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02586F2C */ _t66 = cpu->r[3] + 0x00000064u;
|
|
/* 02586F2C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02586F30 */ _t67 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02586F30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02586F34 */ _t68 = cpu->r[31] + 0x00000018u;
|
|
/* 02586F34 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[7]);
|
|
/* 02586F38 */ _t69 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02586F38 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[8]);
|
|
/* 02586F3C */ _t70 = cpu->r[31] + 0x00000020u;
|
|
/* 02586F3C */ rbrew_write_f32(cpu->mem, _t70, cpu->f[11]);
|
|
/* 02586F40 */ _t71 = cpu->r[3] + 0x000046BCu;
|
|
/* 02586F40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02586F44 */ _t72 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02586F44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02586F48 */ cpu->ctr = cpu->r[9];
|
|
/* 02586F4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586F50 */ _t73 = cpu->r[3] + 0x00000000u;
|
|
/* 02586F50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02586F54 */ _t74 = cpu->r[31] + 0x00000024u;
|
|
/* 02586F54 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[12]);
|
|
/* 02586F58 */ _t75 = cpu->r[3] + 0x00000004u;
|
|
/* 02586F58 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02586F5C */ _t76 = cpu->r[31] + 0x00000028u;
|
|
/* 02586F5C */ rbrew_write_f32(cpu->mem, _t76, cpu->f[6]);
|
|
/* 02586F60 */ _t77 = cpu->r[3] + 0x00000008u;
|
|
/* 02586F60 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02586F64 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02586F68 */ cpu->r[4] = 0x00000002u;
|
|
/* 02586F6C */ _t78 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02586F6C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[9]);
|
|
/* 02586F70 */ Gambit_fn_02172A44(cpu);
|
|
/* 02586F74 */ goto L_02586F98;
|
|
L_02586F78: ; // 0x2586f78
|
|
/* 02586F78 */ cpu->r[6] = cpu->r[3] + cpu->r[8];
|
|
/* 02586F7C */ _t79 = cpu->r[6] + 0x00000004u;
|
|
/* 02586F7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02586F80 */ cpu->r[3] = cpu->r[12] - cpu->r[8];
|
|
/* 02586F84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02586F88 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586F88 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02586F88 */ if (_t81) goto L_02586F8C; else goto L_02586EEC;
|
|
L_02586F8C: ; // 0x2586f8c
|
|
/* 02586F8C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02586F90 */ cpu->r[4] = 0x00000002u;
|
|
/* 02586F94 */ Gambit_fn_02172A44(cpu);
|
|
L_02586F98: ; // 0x2586f98
|
|
/* 02586F98 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 02586F98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02586F9C */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 02586F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02586FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02586FA4 */ _t84 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02586FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02586FA8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02586FAC */ return;
|
|
}
|
|
|
|
// fn_02586FB0 @ 0x2586fb0
|
|
void Gambit_fn_02586FB0(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;
|
|
|
|
L_02586DB8: ; // 0x2586db8
|
|
/* 02586DB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02586DBC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02586DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586DBC */ cpu->r[1] = _t0;
|
|
/* 02586DC0 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02586DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02586DC4 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02586DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02586DC8 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02586DC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02586DCC */ _t4 = cpu->r[3] + 0x00000284u;
|
|
/* 02586DCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02586DD0 */ _t5 = cpu->r[6] + 0x00000068u;
|
|
/* 02586DD0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02586DD4 */ _t6 = cpu->r[6] + 0x0000005Cu;
|
|
/* 02586DD4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02586DD8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02586DDC */ _t7 = cpu->r[6] + 0x00000074u;
|
|
/* 02586DDC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02586DE0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02586DE0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[8]);
|
|
/* 02586DE4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02586DE4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[9]);
|
|
/* 02586DE8 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02586DE8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 02586DEC */ _t11 = cpu->r[6] + 0x0000006Cu;
|
|
/* 02586DEC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02586DF0 */ _t12 = cpu->r[6] + 0x00000060u;
|
|
/* 02586DF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02586DF4 */ _t13 = cpu->r[6] + 0x00000078u;
|
|
/* 02586DF4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02586DF8 */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 02586DF8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[9]);
|
|
/* 02586DFC */ _t15 = cpu->r[31] + 0x00000010u;
|
|
/* 02586DFC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[7]);
|
|
/* 02586E00 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02586E00 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02586E04 */ _t17 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02586E04 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02586E08 */ _t18 = cpu->r[6] + 0x00000064u;
|
|
/* 02586E08 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02586E0C */ _t19 = cpu->r[6] + 0x00000070u;
|
|
/* 02586E0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02586E10 */ _t20 = cpu->r[31] + 0x00000018u;
|
|
/* 02586E10 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 02586E14 */ _t21 = cpu->r[31] + 0x00000020u;
|
|
/* 02586E14 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 02586E18 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02586E18 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02586E1C */ _t23 = cpu->r[3] + 0x00000284u;
|
|
/* 02586E1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02586E20 */ _t24 = cpu->r[3] + 0x000046BCu;
|
|
/* 02586E20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02586E24 */ _t25 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02586E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02586E28 */ cpu->ctr = cpu->r[0];
|
|
/* 02586E2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586E30 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02586E30 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02586E34 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 02586E34 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 02586E38 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 02586E38 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02586E3C */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 02586E3C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02586E40 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02586E40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02586E44 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02586E48 */ _t31 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02586E48 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02586E4C */ Gambit_fn_021729AC(cpu);
|
|
/* 02586E50 */ cpu->r[7] = 0x00000007u;
|
|
/* 02586E54 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02586E58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02586E5C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02586E5C */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 02586E60 */ Gambit_fn_02172B08(cpu);
|
|
/* 02586E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02586E68 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586E68 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02586E68 */ if (_t34) goto L_02586E6C; else goto L_02586F8C;
|
|
L_02586E6C: ; // 0x2586e6c
|
|
/* 02586E6C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586E70 */ Gambit_fn_020198C8(cpu);
|
|
/* 02586E74 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02586E74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02586E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02586E7C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586E7C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02586E7C */ if (_t37) goto L_02586E80; else goto L_02586F8C;
|
|
L_02586E80: ; // 0x2586e80
|
|
/* 02586E80 */ cpu->r[9] = 0x101C0000u;
|
|
/* 02586E84 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02586E88 */ _t38 = cpu->r[9] + 0x00001344u;
|
|
/* 02586E88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02586E8C */ _t39 = cpu->r[10] + 0x00001358u;
|
|
/* 02586E8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02586E90 */ _t40 = cpu->r[9] + 0x00000010u;
|
|
/* 02586E90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02586E94 */ cpu->r[4] = cpu->r[10] + 0x00000128u;
|
|
/* 02586E98 */ Gambit_fn_0201A440(cpu);
|
|
/* 02586E9C */ _t41 = cpu->r[3] + 0x00000010u;
|
|
/* 02586E9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02586EA0 */ Gambit_fn_02019CFC(cpu);
|
|
/* 02586EA4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02586EA8 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02586EAC */ _t42 = cpu->r[12] + 0x00006000u;
|
|
/* 02586EAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02586EB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02586EB4 */ cpu->r[4] = cpu->r[4] + 0x00001E6Cu;
|
|
/* 02586EB8 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02586EBC */ _t43 = cpu->r[12] + 0x00000254u;
|
|
/* 02586EBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02586EC0 */ cpu->r[5] = cpu->r[5] + 0x00002100u;
|
|
/* 02586EC4 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02586EC4 */ rbrew_write32(cpu->mem, _t44, cpu->r[4]);
|
|
/* 02586EC8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02586ECC */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02586ECC */ rbrew_write32(cpu->mem, _t45, cpu->r[5]);
|
|
/* 02586ED0 */ Gambit_fn_020ECD78(cpu);
|
|
/* 02586ED4 */ _t46 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02586ED4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02586ED8 */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 02586ED8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02586EDC */ cpu->r[0] = cpu->r[3] - cpu->r[8];
|
|
/* 02586EE0 */ cpu->r[3] = cpu->r[5] - cpu->r[8];
|
|
/* 02586EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02586EE8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586EE8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02586EE8 */ if (_t49) goto L_02586F8C; else goto L_02586EEC;
|
|
L_02586EEC: ; // 0x2586eec
|
|
/* 02586EEC */ _t50 = cpu->r[3] + 0x000046C0u;
|
|
/* 02586EEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02586EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02586EF4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586EF4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02586EF4 */ if (_t52) goto L_02586EF8; else goto L_02586F78;
|
|
L_02586EF8: ; // 0x2586ef8
|
|
/* 02586EF8 */ _t53 = cpu->r[3] + 0x00000074u;
|
|
/* 02586EF8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02586EFC */ _t54 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02586EFC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02586F00 */ _t55 = cpu->r[3] + 0x00000068u;
|
|
/* 02586F00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02586F04 */ _t56 = cpu->r[31] + 0x00000000u;
|
|
/* 02586F04 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[10]);
|
|
/* 02586F08 */ _t57 = cpu->r[31] + 0x00000008u;
|
|
/* 02586F08 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[6]);
|
|
/* 02586F0C */ _t58 = cpu->r[31] + 0x00000004u;
|
|
/* 02586F0C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[12]);
|
|
/* 02586F10 */ _t59 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02586F10 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02586F14 */ _t60 = cpu->r[3] + 0x00000060u;
|
|
/* 02586F14 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02586F18 */ _t61 = cpu->r[3] + 0x00000078u;
|
|
/* 02586F18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02586F1C */ _t62 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02586F1C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[8]);
|
|
/* 02586F20 */ _t63 = cpu->r[31] + 0x00000010u;
|
|
/* 02586F20 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02586F24 */ _t64 = cpu->r[31] + 0x00000014u;
|
|
/* 02586F24 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 02586F28 */ _t65 = cpu->r[3] + 0x00000070u;
|
|
/* 02586F28 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02586F2C */ _t66 = cpu->r[3] + 0x00000064u;
|
|
/* 02586F2C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02586F30 */ _t67 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02586F30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02586F34 */ _t68 = cpu->r[31] + 0x00000018u;
|
|
/* 02586F34 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[7]);
|
|
/* 02586F38 */ _t69 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02586F38 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[8]);
|
|
/* 02586F3C */ _t70 = cpu->r[31] + 0x00000020u;
|
|
/* 02586F3C */ rbrew_write_f32(cpu->mem, _t70, cpu->f[11]);
|
|
/* 02586F40 */ _t71 = cpu->r[3] + 0x000046BCu;
|
|
/* 02586F40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02586F44 */ _t72 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02586F44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02586F48 */ cpu->ctr = cpu->r[9];
|
|
/* 02586F4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02586F50 */ _t73 = cpu->r[3] + 0x00000000u;
|
|
/* 02586F50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02586F54 */ _t74 = cpu->r[31] + 0x00000024u;
|
|
/* 02586F54 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[12]);
|
|
/* 02586F58 */ _t75 = cpu->r[3] + 0x00000004u;
|
|
/* 02586F58 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02586F5C */ _t76 = cpu->r[31] + 0x00000028u;
|
|
/* 02586F5C */ rbrew_write_f32(cpu->mem, _t76, cpu->f[6]);
|
|
/* 02586F60 */ _t77 = cpu->r[3] + 0x00000008u;
|
|
/* 02586F60 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02586F64 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02586F68 */ cpu->r[4] = 0x00000002u;
|
|
/* 02586F6C */ _t78 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02586F6C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[9]);
|
|
/* 02586F70 */ Gambit_fn_02172A44(cpu);
|
|
/* 02586F74 */ goto L_02586F98;
|
|
L_02586F78: ; // 0x2586f78
|
|
/* 02586F78 */ cpu->r[6] = cpu->r[3] + cpu->r[8];
|
|
/* 02586F7C */ _t79 = cpu->r[6] + 0x00000004u;
|
|
/* 02586F7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02586F80 */ cpu->r[3] = cpu->r[12] - cpu->r[8];
|
|
/* 02586F84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02586F88 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586F88 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02586F88 */ if (_t81) goto L_02586F8C; else goto L_02586EEC;
|
|
L_02586F8C: ; // 0x2586f8c
|
|
/* 02586F8C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02586F90 */ cpu->r[4] = 0x00000002u;
|
|
/* 02586F94 */ Gambit_fn_02172A44(cpu);
|
|
L_02586F98: ; // 0x2586f98
|
|
/* 02586F98 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 02586F98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02586F9C */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 02586F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02586FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02586FA4 */ _t84 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02586FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02586FA8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02586FAC */ return;
|
|
L_02586FB0: ; // 0x2586fb0
|
|
/* 02586FB0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02586FB4 */ _t85 = cpu->r[3] + 0x00000284u;
|
|
/* 02586FB4 */ rbrew_write32(cpu->mem, _t85, cpu->r[4]);
|
|
/* 02586FB8 */ cpu->r[4] = cpu->r[3] + 0x00000294u;
|
|
/* 02586FBC */ _t86 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02586FBC */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 02586FC0 */ goto L_02586DB8;
|
|
}
|
|
|
|
// fn_02586FC4 @ 0x2586fc4
|
|
void Gambit_fn_02586FC4(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;
|
|
|
|
L_02586FC4: ; // 0x2586fc4
|
|
/* 02586FC4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02586FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02586FC4 */ cpu->r[1] = _t0;
|
|
/* 02586FC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02586FCC */ /* nop */
|
|
/* 02586FD0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02586FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02586FD4 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02586FD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02586FD8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586FD8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02586FD8 */ if (_t3) goto L_02586FDC; else goto L_02586FEC;
|
|
L_02586FDC: ; // 0x2586fdc
|
|
/* 02586FDC */ cpu->r[3] = 0x000003D0u;
|
|
/* 02586FE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02586FE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02586FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02586FE8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02586FE8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02586FE8 */ if (_t5) goto L_02587590; else goto L_02586FEC;
|
|
L_02586FEC: ; // 0x2586fec
|
|
/* 02586FEC */ cpu->r[28] = 0x100D0000u;
|
|
/* 02586FF0 */ cpu->r[26] = cpu->r[30];
|
|
/* 02586FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02586FF4 */ cpu->r[27] = 0x100D0000u;
|
|
/* 02586FF8 */ cpu->r[28] = cpu->r[28] + 0x00001E6Cu;
|
|
/* 02586FFC */ cpu->r[31] = 0x10110000u;
|
|
/* 02587000 */ cpu->r[27] = cpu->r[27] + 0x00001E84u;
|
|
/* 02587004 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587004 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02587004 */ if (_t7) goto L_02587008; else goto L_02587044;
|
|
L_02587008: ; // 0x2587008
|
|
/* 02587008 */ cpu->r[3] = 0x000000FCu;
|
|
/* 0258700C */ Gambit_fn_02801A78(cpu);
|
|
/* 02587010 */ cpu->r[26] = cpu->r[3];
|
|
/* 02587010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02587014 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587014 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02587014 */ if (_t9) goto L_02587018; else goto L_02587044;
|
|
L_02587018: ; // 0x2587018
|
|
/* 02587018 */ cpu->r[24] = 0x02590000u;
|
|
/* 0258701C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02587020 */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 02587020 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02587024 */ cpu->r[24] = cpu->r[24] + 0xFFFF8788u;
|
|
/* 02587028 */ cpu->r[0] = cpu->r[0] + 0x00001FCCu;
|
|
/* 0258702C */ cpu->r[25] = 0x100D0000u;
|
|
/* 02587030 */ cpu->r[26] = cpu->r[30] + 0x000000FCu;
|
|
/* 02587030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02587034 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02587034 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02587038 */ cpu->r[25] = cpu->r[25] + 0x00001EE4u;
|
|
/* 0258703C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258703C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258703C */ if (_t13) goto L_02587040; else goto L_025872F0;
|
|
L_02587040: ; // 0x2587040
|
|
/* 02587040 */ goto L_025872E0;
|
|
L_02587044: ; // 0x2587044
|
|
/* 02587044 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02587048 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258704C */ cpu->r[29] = 0x100D0000u;
|
|
/* 02587050 */ cpu->r[5] = cpu->r[5] + 0x00002120u;
|
|
/* 02587054 */ cpu->r[3] = cpu->r[26];
|
|
/* 02587058 */ cpu->r[29] = cpu->r[29] + 0x00002124u;
|
|
/* 0258705C */ cpu->r[7] = cpu->r[5];
|
|
/* 02587060 */ cpu->r[8] = cpu->r[4];
|
|
/* 02587064 */ cpu->r[6] = cpu->r[29];
|
|
/* 02587068 */ Gambit_fn_027F84F0(cpu);
|
|
/* 0258706C */ cpu->r[0] = 0x10110000u;
|
|
/* 02587070 */ cpu->r[0] = cpu->r[0] + 0x0000085Cu;
|
|
/* 02587074 */ cpu->r[24] = cpu->r[26] + 0x00000054u;
|
|
/* 02587074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02587078 */ _t14 = cpu->r[26] + 0x00000000u;
|
|
/* 02587078 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0258707C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258707C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258707C */ if (_t16) goto L_02587080; else goto L_025870A0;
|
|
L_02587080: ; // 0x2587080
|
|
/* 02587080 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02587084 */ Gambit_fn_02801A78(cpu);
|
|
/* 02587088 */ cpu->r[24] = cpu->r[3];
|
|
/* 02587088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0258708C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258708C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258708C */ if (_t18) goto L_02587090; else goto L_025870A0;
|
|
L_02587090: ; // 0x2587090
|
|
/* 02587090 */ cpu->r[3] = cpu->r[26] + 0x000000A0u;
|
|
/* 02587090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587094 */ _t19 = cpu->r[31] + 0x00007399u;
|
|
/* 02587094 */ cpu->r[31] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02587098 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587098 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02587098 */ if (_t21) goto L_02587144; else goto L_0258709C;
|
|
L_0258709C: ; // 0x258709c
|
|
/* 0258709C */ goto L_02587154;
|
|
L_025870A0: ; // 0x25870a0
|
|
/* 025870A0 */ cpu->r[25] = cpu->r[24];
|
|
/* 025870A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025870A4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025870A4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 025870A4 */ if (_t23) goto L_025870A8; else goto L_025870CC;
|
|
L_025870A8: ; // 0x25870a8
|
|
/* 025870A8 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 025870AC */ Gambit_fn_02801A78(cpu);
|
|
/* 025870B0 */ cpu->r[25] = cpu->r[3];
|
|
/* 025870B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025870B4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025870B4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 025870B4 */ if (_t25) goto L_025870B8; else goto L_025870CC;
|
|
L_025870B8: ; // 0x25870b8
|
|
/* 025870B8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025870BC */ _t26 = cpu->r[31] + 0x00007399u;
|
|
/* 025870BC */ cpu->r[31] = rbrew_read8(cpu->mem, _t26);
|
|
/* 025870C0 */ cpu->r[0] = cpu->r[0] + 0x00001EB4u;
|
|
/* 025870C4 */ _t27 = cpu->r[24] + 0x00000004u;
|
|
/* 025870C4 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 025870C8 */ goto L_0258713C;
|
|
L_025870CC: ; // 0x25870cc
|
|
/* 025870CC */ cpu->r[3] = cpu->r[25];
|
|
/* 025870CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025870D0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025870D0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 025870D0 */ if (_t29) goto L_025870D4; else goto L_02587100;
|
|
L_025870D4: ; // 0x25870d4
|
|
/* 025870D4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025870D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025870DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025870E0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025870E0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 025870E0 */ if (_t31) goto L_025870E4; else goto L_02587100;
|
|
L_025870E4: ; // 0x25870e4
|
|
/* 025870E4 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025870E8 */ _t32 = cpu->r[31] + 0x00007399u;
|
|
/* 025870E8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t32);
|
|
/* 025870EC */ cpu->r[11] = cpu->r[11] + 0x00001E9Cu;
|
|
/* 025870F0 */ _t33 = cpu->r[25] + 0x00000000u;
|
|
/* 025870F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025870F4 */ _t34 = cpu->r[25] + 0x00000004u;
|
|
/* 025870F4 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
/* 025870F8 */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 025870F8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 025870FC */ goto L_02587130;
|
|
L_02587100: ; // 0x2587100
|
|
/* 02587100 */ cpu->r[0] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02587104 */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 02587104 */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 02587108 */ cpu->r[10] = 0x00000040u;
|
|
/* 0258710C */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 0258710C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02587110 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02587110 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02587114 */ _t39 = cpu->r[31] + 0x00007399u;
|
|
/* 02587114 */ cpu->r[31] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02587118 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258711C */ _t40 = cpu->r[25] + 0x00000000u;
|
|
/* 0258711C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02587120 */ cpu->r[11] = cpu->r[11] + 0x00001E9Cu;
|
|
/* 02587124 */ _t41 = cpu->r[25] + 0x0000004Bu;
|
|
/* 02587124 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[31]);
|
|
/* 02587128 */ _t42 = cpu->r[25] + 0x00000004u;
|
|
/* 02587128 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 0258712C */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 0258712C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[31]);
|
|
L_02587130: ; // 0x2587130
|
|
/* 02587130 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02587134 */ cpu->r[0] = cpu->r[0] + 0x00001EB4u;
|
|
/* 02587138 */ _t44 = cpu->r[24] + 0x00000004u;
|
|
/* 02587138 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
L_0258713C: ; // 0x258713c
|
|
/* 0258713C */ cpu->r[3] = cpu->r[26] + 0x000000A0u;
|
|
/* 0258713C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587140 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587140 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02587140 */ if (_t46) goto L_02587144; else goto L_02587154;
|
|
L_02587144: ; // 0x2587144
|
|
/* 02587144 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02587148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258714C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587150 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587150 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02587150 */ if (_t48) goto L_0258717C; else goto L_02587154;
|
|
L_02587154: ; // 0x2587154
|
|
/* 02587154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587158 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587158 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02587158 */ if (_t50) goto L_0258715C; else goto L_0258716C;
|
|
L_0258715C: ; // 0x258715c
|
|
/* 0258715C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02587160 */ Gambit_fn_02801A78(cpu);
|
|
/* 02587164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587168 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587168 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02587168 */ if (_t52) goto L_0258717C; else goto L_0258716C;
|
|
L_0258716C: ; // 0x258716c
|
|
/* 0258716C */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 0258716C */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
/* 02587170 */ cpu->r[6] = 0x00000000u;
|
|
/* 02587174 */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 02587174 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02587178 */ _t55 = cpu->r[3] + 0x00000008u;
|
|
/* 02587178 */ rbrew_write32(cpu->mem, _t55, cpu->r[6]);
|
|
L_0258717C: ; // 0x258717c
|
|
/* 0258717C */ cpu->r[7] = 0x100D0000u;
|
|
/* 02587180 */ cpu->r[7] = cpu->r[7] + 0x00001E54u;
|
|
/* 02587184 */ cpu->r[24] = cpu->r[26] + 0x000000B0u;
|
|
/* 02587184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02587188 */ _t56 = cpu->r[26] + 0x000000ACu;
|
|
/* 02587188 */ rbrew_write32(cpu->mem, _t56, cpu->r[7]);
|
|
/* 0258718C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258718C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0258718C */ if (_t58) goto L_02587190; else goto L_025871A0;
|
|
L_02587190: ; // 0x2587190
|
|
/* 02587190 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02587194 */ Gambit_fn_02801A78(cpu);
|
|
/* 02587198 */ cpu->r[24] = cpu->r[3];
|
|
/* 02587198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0258719C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258719C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0258719C */ if (_t60) goto L_02587208; else goto L_025871A0;
|
|
L_025871A0: ; // 0x25871a0
|
|
/* 025871A0 */ cpu->r[25] = cpu->r[24];
|
|
/* 025871A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025871A4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025871A4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 025871A4 */ if (_t62) goto L_025871A8; else goto L_025871B8;
|
|
L_025871A8: ; // 0x25871a8
|
|
/* 025871A8 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 025871AC */ Gambit_fn_02801A78(cpu);
|
|
/* 025871B0 */ cpu->r[25] = cpu->r[3];
|
|
/* 025871B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025871B4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025871B4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 025871B4 */ if (_t64) goto L_025871FC; else goto L_025871B8;
|
|
L_025871B8: ; // 0x25871b8
|
|
/* 025871B8 */ cpu->r[3] = cpu->r[25];
|
|
/* 025871B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025871BC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025871BC */ _t66 = _t65 & 0x00000001u;
|
|
/* 025871BC */ if (_t66) goto L_025871C0; else goto L_025871D0;
|
|
L_025871C0: ; // 0x25871c0
|
|
/* 025871C0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025871C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025871C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025871CC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025871CC */ _t68 = _t67 & 0x00000001u;
|
|
/* 025871CC */ if (_t68) goto L_025871E8; else goto L_025871D0;
|
|
L_025871D0: ; // 0x25871d0
|
|
/* 025871D0 */ cpu->r[9] = cpu->r[25] + 0x0000000Cu;
|
|
/* 025871D4 */ _t69 = cpu->r[3] + 0x00000004u;
|
|
/* 025871D4 */ rbrew_write32(cpu->mem, _t69, cpu->r[27]);
|
|
/* 025871D8 */ cpu->r[10] = 0x00000040u;
|
|
/* 025871DC */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 025871DC */ rbrew_write32(cpu->mem, _t70, cpu->r[9]);
|
|
/* 025871E0 */ _t71 = cpu->r[3] + 0x00000008u;
|
|
/* 025871E0 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 025871E4 */ _t72 = cpu->r[25] + 0x0000004Bu;
|
|
/* 025871E4 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[31]);
|
|
L_025871E8: ; // 0x25871e8
|
|
/* 025871E8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025871EC */ _t73 = cpu->r[25] + 0x00000000u;
|
|
/* 025871EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025871F0 */ cpu->r[0] = cpu->r[0] + 0x00001E9Cu;
|
|
/* 025871F4 */ _t74 = cpu->r[25] + 0x00000004u;
|
|
/* 025871F4 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 025871F8 */ _t75 = cpu->r[12] + 0x00000000u;
|
|
/* 025871F8 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[31]);
|
|
L_025871FC: ; // 0x25871fc
|
|
/* 025871FC */ cpu->r[5] = 0x100D0000u;
|
|
/* 02587200 */ cpu->r[5] = cpu->r[5] + 0x00001EB4u;
|
|
/* 02587204 */ _t76 = cpu->r[24] + 0x00000004u;
|
|
/* 02587204 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]);
|
|
L_02587208: ; // 0x2587208
|
|
/* 02587208 */ cpu->r[24] = 0x02590000u;
|
|
/* 0258720C */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 0258720C */ rbrew_write32(cpu->mem, _t77, cpu->r[28]);
|
|
/* 02587210 */ cpu->r[24] = cpu->r[24] + 0xFFFF8788u;
|
|
/* 02587214 */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 02587214 */ rbrew_write32(cpu->mem, _t78, cpu->r[29]);
|
|
/* 02587218 */ cpu->ctr = cpu->r[24];
|
|
/* 0258721C */ _t79 = cpu->r[26] + 0x00000054u;
|
|
/* 0258721C */ cpu->r[25] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02587220 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02587224 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587228 */ _t80 = cpu->r[1] + 0x00000010u;
|
|
/* 02587228 */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0258722C */ _t81 = cpu->r[7] + 0x00000000u;
|
|
/* 0258722C */ cpu->r[6] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02587230 */ cpu->r[8] = 0x00080000u;
|
|
/* 02587234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02587238 */ cpu->r[29] = 0x00000000u;
|
|
/* 0258723C */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258723C */ _t83 = _t82 & 0x00000001u;
|
|
/* 0258723C */ if (_t83) goto L_02587264; else goto L_02587240;
|
|
L_02587240: ; // 0x2587240
|
|
/* 02587240 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02587244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 02587248 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0258724C */ _t84 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258724C */ _t85 = _t84 & 0x00000001u;
|
|
/* 0258724C */ if (_t85) goto L_02587260; else goto L_02587250;
|
|
L_02587250: ; // 0x2587250
|
|
/* 02587250 */ _t86 = cpu->r[7] + 0x00000000u;
|
|
/* 02587250 */ cpu->r[0] = rbrew_read8(cpu->mem, _t86);
|
|
/* 02587254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02587258 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587258 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02587258 */ if (_t88) goto L_0258725C; else goto L_02587240;
|
|
L_0258725C: ; // 0x258725c
|
|
/* 0258725C */ goto L_02587264;
|
|
L_02587260: ; // 0x2587260
|
|
/* 02587260 */ cpu->r[29] = 0x00000000u;
|
|
L_02587264: ; // 0x2587264
|
|
/* 02587264 */ _t89 = cpu->r[26] + 0x0000005Cu;
|
|
/* 02587264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02587268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 0258726C */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258726C */ _t91 = _t90 & 0x00000001u;
|
|
/* 0258726C */ if (_t91) goto L_02587274; else goto L_02587270;
|
|
L_02587270: ; // 0x2587270
|
|
/* 02587270 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02587274: ; // 0x2587274
|
|
/* 02587274 */ _t92 = cpu->r[1] + 0x00000014u;
|
|
/* 02587274 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02587278 */ _t93 = cpu->r[8] + 0x00000014u;
|
|
/* 02587278 */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0258727C */ cpu->ctr = cpu->r[9];
|
|
/* 02587280 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02587284 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587288 */ _t94 = cpu->r[1] + 0x00000010u;
|
|
/* 02587288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0258728C */ cpu->r[3] = cpu->r[25];
|
|
/* 02587290 */ cpu->r[5] = cpu->r[29];
|
|
/* 02587294 */ cpu->r[6] = 0x00000000u;
|
|
/* 02587298 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0258729C */ _t95 = cpu->r[25] + cpu->r[29];
|
|
/* 0258729C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
/* 025872A0 */ _t96 = cpu->r[26] + 0x00000058u;
|
|
/* 025872A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t96);
|
|
/* 025872A4 */ _t97 = cpu->r[10] + 0x00000014u;
|
|
/* 025872A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t97);
|
|
/* 025872A8 */ cpu->ctr = cpu->r[11];
|
|
/* 025872AC */ cpu->r[3] = cpu->r[26] + 0x00000054u;
|
|
/* 025872B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025872B4 */ _t98 = cpu->r[26] + 0x00000054u;
|
|
/* 025872B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t98);
|
|
/* 025872B8 */ cpu->r[3] = cpu->r[26];
|
|
/* 025872BC */ _t99 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 025872BC */ _t100 = _t99 & 0x00000001u;
|
|
/* 025872BC */ if (_t100) goto L_025872C0; // else: addr-0 trap, fall-through
|
|
L_025872C0: ; // 0x25872c0
|
|
/* 025872C0 */ Gambit_fn_027F8F3C(cpu);
|
|
/* 025872C4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025872C8 */ cpu->r[26] = cpu->r[30] + 0x000000FCu;
|
|
/* 025872C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 025872CC */ cpu->r[0] = cpu->r[0] + 0x00001FCCu;
|
|
/* 025872D0 */ cpu->r[25] = 0x100D0000u;
|
|
/* 025872D4 */ _t101 = cpu->r[30] + 0x00000000u;
|
|
/* 025872D4 */ rbrew_write32(cpu->mem, _t101, cpu->r[0]);
|
|
/* 025872D8 */ cpu->r[25] = cpu->r[25] + 0x00001EE4u;
|
|
/* 025872DC */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025872DC */ _t103 = _t102 & 0x00000001u;
|
|
/* 025872DC */ if (_t103) goto L_025872E0; else goto L_025872F0;
|
|
L_025872E0: ; // 0x25872e0
|
|
/* 025872E0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 025872E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025872E8 */ cpu->r[26] = cpu->r[3];
|
|
/* 025872E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 025872EC */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025872EC */ _t105 = _t104 & 0x00000001u;
|
|
/* 025872EC */ if (_t105) goto L_02587350; else goto L_025872F0;
|
|
L_025872F0: ; // 0x25872f0
|
|
/* 025872F0 */ cpu->r[29] = cpu->r[26];
|
|
/* 025872F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025872F4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025872F4 */ _t107 = _t106 & 0x00000001u;
|
|
/* 025872F4 */ if (_t107) goto L_025872F8; else goto L_02587308;
|
|
L_025872F8: ; // 0x25872f8
|
|
/* 025872F8 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 025872FC */ Gambit_fn_02801A78(cpu);
|
|
/* 02587300 */ cpu->r[29] = cpu->r[3];
|
|
/* 02587300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02587304 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587304 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02587304 */ if (_t109) goto L_0258734C; else goto L_02587308;
|
|
L_02587308: ; // 0x2587308
|
|
/* 02587308 */ cpu->r[3] = cpu->r[29];
|
|
/* 02587308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258730C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258730C */ _t111 = _t110 & 0x00000001u;
|
|
/* 0258730C */ if (_t111) goto L_02587310; else goto L_02587320;
|
|
L_02587310: ; // 0x2587310
|
|
/* 02587310 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02587314 */ Gambit_fn_02801A78(cpu);
|
|
/* 02587318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258731C */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258731C */ _t113 = _t112 & 0x00000001u;
|
|
/* 0258731C */ if (_t113) goto L_02587338; else goto L_02587320;
|
|
L_02587320: ; // 0x2587320
|
|
/* 02587320 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02587324 */ _t114 = cpu->r[3] + 0x00000004u;
|
|
/* 02587324 */ rbrew_write32(cpu->mem, _t114, cpu->r[27]);
|
|
/* 02587328 */ cpu->r[5] = 0x00000100u;
|
|
/* 0258732C */ _t115 = cpu->r[3] + 0x00000000u;
|
|
/* 0258732C */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 02587330 */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 02587330 */ rbrew_write32(cpu->mem, _t116, cpu->r[5]);
|
|
/* 02587334 */ _t117 = cpu->r[29] + 0x0000010Bu;
|
|
/* 02587334 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[31]);
|
|
L_02587338: ; // 0x2587338
|
|
/* 02587338 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258733C */ _t118 = cpu->r[29] + 0x00000000u;
|
|
/* 0258733C */ cpu->r[7] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02587340 */ cpu->r[6] = cpu->r[6] + 0x00001ECCu;
|
|
/* 02587344 */ _t119 = cpu->r[29] + 0x00000004u;
|
|
/* 02587344 */ rbrew_write32(cpu->mem, _t119, cpu->r[6]);
|
|
/* 02587348 */ _t120 = cpu->r[7] + 0x00000000u;
|
|
/* 02587348 */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[31]);
|
|
L_0258734C: ; // 0x258734c
|
|
/* 0258734C */ _t121 = cpu->r[26] + 0x00000004u;
|
|
/* 0258734C */ rbrew_write32(cpu->mem, _t121, cpu->r[25]);
|
|
L_02587350: ; // 0x2587350
|
|
/* 02587350 */ cpu->r[26] = cpu->r[30] + 0x00000208u;
|
|
/* 02587350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02587354 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587354 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02587354 */ if (_t123) goto L_02587358; else goto L_02587368;
|
|
L_02587358: ; // 0x2587358
|
|
/* 02587358 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0258735C */ Gambit_fn_02801A78(cpu);
|
|
/* 02587360 */ cpu->r[26] = cpu->r[3];
|
|
/* 02587360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02587364 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587364 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02587364 */ if (_t125) goto L_025873C8; else goto L_02587368;
|
|
L_02587368: ; // 0x2587368
|
|
/* 02587368 */ cpu->r[29] = cpu->r[26];
|
|
/* 02587368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0258736C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258736C */ _t127 = _t126 & 0x00000001u;
|
|
/* 0258736C */ if (_t127) goto L_02587370; else goto L_02587380;
|
|
L_02587370: ; // 0x2587370
|
|
/* 02587370 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02587374 */ Gambit_fn_02801A78(cpu);
|
|
/* 02587378 */ cpu->r[29] = cpu->r[3];
|
|
/* 02587378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0258737C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258737C */ _t129 = _t128 & 0x00000001u;
|
|
/* 0258737C */ if (_t129) goto L_025873C4; else goto L_02587380;
|
|
L_02587380: ; // 0x2587380
|
|
/* 02587380 */ cpu->r[3] = cpu->r[29];
|
|
/* 02587380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587384 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587384 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02587384 */ if (_t131) goto L_02587388; else goto L_02587398;
|
|
L_02587388: ; // 0x2587388
|
|
/* 02587388 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0258738C */ Gambit_fn_02801A78(cpu);
|
|
/* 02587390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587394 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587394 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02587394 */ if (_t133) goto L_025873B0; else goto L_02587398;
|
|
L_02587398: ; // 0x2587398
|
|
/* 02587398 */ cpu->r[8] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0258739C */ _t134 = cpu->r[3] + 0x00000004u;
|
|
/* 0258739C */ rbrew_write32(cpu->mem, _t134, cpu->r[27]);
|
|
/* 025873A0 */ cpu->r[9] = 0x00000100u;
|
|
/* 025873A4 */ _t135 = cpu->r[3] + 0x00000000u;
|
|
/* 025873A4 */ rbrew_write32(cpu->mem, _t135, cpu->r[8]);
|
|
/* 025873A8 */ _t136 = cpu->r[3] + 0x00000008u;
|
|
/* 025873A8 */ rbrew_write32(cpu->mem, _t136, cpu->r[9]);
|
|
/* 025873AC */ _t137 = cpu->r[29] + 0x0000010Bu;
|
|
/* 025873AC */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[31]);
|
|
L_025873B0: ; // 0x25873b0
|
|
/* 025873B0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025873B4 */ _t138 = cpu->r[29] + 0x00000000u;
|
|
/* 025873B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t138);
|
|
/* 025873B8 */ cpu->r[0] = cpu->r[0] + 0x00001ECCu;
|
|
/* 025873BC */ _t139 = cpu->r[29] + 0x00000004u;
|
|
/* 025873BC */ rbrew_write32(cpu->mem, _t139, cpu->r[0]);
|
|
/* 025873C0 */ _t140 = cpu->r[11] + 0x00000000u;
|
|
/* 025873C0 */ rbrew_write8(cpu->mem, _t140, (uint8_t)cpu->r[31]);
|
|
L_025873C4: ; // 0x25873c4
|
|
/* 025873C4 */ _t141 = cpu->r[26] + 0x00000004u;
|
|
/* 025873C4 */ rbrew_write32(cpu->mem, _t141, cpu->r[25]);
|
|
L_025873C8: ; // 0x25873c8
|
|
/* 025873C8 */ cpu->r[29] = cpu->r[30] + 0x00000314u;
|
|
/* 025873C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025873CC */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025873CC */ _t143 = _t142 & 0x00000001u;
|
|
/* 025873CC */ if (_t143) goto L_025873D0; else goto L_025873E0;
|
|
L_025873D0: ; // 0x25873d0
|
|
/* 025873D0 */ cpu->r[3] = 0x00000060u;
|
|
/* 025873D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025873D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 025873D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025873DC */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025873DC */ _t145 = _t144 & 0x00000001u;
|
|
/* 025873DC */ if (_t145) goto L_02587434; else goto L_025873E0;
|
|
L_025873E0: ; // 0x25873e0
|
|
/* 025873E0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 025873E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 025873E8 */ cpu->r[6] = 0x100D0000u;
|
|
/* 025873EC */ cpu->r[5] = cpu->r[5] + 0x0000215Cu;
|
|
/* 025873F0 */ cpu->r[8] = 0x00000000u;
|
|
/* 025873F4 */ cpu->r[6] = cpu->r[6] + 0x000021B4u;
|
|
/* 025873F8 */ cpu->r[7] = cpu->r[5];
|
|
/* 025873FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02587400 */ Gambit_fn_027F84F0(cpu);
|
|
/* 02587404 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02587408 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258740C */ _t146 = cpu->r[6] + 0x000020CCu;
|
|
/* 0258740C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 02587410 */ cpu->r[5] = 0x10110000u;
|
|
/* 02587414 */ _t147 = cpu->r[12] + 0x00002114u;
|
|
/* 02587414 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02587418 */ cpu->r[5] = cpu->r[5] + 0x00000A2Cu;
|
|
/* 0258741C */ cpu->r[7] = 0x100D0000u;
|
|
/* 02587420 */ _t148 = cpu->r[29] + 0x00000058u;
|
|
/* 02587420 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[13]);
|
|
/* 02587424 */ _t149 = cpu->r[7] + 0x00002110u;
|
|
/* 02587424 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 02587428 */ _t150 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02587428 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[12]);
|
|
/* 0258742C */ _t151 = cpu->r[29] + 0x00000000u;
|
|
/* 0258742C */ rbrew_write32(cpu->mem, _t151, cpu->r[5]);
|
|
/* 02587430 */ _t152 = cpu->r[29] + 0x00000054u;
|
|
/* 02587430 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[0]);
|
|
L_02587434: ; // 0x2587434
|
|
/* 02587434 */ cpu->r[29] = cpu->r[30] + 0x00000374u;
|
|
/* 02587434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02587438 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587438 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02587438 */ if (_t154) goto L_0258743C; else goto L_0258744C;
|
|
L_0258743C: ; // 0x258743c
|
|
/* 0258743C */ cpu->r[3] = 0x0000005Cu;
|
|
/* 02587440 */ Gambit_fn_02801A78(cpu);
|
|
/* 02587444 */ cpu->r[29] = cpu->r[3];
|
|
/* 02587444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02587448 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587448 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02587448 */ if (_t156) goto L_02587494; else goto L_0258744C;
|
|
L_0258744C: ; // 0x258744c
|
|
/* 0258744C */ cpu->r[5] = 0x100D0000u;
|
|
/* 02587450 */ cpu->r[4] = cpu->r[30];
|
|
/* 02587454 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02587458 */ cpu->r[5] = cpu->r[5] + 0x0000217Cu;
|
|
/* 0258745C */ cpu->r[8] = 0x00000000u;
|
|
/* 02587460 */ cpu->r[6] = cpu->r[6] + 0x000021DCu;
|
|
/* 02587464 */ cpu->r[7] = cpu->r[5];
|
|
/* 02587468 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258746C */ Gambit_fn_027F84F0(cpu);
|
|
/* 02587470 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02587474 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02587478 */ _t157 = cpu->r[7] + 0x00002118u;
|
|
/* 02587478 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 0258747C */ _t158 = cpu->r[12] + 0x0000211Cu;
|
|
/* 0258747C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 02587480 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02587484 */ _t159 = cpu->r[29] + 0x00000054u;
|
|
/* 02587484 */ rbrew_write_f32(cpu->mem, _t159, cpu->f[0]);
|
|
/* 02587488 */ cpu->r[0] = cpu->r[0] + 0x00002064u;
|
|
/* 0258748C */ _t160 = cpu->r[29] + 0x00000058u;
|
|
/* 0258748C */ rbrew_write_f32(cpu->mem, _t160, cpu->f[13]);
|
|
/* 02587490 */ _t161 = cpu->r[29] + 0x00000000u;
|
|
/* 02587490 */ rbrew_write32(cpu->mem, _t161, cpu->r[0]);
|
|
L_02587494: ; // 0x2587494
|
|
/* 02587494 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02587498 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258749C */ cpu->r[4] = cpu->r[4] + 0x00002130u;
|
|
/* 025874A0 */ cpu->r[5] = cpu->r[5] + 0x000021F4u;
|
|
/* 025874A4 */ cpu->r[3] = cpu->r[30] + 0x000000FCu;
|
|
/* 025874A8 */ _t162 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 025874A8 */ _t163 = _t162 & 0x00000001u;
|
|
/* 025874A8 */ if (_t163) goto L_025874AC; // else: addr-0 trap, fall-through
|
|
L_025874AC: ; // 0x25874ac
|
|
/* 025874AC */ Gambit_fn_0282A5F4(cpu);
|
|
/* 025874B0 */ _t164 = cpu->r[30] + 0x00000100u;
|
|
/* 025874B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t164);
|
|
/* 025874B4 */ _t165 = cpu->r[11] + 0x00000014u;
|
|
/* 025874B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t165);
|
|
/* 025874B8 */ cpu->ctr = cpu->r[0];
|
|
/* 025874BC */ cpu->r[3] = cpu->r[30] + 0x000000FCu;
|
|
/* 025874C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025874C4 */ _t166 = cpu->r[30] + 0x000000FCu;
|
|
/* 025874C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t166);
|
|
/* 025874C8 */ cpu->ctr = cpu->r[24];
|
|
/* 025874CC */ _t167 = cpu->r[30] + 0x000000ACu;
|
|
/* 025874CC */ rbrew_write32(cpu->mem, _t167, cpu->r[8]);
|
|
/* 025874D0 */ cpu->r[8] = 0x100D0000u;
|
|
/* 025874D4 */ _t168 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025874D4 */ rbrew_write32(cpu->mem, _t168, cpu->r[28]);
|
|
/* 025874D8 */ cpu->r[8] = cpu->r[8] + 0x00002194u;
|
|
/* 025874DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025874E0 */ _t169 = cpu->r[1] + 0x00000008u;
|
|
/* 025874E0 */ rbrew_write32(cpu->mem, _t169, cpu->r[8]);
|
|
/* 025874E4 */ _t170 = cpu->r[30] + 0x00000208u;
|
|
/* 025874E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t170);
|
|
/* 025874E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025874EC */ _t171 = cpu->r[1] + 0x00000008u;
|
|
/* 025874EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t171);
|
|
/* 025874F0 */ _t172 = cpu->r[12] + 0x00000000u;
|
|
/* 025874F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t172);
|
|
/* 025874F4 */ cpu->r[6] = 0x00080000u;
|
|
/* 025874F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 025874FC */ cpu->r[29] = 0x00000000u;
|
|
/* 02587500 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587500 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02587500 */ if (_t174) goto L_02587528; else goto L_02587504;
|
|
L_02587504: ; // 0x2587504
|
|
/* 02587504 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02587508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0258750C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02587510 */ _t175 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587510 */ _t176 = _t175 & 0x00000001u;
|
|
/* 02587510 */ if (_t176) goto L_02587524; else goto L_02587514;
|
|
L_02587514: ; // 0x2587514
|
|
/* 02587514 */ _t177 = cpu->r[12] + 0x00000000u;
|
|
/* 02587514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t177);
|
|
/* 02587518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0258751C */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258751C */ _t179 = _t178 & 0x00000001u;
|
|
/* 0258751C */ if (_t179) goto L_02587520; else goto L_02587504;
|
|
L_02587520: ; // 0x2587520
|
|
/* 02587520 */ goto L_02587528;
|
|
L_02587524: ; // 0x2587524
|
|
/* 02587524 */ cpu->r[29] = 0x00000000u;
|
|
L_02587528: ; // 0x2587528
|
|
/* 02587528 */ _t180 = cpu->r[30] + 0x00000210u;
|
|
/* 02587528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t180);
|
|
/* 0258752C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 02587530 */ _t181 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02587530 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02587530 */ if (_t182) goto L_02587538; else goto L_02587534;
|
|
L_02587534: ; // 0x2587534
|
|
/* 02587534 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02587538: ; // 0x2587538
|
|
/* 02587538 */ _t183 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587538 */ cpu->r[11] = rbrew_read32(cpu->mem, _t183);
|
|
/* 0258753C */ _t184 = cpu->r[11] + 0x00000014u;
|
|
/* 0258753C */ cpu->r[0] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02587540 */ cpu->ctr = cpu->r[0];
|
|
/* 02587544 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02587548 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258754C */ _t185 = cpu->r[1] + 0x00000008u;
|
|
/* 0258754C */ cpu->r[4] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02587550 */ cpu->r[6] = 0x00000000u;
|
|
/* 02587554 */ cpu->r[5] = cpu->r[29];
|
|
/* 02587558 */ cpu->r[3] = cpu->r[28];
|
|
/* 0258755C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02587560 */ cpu->r[5] = 0x00000000u;
|
|
/* 02587564 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587568 */ cpu->r[4] = cpu->r[30] + 0x00000208u;
|
|
/* 0258756C */ _t186 = cpu->r[28] + cpu->r[29];
|
|
/* 0258756C */ rbrew_write8(cpu->mem, _t186, (uint8_t)cpu->r[31]);
|
|
/* 02587570 */ Gambit_fn_027F85F4(cpu);
|
|
/* 02587574 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02587578 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258757C */ cpu->r[4] = cpu->r[4] + 0x0000212Cu;
|
|
/* 02587580 */ cpu->r[5] = cpu->r[5] + 0x00002204u;
|
|
/* 02587584 */ cpu->r[3] = cpu->r[30] + 0x000000B0u;
|
|
/* 02587588 */ _t187 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02587588 */ _t188 = _t187 & 0x00000001u;
|
|
/* 02587588 */ if (_t188) goto L_0258758C; // else: addr-0 trap, fall-through
|
|
L_0258758C: ; // 0x258758c
|
|
/* 0258758C */ Gambit_fn_0282A5F4(cpu);
|
|
L_02587590: ; // 0x2587590
|
|
/* 02587590 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587594 */ /* nop */
|
|
/* 02587598 */ _t189 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02587598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t189);
|
|
/* 0258759C */ cpu->lr = cpu->r[0];
|
|
/* 025875A0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 025875A4 */ return;
|
|
}
|
|
|
|
// fn_025875A8 @ 0x25875a8
|
|
void Gambit_fn_025875A8(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;
|
|
|
|
L_025875A8: ; // 0x25875a8
|
|
/* 025875A8 */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 025875A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025875A8 */ cpu->r[1] = _t0;
|
|
/* 025875AC */ cpu->r[0] = cpu->lr;
|
|
/* 025875B0 */ /* nop */
|
|
/* 025875B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025875B8 */ cpu->r[3] = 0x000003D0u;
|
|
/* 025875BC */ _t1 = cpu->r[1] + 0x000000ACu;
|
|
/* 025875BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025875C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025875C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025875C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025875C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025875C8 */ if (_t3) goto L_025875D0; else goto L_025875CC;
|
|
L_025875CC: ; // 0x25875cc
|
|
/* 025875CC */ Gambit_fn_02586FC4(cpu);
|
|
L_025875D0: ; // 0x25875d0
|
|
/* 025875D0 */ _t4 = cpu->r[30] + 0x00000288u;
|
|
/* 025875D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 025875D4 */ cpu->r[31] = 0x101C0000u;
|
|
/* 025875D8 */ cpu->r[28] = 0x101C0000u;
|
|
/* 025875DC */ cpu->r[29] = 0x100D0000u;
|
|
/* 025875E0 */ _t5 = cpu->r[31] + 0x00006000u;
|
|
/* 025875E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025875E0 */ cpu->r[31] = _t5;
|
|
/* 025875E4 */ cpu->r[29] = cpu->r[29] + 0x00001E6Cu;
|
|
/* 025875E8 */ _t6 = cpu->r[28] + 0x00006CD4u;
|
|
/* 025875E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025875E8 */ cpu->r[28] = _t6;
|
|
/* 025875EC */ cpu->r[0] = 0x100D0000u;
|
|
/* 025875F0 */ _t7 = cpu->r[11] + 0x0000025Cu;
|
|
/* 025875F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025875F4 */ cpu->r[0] = cpu->r[0] + 0x0000223Cu;
|
|
/* 025875F8 */ _t8 = cpu->r[1] + 0x00000050u;
|
|
/* 025875F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 025875FC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 025875FC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02587600 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587600 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02587604 */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 02587608 */ _t11 = cpu->r[1] + 0x00000054u;
|
|
/* 02587608 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0258760C */ Gambit_fn_02982574(cpu);
|
|
/* 02587610 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02587614 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02587618 */ _t12 = cpu->r[11] + 0xFFFF97D0u;
|
|
/* 02587618 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258761C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02587620 */ _t13 = cpu->r[7] + 0xFFFF97D9u;
|
|
/* 02587620 */ cpu->r[9] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02587624 */ _t14 = cpu->r[1] + 0x00000068u;
|
|
/* 02587624 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02587628 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258762C */ _t15 = cpu->r[12] + 0xFFFF97D4u;
|
|
/* 0258762C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02587630 */ _t16 = cpu->r[10] + 0xFFFF97D8u;
|
|
/* 02587630 */ cpu->r[10] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02587634 */ _t17 = cpu->r[1] + 0x00000078u;
|
|
/* 02587634 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02587638 */ _t18 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02587638 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[10]);
|
|
/* 0258763C */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02587640 */ _t19 = cpu->r[1] + 0x0000007Du;
|
|
/* 02587640 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[9]);
|
|
/* 02587644 */ Gambit_fn_02984F3C(cpu);
|
|
/* 02587648 */ cpu->r[7] = 0x00000006u;
|
|
/* 0258764C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02587650 */ cpu->r[8] = cpu->r[1] + 0x00000080u;
|
|
/* 02587654 */ _t20 = cpu->r[1] + 0x00000084u;
|
|
/* 02587654 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 02587658 */ cpu->r[9] = 0x00000003u;
|
|
/* 0258765C */ _t21 = cpu->r[27] + 0x00000008u;
|
|
/* 0258765C */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02587660 */ cpu->r[7] = cpu->r[1] + 0x00000064u;
|
|
/* 02587664 */ cpu->r[5] = cpu->r[1] + 0x00000050u;
|
|
/* 02587668 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258766C */ Gambit_fn_020022D4(cpu);
|
|
/* 02587670 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02587674 */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 02587674 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02587678 */ _t23 = cpu->r[12] + 0x00002214u;
|
|
/* 02587678 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0258767C */ _t24 = cpu->r[8] + 0x0000007Cu;
|
|
/* 0258767C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02587680 */ _t25 = cpu->r[8] + 0x0000006Cu;
|
|
/* 02587680 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02587684 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02587688 */ _t26 = cpu->r[8] + 0x00000068u;
|
|
/* 02587688 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 0258768C */ _t27 = cpu->r[8] + 0x00000064u;
|
|
/* 0258768C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02587690 */ cpu->r[3] = 0x00000000u;
|
|
/* 02587694 */ _t28 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02587694 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02587698 */ Gambit_fn_02043B8C(cpu);
|
|
/* 0258769C */ cpu->r[27] = 0x101D0000u;
|
|
/* 025876A0 */ _t29 = cpu->r[30] + 0x000001F0u;
|
|
/* 025876A0 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 025876A4 */ _t30 = cpu->r[27] + 0xFFFF85A8u;
|
|
/* 025876A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025876A4 */ cpu->r[27] = _t30;
|
|
/* 025876A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025876AC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025876AC */ _t32 = _t31 & 0x00000001u;
|
|
/* 025876AC */ if (_t32) goto L_025876B8; else goto L_025876B0;
|
|
L_025876B0: ; // 0x25876b0
|
|
/* 025876B0 */ _t33 = cpu->r[11] + 0x000002E8u;
|
|
/* 025876B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025876B4 */ _t34 = cpu->r[30] + 0x0000028Cu;
|
|
/* 025876B4 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
L_025876B8: ; // 0x25876b8
|
|
/* 025876B8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 025876BC */ _t35 = cpu->r[28] + 0x00000000u;
|
|
/* 025876BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025876C0 */ cpu->r[10] = 0x100D0000u;
|
|
/* 025876C4 */ _t36 = cpu->r[8] + 0x000066E8u;
|
|
/* 025876C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025876C8 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 025876C8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 025876CC */ cpu->r[0] = 0x00000001u;
|
|
/* 025876D0 */ _t38 = cpu->r[10] + 0x00002218u;
|
|
/* 025876D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 025876D4 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025876D8 */ _t39 = cpu->r[1] + 0x0000001Du;
|
|
/* 025876D8 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 025876DC */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025876DC */ rbrew_write32(cpu->mem, _t40, cpu->r[29]);
|
|
/* 025876E0 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 025876E0 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 025876E4 */ _t42 = cpu->r[11] + 0x00002110u;
|
|
/* 025876E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 025876E8 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025876E8 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]);
|
|
/* 025876EC */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 025876EC */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
|
|
/* 025876F0 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 025876F0 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 025876F4 */ _t46 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025876F4 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
|
|
/* 025876F8 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025876FC */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 025876FC */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 02587700 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587704 */ _t48 = cpu->r[9] + 0x0000221Cu;
|
|
/* 02587704 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02587708 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0258770C */ _t49 = cpu->r[1] + 0x0000001Fu;
|
|
/* 0258770C */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
|
|
/* 02587710 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02587714 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02587714 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]);
|
|
/* 02587718 */ Gambit_fn_025857F0(cpu);
|
|
/* 0258771C */ cpu->r[28] = 0x100D0000u;
|
|
/* 02587720 */ _t51 = cpu->r[30] + 0x00000008u;
|
|
/* 02587720 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02587724 */ cpu->r[4] = cpu->r[28] + 0x00002240u;
|
|
/* 02587728 */ cpu->r[5] = 0x00000000u;
|
|
/* 0258772C */ Gambit_fn_02390190(cpu);
|
|
/* 02587730 */ _t52 = cpu->r[30] + 0x00000008u;
|
|
/* 02587730 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02587734 */ cpu->r[5] = cpu->r[28] + 0x00002240u;
|
|
/* 02587738 */ _t53 = cpu->r[30] + 0x00000290u;
|
|
/* 02587738 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
/* 0258773C */ Gambit_fn_0239021C(cpu);
|
|
/* 02587740 */ _t54 = cpu->r[30] + 0x00000290u;
|
|
/* 02587740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02587744 */ cpu->r[4] = 0x00000003u;
|
|
/* 02587748 */ Gambit_fn_0239046C(cpu);
|
|
/* 0258774C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02587750 */ Gambit_fn_0239394C(cpu);
|
|
/* 02587754 */ _t55 = cpu->r[31] + 0x00000000u;
|
|
/* 02587754 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02587758 */ cpu->r[0] = cpu->r[30] + 0x00000050u;
|
|
/* 0258775C */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258775C */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 02587760 */ _t57 = cpu->r[10] + 0x00000268u;
|
|
/* 02587760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02587764 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587768 */ Gambit_fn_0261F774(cpu);
|
|
/* 0258776C */ cpu->r[4] = cpu->r[3];
|
|
/* 02587770 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587774 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02587778 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258777C */ _t58 = cpu->r[30] + 0x00000008u;
|
|
/* 0258777C */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02587780 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02587784 */ _t59 = cpu->r[12] + 0x0000222Cu;
|
|
/* 02587784 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02587788 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258778C */ _t60 = cpu->r[7] + 0x00002220u;
|
|
/* 0258778C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02587790 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02587794 */ _t61 = cpu->r[10] + 0x00002224u;
|
|
/* 02587794 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02587798 */ cpu->r[28] = 0x100D0000u;
|
|
/* 0258779C */ _t62 = cpu->r[1] + 0x00000048u;
|
|
/* 0258779C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[13]);
|
|
/* 025877A0 */ cpu->r[7] = cpu->r[3] + 0x00000244u;
|
|
/* 025877A4 */ _t63 = cpu->r[9] + 0x00002228u;
|
|
/* 025877A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 025877A8 */ cpu->r[28] = cpu->r[28] + 0x00002248u;
|
|
/* 025877AC */ _t64 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025877AC */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 025877B0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 025877B4 */ _t65 = cpu->r[1] + 0x00000030u;
|
|
/* 025877B4 */ rbrew_write32(cpu->mem, _t65, cpu->r[7]);
|
|
/* 025877B8 */ _t66 = cpu->r[1] + 0x00000040u;
|
|
/* 025877B8 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[12]);
|
|
/* 025877BC */ _t67 = cpu->r[1] + 0x00000044u;
|
|
/* 025877BC */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
/* 025877C0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025877C4 */ _t68 = cpu->r[1] + 0x00000034u;
|
|
/* 025877C4 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 025877C8 */ _t69 = cpu->r[9] + 0x00002230u;
|
|
/* 025877C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 025877CC */ _t70 = cpu->r[1] + 0x00000038u;
|
|
/* 025877CC */ rbrew_write32(cpu->mem, _t70, cpu->r[28]);
|
|
/* 025877D0 */ _t71 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025877D0 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]);
|
|
/* 025877D4 */ Gambit_fn_023932B4(cpu);
|
|
/* 025877D8 */ _t72 = cpu->r[30] + 0x000002CCu;
|
|
/* 025877D8 */ rbrew_write32(cpu->mem, _t72, cpu->r[3]);
|
|
/* 025877DC */ _t73 = cpu->r[27] + 0x00000000u;
|
|
/* 025877DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025877E0 */ _t74 = cpu->r[30] + 0x00000008u;
|
|
/* 025877E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 025877E4 */ _t75 = cpu->r[10] + 0x000002E0u;
|
|
/* 025877E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 025877E8 */ cpu->r[8] = 0x100D0000u;
|
|
/* 025877EC */ _t76 = cpu->r[1] + 0x00000058u;
|
|
/* 025877EC */ rbrew_write32(cpu->mem, _t76, cpu->r[7]);
|
|
/* 025877F0 */ cpu->r[8] = cpu->r[8] + 0x00002234u;
|
|
/* 025877F4 */ _t77 = cpu->r[30] + 0x000002D0u;
|
|
/* 025877F4 */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
/* 025877F8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025877FC */ _t78 = cpu->r[1] + 0x0000005Cu;
|
|
/* 025877FC */ rbrew_write32(cpu->mem, _t78, cpu->r[8]);
|
|
/* 02587800 */ cpu->r[0] = cpu->r[0] + 0x00002250u;
|
|
/* 02587804 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 02587808 */ _t79 = cpu->r[1] + 0x00000060u;
|
|
/* 02587808 */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 0258780C */ Gambit_fn_027C7A38(cpu);
|
|
/* 02587810 */ _t80 = cpu->r[30] + 0x00000080u;
|
|
/* 02587810 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02587814 */ _t81 = cpu->r[30] + 0x000002D8u;
|
|
/* 02587814 */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
|
|
/* 02587818 */ _t82 = cpu->r[9] + 0x00000024u;
|
|
/* 02587818 */ rbrew_write32(cpu->mem, _t82, cpu->r[3]);
|
|
/* 0258781C */ _t83 = cpu->r[30] + 0x00000288u;
|
|
/* 0258781C */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02587820 */ _t84 = cpu->r[30] + 0x00000008u;
|
|
/* 02587820 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02587824 */ cpu->r[31] = cpu->r[12] + 0x000003C8u;
|
|
/* 02587828 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587828 */ rbrew_write32(cpu->mem, _t85, cpu->r[29]);
|
|
/* 0258782C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02587830 */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 02587830 */ rbrew_write32(cpu->mem, _t86, cpu->r[28]);
|
|
/* 02587834 */ Gambit_fn_029807A8(cpu);
|
|
/* 02587838 */ cpu->r[6] = cpu->r[1] + 0x00000028u;
|
|
/* 0258783C */ _t87 = cpu->r[30] + 0x00000008u;
|
|
/* 0258783C */ cpu->r[5] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02587840 */ _t88 = cpu->r[1] + 0x00000028u;
|
|
/* 02587840 */ rbrew_write32(cpu->mem, _t88, cpu->r[3]);
|
|
/* 02587844 */ cpu->r[4] = cpu->r[31];
|
|
/* 02587848 */ _t89 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02587848 */ rbrew_write32(cpu->mem, _t89, cpu->r[3]);
|
|
/* 0258784C */ cpu->r[3] = 0x00000000u;
|
|
/* 02587850 */ Gambit_fn_0224A290(cpu);
|
|
/* 02587854 */ cpu->r[5] = 0x00000000u;
|
|
/* 02587858 */ cpu->r[4] = 0x00000004u;
|
|
/* 0258785C */ _t90 = cpu->r[30] + 0x000002DCu;
|
|
/* 0258785C */ rbrew_write32(cpu->mem, _t90, cpu->r[3]);
|
|
/* 02587860 */ Gambit_fn_0224A390(cpu);
|
|
/* 02587864 */ /* nop */
|
|
/* 02587868 */ _t91 = cpu->r[1] + 0x000000ACu;
|
|
/* 02587868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0258786C */ cpu->lr = cpu->r[0];
|
|
/* 02587870 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02587874 */ return;
|
|
}
|
|
|
|
// fn_02587878 @ 0x2587878
|
|
void Gambit_fn_02587878(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_02587878: ; // 0x2587878
|
|
/* 02587878 */ cpu->r[0] = cpu->lr;
|
|
/* 0258787C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258787C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258787C */ cpu->r[1] = _t0;
|
|
/* 02587880 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587880 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02587884 */ cpu->r[31] = cpu->r[3];
|
|
/* 02587888 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02587888 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258788C */ Gambit_fn_025855EC(cpu);
|
|
/* 02587890 */ _t3 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02587890 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02587894 */ _t4 = cpu->r[31] + 0x00000298u;
|
|
/* 02587894 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02587898 */ _t5 = cpu->r[31] + 0x00000058u;
|
|
/* 02587898 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
|
|
/* 0258789C */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 0258789C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 025878A0 */ _t7 = cpu->r[31] + 0x000002A4u;
|
|
/* 025878A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025878A4 */ _t8 = cpu->r[31] + 0x000002B4u;
|
|
/* 025878A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025878A8 */ _t9 = cpu->r[31] + 0x00000060u;
|
|
/* 025878A8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 025878AC */ _t10 = cpu->r[31] + 0x00000070u;
|
|
/* 025878AC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 025878B0 */ _t11 = cpu->r[31] + 0x000002A0u;
|
|
/* 025878B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025878B4 */ _t12 = cpu->r[31] + 0x000002A8u;
|
|
/* 025878B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025878B8 */ _t13 = cpu->r[31] + 0x000002B0u;
|
|
/* 025878B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025878BC */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 025878BC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 025878C0 */ _t15 = cpu->r[31] + 0x000002B8u;
|
|
/* 025878C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025878C4 */ _t16 = cpu->r[31] + 0x0000006Cu;
|
|
/* 025878C4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 025878C8 */ _t17 = cpu->r[31] + 0x0000005Cu;
|
|
/* 025878C8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 025878CC */ _t18 = cpu->r[31] + 0x000002C0u;
|
|
/* 025878CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025878D0 */ _t19 = cpu->r[31] + 0x00000074u;
|
|
/* 025878D0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 025878D4 */ _t20 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025878D4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 025878D8 */ _t21 = cpu->r[31] + 0x00000290u;
|
|
/* 025878D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025878DC */ _t22 = cpu->r[31] + 0x000002ACu;
|
|
/* 025878DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025878E0 */ _t23 = cpu->r[31] + 0x000002BCu;
|
|
/* 025878E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025878E4 */ _t24 = cpu->r[31] + 0x00000294u;
|
|
/* 025878E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025878E8 */ _t25 = cpu->r[31] + 0x00000078u;
|
|
/* 025878E8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 025878EC */ _t26 = cpu->r[31] + 0x00000050u;
|
|
/* 025878EC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 025878F0 */ _t27 = cpu->r[31] + 0x00000068u;
|
|
/* 025878F0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]);
|
|
/* 025878F4 */ Gambit_fn_0239031C(cpu);
|
|
/* 025878F8 */ cpu->r[11] = 0x00000000u;
|
|
/* 025878FC */ _t28 = cpu->r[31] + 0x000002DCu;
|
|
/* 025878FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02587900 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02587904 */ _t29 = cpu->r[31] + 0x000002D5u;
|
|
/* 02587904 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[11]);
|
|
/* 02587908 */ _t30 = cpu->r[12] + 0x0000225Cu;
|
|
/* 02587908 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0258790C */ _t31 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258790C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[11]);
|
|
/* 02587910 */ _t32 = cpu->r[31] + 0x000002C8u;
|
|
/* 02587910 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02587914 */ _t33 = cpu->r[31] + 0x000002C4u;
|
|
/* 02587914 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02587918 */ Gambit_fn_0224A688(cpu);
|
|
/* 0258791C */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0258791C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02587920 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587920 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02587924 */ cpu->lr = cpu->r[0];
|
|
/* 02587928 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258792C */ return;
|
|
}
|
|
|
|
// fn_0258787C @ 0x258787c
|
|
void Gambit_fn_0258787C(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_0258787C: ; // 0x258787c
|
|
/* 0258787C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258787C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258787C */ cpu->r[1] = _t0;
|
|
/* 02587880 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587880 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02587884 */ cpu->r[31] = cpu->r[3];
|
|
/* 02587888 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02587888 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258788C */ Gambit_fn_025855EC(cpu);
|
|
/* 02587890 */ _t3 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02587890 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02587894 */ _t4 = cpu->r[31] + 0x00000298u;
|
|
/* 02587894 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02587898 */ _t5 = cpu->r[31] + 0x00000058u;
|
|
/* 02587898 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
|
|
/* 0258789C */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 0258789C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 025878A0 */ _t7 = cpu->r[31] + 0x000002A4u;
|
|
/* 025878A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025878A4 */ _t8 = cpu->r[31] + 0x000002B4u;
|
|
/* 025878A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025878A8 */ _t9 = cpu->r[31] + 0x00000060u;
|
|
/* 025878A8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 025878AC */ _t10 = cpu->r[31] + 0x00000070u;
|
|
/* 025878AC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 025878B0 */ _t11 = cpu->r[31] + 0x000002A0u;
|
|
/* 025878B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025878B4 */ _t12 = cpu->r[31] + 0x000002A8u;
|
|
/* 025878B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025878B8 */ _t13 = cpu->r[31] + 0x000002B0u;
|
|
/* 025878B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025878BC */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 025878BC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 025878C0 */ _t15 = cpu->r[31] + 0x000002B8u;
|
|
/* 025878C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025878C4 */ _t16 = cpu->r[31] + 0x0000006Cu;
|
|
/* 025878C4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 025878C8 */ _t17 = cpu->r[31] + 0x0000005Cu;
|
|
/* 025878C8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 025878CC */ _t18 = cpu->r[31] + 0x000002C0u;
|
|
/* 025878CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025878D0 */ _t19 = cpu->r[31] + 0x00000074u;
|
|
/* 025878D0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 025878D4 */ _t20 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025878D4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 025878D8 */ _t21 = cpu->r[31] + 0x00000290u;
|
|
/* 025878D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025878DC */ _t22 = cpu->r[31] + 0x000002ACu;
|
|
/* 025878DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025878E0 */ _t23 = cpu->r[31] + 0x000002BCu;
|
|
/* 025878E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025878E4 */ _t24 = cpu->r[31] + 0x00000294u;
|
|
/* 025878E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025878E8 */ _t25 = cpu->r[31] + 0x00000078u;
|
|
/* 025878E8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 025878EC */ _t26 = cpu->r[31] + 0x00000050u;
|
|
/* 025878EC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 025878F0 */ _t27 = cpu->r[31] + 0x00000068u;
|
|
/* 025878F0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]);
|
|
/* 025878F4 */ Gambit_fn_0239031C(cpu);
|
|
/* 025878F8 */ cpu->r[11] = 0x00000000u;
|
|
/* 025878FC */ _t28 = cpu->r[31] + 0x000002DCu;
|
|
/* 025878FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02587900 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02587904 */ _t29 = cpu->r[31] + 0x000002D5u;
|
|
/* 02587904 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[11]);
|
|
/* 02587908 */ _t30 = cpu->r[12] + 0x0000225Cu;
|
|
/* 02587908 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0258790C */ _t31 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258790C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[11]);
|
|
/* 02587910 */ _t32 = cpu->r[31] + 0x000002C8u;
|
|
/* 02587910 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02587914 */ _t33 = cpu->r[31] + 0x000002C4u;
|
|
/* 02587914 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02587918 */ Gambit_fn_0224A688(cpu);
|
|
/* 0258791C */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0258791C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02587920 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587920 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02587924 */ cpu->lr = cpu->r[0];
|
|
/* 02587928 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258792C */ return;
|
|
}
|
|
|
|
// fn_02587930 @ 0x2587930
|
|
void Gambit_fn_02587930(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02587930: ; // 0x2587930
|
|
/* 02587930 */ cpu->r[0] = cpu->lr;
|
|
/* 02587934 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02587934 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587934 */ cpu->r[1] = _t0;
|
|
/* 02587938 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587938 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258793C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258793C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02587940 */ cpu->r[31] = cpu->r[3];
|
|
/* 02587944 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02587944 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02587948 */ _t4 = cpu->r[31] + 0x000002C8u;
|
|
/* 02587948 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258794C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02587950 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02587954 */ _t5 = cpu->r[31] + 0x000002C8u;
|
|
/* 02587954 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02587958 */ _t6 = cpu->r[3] + 0x00006000u;
|
|
/* 02587958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258795C */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 0258795C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02587960 */ _t8 = cpu->r[12] + 0x00000154u;
|
|
/* 02587960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02587964 */ cpu->ctr = cpu->r[0];
|
|
/* 02587968 */ cpu->r[30] = 0x00000000u;
|
|
/* 0258796C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02587974 */ _t9 = cpu->r[31] + 0x000002DCu;
|
|
/* 02587974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02587978 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587978 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02587978 */ if (_t11) goto L_0258797C; else goto L_02587980;
|
|
L_0258797C: ; // 0x258797c
|
|
/* 0258797C */ cpu->r[30] = 0x00000001u;
|
|
L_02587980: ; // 0x2587980
|
|
/* 02587980 */ cpu->r[4] = cpu->r[30];
|
|
/* 02587984 */ Gambit_fn_0224AE84(cpu);
|
|
/* 02587988 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02587988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258798C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0258798C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02587990 */ cpu->lr = cpu->r[0];
|
|
/* 02587994 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02587998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258799C */ return;
|
|
}
|
|
|
|
// fn_02587934 @ 0x2587934
|
|
void Gambit_fn_02587934(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02587934: ; // 0x2587934
|
|
/* 02587934 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02587934 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587934 */ cpu->r[1] = _t0;
|
|
/* 02587938 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587938 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258793C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258793C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02587940 */ cpu->r[31] = cpu->r[3];
|
|
/* 02587944 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02587944 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02587948 */ _t4 = cpu->r[31] + 0x000002C8u;
|
|
/* 02587948 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258794C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02587950 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02587954 */ _t5 = cpu->r[31] + 0x000002C8u;
|
|
/* 02587954 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02587958 */ _t6 = cpu->r[3] + 0x00006000u;
|
|
/* 02587958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258795C */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 0258795C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02587960 */ _t8 = cpu->r[12] + 0x00000154u;
|
|
/* 02587960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02587964 */ cpu->ctr = cpu->r[0];
|
|
/* 02587968 */ cpu->r[30] = 0x00000000u;
|
|
/* 0258796C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02587974 */ _t9 = cpu->r[31] + 0x000002DCu;
|
|
/* 02587974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02587978 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587978 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02587978 */ if (_t11) goto L_0258797C; else goto L_02587980;
|
|
L_0258797C: ; // 0x258797c
|
|
/* 0258797C */ cpu->r[30] = 0x00000001u;
|
|
L_02587980: ; // 0x2587980
|
|
/* 02587980 */ cpu->r[4] = cpu->r[30];
|
|
/* 02587984 */ Gambit_fn_0224AE84(cpu);
|
|
/* 02587988 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02587988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258798C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0258798C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02587990 */ cpu->lr = cpu->r[0];
|
|
/* 02587994 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02587998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258799C */ return;
|
|
}
|
|
|
|
// fn_025879A0 @ 0x25879a0
|
|
void Gambit_fn_025879A0(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;
|
|
|
|
L_025879A0: ; // 0x25879a0
|
|
/* 025879A0 */ cpu->r[0] = cpu->lr;
|
|
/* 025879A4 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 025879A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025879A4 */ cpu->r[1] = _t0;
|
|
/* 025879A8 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 025879A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025879AC */ _t2 = cpu->r[1] + 0x00000098u;
|
|
/* 025879AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025879B0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 025879B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 025879B8 */ _t3 = cpu->r[1] + 0x000000A4u;
|
|
/* 025879B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025879BC */ _t4 = cpu->r[30] + 0x00006000u;
|
|
/* 025879BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025879BC */ cpu->r[30] = _t4;
|
|
/* 025879C0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 025879C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025879C4 */ _t6 = cpu->r[11] + 0x00000154u;
|
|
/* 025879C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025879C8 */ cpu->ctr = cpu->r[0];
|
|
/* 025879CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025879D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 025879D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025879D4 */ if (_t8) goto L_02587BF4; else goto L_025879D8;
|
|
L_025879D8: ; // 0x25879d8
|
|
/* 025879D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 025879DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 025879DC */ if (_t10) goto L_02587BF4; else goto L_025879E0;
|
|
L_025879E0: ; // 0x25879e0
|
|
/* 025879E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000008u);
|
|
/* 025879E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879E4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025879E4 */ if (_t12) goto L_02587BF4; else goto L_025879E8;
|
|
L_025879E8: ; // 0x25879e8
|
|
/* 025879E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 025879EC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879EC */ _t14 = _t13 & 0x00000001u;
|
|
/* 025879EC */ if (_t14) goto L_02587BF4; else goto L_025879F0;
|
|
L_025879F0: ; // 0x25879f0
|
|
/* 025879F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 025879F4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879F4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025879F4 */ if (_t16) goto L_02587BF4; else goto L_025879F8;
|
|
L_025879F8: ; // 0x25879f8
|
|
/* 025879F8 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 025879F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025879FC */ _t18 = cpu->r[9] + 0x00000268u;
|
|
/* 025879FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02587A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A04 */ Gambit_fn_0261F774(cpu);
|
|
/* 02587A08 */ cpu->r[4] = cpu->r[3];
|
|
/* 02587A0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A10 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02587A14 */ cpu->r[3] = cpu->r[3] + 0x00000244u;
|
|
/* 02587A18 */ cpu->r[4] = cpu->r[31] + 0x00000074u;
|
|
/* 02587A1C */ Gambit_fn_02C69328(cpu);
|
|
/* 02587A20 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02587A24 */ _t19 = cpu->r[5] + 0x00002260u;
|
|
/* 02587A24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02587A28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02587A2C */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587A2C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02587A2C */ if (_t21) goto L_02587BF4; else goto L_02587A30;
|
|
L_02587A30: ; // 0x2587a30
|
|
/* 02587A30 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02587A30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02587A34 */ cpu->r[4] = 0x00000000u;
|
|
/* 02587A38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A3C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02587A40 */ _t23 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02587A40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02587A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02587A48 */ cpu->r[11] = 0x00000000u;
|
|
/* 02587A4C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587A4C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02587A4C */ if (_t25) goto L_02587A58; else goto L_02587A50;
|
|
L_02587A50: ; // 0x2587a50
|
|
/* 02587A50 */ _t26 = cpu->r[30] + 0x00000024u;
|
|
/* 02587A50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02587A54 */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 02587A54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
L_02587A58: ; // 0x2587a58
|
|
/* 02587A58 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 02587A58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02587A5C */ cpu->r[4] = 0x00000000u;
|
|
/* 02587A60 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A64 */ Gambit_fn_029DA9EC(cpu);
|
|
/* 02587A68 */ cpu->r[4] = 0x00000000u;
|
|
/* 02587A6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A70 */ Gambit_fn_029DAAD0(cpu);
|
|
/* 02587A74 */ _t29 = cpu->r[30] + 0x00000088u;
|
|
/* 02587A74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02587A78 */ _t30 = cpu->r[8] + 0x000001ECu;
|
|
/* 02587A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02587A7C */ cpu->ctr = cpu->r[0];
|
|
/* 02587A80 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587A88 */ _t31 = cpu->r[30] + 0x00000038u;
|
|
/* 02587A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02587A8C */ _t32 = cpu->r[31] + 0x00000288u;
|
|
/* 02587A8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02587A90 */ _t33 = cpu->r[12] + 0x00000008u;
|
|
/* 02587A90 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02587A94 */ _t34 = cpu->r[6] + 0x00000368u;
|
|
/* 02587A94 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02587A98 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02587A9C */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587A9C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02587A9C */ if (_t36) goto L_02587AA0; else goto L_02587BF4;
|
|
L_02587AA0: ; // 0x2587aa0
|
|
/* 02587AA0 */ _t37 = cpu->r[31] + 0x00000058u;
|
|
/* 02587AA0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02587AA4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02587AA8 */ _t38 = cpu->r[9] + 0xFFFFB5DCu;
|
|
/* 02587AA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02587AA8 */ cpu->r[9] = _t38;
|
|
/* 02587AAC */ /* nop */
|
|
/* 02587AB0 */ cpu->f[8] = cpu->f[10] * cpu->f[11];
|
|
/* 02587AB4 */ _t39 = cpu->r[9] + 0x00000004u;
|
|
/* 02587AB4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02587AB8 */ _t40 = cpu->r[31] + 0x00000064u;
|
|
/* 02587AB8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02587ABC */ /* nop */
|
|
/* 02587AC0 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02587AC0 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[8]);
|
|
/* 02587AC4 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02587AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02587AC8 */ /* nop */
|
|
/* 02587ACC */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02587AD0 */ cpu->f[8] = cpu->f[9] * cpu->f[12];
|
|
/* 02587AD4 */ /* nop */
|
|
/* 02587AD8 */ _t44 = cpu->r[1] + 0x00000060u;
|
|
/* 02587AD8 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02587ADC */ /* nop */
|
|
/* 02587AE0 */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02587AE0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[8]);
|
|
/* 02587AE4 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02587AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02587AE8 */ /* nop */
|
|
/* 02587AEC */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02587AEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02587AF0 */ _t48 = cpu->r[1] + 0x00000070u;
|
|
/* 02587AF0 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02587AF4 */ _t49 = cpu->r[1] + 0x00000070u;
|
|
/* 02587AF4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02587AF8 */ _t50 = cpu->r[1] + 0x00000068u;
|
|
/* 02587AF8 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02587AFC */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02587AFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02587B00 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02587B00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02587B04 */ _t53 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02587B04 */ rbrew_write32(cpu->mem, _t53, cpu->r[8]);
|
|
/* 02587B08 */ /* nop */
|
|
/* 02587B0C */ _t54 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02587B0C */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 02587B10 */ /* nop */
|
|
/* 02587B14 */ _t55 = cpu->r[1] + 0x00000064u;
|
|
/* 02587B14 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 02587B18 */ _t56 = cpu->r[1] + 0x00000064u;
|
|
/* 02587B18 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02587B1C */ /* nop */
|
|
/* 02587B20 */ _t57 = cpu->r[9] + 0x00000008u;
|
|
/* 02587B20 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02587B24 */ cpu->f[0] = cpu->f[8] + cpu->f[9];
|
|
/* 02587B28 */ /* nop */
|
|
/* 02587B2C */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02587B2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02587B30 */ _t59 = cpu->r[31] + 0x00000070u;
|
|
/* 02587B30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02587B34 */ _t60 = cpu->r[1] + 0x00000028u;
|
|
/* 02587B34 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]);
|
|
/* 02587B38 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 02587B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02587B3C */ cpu->f[12] = cpu->f[13] * cpu->f[10];
|
|
/* 02587B40 */ /* nop */
|
|
/* 02587B44 */ _t62 = cpu->r[1] + 0x00000058u;
|
|
/* 02587B44 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02587B48 */ _t63 = cpu->r[1] + 0x00000058u;
|
|
/* 02587B48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02587B4C */ /* nop */
|
|
/* 02587B50 */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02587B50 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 02587B54 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02587B54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02587B58 */ _t66 = cpu->r[1] + 0x00000034u;
|
|
/* 02587B58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02587B5C */ _t67 = cpu->r[1] + 0x00000050u;
|
|
/* 02587B5C */ rbrew_write32(cpu->mem, _t67, cpu->r[6]);
|
|
/* 02587B60 */ _t68 = cpu->r[1] + 0x00000054u;
|
|
/* 02587B60 */ rbrew_write32(cpu->mem, _t68, cpu->r[7]);
|
|
/* 02587B64 */ /* nop */
|
|
/* 02587B68 */ _t69 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02587B68 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 02587B6C */ _t70 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02587B6C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02587B70 */ /* nop */
|
|
/* 02587B74 */ _t71 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02587B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02587B78 */ _t72 = cpu->r[1] + 0x00000030u;
|
|
/* 02587B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02587B7C */ cpu->f[11] = cpu->f[0] + cpu->f[8];
|
|
/* 02587B80 */ _t73 = cpu->r[1] + 0x00000074u;
|
|
/* 02587B80 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]);
|
|
/* 02587B84 */ _t74 = cpu->r[1] + 0x00000078u;
|
|
/* 02587B84 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]);
|
|
/* 02587B88 */ /* nop */
|
|
/* 02587B8C */ _t75 = cpu->r[1] + 0x00000040u;
|
|
/* 02587B8C */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
|
|
/* 02587B90 */ _t76 = cpu->r[1] + 0x00000040u;
|
|
/* 02587B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02587B94 */ /* nop */
|
|
/* 02587B98 */ /* nop */
|
|
/* 02587B9C */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02587B9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02587BA0 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 02587BA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02587BA4 */ _t79 = cpu->r[1] + 0x00000084u;
|
|
/* 02587BA4 */ rbrew_write32(cpu->mem, _t79, cpu->r[12]);
|
|
/* 02587BA8 */ _t80 = cpu->r[1] + 0x00000080u;
|
|
/* 02587BA8 */ rbrew_write32(cpu->mem, _t80, cpu->r[11]);
|
|
/* 02587BAC */ /* nop */
|
|
/* 02587BB0 */ /* nop */
|
|
/* 02587BB4 */ _t81 = cpu->r[1] + 0x00000088u;
|
|
/* 02587BB4 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 02587BB8 */ _t82 = cpu->r[1] + 0x00000088u;
|
|
/* 02587BB8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02587BBC */ /* nop */
|
|
/* 02587BC0 */ _t83 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02587BC0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02587BC4 */ _t84 = cpu->r[31] + 0x000002D0u;
|
|
/* 02587BC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02587BC8 */ cpu->f[0] = cpu->f[8] + cpu->f[9];
|
|
/* 02587BCC */ /* nop */
|
|
/* 02587BD0 */ _t85 = cpu->r[1] + 0x00000048u;
|
|
/* 02587BD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02587BD4 */ _t86 = cpu->r[1] + 0x00000044u;
|
|
/* 02587BD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02587BD8 */ _t87 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02587BD8 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[0]);
|
|
/* 02587BDC */ _t88 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02587BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02587BE0 */ _t89 = cpu->r[1] + 0x00000090u;
|
|
/* 02587BE0 */ rbrew_write32(cpu->mem, _t89, cpu->r[8]);
|
|
/* 02587BE4 */ _t90 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02587BE4 */ rbrew_write32(cpu->mem, _t90, cpu->r[7]);
|
|
/* 02587BE8 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02587BEC */ _t91 = cpu->r[1] + 0x00000094u;
|
|
/* 02587BEC */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 02587BF0 */ Gambit_fn_02411334(cpu);
|
|
L_02587BF4: ; // 0x2587bf4
|
|
/* 02587BF4 */ _t92 = cpu->r[1] + 0x000000A4u;
|
|
/* 02587BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02587BF8 */ _t93 = cpu->r[1] + 0x00000098u;
|
|
/* 02587BF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02587BFC */ cpu->lr = cpu->r[0];
|
|
/* 02587C00 */ _t94 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02587C00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02587C04 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02587C08 */ return;
|
|
}
|
|
|
|
// fn_025879A4 @ 0x25879a4
|
|
void Gambit_fn_025879A4(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;
|
|
|
|
L_025879A4: ; // 0x25879a4
|
|
/* 025879A4 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 025879A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025879A4 */ cpu->r[1] = _t0;
|
|
/* 025879A8 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 025879A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025879AC */ _t2 = cpu->r[1] + 0x00000098u;
|
|
/* 025879AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025879B0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 025879B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 025879B8 */ _t3 = cpu->r[1] + 0x000000A4u;
|
|
/* 025879B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025879BC */ _t4 = cpu->r[30] + 0x00006000u;
|
|
/* 025879BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025879BC */ cpu->r[30] = _t4;
|
|
/* 025879C0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 025879C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025879C4 */ _t6 = cpu->r[11] + 0x00000154u;
|
|
/* 025879C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025879C8 */ cpu->ctr = cpu->r[0];
|
|
/* 025879CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025879D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 025879D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025879D4 */ if (_t8) goto L_02587BF4; else goto L_025879D8;
|
|
L_025879D8: ; // 0x25879d8
|
|
/* 025879D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 025879DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 025879DC */ if (_t10) goto L_02587BF4; else goto L_025879E0;
|
|
L_025879E0: ; // 0x25879e0
|
|
/* 025879E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000008u);
|
|
/* 025879E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879E4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025879E4 */ if (_t12) goto L_02587BF4; else goto L_025879E8;
|
|
L_025879E8: ; // 0x25879e8
|
|
/* 025879E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 025879EC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879EC */ _t14 = _t13 & 0x00000001u;
|
|
/* 025879EC */ if (_t14) goto L_02587BF4; else goto L_025879F0;
|
|
L_025879F0: ; // 0x25879f0
|
|
/* 025879F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 025879F4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025879F4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025879F4 */ if (_t16) goto L_02587BF4; else goto L_025879F8;
|
|
L_025879F8: ; // 0x25879f8
|
|
/* 025879F8 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 025879F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025879FC */ _t18 = cpu->r[9] + 0x00000268u;
|
|
/* 025879FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02587A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A04 */ Gambit_fn_0261F774(cpu);
|
|
/* 02587A08 */ cpu->r[4] = cpu->r[3];
|
|
/* 02587A0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A10 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02587A14 */ cpu->r[3] = cpu->r[3] + 0x00000244u;
|
|
/* 02587A18 */ cpu->r[4] = cpu->r[31] + 0x00000074u;
|
|
/* 02587A1C */ Gambit_fn_02C69328(cpu);
|
|
/* 02587A20 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02587A24 */ _t19 = cpu->r[5] + 0x00002260u;
|
|
/* 02587A24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02587A28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02587A2C */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587A2C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02587A2C */ if (_t21) goto L_02587BF4; else goto L_02587A30;
|
|
L_02587A30: ; // 0x2587a30
|
|
/* 02587A30 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02587A30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02587A34 */ cpu->r[4] = 0x00000000u;
|
|
/* 02587A38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A3C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02587A40 */ _t23 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02587A40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02587A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02587A48 */ cpu->r[11] = 0x00000000u;
|
|
/* 02587A4C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587A4C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02587A4C */ if (_t25) goto L_02587A58; else goto L_02587A50;
|
|
L_02587A50: ; // 0x2587a50
|
|
/* 02587A50 */ _t26 = cpu->r[30] + 0x00000024u;
|
|
/* 02587A50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02587A54 */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 02587A54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
L_02587A58: ; // 0x2587a58
|
|
/* 02587A58 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 02587A58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02587A5C */ cpu->r[4] = 0x00000000u;
|
|
/* 02587A60 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A64 */ Gambit_fn_029DA9EC(cpu);
|
|
/* 02587A68 */ cpu->r[4] = 0x00000000u;
|
|
/* 02587A6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A70 */ Gambit_fn_029DAAD0(cpu);
|
|
/* 02587A74 */ _t29 = cpu->r[30] + 0x00000088u;
|
|
/* 02587A74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02587A78 */ _t30 = cpu->r[8] + 0x000001ECu;
|
|
/* 02587A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02587A7C */ cpu->ctr = cpu->r[0];
|
|
/* 02587A80 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587A84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587A88 */ _t31 = cpu->r[30] + 0x00000038u;
|
|
/* 02587A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02587A8C */ _t32 = cpu->r[31] + 0x00000288u;
|
|
/* 02587A8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02587A90 */ _t33 = cpu->r[12] + 0x00000008u;
|
|
/* 02587A90 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02587A94 */ _t34 = cpu->r[6] + 0x00000368u;
|
|
/* 02587A94 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02587A98 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02587A9C */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587A9C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02587A9C */ if (_t36) goto L_02587AA0; else goto L_02587BF4;
|
|
L_02587AA0: ; // 0x2587aa0
|
|
/* 02587AA0 */ _t37 = cpu->r[31] + 0x00000058u;
|
|
/* 02587AA0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02587AA4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02587AA8 */ _t38 = cpu->r[9] + 0xFFFFB5DCu;
|
|
/* 02587AA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02587AA8 */ cpu->r[9] = _t38;
|
|
/* 02587AAC */ /* nop */
|
|
/* 02587AB0 */ cpu->f[8] = cpu->f[10] * cpu->f[11];
|
|
/* 02587AB4 */ _t39 = cpu->r[9] + 0x00000004u;
|
|
/* 02587AB4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02587AB8 */ _t40 = cpu->r[31] + 0x00000064u;
|
|
/* 02587AB8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02587ABC */ /* nop */
|
|
/* 02587AC0 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02587AC0 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[8]);
|
|
/* 02587AC4 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02587AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02587AC8 */ /* nop */
|
|
/* 02587ACC */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02587AD0 */ cpu->f[8] = cpu->f[9] * cpu->f[12];
|
|
/* 02587AD4 */ /* nop */
|
|
/* 02587AD8 */ _t44 = cpu->r[1] + 0x00000060u;
|
|
/* 02587AD8 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02587ADC */ /* nop */
|
|
/* 02587AE0 */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02587AE0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[8]);
|
|
/* 02587AE4 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02587AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02587AE8 */ /* nop */
|
|
/* 02587AEC */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02587AEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02587AF0 */ _t48 = cpu->r[1] + 0x00000070u;
|
|
/* 02587AF0 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02587AF4 */ _t49 = cpu->r[1] + 0x00000070u;
|
|
/* 02587AF4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02587AF8 */ _t50 = cpu->r[1] + 0x00000068u;
|
|
/* 02587AF8 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02587AFC */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02587AFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02587B00 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02587B00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02587B04 */ _t53 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02587B04 */ rbrew_write32(cpu->mem, _t53, cpu->r[8]);
|
|
/* 02587B08 */ /* nop */
|
|
/* 02587B0C */ _t54 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02587B0C */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 02587B10 */ /* nop */
|
|
/* 02587B14 */ _t55 = cpu->r[1] + 0x00000064u;
|
|
/* 02587B14 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 02587B18 */ _t56 = cpu->r[1] + 0x00000064u;
|
|
/* 02587B18 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02587B1C */ /* nop */
|
|
/* 02587B20 */ _t57 = cpu->r[9] + 0x00000008u;
|
|
/* 02587B20 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02587B24 */ cpu->f[0] = cpu->f[8] + cpu->f[9];
|
|
/* 02587B28 */ /* nop */
|
|
/* 02587B2C */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02587B2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02587B30 */ _t59 = cpu->r[31] + 0x00000070u;
|
|
/* 02587B30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02587B34 */ _t60 = cpu->r[1] + 0x00000028u;
|
|
/* 02587B34 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]);
|
|
/* 02587B38 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 02587B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02587B3C */ cpu->f[12] = cpu->f[13] * cpu->f[10];
|
|
/* 02587B40 */ /* nop */
|
|
/* 02587B44 */ _t62 = cpu->r[1] + 0x00000058u;
|
|
/* 02587B44 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02587B48 */ _t63 = cpu->r[1] + 0x00000058u;
|
|
/* 02587B48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02587B4C */ /* nop */
|
|
/* 02587B50 */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02587B50 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 02587B54 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02587B54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02587B58 */ _t66 = cpu->r[1] + 0x00000034u;
|
|
/* 02587B58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02587B5C */ _t67 = cpu->r[1] + 0x00000050u;
|
|
/* 02587B5C */ rbrew_write32(cpu->mem, _t67, cpu->r[6]);
|
|
/* 02587B60 */ _t68 = cpu->r[1] + 0x00000054u;
|
|
/* 02587B60 */ rbrew_write32(cpu->mem, _t68, cpu->r[7]);
|
|
/* 02587B64 */ /* nop */
|
|
/* 02587B68 */ _t69 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02587B68 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 02587B6C */ _t70 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02587B6C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02587B70 */ /* nop */
|
|
/* 02587B74 */ _t71 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02587B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02587B78 */ _t72 = cpu->r[1] + 0x00000030u;
|
|
/* 02587B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02587B7C */ cpu->f[11] = cpu->f[0] + cpu->f[8];
|
|
/* 02587B80 */ _t73 = cpu->r[1] + 0x00000074u;
|
|
/* 02587B80 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]);
|
|
/* 02587B84 */ _t74 = cpu->r[1] + 0x00000078u;
|
|
/* 02587B84 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]);
|
|
/* 02587B88 */ /* nop */
|
|
/* 02587B8C */ _t75 = cpu->r[1] + 0x00000040u;
|
|
/* 02587B8C */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
|
|
/* 02587B90 */ _t76 = cpu->r[1] + 0x00000040u;
|
|
/* 02587B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02587B94 */ /* nop */
|
|
/* 02587B98 */ /* nop */
|
|
/* 02587B9C */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02587B9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02587BA0 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 02587BA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02587BA4 */ _t79 = cpu->r[1] + 0x00000084u;
|
|
/* 02587BA4 */ rbrew_write32(cpu->mem, _t79, cpu->r[12]);
|
|
/* 02587BA8 */ _t80 = cpu->r[1] + 0x00000080u;
|
|
/* 02587BA8 */ rbrew_write32(cpu->mem, _t80, cpu->r[11]);
|
|
/* 02587BAC */ /* nop */
|
|
/* 02587BB0 */ /* nop */
|
|
/* 02587BB4 */ _t81 = cpu->r[1] + 0x00000088u;
|
|
/* 02587BB4 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 02587BB8 */ _t82 = cpu->r[1] + 0x00000088u;
|
|
/* 02587BB8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02587BBC */ /* nop */
|
|
/* 02587BC0 */ _t83 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02587BC0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02587BC4 */ _t84 = cpu->r[31] + 0x000002D0u;
|
|
/* 02587BC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02587BC8 */ cpu->f[0] = cpu->f[8] + cpu->f[9];
|
|
/* 02587BCC */ /* nop */
|
|
/* 02587BD0 */ _t85 = cpu->r[1] + 0x00000048u;
|
|
/* 02587BD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02587BD4 */ _t86 = cpu->r[1] + 0x00000044u;
|
|
/* 02587BD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02587BD8 */ _t87 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02587BD8 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[0]);
|
|
/* 02587BDC */ _t88 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02587BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02587BE0 */ _t89 = cpu->r[1] + 0x00000090u;
|
|
/* 02587BE0 */ rbrew_write32(cpu->mem, _t89, cpu->r[8]);
|
|
/* 02587BE4 */ _t90 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02587BE4 */ rbrew_write32(cpu->mem, _t90, cpu->r[7]);
|
|
/* 02587BE8 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02587BEC */ _t91 = cpu->r[1] + 0x00000094u;
|
|
/* 02587BEC */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 02587BF0 */ Gambit_fn_02411334(cpu);
|
|
L_02587BF4: ; // 0x2587bf4
|
|
/* 02587BF4 */ _t92 = cpu->r[1] + 0x000000A4u;
|
|
/* 02587BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02587BF8 */ _t93 = cpu->r[1] + 0x00000098u;
|
|
/* 02587BF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02587BFC */ cpu->lr = cpu->r[0];
|
|
/* 02587C00 */ _t94 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02587C00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02587C04 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02587C08 */ return;
|
|
}
|
|
|
|
// fn_02587C0C @ 0x2587c0c
|
|
void Gambit_fn_02587C0C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02587C0C: ; // 0x2587c0c
|
|
/* 02587C0C */ cpu->r[0] = 0x00000001u;
|
|
/* 02587C10 */ _t0 = cpu->r[3] + 0x000002D5u;
|
|
/* 02587C10 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02587C14 */ return;
|
|
}
|
|
|
|
// fn_02587C18 @ 0x2587c18
|
|
void Gambit_fn_02587C18(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_02587C18: ; // 0x2587c18
|
|
/* 02587C18 */ cpu->r[0] = cpu->lr;
|
|
/* 02587C1C */ _t0 = cpu->r[1] + 0xFFFFFA88u;
|
|
/* 02587C1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587C1C */ cpu->r[1] = _t0;
|
|
/* 02587C20 */ _t1 = cpu->r[1] + 0x0000056Cu;
|
|
/* 02587C20 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02587C24 */ _t2 = cpu->r[1] + 0x00000568u;
|
|
/* 02587C24 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02587C28 */ _t3 = cpu->r[1] + 0x00000570u;
|
|
/* 02587C28 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02587C2C */ _t4 = cpu->r[1] + 0x00000574u;
|
|
/* 02587C2C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02587C30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02587C34 */ _t5 = cpu->r[1] + 0x0000057Cu;
|
|
/* 02587C34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02587C38 */ _t6 = cpu->r[30] + 0x000002D0u;
|
|
/* 02587C38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02587C3C */ Gambit_fn_0241133C(cpu);
|
|
/* 02587C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587C44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587C44 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02587C44 */ if (_t8) goto L_02587E24; else goto L_02587C48;
|
|
L_02587C48: ; // 0x2587c48
|
|
/* 02587C48 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02587C4C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02587C50 */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 02587C50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02587C54 */ _t10 = cpu->r[11] + 0x000006C0u;
|
|
/* 02587C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02587C54 */ cpu->r[11] = _t10;
|
|
/* 02587C58 */ _t11 = cpu->r[12] + 0x000002A4u;
|
|
/* 02587C58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02587C5C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02587C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02587C64 */ cpu->r[4] = cpu->r[4] + 0x000006BCu;
|
|
/* 02587C68 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587C68 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02587C68 */ if (_t13) goto L_02587C6C; else goto L_02587C80;
|
|
L_02587C6C: ; // 0x2587c6c
|
|
/* 02587C6C */ cpu->r[7] = 0x100D0000u;
|
|
/* 02587C70 */ cpu->r[6] = 0x00000001u;
|
|
/* 02587C74 */ cpu->r[7] = cpu->r[7] + 0x00001F8Cu;
|
|
/* 02587C78 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 02587C78 */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 02587C7C */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02587C7C */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
L_02587C80: ; // 0x2587c80
|
|
/* 02587C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02587C84 */ cpu->r[29] = 0x00000000u;
|
|
/* 02587C88 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587C88 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02587C88 */ if (_t17) goto L_02587CA8; else goto L_02587C8C;
|
|
L_02587C8C: ; // 0x2587c8c
|
|
/* 02587C8C */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 02587C8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02587C90 */ _t19 = cpu->r[8] + 0x00000014u;
|
|
/* 02587C90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02587C94 */ cpu->ctr = cpu->r[9];
|
|
/* 02587C98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587C9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587CA4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587CA4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02587CA4 */ if (_t21) goto L_02587CA8; else goto L_02587CAC;
|
|
L_02587CA8: ; // 0x2587ca8
|
|
/* 02587CA8 */ cpu->r[31] = 0x00000000u;
|
|
L_02587CAC: ; // 0x2587cac
|
|
/* 02587CAC */ _t22 = cpu->r[30] + 0x000002D4u;
|
|
/* 02587CAC */ cpu->r[10] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02587CB0 */ _t23 = cpu->r[31] + 0x00000540u;
|
|
/* 02587CB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02587CB4 */ cpu->r[31] = 0x10010000u;
|
|
/* 02587CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02587CBC */ cpu->r[31] = cpu->r[31] + 0xFFFFB028u;
|
|
/* 02587CC0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587CC0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02587CC0 */ if (_t25) goto L_02587CC4; else goto L_02587D48;
|
|
L_02587CC4: ; // 0x2587cc4
|
|
/* 02587CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02587CC8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587CC8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02587CC8 */ if (_t27) goto L_02587D48; else goto L_02587CCC;
|
|
L_02587CCC: ; // 0x2587ccc
|
|
/* 02587CCC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587CD0 */ Gambit_fn_020BC1DC(cpu);
|
|
/* 02587CD4 */ _t28 = cpu->r[1] + 0x00000458u;
|
|
/* 02587CD4 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 02587CD8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02587CDC */ _t29 = cpu->r[1] + 0x00000558u;
|
|
/* 02587CDC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 02587CE0 */ _t30 = cpu->r[1] + 0x00000550u;
|
|
/* 02587CE0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[29]);
|
|
/* 02587CE4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02587CE8 */ _t31 = cpu->r[1] + 0x0000054Cu;
|
|
/* 02587CE8 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02587CEC */ _t32 = cpu->r[1] + 0x00000554u;
|
|
/* 02587CEC */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02587CF0 */ _t33 = cpu->r[1] + 0x00000548u;
|
|
/* 02587CF0 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 02587CF4 */ _t34 = cpu->r[28] + 0x00000120u;
|
|
/* 02587CF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02587CF8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587CFC */ cpu->r[4] = cpu->r[28] + 0x00000014u;
|
|
/* 02587D00 */ _t35 = cpu->r[1] + 0x0000054Cu;
|
|
/* 02587D00 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02587D04 */ Gambit_fn_02076E00(cpu);
|
|
/* 02587D08 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587D0C */ _t36 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02587D0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02587D10 */ cpu->r[5] = 0x0000012Cu;
|
|
/* 02587D14 */ Gambit_fn_02075A48(cpu);
|
|
/* 02587D18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587D1C */ _t37 = cpu->r[30] + 0x000002D4u;
|
|
/* 02587D1C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[31]);
|
|
/* 02587D20 */ Gambit_fn_02587C0C(cpu);
|
|
/* 02587D24 */ cpu->r[6] = 0x02590000u;
|
|
/* 02587D28 */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 02587D2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02587D30 */ cpu->r[6] = cpu->r[6] + 0xFFFF8B28u;
|
|
/* 02587D34 */ cpu->r[4] = 0x00000006u;
|
|
/* 02587D38 */ cpu->r[8] = cpu->r[7];
|
|
/* 02587D3C */ cpu->r[5] = 0x00000098u;
|
|
/* 02587D40 */ Gambit_fn_02C82F38(cpu);
|
|
/* 02587D44 */ goto L_02587E24;
|
|
L_02587D48: ; // 0x2587d48
|
|
/* 02587D48 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02587D4C */ Gambit_fn_020BC1DC(cpu);
|
|
/* 02587D50 */ _t38 = cpu->r[1] + 0x00000464u;
|
|
/* 02587D50 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 02587D54 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02587D58 */ _t39 = cpu->r[1] + 0x0000055Cu;
|
|
/* 02587D58 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[29]);
|
|
/* 02587D5C */ cpu->r[7] = 0x00000001u;
|
|
/* 02587D60 */ _t40 = cpu->r[1] + 0x00000558u;
|
|
/* 02587D60 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 02587D64 */ _t41 = cpu->r[1] + 0x00000560u;
|
|
/* 02587D64 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02587D68 */ _t42 = cpu->r[1] + 0x00000554u;
|
|
/* 02587D68 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 02587D6C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587D70 */ _t43 = cpu->r[1] + 0x00000564u;
|
|
/* 02587D70 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[29]);
|
|
/* 02587D74 */ Gambit_fn_021729AC(cpu);
|
|
/* 02587D78 */ cpu->r[0] = 0x00000007u;
|
|
/* 02587D7C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587D80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02587D84 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02587D84 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02587D88 */ Gambit_fn_02172B08(cpu);
|
|
/* 02587D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587D90 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587D90 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02587D90 */ if (_t46) goto L_02587DD0; else goto L_02587D94;
|
|
L_02587D94: ; // 0x2587d94
|
|
/* 02587D94 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02587D98 */ Gambit_fn_02078198(cpu);
|
|
/* 02587D9C */ _t47 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02587D9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02587DA0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02587DA4 */ cpu->r[5] = 0x0000012Cu;
|
|
/* 02587DA8 */ Gambit_fn_02075A48(cpu);
|
|
/* 02587DAC */ cpu->r[0] = 0x00000001u;
|
|
/* 02587DB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587DB4 */ _t48 = cpu->r[30] + 0x000002D4u;
|
|
/* 02587DB4 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[0]);
|
|
/* 02587DB8 */ Gambit_fn_02587C0C(cpu);
|
|
/* 02587DBC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587DC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02587DC4 */ Gambit_fn_02172A44(cpu);
|
|
/* 02587DC8 */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
/* 02587DCC */ goto L_02587E08;
|
|
L_02587DD0: ; // 0x2587dd0
|
|
/* 02587DD0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02587DD4 */ Gambit_fn_02077AF0(cpu);
|
|
/* 02587DD8 */ _t49 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02587DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02587DDC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02587DE0 */ cpu->r[5] = 0x0000012Cu;
|
|
/* 02587DE4 */ Gambit_fn_02075A48(cpu);
|
|
/* 02587DE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02587DEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02587DF0 */ _t50 = cpu->r[30] + 0x000002D4u;
|
|
/* 02587DF0 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[0]);
|
|
/* 02587DF4 */ Gambit_fn_02587C0C(cpu);
|
|
/* 02587DF8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587DFC */ cpu->r[4] = 0x00000002u;
|
|
/* 02587E00 */ Gambit_fn_02172A44(cpu);
|
|
/* 02587E04 */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
L_02587E08: ; // 0x2587e08
|
|
/* 02587E08 */ cpu->r[6] = 0x02590000u;
|
|
/* 02587E0C */ cpu->r[7] = 0x00000000u;
|
|
/* 02587E10 */ cpu->r[5] = 0x00000098u;
|
|
/* 02587E14 */ cpu->r[4] = 0x00000006u;
|
|
/* 02587E18 */ cpu->r[8] = cpu->r[7];
|
|
/* 02587E1C */ cpu->r[6] = cpu->r[6] + 0xFFFF8B28u;
|
|
/* 02587E20 */ Gambit_fn_02C82F38(cpu);
|
|
L_02587E24: ; // 0x2587e24
|
|
/* 02587E24 */ _t51 = cpu->r[1] + 0x00000568u;
|
|
/* 02587E24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02587E28 */ _t52 = cpu->r[1] + 0x0000056Cu;
|
|
/* 02587E28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02587E2C */ _t53 = cpu->r[1] + 0x0000057Cu;
|
|
/* 02587E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02587E30 */ _t54 = cpu->r[1] + 0x00000570u;
|
|
/* 02587E30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02587E34 */ cpu->lr = cpu->r[0];
|
|
/* 02587E38 */ _t55 = cpu->r[1] + 0x00000574u;
|
|
/* 02587E38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02587E3C */ cpu->r[1] = cpu->r[1] + 0x00000578u;
|
|
/* 02587E40 */ return;
|
|
}
|
|
|
|
// fn_02587C1C @ 0x2587c1c
|
|
void Gambit_fn_02587C1C(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_02587C1C: ; // 0x2587c1c
|
|
/* 02587C1C */ _t0 = cpu->r[1] + 0xFFFFFA88u;
|
|
/* 02587C1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587C1C */ cpu->r[1] = _t0;
|
|
/* 02587C20 */ _t1 = cpu->r[1] + 0x0000056Cu;
|
|
/* 02587C20 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02587C24 */ _t2 = cpu->r[1] + 0x00000568u;
|
|
/* 02587C24 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02587C28 */ _t3 = cpu->r[1] + 0x00000570u;
|
|
/* 02587C28 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02587C2C */ _t4 = cpu->r[1] + 0x00000574u;
|
|
/* 02587C2C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02587C30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02587C34 */ _t5 = cpu->r[1] + 0x0000057Cu;
|
|
/* 02587C34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02587C38 */ _t6 = cpu->r[30] + 0x000002D0u;
|
|
/* 02587C38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02587C3C */ Gambit_fn_0241133C(cpu);
|
|
/* 02587C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587C44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587C44 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02587C44 */ if (_t8) goto L_02587E24; else goto L_02587C48;
|
|
L_02587C48: ; // 0x2587c48
|
|
/* 02587C48 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02587C4C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02587C50 */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 02587C50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02587C54 */ _t10 = cpu->r[11] + 0x000006C0u;
|
|
/* 02587C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02587C54 */ cpu->r[11] = _t10;
|
|
/* 02587C58 */ _t11 = cpu->r[12] + 0x000002A4u;
|
|
/* 02587C58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02587C5C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02587C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02587C64 */ cpu->r[4] = cpu->r[4] + 0x000006BCu;
|
|
/* 02587C68 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587C68 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02587C68 */ if (_t13) goto L_02587C6C; else goto L_02587C80;
|
|
L_02587C6C: ; // 0x2587c6c
|
|
/* 02587C6C */ cpu->r[7] = 0x100D0000u;
|
|
/* 02587C70 */ cpu->r[6] = 0x00000001u;
|
|
/* 02587C74 */ cpu->r[7] = cpu->r[7] + 0x00001F8Cu;
|
|
/* 02587C78 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 02587C78 */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 02587C7C */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02587C7C */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
L_02587C80: ; // 0x2587c80
|
|
/* 02587C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02587C84 */ cpu->r[29] = 0x00000000u;
|
|
/* 02587C88 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587C88 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02587C88 */ if (_t17) goto L_02587CA8; else goto L_02587C8C;
|
|
L_02587C8C: ; // 0x2587c8c
|
|
/* 02587C8C */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 02587C8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02587C90 */ _t19 = cpu->r[8] + 0x00000014u;
|
|
/* 02587C90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02587C94 */ cpu->ctr = cpu->r[9];
|
|
/* 02587C98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587C9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587CA4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587CA4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02587CA4 */ if (_t21) goto L_02587CA8; else goto L_02587CAC;
|
|
L_02587CA8: ; // 0x2587ca8
|
|
/* 02587CA8 */ cpu->r[31] = 0x00000000u;
|
|
L_02587CAC: ; // 0x2587cac
|
|
/* 02587CAC */ _t22 = cpu->r[30] + 0x000002D4u;
|
|
/* 02587CAC */ cpu->r[10] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02587CB0 */ _t23 = cpu->r[31] + 0x00000540u;
|
|
/* 02587CB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02587CB4 */ cpu->r[31] = 0x10010000u;
|
|
/* 02587CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02587CBC */ cpu->r[31] = cpu->r[31] + 0xFFFFB028u;
|
|
/* 02587CC0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587CC0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02587CC0 */ if (_t25) goto L_02587CC4; else goto L_02587D48;
|
|
L_02587CC4: ; // 0x2587cc4
|
|
/* 02587CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02587CC8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587CC8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02587CC8 */ if (_t27) goto L_02587D48; else goto L_02587CCC;
|
|
L_02587CCC: ; // 0x2587ccc
|
|
/* 02587CCC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587CD0 */ Gambit_fn_020BC1DC(cpu);
|
|
/* 02587CD4 */ _t28 = cpu->r[1] + 0x00000458u;
|
|
/* 02587CD4 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 02587CD8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02587CDC */ _t29 = cpu->r[1] + 0x00000558u;
|
|
/* 02587CDC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 02587CE0 */ _t30 = cpu->r[1] + 0x00000550u;
|
|
/* 02587CE0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[29]);
|
|
/* 02587CE4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02587CE8 */ _t31 = cpu->r[1] + 0x0000054Cu;
|
|
/* 02587CE8 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02587CEC */ _t32 = cpu->r[1] + 0x00000554u;
|
|
/* 02587CEC */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02587CF0 */ _t33 = cpu->r[1] + 0x00000548u;
|
|
/* 02587CF0 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 02587CF4 */ _t34 = cpu->r[28] + 0x00000120u;
|
|
/* 02587CF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02587CF8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587CFC */ cpu->r[4] = cpu->r[28] + 0x00000014u;
|
|
/* 02587D00 */ _t35 = cpu->r[1] + 0x0000054Cu;
|
|
/* 02587D00 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02587D04 */ Gambit_fn_02076E00(cpu);
|
|
/* 02587D08 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587D0C */ _t36 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02587D0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02587D10 */ cpu->r[5] = 0x0000012Cu;
|
|
/* 02587D14 */ Gambit_fn_02075A48(cpu);
|
|
/* 02587D18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587D1C */ _t37 = cpu->r[30] + 0x000002D4u;
|
|
/* 02587D1C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[31]);
|
|
/* 02587D20 */ Gambit_fn_02587C0C(cpu);
|
|
/* 02587D24 */ cpu->r[6] = 0x02590000u;
|
|
/* 02587D28 */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 02587D2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02587D30 */ cpu->r[6] = cpu->r[6] + 0xFFFF8B28u;
|
|
/* 02587D34 */ cpu->r[4] = 0x00000006u;
|
|
/* 02587D38 */ cpu->r[8] = cpu->r[7];
|
|
/* 02587D3C */ cpu->r[5] = 0x00000098u;
|
|
/* 02587D40 */ Gambit_fn_02C82F38(cpu);
|
|
/* 02587D44 */ goto L_02587E24;
|
|
L_02587D48: ; // 0x2587d48
|
|
/* 02587D48 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02587D4C */ Gambit_fn_020BC1DC(cpu);
|
|
/* 02587D50 */ _t38 = cpu->r[1] + 0x00000464u;
|
|
/* 02587D50 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 02587D54 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02587D58 */ _t39 = cpu->r[1] + 0x0000055Cu;
|
|
/* 02587D58 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[29]);
|
|
/* 02587D5C */ cpu->r[7] = 0x00000001u;
|
|
/* 02587D60 */ _t40 = cpu->r[1] + 0x00000558u;
|
|
/* 02587D60 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 02587D64 */ _t41 = cpu->r[1] + 0x00000560u;
|
|
/* 02587D64 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02587D68 */ _t42 = cpu->r[1] + 0x00000554u;
|
|
/* 02587D68 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 02587D6C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587D70 */ _t43 = cpu->r[1] + 0x00000564u;
|
|
/* 02587D70 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[29]);
|
|
/* 02587D74 */ Gambit_fn_021729AC(cpu);
|
|
/* 02587D78 */ cpu->r[0] = 0x00000007u;
|
|
/* 02587D7C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587D80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02587D84 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02587D84 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02587D88 */ Gambit_fn_02172B08(cpu);
|
|
/* 02587D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02587D90 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587D90 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02587D90 */ if (_t46) goto L_02587DD0; else goto L_02587D94;
|
|
L_02587D94: ; // 0x2587d94
|
|
/* 02587D94 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02587D98 */ Gambit_fn_02078198(cpu);
|
|
/* 02587D9C */ _t47 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02587D9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02587DA0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02587DA4 */ cpu->r[5] = 0x0000012Cu;
|
|
/* 02587DA8 */ Gambit_fn_02075A48(cpu);
|
|
/* 02587DAC */ cpu->r[0] = 0x00000001u;
|
|
/* 02587DB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587DB4 */ _t48 = cpu->r[30] + 0x000002D4u;
|
|
/* 02587DB4 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[0]);
|
|
/* 02587DB8 */ Gambit_fn_02587C0C(cpu);
|
|
/* 02587DBC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587DC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02587DC4 */ Gambit_fn_02172A44(cpu);
|
|
/* 02587DC8 */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
/* 02587DCC */ goto L_02587E08;
|
|
L_02587DD0: ; // 0x2587dd0
|
|
/* 02587DD0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02587DD4 */ Gambit_fn_02077AF0(cpu);
|
|
/* 02587DD8 */ _t49 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02587DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02587DDC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02587DE0 */ cpu->r[5] = 0x0000012Cu;
|
|
/* 02587DE4 */ Gambit_fn_02075A48(cpu);
|
|
/* 02587DE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02587DEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02587DF0 */ _t50 = cpu->r[30] + 0x000002D4u;
|
|
/* 02587DF0 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[0]);
|
|
/* 02587DF4 */ Gambit_fn_02587C0C(cpu);
|
|
/* 02587DF8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587DFC */ cpu->r[4] = 0x00000002u;
|
|
/* 02587E00 */ Gambit_fn_02172A44(cpu);
|
|
/* 02587E04 */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
L_02587E08: ; // 0x2587e08
|
|
/* 02587E08 */ cpu->r[6] = 0x02590000u;
|
|
/* 02587E0C */ cpu->r[7] = 0x00000000u;
|
|
/* 02587E10 */ cpu->r[5] = 0x00000098u;
|
|
/* 02587E14 */ cpu->r[4] = 0x00000006u;
|
|
/* 02587E18 */ cpu->r[8] = cpu->r[7];
|
|
/* 02587E1C */ cpu->r[6] = cpu->r[6] + 0xFFFF8B28u;
|
|
/* 02587E20 */ Gambit_fn_02C82F38(cpu);
|
|
L_02587E24: ; // 0x2587e24
|
|
/* 02587E24 */ _t51 = cpu->r[1] + 0x00000568u;
|
|
/* 02587E24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02587E28 */ _t52 = cpu->r[1] + 0x0000056Cu;
|
|
/* 02587E28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02587E2C */ _t53 = cpu->r[1] + 0x0000057Cu;
|
|
/* 02587E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02587E30 */ _t54 = cpu->r[1] + 0x00000570u;
|
|
/* 02587E30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02587E34 */ cpu->lr = cpu->r[0];
|
|
/* 02587E38 */ _t55 = cpu->r[1] + 0x00000574u;
|
|
/* 02587E38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02587E3C */ cpu->r[1] = cpu->r[1] + 0x00000578u;
|
|
/* 02587E40 */ return;
|
|
}
|
|
|
|
// fn_02587E44 @ 0x2587e44
|
|
void Gambit_fn_02587E44(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_02587E44: ; // 0x2587e44
|
|
/* 02587E44 */ cpu->r[0] = cpu->lr;
|
|
/* 02587E48 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02587E48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587E48 */ cpu->r[1] = _t0;
|
|
/* 02587E4C */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02587E4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02587E50 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02587E50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02587E54 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02587E58 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02587E58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02587E5C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02587E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02587E60 */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 02587E60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02587E64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02587E68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587E6C */ Gambit_fn_0261F774(cpu);
|
|
/* 02587E70 */ cpu->r[4] = cpu->r[3];
|
|
/* 02587E74 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587E78 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02587E7C */ cpu->r[6] = 0x100D0000u;
|
|
/* 02587E80 */ /* nop */
|
|
/* 02587E84 */ _t6 = cpu->r[6] + 0x0000225Cu;
|
|
/* 02587E84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02587E88 */ /* nop */
|
|
/* 02587E8C */ /* nop */
|
|
/* 02587E90 */ _t7 = cpu->r[3] + 0x00000234u;
|
|
/* 02587E90 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02587E94 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02587E94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02587E98 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02587E98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02587E9C */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 02587EA0 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02587EA0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02587EA4 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02587EA4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02587EA8 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02587EA8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02587EAC */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02587EAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02587EB0 */ /* nop */
|
|
/* 02587EB4 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 02587EB4 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02587EB8 */ /* nop */
|
|
/* 02587EBC */ _t15 = cpu->r[31] + 0x000002CCu;
|
|
/* 02587EBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02587EC0 */ /* nop */
|
|
/* 02587EC4 */ /* nop */
|
|
/* 02587EC8 */ _t16 = cpu->r[3] + 0x0000024Cu;
|
|
/* 02587EC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02587ECC */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 02587ECC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02587ED0 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02587ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02587ED4 */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 02587ED8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02587ED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02587EDC */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 02587EDC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02587EE0 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02587EE0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02587EE4 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02587EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02587EE8 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02587EE8 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02587EEC */ cpu->r[9] = cpu->r[1] + 0x00000034u;
|
|
/* 02587EF0 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02587EF0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02587EF4 */ _t25 = cpu->r[8] + 0x00000048u;
|
|
/* 02587EF4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02587EF8 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02587EF8 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02587EFC */ cpu->r[0] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02587F00 */ _t27 = cpu->r[31] + 0x000002DCu;
|
|
/* 02587F00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02587F04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02587F08 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587F08 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02587F0C */ Gambit_fn_0224A93C(cpu);
|
|
/* 02587F10 */ _t29 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02587F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02587F14 */ _t30 = cpu->r[1] + 0x00000040u;
|
|
/* 02587F14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02587F18 */ cpu->lr = cpu->r[0];
|
|
/* 02587F1C */ _t31 = cpu->r[1] + 0x00000044u;
|
|
/* 02587F1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02587F20 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02587F24 */ return;
|
|
}
|
|
|
|
// fn_02587E48 @ 0x2587e48
|
|
void Gambit_fn_02587E48(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_02587E48: ; // 0x2587e48
|
|
/* 02587E48 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02587E48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587E48 */ cpu->r[1] = _t0;
|
|
/* 02587E4C */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02587E4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02587E50 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02587E50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02587E54 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02587E58 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02587E58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02587E5C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02587E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02587E60 */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 02587E60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02587E64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02587E68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587E6C */ Gambit_fn_0261F774(cpu);
|
|
/* 02587E70 */ cpu->r[4] = cpu->r[3];
|
|
/* 02587E74 */ cpu->r[3] = cpu->r[30];
|
|
/* 02587E78 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02587E7C */ cpu->r[6] = 0x100D0000u;
|
|
/* 02587E80 */ /* nop */
|
|
/* 02587E84 */ _t6 = cpu->r[6] + 0x0000225Cu;
|
|
/* 02587E84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02587E88 */ /* nop */
|
|
/* 02587E8C */ /* nop */
|
|
/* 02587E90 */ _t7 = cpu->r[3] + 0x00000234u;
|
|
/* 02587E90 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02587E94 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02587E94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02587E98 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02587E98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02587E9C */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 02587EA0 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02587EA0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02587EA4 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02587EA4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02587EA8 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02587EA8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02587EAC */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02587EAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02587EB0 */ /* nop */
|
|
/* 02587EB4 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 02587EB4 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02587EB8 */ /* nop */
|
|
/* 02587EBC */ _t15 = cpu->r[31] + 0x000002CCu;
|
|
/* 02587EBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02587EC0 */ /* nop */
|
|
/* 02587EC4 */ /* nop */
|
|
/* 02587EC8 */ _t16 = cpu->r[3] + 0x0000024Cu;
|
|
/* 02587EC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02587ECC */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 02587ECC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02587ED0 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02587ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02587ED4 */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 02587ED8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02587ED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02587EDC */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 02587EDC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02587EE0 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02587EE0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02587EE4 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02587EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02587EE8 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02587EE8 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02587EEC */ cpu->r[9] = cpu->r[1] + 0x00000034u;
|
|
/* 02587EF0 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02587EF0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02587EF4 */ _t25 = cpu->r[8] + 0x00000048u;
|
|
/* 02587EF4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02587EF8 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02587EF8 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02587EFC */ cpu->r[0] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02587F00 */ _t27 = cpu->r[31] + 0x000002DCu;
|
|
/* 02587F00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02587F04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02587F08 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587F08 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02587F0C */ Gambit_fn_0224A93C(cpu);
|
|
/* 02587F10 */ _t29 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02587F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02587F14 */ _t30 = cpu->r[1] + 0x00000040u;
|
|
/* 02587F14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02587F18 */ cpu->lr = cpu->r[0];
|
|
/* 02587F1C */ _t31 = cpu->r[1] + 0x00000044u;
|
|
/* 02587F1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02587F20 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02587F24 */ return;
|
|
}
|
|
|
|
// fn_02587F28 @ 0x2587f28
|
|
void Gambit_fn_02587F28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02587F28: ; // 0x2587f28
|
|
/* 02587F28 */ cpu->r[0] = cpu->lr;
|
|
/* 02587F2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02587F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587F2C */ cpu->r[1] = _t0;
|
|
/* 02587F30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587F30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02587F34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02587F38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02587F38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02587F3C */ Gambit_fn_02585928(cpu);
|
|
/* 02587F40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587F44 */ Gambit_fn_02587930(cpu);
|
|
/* 02587F48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587F4C */ Gambit_fn_025879A0(cpu);
|
|
/* 02587F50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587F54 */ Gambit_fn_02587C18(cpu);
|
|
/* 02587F58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587F5C */ Gambit_fn_02587E44(cpu);
|
|
/* 02587F60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02587F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02587F64 */ cpu->lr = cpu->r[0];
|
|
/* 02587F68 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587F68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02587F6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02587F70 */ return;
|
|
}
|
|
|
|
// fn_02587F2C @ 0x2587f2c
|
|
void Gambit_fn_02587F2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02587F2C: ; // 0x2587f2c
|
|
/* 02587F2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02587F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587F2C */ cpu->r[1] = _t0;
|
|
/* 02587F30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587F30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02587F34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02587F38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02587F38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02587F3C */ Gambit_fn_02585928(cpu);
|
|
/* 02587F40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587F44 */ Gambit_fn_02587930(cpu);
|
|
/* 02587F48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587F4C */ Gambit_fn_025879A0(cpu);
|
|
/* 02587F50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587F54 */ Gambit_fn_02587C18(cpu);
|
|
/* 02587F58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02587F5C */ Gambit_fn_02587E44(cpu);
|
|
/* 02587F60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02587F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02587F64 */ cpu->lr = cpu->r[0];
|
|
/* 02587F68 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587F68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02587F6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02587F70 */ return;
|
|
}
|
|
|
|
// fn_02587F74 @ 0x2587f74
|
|
void Gambit_fn_02587F74(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_02587F74: ; // 0x2587f74
|
|
/* 02587F74 */ cpu->r[0] = cpu->lr;
|
|
/* 02587F78 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02587F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587F78 */ cpu->r[1] = _t0;
|
|
/* 02587F7C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02587F7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02587F80 */ cpu->r[30] = cpu->r[3];
|
|
/* 02587F84 */ cpu->r[3] = cpu->r[4];
|
|
/* 02587F88 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02587F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02587F8C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02587F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02587F90 */ _t4 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02587F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02587F94 */ cpu->r[31] = 0x00000000u;
|
|
/* 02587F98 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02587F98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02587F9C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02587F9C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02587FA0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587FA0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02587FA4 */ _t8 = cpu->r[10] + 0x0000024Cu;
|
|
/* 02587FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02587FA8 */ cpu->r[9] = cpu->r[31];
|
|
/* 02587FAC */ cpu->ctr = cpu->r[0];
|
|
/* 02587FB0 */ cpu->r[10] = cpu->r[9];
|
|
/* 02587FB4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02587FB8 */ cpu->r[6] = cpu->r[30] + 0x00000074u;
|
|
/* 02587FBC */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02587FC0 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587FC4 */ cpu->r[7] = 0x00000004u;
|
|
/* 02587FC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587FCC */ cpu->r[12] = 0x100D0000u;
|
|
/* 02587FD0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02587FD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02587FD4 */ _t10 = cpu->r[12] + 0x000020CCu;
|
|
/* 02587FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02587FD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02587FDC */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587FDC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02587FDC */ if (_t12) goto L_02587FE0; else goto L_0258800C;
|
|
L_02587FE0: ; // 0x2587fe0
|
|
/* 02587FE0 */ _t13 = cpu->r[30] + 0x00000258u;
|
|
/* 02587FE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02587FE4 */ /* nop */
|
|
/* 02587FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02587FEC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587FEC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02587FEC */ if (_t15) goto L_0258800C; else goto L_02587FF0;
|
|
L_02587FF0: ; // 0x2587ff0
|
|
/* 02587FF0 */ _t16 = cpu->r[30] + 0x000002C4u;
|
|
/* 02587FF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02587FF4 */ cpu->f[13] = cpu->f[13] - cpu->f[12];
|
|
/* 02587FF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02587FFC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587FFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02587FFC */ if (_t18) goto L_02588000; else goto L_02588004;
|
|
L_02588000: ; // 0x2588000
|
|
/* 02588000 */ cpu->f[13] = cpu->f[0];
|
|
L_02588004: ; // 0x2588004
|
|
/* 02588004 */ _t19 = cpu->r[30] + 0x000002C8u;
|
|
/* 02588004 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02588008 */ _t20 = cpu->r[30] + 0x000002C4u;
|
|
/* 02588008 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
L_0258800C: ; // 0x258800c
|
|
/* 0258800C */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 0258800C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02588010 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02588010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02588014 */ cpu->lr = cpu->r[0];
|
|
/* 02588018 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258801C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02588020 */ return;
|
|
}
|
|
|
|
// fn_02587F78 @ 0x2587f78
|
|
void Gambit_fn_02587F78(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_02587F78: ; // 0x2587f78
|
|
/* 02587F78 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02587F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02587F78 */ cpu->r[1] = _t0;
|
|
/* 02587F7C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02587F7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02587F80 */ cpu->r[30] = cpu->r[3];
|
|
/* 02587F84 */ cpu->r[3] = cpu->r[4];
|
|
/* 02587F88 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02587F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02587F8C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02587F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02587F90 */ _t4 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02587F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02587F94 */ cpu->r[31] = 0x00000000u;
|
|
/* 02587F98 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02587F98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02587F9C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02587F9C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02587FA0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587FA0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02587FA4 */ _t8 = cpu->r[10] + 0x0000024Cu;
|
|
/* 02587FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02587FA8 */ cpu->r[9] = cpu->r[31];
|
|
/* 02587FAC */ cpu->ctr = cpu->r[0];
|
|
/* 02587FB0 */ cpu->r[10] = cpu->r[9];
|
|
/* 02587FB4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02587FB8 */ cpu->r[6] = cpu->r[30] + 0x00000074u;
|
|
/* 02587FBC */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02587FC0 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02587FC4 */ cpu->r[7] = 0x00000004u;
|
|
/* 02587FC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02587FCC */ cpu->r[12] = 0x100D0000u;
|
|
/* 02587FD0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02587FD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02587FD4 */ _t10 = cpu->r[12] + 0x000020CCu;
|
|
/* 02587FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02587FD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02587FDC */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587FDC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02587FDC */ if (_t12) goto L_02587FE0; else goto L_0258800C;
|
|
L_02587FE0: ; // 0x2587fe0
|
|
/* 02587FE0 */ _t13 = cpu->r[30] + 0x00000258u;
|
|
/* 02587FE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02587FE4 */ /* nop */
|
|
/* 02587FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02587FEC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02587FEC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02587FEC */ if (_t15) goto L_0258800C; else goto L_02587FF0;
|
|
L_02587FF0: ; // 0x2587ff0
|
|
/* 02587FF0 */ _t16 = cpu->r[30] + 0x000002C4u;
|
|
/* 02587FF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02587FF4 */ cpu->f[13] = cpu->f[13] - cpu->f[12];
|
|
/* 02587FF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02587FFC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02587FFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02587FFC */ if (_t18) goto L_02588000; else goto L_02588004;
|
|
L_02588000: ; // 0x2588000
|
|
/* 02588000 */ cpu->f[13] = cpu->f[0];
|
|
L_02588004: ; // 0x2588004
|
|
/* 02588004 */ _t19 = cpu->r[30] + 0x000002C8u;
|
|
/* 02588004 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02588008 */ _t20 = cpu->r[30] + 0x000002C4u;
|
|
/* 02588008 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
L_0258800C: ; // 0x258800c
|
|
/* 0258800C */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 0258800C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02588010 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02588010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02588014 */ cpu->lr = cpu->r[0];
|
|
/* 02588018 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258801C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02588020 */ return;
|
|
}
|
|
|
|
// fn_02588028 @ 0x2588028
|
|
void Gambit_fn_02588028(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;
|
|
|
|
L_02588028: ; // 0x2588028
|
|
/* 02588028 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02588028 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588028 */ cpu->r[1] = _t0;
|
|
/* 0258802C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258802C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02588030 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02588030 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02588034 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02588034 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02588038 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02588038 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0258803C */ cpu->r[29] = cpu->r[3];
|
|
/* 02588040 */ _t5 = cpu->r[29] + 0x0000020Cu;
|
|
/* 02588040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02588044 */ _t6 = cpu->r[29] + 0x00000210u;
|
|
/* 02588044 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02588048 */ Gambit_fn_02032EA4(cpu);
|
|
/* 0258804C */ _t7 = cpu->r[29] + 0x0000020Cu;
|
|
/* 0258804C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02588050 */ cpu->r[30] = 0x101C0000u;
|
|
/* 02588054 */ _t8 = cpu->r[30] + 0x00004FA8u;
|
|
/* 02588054 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02588054 */ cpu->r[30] = _t8;
|
|
/* 02588058 */ _t9 = cpu->r[12] + 0x00000118u;
|
|
/* 02588058 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258805C */ /* nop */
|
|
/* 02588060 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02588060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02588064 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588064 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02588064 */ if (_t11) goto L_02588170; else goto L_02588068;
|
|
L_02588068: ; // 0x2588068
|
|
/* 02588068 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258806C */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 0258806C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02588070 */ _t13 = cpu->r[10] + 0x000020CCu;
|
|
/* 02588070 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02588074 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02588078 */ _t14 = cpu->r[10] + 0x00003840u;
|
|
/* 02588078 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02588078 */ cpu->r[10] = _t14;
|
|
/* 0258807C */ _t15 = cpu->r[10] + 0x00000004u;
|
|
/* 0258807C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02588080 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02588080 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02588084 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588084 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02588088 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02588088 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0258808C */ cpu->r[0] = 0x10110000u;
|
|
/* 02588090 */ _t19 = cpu->r[10] + 0x00000008u;
|
|
/* 02588090 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02588094 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02588094 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02588098 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF7Cu;
|
|
/* 0258809C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0258809C */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 025880A0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 025880A0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 025880A4 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 025880A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 025880A8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025880A8 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 025880AC */ _t25 = cpu->r[8] + 0x00000204u;
|
|
/* 025880AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025880B0 */ cpu->ctr = cpu->r[0];
|
|
/* 025880B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025880B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025880BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025880C0: ; // 0x25880c0
|
|
/* 025880C0 */ _t26 = cpu->r[29] + 0x0000020Cu;
|
|
/* 025880C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025880C4 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 025880C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 025880C8 */ _t28 = cpu->r[4] + 0x00000108u;
|
|
/* 025880C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 025880CC */ Gambit_fn_02031DAC(cpu);
|
|
/* 025880D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025880D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025880D4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025880D4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 025880D4 */ if (_t30) goto L_02588170; else goto L_025880D8;
|
|
L_025880D8: ; // 0x25880d8
|
|
/* 025880D8 */ _t31 = cpu->r[31] + 0x00000004u;
|
|
/* 025880D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025880DC */ _t32 = cpu->r[12] + 0x0000022Cu;
|
|
/* 025880DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025880E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025880E4 */ cpu->ctr = cpu->r[7];
|
|
/* 025880E8 */ cpu->r[6] = cpu->r[4];
|
|
/* 025880EC */ cpu->r[3] = cpu->r[31];
|
|
/* 025880F0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025880F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025880F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025880FC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025880FC */ _t34 = _t33 & 0x00000001u;
|
|
/* 025880FC */ if (_t34) goto L_025880C0; else goto L_02588100;
|
|
L_02588100: ; // 0x2588100
|
|
/* 02588100 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02588104 */ _t35 = cpu->r[11] + 0xFFFFFB70u;
|
|
/* 02588104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02588104 */ cpu->r[11] = _t35;
|
|
/* 02588108 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0258810C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02588110 */ cpu->r[4] = cpu->r[4] + 0xFFFFFBDCu;
|
|
/* 02588114 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588114 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02588114 */ if (_t37) goto L_02588118; else goto L_0258812C;
|
|
L_02588118: ; // 0x2588118
|
|
/* 02588118 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258811C */ cpu->r[6] = 0x00000001u;
|
|
/* 02588120 */ cpu->r[0] = cpu->r[0] + 0x00001F7Cu;
|
|
/* 02588124 */ _t38 = cpu->r[11] + 0x00000000u;
|
|
/* 02588124 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
/* 02588128 */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 02588128 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
L_0258812C: ; // 0x258812c
|
|
/* 0258812C */ _t40 = cpu->r[31] + 0x00000004u;
|
|
/* 0258812C */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02588130 */ _t41 = cpu->r[8] + 0x00000014u;
|
|
/* 02588130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02588134 */ cpu->ctr = cpu->r[11];
|
|
/* 02588138 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258813C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588144 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588144 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02588144 */ if (_t43) goto L_02588160; else goto L_02588148;
|
|
L_02588148: ; // 0x2588148
|
|
/* 02588148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258814C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258814C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0258814C */ if (_t45) goto L_02588160; else goto L_02588150;
|
|
L_02588150: ; // 0x2588150
|
|
/* 02588150 */ cpu->r[3] = cpu->r[31];
|
|
/* 02588154 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02588158 */ Gambit_fn_021C0AB8(cpu);
|
|
/* 0258815C */ goto L_025880C0;
|
|
L_02588160: ; // 0x2588160
|
|
/* 02588160 */ cpu->r[3] = cpu->r[29];
|
|
/* 02588164 */ cpu->r[4] = cpu->r[31];
|
|
/* 02588168 */ Gambit_fn_02587F74(cpu);
|
|
/* 0258816C */ goto L_025880C0;
|
|
L_02588170: ; // 0x2588170
|
|
/* 02588170 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02588170 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02588174 */ _t47 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02588174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02588178 */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 02588178 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258817C */ cpu->lr = cpu->r[0];
|
|
/* 02588180 */ _t49 = cpu->r[1] + 0x00000034u;
|
|
/* 02588180 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02588184 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02588188 */ return;
|
|
}
|
|
|
|
// fn_0258818C @ 0x258818c
|
|
void Gambit_fn_0258818C(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;
|
|
|
|
L_02588024: ; // 0x2588024
|
|
/* 02588024 */ cpu->r[0] = cpu->lr;
|
|
/* 02588028 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02588028 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588028 */ cpu->r[1] = _t0;
|
|
/* 0258802C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258802C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02588030 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02588030 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02588034 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02588034 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02588038 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02588038 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0258803C */ cpu->r[29] = cpu->r[3];
|
|
/* 02588040 */ _t5 = cpu->r[29] + 0x0000020Cu;
|
|
/* 02588040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02588044 */ _t6 = cpu->r[29] + 0x00000210u;
|
|
/* 02588044 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02588048 */ Gambit_fn_02032EA4(cpu);
|
|
/* 0258804C */ _t7 = cpu->r[29] + 0x0000020Cu;
|
|
/* 0258804C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02588050 */ cpu->r[30] = 0x101C0000u;
|
|
/* 02588054 */ _t8 = cpu->r[30] + 0x00004FA8u;
|
|
/* 02588054 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02588054 */ cpu->r[30] = _t8;
|
|
/* 02588058 */ _t9 = cpu->r[12] + 0x00000118u;
|
|
/* 02588058 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258805C */ /* nop */
|
|
/* 02588060 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02588060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02588064 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588064 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02588064 */ if (_t11) goto L_02588170; else goto L_02588068;
|
|
L_02588068: ; // 0x2588068
|
|
/* 02588068 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258806C */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 0258806C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02588070 */ _t13 = cpu->r[10] + 0x000020CCu;
|
|
/* 02588070 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02588074 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02588078 */ _t14 = cpu->r[10] + 0x00003840u;
|
|
/* 02588078 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02588078 */ cpu->r[10] = _t14;
|
|
/* 0258807C */ _t15 = cpu->r[10] + 0x00000004u;
|
|
/* 0258807C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02588080 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02588080 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02588084 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588084 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02588088 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02588088 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0258808C */ cpu->r[0] = 0x10110000u;
|
|
/* 02588090 */ _t19 = cpu->r[10] + 0x00000008u;
|
|
/* 02588090 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02588094 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02588094 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02588098 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF7Cu;
|
|
/* 0258809C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0258809C */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 025880A0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 025880A0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 025880A4 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 025880A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 025880A8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025880A8 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 025880AC */ _t25 = cpu->r[8] + 0x00000204u;
|
|
/* 025880AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025880B0 */ cpu->ctr = cpu->r[0];
|
|
/* 025880B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025880B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025880BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025880C0: ; // 0x25880c0
|
|
/* 025880C0 */ _t26 = cpu->r[29] + 0x0000020Cu;
|
|
/* 025880C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025880C4 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 025880C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 025880C8 */ _t28 = cpu->r[4] + 0x00000108u;
|
|
/* 025880C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 025880CC */ Gambit_fn_02031DAC(cpu);
|
|
/* 025880D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025880D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025880D4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025880D4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 025880D4 */ if (_t30) goto L_02588170; else goto L_025880D8;
|
|
L_025880D8: ; // 0x25880d8
|
|
/* 025880D8 */ _t31 = cpu->r[31] + 0x00000004u;
|
|
/* 025880D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025880DC */ _t32 = cpu->r[12] + 0x0000022Cu;
|
|
/* 025880DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025880E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025880E4 */ cpu->ctr = cpu->r[7];
|
|
/* 025880E8 */ cpu->r[6] = cpu->r[4];
|
|
/* 025880EC */ cpu->r[3] = cpu->r[31];
|
|
/* 025880F0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025880F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025880F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025880FC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025880FC */ _t34 = _t33 & 0x00000001u;
|
|
/* 025880FC */ if (_t34) goto L_025880C0; else goto L_02588100;
|
|
L_02588100: ; // 0x2588100
|
|
/* 02588100 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02588104 */ _t35 = cpu->r[11] + 0xFFFFFB70u;
|
|
/* 02588104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02588104 */ cpu->r[11] = _t35;
|
|
/* 02588108 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0258810C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02588110 */ cpu->r[4] = cpu->r[4] + 0xFFFFFBDCu;
|
|
/* 02588114 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588114 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02588114 */ if (_t37) goto L_02588118; else goto L_0258812C;
|
|
L_02588118: ; // 0x2588118
|
|
/* 02588118 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258811C */ cpu->r[6] = 0x00000001u;
|
|
/* 02588120 */ cpu->r[0] = cpu->r[0] + 0x00001F7Cu;
|
|
/* 02588124 */ _t38 = cpu->r[11] + 0x00000000u;
|
|
/* 02588124 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
/* 02588128 */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 02588128 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
L_0258812C: ; // 0x258812c
|
|
/* 0258812C */ _t40 = cpu->r[31] + 0x00000004u;
|
|
/* 0258812C */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02588130 */ _t41 = cpu->r[8] + 0x00000014u;
|
|
/* 02588130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02588134 */ cpu->ctr = cpu->r[11];
|
|
/* 02588138 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258813C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588144 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588144 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02588144 */ if (_t43) goto L_02588160; else goto L_02588148;
|
|
L_02588148: ; // 0x2588148
|
|
/* 02588148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258814C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258814C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0258814C */ if (_t45) goto L_02588160; else goto L_02588150;
|
|
L_02588150: ; // 0x2588150
|
|
/* 02588150 */ cpu->r[3] = cpu->r[31];
|
|
/* 02588154 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02588158 */ Gambit_fn_021C0AB8(cpu);
|
|
/* 0258815C */ goto L_025880C0;
|
|
L_02588160: ; // 0x2588160
|
|
/* 02588160 */ cpu->r[3] = cpu->r[29];
|
|
/* 02588164 */ cpu->r[4] = cpu->r[31];
|
|
/* 02588168 */ Gambit_fn_02587F74(cpu);
|
|
/* 0258816C */ goto L_025880C0;
|
|
L_02588170: ; // 0x2588170
|
|
/* 02588170 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02588170 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02588174 */ _t47 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02588174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02588178 */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 02588178 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258817C */ cpu->lr = cpu->r[0];
|
|
/* 02588180 */ _t49 = cpu->r[1] + 0x00000034u;
|
|
/* 02588180 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02588184 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02588188 */ return;
|
|
L_0258818C: ; // 0x258818c
|
|
/* 0258818C */ goto L_02588024;
|
|
}
|
|
|
|
// fn_02588190 @ 0x2588190
|
|
void Gambit_fn_02588190(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02588190: ; // 0x2588190
|
|
/* 02588190 */ cpu->r[0] = cpu->lr;
|
|
/* 02588194 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588194 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588194 */ cpu->r[1] = _t0;
|
|
/* 02588198 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588198 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258819C */ cpu->r[31] = cpu->r[3];
|
|
/* 025881A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025881A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025881A4 */ Gambit_fn_0258594C(cpu);
|
|
/* 025881A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025881AC */ Gambit_fn_02586088(cpu);
|
|
/* 025881B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025881B4 */ Gambit_fn_02585C18(cpu);
|
|
/* 025881B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025881BC */ cpu->r[4] = 0x00000000u;
|
|
/* 025881C0 */ Gambit_fn_0200300C(cpu);
|
|
/* 025881C4 */ _t3 = cpu->r[31] + 0x00000290u;
|
|
/* 025881C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025881C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025881CC */ _t4 = cpu->r[31] + 0x000002C4u;
|
|
/* 025881CC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 025881D0 */ _t5 = cpu->r[12] + 0x0000225Cu;
|
|
/* 025881D0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 025881D4 */ Gambit_fn_02390464(cpu);
|
|
/* 025881D8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 025881D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025881DC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025881DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025881E0 */ cpu->lr = cpu->r[0];
|
|
/* 025881E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025881E8 */ return;
|
|
}
|
|
|
|
// fn_02588194 @ 0x2588194
|
|
void Gambit_fn_02588194(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02588194: ; // 0x2588194
|
|
/* 02588194 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588194 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588194 */ cpu->r[1] = _t0;
|
|
/* 02588198 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588198 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258819C */ cpu->r[31] = cpu->r[3];
|
|
/* 025881A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025881A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025881A4 */ Gambit_fn_0258594C(cpu);
|
|
/* 025881A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025881AC */ Gambit_fn_02586088(cpu);
|
|
/* 025881B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025881B4 */ Gambit_fn_02585C18(cpu);
|
|
/* 025881B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025881BC */ cpu->r[4] = 0x00000000u;
|
|
/* 025881C0 */ Gambit_fn_0200300C(cpu);
|
|
/* 025881C4 */ _t3 = cpu->r[31] + 0x00000290u;
|
|
/* 025881C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025881C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025881CC */ _t4 = cpu->r[31] + 0x000002C4u;
|
|
/* 025881CC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 025881D0 */ _t5 = cpu->r[12] + 0x0000225Cu;
|
|
/* 025881D0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 025881D4 */ Gambit_fn_02390464(cpu);
|
|
/* 025881D8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 025881D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025881DC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025881DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025881E0 */ cpu->lr = cpu->r[0];
|
|
/* 025881E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025881E8 */ return;
|
|
}
|
|
|
|
// fn_025881EC @ 0x25881ec
|
|
void Gambit_fn_025881EC(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_02585704: ; // 0x2585704
|
|
/* 02585704 */ cpu->r[0] = cpu->lr;
|
|
/* 02585708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585708 */ cpu->r[1] = _t0;
|
|
/* 0258570C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258570C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02585710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02585714 */ cpu->r[10] = 0x10110000u;
|
|
/* 02585718 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02585718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258571C */ _t3 = cpu->r[31] + 0x000001DCu;
|
|
/* 0258571C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02585720 */ _t4 = cpu->r[10] + 0x00007399u;
|
|
/* 02585720 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02585724 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02585724 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02585728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0258572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258572C */ if (_t7) goto L_02585744; else goto L_02585730;
|
|
L_02585730: ; // 0x2585730
|
|
/* 02585730 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02585730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02585734 */ cpu->r[4] = cpu->r[31] + 0x000001DCu;
|
|
/* 02585738 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258573C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258573C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02585740 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02585740 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02585744: ; // 0x2585744
|
|
/* 02585744 */ _t11 = cpu->r[31] + 0x000001D9u;
|
|
/* 02585744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02585748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258574C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258574C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258574C */ if (_t13) goto L_02585790; else goto L_02585750;
|
|
L_02585750: ; // 0x2585750
|
|
/* 02585750 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02585750 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585758 */ _t15 = cpu->r[31] + 0x000001CCu;
|
|
/* 02585758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258575C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0258575C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585760 */ cpu->f[1] = cpu->f[0] - cpu->f[12];
|
|
/* 02585764 */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02585764 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02585768 */ cpu->f[2] = cpu->f[0] + cpu->f[12];
|
|
/* 0258576C */ _t18 = cpu->r[3] + 0x00005444u;
|
|
/* 0258576C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02585770 */ cpu->f[4] = cpu->f[13] + cpu->f[12];
|
|
/* 02585774 */ _t19 = cpu->r[31] + 0x00000210u;
|
|
/* 02585774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585778 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258577C */ cpu->f[3] = cpu->f[13] - cpu->f[12];
|
|
/* 02585780 */ _t20 = cpu->r[4] + 0x00006CB0u;
|
|
/* 02585780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585784 */ cpu->r[5] = cpu->r[31];
|
|
/* 02585788 */ Gambit_fn_02031B20(cpu);
|
|
/* 0258578C */ _t21 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0258578C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_02585790: ; // 0x2585790
|
|
/* 02585790 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02585790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585794 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02585798 */ cpu->lr = cpu->r[0];
|
|
/* 0258579C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857A0 */ return;
|
|
L_025881EC: ; // 0x25881ec
|
|
/* 025881EC */ goto L_02585704;
|
|
}
|
|
|
|
// fn_025881F0 @ 0x25881f0
|
|
void Gambit_fn_025881F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_025857A4: ; // 0x25857a4
|
|
/* 025857A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025857A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025857A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025857A8 */ cpu->r[1] = _t0;
|
|
/* 025857AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025857B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025857B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025857B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025857B8 */ _t3 = cpu->r[31] + 0x000001D9u;
|
|
/* 025857B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025857BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025857C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025857C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025857C0 */ if (_t5) goto L_025857DC; else goto L_025857C4;
|
|
L_025857C4: ; // 0x25857c4
|
|
/* 025857C4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 025857C8 */ _t6 = cpu->r[3] + 0x00001D14u;
|
|
/* 025857C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025857CC */ cpu->r[4] = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 025857D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 025857D8 */ _t7 = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_025857DC: ; // 0x25857dc
|
|
/* 025857DC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025857DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025857E0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025857E4 */ cpu->lr = cpu->r[0];
|
|
/* 025857E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857EC */ return;
|
|
L_025881F0: ; // 0x25881f0
|
|
/* 025881F0 */ goto L_025857A4;
|
|
}
|
|
|
|
// fn_025881F4 @ 0x25881f4
|
|
void Gambit_fn_025881F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025881F4: ; // 0x25881f4
|
|
/* 025881F4 */ cpu->r[0] = cpu->lr;
|
|
/* 025881F8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025881F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025881F8 */ cpu->r[1] = _t0;
|
|
/* 025881FC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025881FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02588200 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02588204 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02588204 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02588208 */ Gambit_fn_021729AC(cpu);
|
|
/* 0258820C */ cpu->r[12] = 0x00000005u;
|
|
/* 02588210 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02588214 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02588218 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02588218 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0258821C */ cpu->r[31] = 0x00000000u;
|
|
/* 02588220 */ Gambit_fn_02172B08(cpu);
|
|
/* 02588224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588228 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588228 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02588228 */ if (_t5) goto L_0258824C; else goto L_0258822C;
|
|
L_0258822C: ; // 0x258822c
|
|
/* 0258822C */ cpu->r[0] = 0x00000007u;
|
|
/* 02588230 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02588234 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588238 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588238 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258823C */ Gambit_fn_02172B08(cpu);
|
|
/* 02588240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588244 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588244 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02588244 */ if (_t8) goto L_02588248; else goto L_0258824C;
|
|
L_02588248: ; // 0x2588248
|
|
/* 02588248 */ cpu->r[31] = 0x00000001u;
|
|
L_0258824C: ; // 0x258824c
|
|
/* 0258824C */ cpu->r[4] = 0x00000002u;
|
|
/* 02588250 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02588254 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02588258 */ Gambit_fn_02172A44(cpu);
|
|
/* 0258825C */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0258825C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02588260 */ cpu->r[3] = cpu->r[31];
|
|
/* 02588264 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02588268 */ cpu->lr = cpu->r[0];
|
|
/* 0258826C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02588270 */ return;
|
|
}
|
|
|
|
// fn_025881F8 @ 0x25881f8
|
|
void Gambit_fn_025881F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025881F8: ; // 0x25881f8
|
|
/* 025881F8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025881F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025881F8 */ cpu->r[1] = _t0;
|
|
/* 025881FC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025881FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02588200 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02588204 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02588204 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02588208 */ Gambit_fn_021729AC(cpu);
|
|
/* 0258820C */ cpu->r[12] = 0x00000005u;
|
|
/* 02588210 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02588214 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02588218 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02588218 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0258821C */ cpu->r[31] = 0x00000000u;
|
|
/* 02588220 */ Gambit_fn_02172B08(cpu);
|
|
/* 02588224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588228 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588228 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02588228 */ if (_t5) goto L_0258824C; else goto L_0258822C;
|
|
L_0258822C: ; // 0x258822c
|
|
/* 0258822C */ cpu->r[0] = 0x00000007u;
|
|
/* 02588230 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02588234 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588238 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588238 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258823C */ Gambit_fn_02172B08(cpu);
|
|
/* 02588240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588244 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588244 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02588244 */ if (_t8) goto L_02588248; else goto L_0258824C;
|
|
L_02588248: ; // 0x2588248
|
|
/* 02588248 */ cpu->r[31] = 0x00000001u;
|
|
L_0258824C: ; // 0x258824c
|
|
/* 0258824C */ cpu->r[4] = 0x00000002u;
|
|
/* 02588250 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02588254 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02588258 */ Gambit_fn_02172A44(cpu);
|
|
/* 0258825C */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0258825C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02588260 */ cpu->r[3] = cpu->r[31];
|
|
/* 02588264 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02588268 */ cpu->lr = cpu->r[0];
|
|
/* 0258826C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02588270 */ return;
|
|
}
|
|
|
|
// fn_02588274 @ 0x2588274
|
|
void Gambit_fn_02588274(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_02588274: ; // 0x2588274
|
|
/* 02588274 */ cpu->r[0] = cpu->lr;
|
|
/* 02588278 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02588278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588278 */ cpu->r[1] = _t0;
|
|
/* 0258827C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258827C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02588280 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02588280 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02588284 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02588284 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02588288 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02588288 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0258828C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258828C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02588290 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02588294 */ cpu->r[28] = cpu->r[3];
|
|
/* 02588298 */ _t6 = cpu->r[29] + 0x00006000u;
|
|
/* 02588298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258829C */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 0258829C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025882A0 */ _t8 = cpu->r[10] + 0x00000154u;
|
|
/* 025882A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025882A4 */ cpu->ctr = cpu->r[0];
|
|
/* 025882A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 025882AC */ cpu->r[31] = 0x00000001u;
|
|
/* 025882B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025882B4 */ _t9 = cpu->r[29] + 0x00006000u;
|
|
/* 025882B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025882B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 025882BC */ _t10 = cpu->r[12] + 0x00000268u;
|
|
/* 025882BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025882C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025882C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025882C0 */ if (_t12) goto L_025882C4; else goto L_025882C8;
|
|
L_025882C4: ; // 0x25882c4
|
|
/* 025882C4 */ cpu->r[31] = 0x00000000u;
|
|
L_025882C8: ; // 0x25882c8
|
|
/* 025882C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 025882CC */ Gambit_fn_0261F774(cpu);
|
|
/* 025882D0 */ cpu->r[4] = cpu->r[3];
|
|
/* 025882D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025882D8 */ Gambit_fn_0261F55C(cpu);
|
|
/* 025882DC */ _t13 = cpu->r[3] + 0x00000518u;
|
|
/* 025882DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 025882E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025882E4 */ _t14 = cpu->r[28] + 0x000002CCu;
|
|
/* 025882E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025882E8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025882E8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025882E8 */ if (_t16) goto L_025882F0; else goto L_025882EC;
|
|
L_025882EC: ; // 0x25882ec
|
|
/* 025882EC */ cpu->r[31] = 0x00000000u;
|
|
L_025882F0: ; // 0x25882f0
|
|
/* 025882F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025882F4 */ Gambit_fn_023932C0(cpu);
|
|
/* 025882F8 */ _t17 = cpu->r[28] + 0x000002DCu;
|
|
/* 025882F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025882FC */ cpu->r[4] = cpu->r[30];
|
|
/* 02588300 */ Gambit_fn_0224AD1C(cpu);
|
|
/* 02588304 */ _t18 = cpu->r[28] + 0x000002D8u;
|
|
/* 02588304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02588308 */ Gambit_fn_027C7B9C(cpu);
|
|
/* 0258830C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0258830C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02588310 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588310 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02588314 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02588318 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02588318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258831C */ cpu->lr = cpu->r[0];
|
|
/* 02588320 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02588320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02588324 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02588328 */ return;
|
|
}
|
|
|
|
// fn_02588278 @ 0x2588278
|
|
void Gambit_fn_02588278(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_02588278: ; // 0x2588278
|
|
/* 02588278 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02588278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588278 */ cpu->r[1] = _t0;
|
|
/* 0258827C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258827C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02588280 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02588280 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02588284 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02588284 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02588288 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02588288 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0258828C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258828C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02588290 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02588294 */ cpu->r[28] = cpu->r[3];
|
|
/* 02588298 */ _t6 = cpu->r[29] + 0x00006000u;
|
|
/* 02588298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258829C */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 0258829C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025882A0 */ _t8 = cpu->r[10] + 0x00000154u;
|
|
/* 025882A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025882A4 */ cpu->ctr = cpu->r[0];
|
|
/* 025882A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 025882AC */ cpu->r[31] = 0x00000001u;
|
|
/* 025882B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025882B4 */ _t9 = cpu->r[29] + 0x00006000u;
|
|
/* 025882B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025882B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 025882BC */ _t10 = cpu->r[12] + 0x00000268u;
|
|
/* 025882BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025882C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025882C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025882C0 */ if (_t12) goto L_025882C4; else goto L_025882C8;
|
|
L_025882C4: ; // 0x25882c4
|
|
/* 025882C4 */ cpu->r[31] = 0x00000000u;
|
|
L_025882C8: ; // 0x25882c8
|
|
/* 025882C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 025882CC */ Gambit_fn_0261F774(cpu);
|
|
/* 025882D0 */ cpu->r[4] = cpu->r[3];
|
|
/* 025882D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025882D8 */ Gambit_fn_0261F55C(cpu);
|
|
/* 025882DC */ _t13 = cpu->r[3] + 0x00000518u;
|
|
/* 025882DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 025882E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025882E4 */ _t14 = cpu->r[28] + 0x000002CCu;
|
|
/* 025882E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025882E8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025882E8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025882E8 */ if (_t16) goto L_025882F0; else goto L_025882EC;
|
|
L_025882EC: ; // 0x25882ec
|
|
/* 025882EC */ cpu->r[31] = 0x00000000u;
|
|
L_025882F0: ; // 0x25882f0
|
|
/* 025882F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025882F4 */ Gambit_fn_023932C0(cpu);
|
|
/* 025882F8 */ _t17 = cpu->r[28] + 0x000002DCu;
|
|
/* 025882F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025882FC */ cpu->r[4] = cpu->r[30];
|
|
/* 02588300 */ Gambit_fn_0224AD1C(cpu);
|
|
/* 02588304 */ _t18 = cpu->r[28] + 0x000002D8u;
|
|
/* 02588304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02588308 */ Gambit_fn_027C7B9C(cpu);
|
|
/* 0258830C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0258830C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02588310 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588310 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02588314 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02588318 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02588318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258831C */ cpu->lr = cpu->r[0];
|
|
/* 02588320 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02588320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02588324 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02588328 */ return;
|
|
}
|
|
|
|
// fn_0258835C @ 0x258835c
|
|
void Gambit_fn_0258835C(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_0258835C: ; // 0x258835c
|
|
/* 0258835C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258835C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258835C */ cpu->r[1] = _t0;
|
|
/* 02588360 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02588360 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02588364 */ cpu->r[31] = cpu->r[3];
|
|
/* 02588368 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02588368 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0258836C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02588370 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588370 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02588374 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 02588374 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02588378 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02588378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258837C */ _t6 = cpu->r[9] + 0x00000154u;
|
|
/* 0258837C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02588380 */ cpu->ctr = cpu->r[11];
|
|
/* 02588384 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 0258838C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258838C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0258838C */ if (_t8) goto L_02588458; else goto L_02588390;
|
|
L_02588390: ; // 0x2588390
|
|
/* 02588390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02588394 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588394 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02588394 */ if (_t10) goto L_02588458; else goto L_02588398;
|
|
L_02588398: ; // 0x2588398
|
|
/* 02588398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000008u);
|
|
/* 0258839C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258839C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258839C */ if (_t12) goto L_02588458; else goto L_025883A0;
|
|
L_025883A0: ; // 0x25883a0
|
|
/* 025883A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 025883A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025883A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 025883A4 */ if (_t14) goto L_02588458; else goto L_025883A8;
|
|
L_025883A8: ; // 0x25883a8
|
|
/* 025883A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 025883AC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025883AC */ _t16 = _t15 & 0x00000001u;
|
|
/* 025883AC */ if (_t16) goto L_02588458; else goto L_025883B0;
|
|
L_025883B0: ; // 0x25883b0
|
|
/* 025883B0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025883B4 */ _t17 = cpu->r[31] + 0x00000080u;
|
|
/* 025883B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025883B8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025883BC */ cpu->r[12] = cpu->r[12] + 0x00001E6Cu;
|
|
/* 025883C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025883C4 */ cpu->r[0] = cpu->r[0] + 0x00002274u;
|
|
/* 025883C8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025883C8 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 025883CC */ cpu->r[30] = 0x00000000u;
|
|
/* 025883D0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 025883D0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 025883D4 */ Gambit_fn_023989C0(cpu);
|
|
/* 025883D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025883DC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025883DC */ _t21 = _t20 & 0x00000001u;
|
|
/* 025883DC */ if (_t21) goto L_025883F4; else goto L_025883E0;
|
|
L_025883E0: ; // 0x25883e0
|
|
/* 025883E0 */ _t22 = cpu->r[31] + 0x00000080u;
|
|
/* 025883E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025883E4 */ Gambit_fn_02398FA8(cpu);
|
|
/* 025883E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025883EC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025883EC */ _t24 = _t23 & 0x00000001u;
|
|
/* 025883EC */ if (_t24) goto L_025883F4; else goto L_025883F0;
|
|
L_025883F0: ; // 0x25883f0
|
|
/* 025883F0 */ cpu->r[30] = 0x00000001u;
|
|
L_025883F4: ; // 0x25883f4
|
|
/* 025883F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025883F8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025883F8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 025883F8 */ if (_t26) goto L_02588410; else goto L_025883FC;
|
|
L_025883FC: ; // 0x25883fc
|
|
/* 025883FC */ cpu->r[4] = 0x100D0000u;
|
|
/* 02588400 */ cpu->r[5] = 0x00000001u;
|
|
/* 02588404 */ _t27 = cpu->r[31] + 0x00000080u;
|
|
/* 02588404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02588408 */ cpu->r[4] = cpu->r[4] + 0x0000227Cu;
|
|
/* 0258840C */ Gambit_fn_02398850(cpu);
|
|
L_02588410: ; // 0x2588410
|
|
/* 02588410 */ _t28 = cpu->r[31] + 0x000002D5u;
|
|
/* 02588410 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02588414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588418 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588418 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02588418 */ if (_t30) goto L_0258842C; else goto L_0258841C;
|
|
L_0258841C: ; // 0x258841c
|
|
/* 0258841C */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 02588420 */ cpu->r[4] = 0x00000001u;
|
|
/* 02588424 */ Gambit_fn_024B96AC(cpu);
|
|
/* 02588428 */ goto L_02588458;
|
|
L_0258842C: ; // 0x258842c
|
|
/* 0258842C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02588430 */ _t31 = cpu->r[31] + 0x000002C4u;
|
|
/* 02588430 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02588434 */ _t32 = cpu->r[12] + 0x0000225Cu;
|
|
/* 02588434 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02588438 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0258843C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258843C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0258843C */ if (_t34) goto L_02588440; else goto L_02588458;
|
|
L_02588440: ; // 0x2588440
|
|
/* 02588440 */ _t35 = cpu->r[31] + 0x000002C8u;
|
|
/* 02588440 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02588444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000012Cu);
|
|
/* 02588448 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02588448 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02588448 */ if (_t37) goto L_0258844C; else goto L_02588458;
|
|
L_0258844C: ; // 0x258844c
|
|
/* 0258844C */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 02588450 */ cpu->r[4] = 0x00000002u;
|
|
/* 02588454 */ Gambit_fn_024B96AC(cpu);
|
|
L_02588458: ; // 0x2588458
|
|
/* 02588458 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258845C */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0258845C */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02588460 */ cpu->lr = cpu->r[0];
|
|
/* 02588464 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02588464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02588468 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258846C */ return;
|
|
}
|
|
|
|
// fn_02588474 @ 0x2588474
|
|
void Gambit_fn_02588474(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02588474: ; // 0x2588474
|
|
/* 02588474 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588474 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588474 */ cpu->r[1] = _t0;
|
|
/* 02588478 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588478 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258847C */ cpu->r[31] = cpu->r[3];
|
|
/* 02588480 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02588480 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02588484 */ _t3 = cpu->r[31] + 0x00000259u;
|
|
/* 02588484 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02588488 */ cpu->r[4] = 0x100D0000u;
|
|
/* 0258848C */ /* nop */
|
|
/* 02588490 */ cpu->r[4] = cpu->r[4] + 0x00002284u;
|
|
/* 02588494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02588498 */ _t4 = cpu->r[31] + 0x00000080u;
|
|
/* 02588498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258849C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258849C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258849C */ if (_t6) goto L_025884A0; else goto L_025884A8;
|
|
L_025884A0: ; // 0x25884a0
|
|
/* 025884A0 */ cpu->r[4] = 0x100D0000u;
|
|
/* 025884A4 */ cpu->r[4] = cpu->r[4] + 0x0000228Cu;
|
|
L_025884A8: ; // 0x25884a8
|
|
/* 025884A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 025884AC */ Gambit_fn_02398850(cpu);
|
|
/* 025884B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 025884B4 */ _t7 = cpu->r[31] + 0x000002D5u;
|
|
/* 025884B4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 025884B8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025884B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025884BC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025884BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025884C0 */ cpu->lr = cpu->r[0];
|
|
/* 025884C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025884C8 */ return;
|
|
}
|
|
|
|
// fn_025884D4 @ 0x25884d4
|
|
void Gambit_fn_025884D4(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_025884D4: ; // 0x25884d4
|
|
/* 025884D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025884D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025884D4 */ cpu->r[1] = _t0;
|
|
/* 025884D8 */ cpu->r[11] = cpu->r[11] + 0x00002294u;
|
|
/* 025884DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 025884DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025884E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025884E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 025884E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025884E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 025884E8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025884EC */ cpu->r[30] = cpu->r[3];
|
|
/* 025884F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025884F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025884F4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025884F8 */ _t5 = cpu->r[30] + 0x00000080u;
|
|
/* 025884F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025884FC */ cpu->r[0] = cpu->r[0] + 0x00001E6Cu;
|
|
/* 02588500 */ cpu->r[31] = 0x00000000u;
|
|
/* 02588504 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588504 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02588508 */ Gambit_fn_023989C0(cpu);
|
|
/* 0258850C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588510 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588510 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02588510 */ if (_t8) goto L_02588528; else goto L_02588514;
|
|
L_02588514: ; // 0x2588514
|
|
/* 02588514 */ _t9 = cpu->r[30] + 0x00000080u;
|
|
/* 02588514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02588518 */ Gambit_fn_02398FA8(cpu);
|
|
/* 0258851C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588520 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588520 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02588520 */ if (_t11) goto L_02588528; else goto L_02588524;
|
|
L_02588524: ; // 0x2588524
|
|
/* 02588524 */ cpu->r[31] = 0x00000001u;
|
|
L_02588528: ; // 0x2588528
|
|
/* 02588528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258852C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258852C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258852C */ if (_t13) goto L_02588544; else goto L_02588530;
|
|
L_02588530: ; // 0x2588530
|
|
/* 02588530 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02588534 */ cpu->r[5] = 0x00000001u;
|
|
/* 02588538 */ _t14 = cpu->r[30] + 0x00000080u;
|
|
/* 02588538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258853C */ cpu->r[4] = cpu->r[4] + 0x0000229Cu;
|
|
/* 02588540 */ Gambit_fn_02398850(cpu);
|
|
L_02588544: ; // 0x2588544
|
|
/* 02588544 */ _t15 = cpu->r[30] + 0x000002D5u;
|
|
/* 02588544 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02588548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258854C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258854C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258854C */ if (_t17) goto L_02588560; else goto L_02588550;
|
|
L_02588550: ; // 0x2588550
|
|
/* 02588550 */ cpu->r[3] = cpu->r[30] + 0x0000024Cu;
|
|
/* 02588554 */ cpu->r[4] = 0x00000001u;
|
|
/* 02588558 */ Gambit_fn_024B96AC(cpu);
|
|
/* 0258855C */ goto L_02588578;
|
|
L_02588560: ; // 0x2588560
|
|
/* 02588560 */ _t18 = cpu->r[30] + 0x00000254u;
|
|
/* 02588560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02588564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000F0u);
|
|
/* 02588568 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02588568 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02588568 */ if (_t20) goto L_02588578; else goto L_0258856C;
|
|
L_0258856C: ; // 0x258856c
|
|
/* 0258856C */ cpu->r[3] = cpu->r[30] + 0x0000024Cu;
|
|
/* 02588570 */ cpu->r[4] = 0x00000000u;
|
|
/* 02588574 */ Gambit_fn_024B96AC(cpu);
|
|
L_02588578: ; // 0x2588578
|
|
/* 02588578 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258857C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0258857C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02588580 */ cpu->lr = cpu->r[0];
|
|
/* 02588584 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02588584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02588588 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258858C */ return;
|
|
}
|
|
|
|
// fn_025885A8 @ 0x25885a8
|
|
void Gambit_fn_025885A8(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;
|
|
|
|
L_025885A8: ; // 0x25885a8
|
|
/* 025885A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025885A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025885A8 */ cpu->r[1] = _t0;
|
|
/* 025885AC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 025885AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025885B0 */ /* nop */
|
|
/* 025885B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025885B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025885B8 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 025885B8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 025885BC */ cpu->r[31] = cpu->r[3];
|
|
/* 025885C0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 025885C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025885C4 */ _t5 = cpu->r[31] + 0x00000254u;
|
|
/* 025885C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025885C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025885CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u);
|
|
/* 025885D0 */ _t6 = cpu->r[12] + 0x0000225Cu;
|
|
/* 025885D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 025885D4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025885D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025885D4 */ if (_t8) goto L_0258860C; else goto L_025885D8;
|
|
L_025885D8: ; // 0x25885d8
|
|
/* 025885D8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025885DC */ _t9 = cpu->r[31] + 0x000002C4u;
|
|
/* 025885DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 025885E0 */ _t10 = cpu->r[12] + 0x000022ACu;
|
|
/* 025885E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 025885E4 */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 025885E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 025885EC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025885EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 025885EC */ if (_t12) goto L_02588608; else goto L_025885F0;
|
|
L_025885F0: ; // 0x25885f0
|
|
/* 025885F0 */ _t13 = cpu->r[31] + 0x00000080u;
|
|
/* 025885F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025885F4 */ _t14 = cpu->r[31] + 0x000002C4u;
|
|
/* 025885F4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 025885F8 */ Gambit_fn_02398FA8(cpu);
|
|
/* 025885FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588600 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588600 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02588600 */ if (_t16) goto L_0258862C; else goto L_02588604;
|
|
L_02588604: ; // 0x2588604
|
|
/* 02588604 */ goto L_0258861C;
|
|
L_02588608: ; // 0x2588608
|
|
/* 02588608 */ _t17 = cpu->r[31] + 0x000002C4u;
|
|
/* 02588608 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
L_0258860C: ; // 0x258860c
|
|
/* 0258860C */ _t18 = cpu->r[31] + 0x00000080u;
|
|
/* 0258860C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02588610 */ Gambit_fn_02398FA8(cpu);
|
|
/* 02588614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588618 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588618 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02588618 */ if (_t20) goto L_0258862C; else goto L_0258861C;
|
|
L_0258861C: ; // 0x258861c
|
|
/* 0258861C */ cpu->r[4] = 0x00000000u;
|
|
/* 02588620 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 02588624 */ _t21 = cpu->r[31] + 0x000002C4u;
|
|
/* 02588624 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
|
|
/* 02588628 */ Gambit_fn_024B96AC(cpu);
|
|
L_0258862C: ; // 0x258862c
|
|
/* 0258862C */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0258862C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02588630 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02588634 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02588634 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02588638 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02588638 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02588638 */ if (_t26) goto L_0258863C; // else: addr-0 trap, fall-through
|
|
L_0258863C: ; // 0x258863c
|
|
/* 0258863C */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 0258863C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02588640 */ cpu->lr = cpu->r[0];
|
|
/* 02588644 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02588648 */ return;
|
|
}
|
|
|
|
// fn_0258864C @ 0x258864c
|
|
void Gambit_fn_0258864C(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_0258864C: ; // 0x258864c
|
|
/* 0258864C */ cpu->r[0] = cpu->lr;
|
|
/* 02588650 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588650 */ cpu->r[1] = _t0;
|
|
/* 02588654 */ cpu->r[7] = 0x00000002u;
|
|
/* 02588658 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588658 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258865C */ cpu->r[8] = 0x100D0000u;
|
|
/* 02588660 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02588660 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 02588664 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02588668 */ cpu->r[10] = 0xFFFFFFFDu;
|
|
/* 0258866C */ _t3 = cpu->r[7] + 0x000020CCu;
|
|
/* 0258866C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02588670 */ _t4 = cpu->r[8] + 0x000022B0u;
|
|
/* 02588670 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02588674 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02588678 */ cpu->r[6] = 0x101F0000u;
|
|
/* 0258867C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0258867C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02588680 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02588684 */ _t6 = cpu->r[6] + 0xFFFFB5B0u;
|
|
/* 02588684 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02588684 */ cpu->r[6] = _t6;
|
|
/* 02588688 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258868C */ _t7 = cpu->r[6] + 0x00000004u;
|
|
/* 0258868C */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02588690 */ cpu->r[6] = 0xFFFFFFFEu;
|
|
/* 02588694 */ _t8 = cpu->r[12] + 0xFFFFB5C0u;
|
|
/* 02588694 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02588694 */ cpu->r[12] = _t8;
|
|
/* 02588698 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258869C */ _t9 = cpu->r[11] + 0xFFFFB5B8u;
|
|
/* 0258869C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0258869C */ cpu->r[11] = _t9;
|
|
/* 025886A0 */ cpu->r[3] = cpu->r[3] + 0xFFFFB5E8u;
|
|
/* 025886A4 */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 025886A4 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 025886A8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025886AC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 025886AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025886B0 */ cpu->r[6] = 0x100D0000u;
|
|
/* 025886B4 */ _t12 = cpu->r[11] + 0xFFFFB5DCu;
|
|
/* 025886B4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 025886B4 */ cpu->r[11] = _t12;
|
|
/* 025886B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 025886BC */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 025886BC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 025886C0 */ cpu->r[8] = 0x101F0000u;
|
|
/* 025886C4 */ _t14 = cpu->r[11] + 0x00000008u;
|
|
/* 025886C4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 025886C8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025886CC */ _t15 = cpu->r[11] + 0xFFFFB5D8u;
|
|
/* 025886CC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 025886D0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025886D4 */ _t16 = cpu->r[8] + 0xFFFFB5C8u;
|
|
/* 025886D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 025886D4 */ cpu->r[8] = _t16;
|
|
/* 025886D8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025886DC */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 025886DC */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 025886E0 */ cpu->r[31] = 0x100D0000u;
|
|
/* 025886E4 */ _t18 = cpu->r[11] + 0xFFFFB5D0u;
|
|
/* 025886E4 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 025886E4 */ cpu->r[11] = _t18;
|
|
/* 025886E8 */ cpu->r[31] = cpu->r[31] + 0x00001E6Cu;
|
|
/* 025886EC */ _t19 = cpu->r[11] + 0x00000004u;
|
|
/* 025886EC */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 025886F0 */ cpu->r[0] = cpu->r[0] + 0x000022B4u;
|
|
/* 025886F4 */ _t20 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025886F4 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 025886F8 */ cpu->r[6] = cpu->r[6] + 0x00001FACu;
|
|
/* 025886FC */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 025886FC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02588700 */ cpu->r[0] = 0x02590000u;
|
|
/* 02588704 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 02588704 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 02588708 */ cpu->r[0] = cpu->r[0] + 0xFFFF8FECu;
|
|
/* 0258870C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0258870C */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02588710 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 02588710 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02588714 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 02588714 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02588718 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0258871C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02588720 */ cpu->r[3] = cpu->r[3] + 0x00006CB4u;
|
|
/* 02588724 */ Gambit_fn_02C83090(cpu);
|
|
/* 02588728 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258872C */ cpu->r[6] = 0x00000000u;
|
|
/* 02588730 */ cpu->r[3] = cpu->r[3] + 0xFFFFB5FCu;
|
|
/* 02588734 */ _t26 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02588734 */ rbrew_write32(cpu->mem, _t26, cpu->r[31]);
|
|
/* 02588738 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258873C */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 0258873C */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02588740 */ cpu->r[0] = cpu->r[0] + 0x000022C4u;
|
|
/* 02588744 */ _t28 = cpu->r[3] + 0x00000010u;
|
|
/* 02588744 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 02588748 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02588748 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0258874C */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 0258874C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02588750 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02588754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02588758 */ cpu->r[3] = cpu->r[3] + 0x00006CC0u;
|
|
/* 0258875C */ Gambit_fn_02C83090(cpu);
|
|
/* 02588760 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02588760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02588764 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02588768 */ cpu->lr = cpu->r[0];
|
|
/* 0258876C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02588770 */ return;
|
|
}
|
|
|
|
// fn_02588650 @ 0x2588650
|
|
void Gambit_fn_02588650(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_02588650: ; // 0x2588650
|
|
/* 02588650 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588650 */ cpu->r[1] = _t0;
|
|
/* 02588654 */ cpu->r[7] = 0x00000002u;
|
|
/* 02588658 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588658 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258865C */ cpu->r[8] = 0x100D0000u;
|
|
/* 02588660 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02588660 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 02588664 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02588668 */ cpu->r[10] = 0xFFFFFFFDu;
|
|
/* 0258866C */ _t3 = cpu->r[7] + 0x000020CCu;
|
|
/* 0258866C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02588670 */ _t4 = cpu->r[8] + 0x000022B0u;
|
|
/* 02588670 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02588674 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02588678 */ cpu->r[6] = 0x101F0000u;
|
|
/* 0258867C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0258867C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02588680 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02588684 */ _t6 = cpu->r[6] + 0xFFFFB5B0u;
|
|
/* 02588684 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02588684 */ cpu->r[6] = _t6;
|
|
/* 02588688 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258868C */ _t7 = cpu->r[6] + 0x00000004u;
|
|
/* 0258868C */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02588690 */ cpu->r[6] = 0xFFFFFFFEu;
|
|
/* 02588694 */ _t8 = cpu->r[12] + 0xFFFFB5C0u;
|
|
/* 02588694 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02588694 */ cpu->r[12] = _t8;
|
|
/* 02588698 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258869C */ _t9 = cpu->r[11] + 0xFFFFB5B8u;
|
|
/* 0258869C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0258869C */ cpu->r[11] = _t9;
|
|
/* 025886A0 */ cpu->r[3] = cpu->r[3] + 0xFFFFB5E8u;
|
|
/* 025886A4 */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 025886A4 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 025886A8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025886AC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 025886AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025886B0 */ cpu->r[6] = 0x100D0000u;
|
|
/* 025886B4 */ _t12 = cpu->r[11] + 0xFFFFB5DCu;
|
|
/* 025886B4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 025886B4 */ cpu->r[11] = _t12;
|
|
/* 025886B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 025886BC */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 025886BC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 025886C0 */ cpu->r[8] = 0x101F0000u;
|
|
/* 025886C4 */ _t14 = cpu->r[11] + 0x00000008u;
|
|
/* 025886C4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 025886C8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025886CC */ _t15 = cpu->r[11] + 0xFFFFB5D8u;
|
|
/* 025886CC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 025886D0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025886D4 */ _t16 = cpu->r[8] + 0xFFFFB5C8u;
|
|
/* 025886D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 025886D4 */ cpu->r[8] = _t16;
|
|
/* 025886D8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025886DC */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 025886DC */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 025886E0 */ cpu->r[31] = 0x100D0000u;
|
|
/* 025886E4 */ _t18 = cpu->r[11] + 0xFFFFB5D0u;
|
|
/* 025886E4 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 025886E4 */ cpu->r[11] = _t18;
|
|
/* 025886E8 */ cpu->r[31] = cpu->r[31] + 0x00001E6Cu;
|
|
/* 025886EC */ _t19 = cpu->r[11] + 0x00000004u;
|
|
/* 025886EC */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 025886F0 */ cpu->r[0] = cpu->r[0] + 0x000022B4u;
|
|
/* 025886F4 */ _t20 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025886F4 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 025886F8 */ cpu->r[6] = cpu->r[6] + 0x00001FACu;
|
|
/* 025886FC */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 025886FC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02588700 */ cpu->r[0] = 0x02590000u;
|
|
/* 02588704 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 02588704 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 02588708 */ cpu->r[0] = cpu->r[0] + 0xFFFF8FECu;
|
|
/* 0258870C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0258870C */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02588710 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 02588710 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02588714 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 02588714 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02588718 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0258871C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02588720 */ cpu->r[3] = cpu->r[3] + 0x00006CB4u;
|
|
/* 02588724 */ Gambit_fn_02C83090(cpu);
|
|
/* 02588728 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258872C */ cpu->r[6] = 0x00000000u;
|
|
/* 02588730 */ cpu->r[3] = cpu->r[3] + 0xFFFFB5FCu;
|
|
/* 02588734 */ _t26 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02588734 */ rbrew_write32(cpu->mem, _t26, cpu->r[31]);
|
|
/* 02588738 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258873C */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 0258873C */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02588740 */ cpu->r[0] = cpu->r[0] + 0x000022C4u;
|
|
/* 02588744 */ _t28 = cpu->r[3] + 0x00000010u;
|
|
/* 02588744 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 02588748 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02588748 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0258874C */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 0258874C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02588750 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02588754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02588758 */ cpu->r[3] = cpu->r[3] + 0x00006CC0u;
|
|
/* 0258875C */ Gambit_fn_02C83090(cpu);
|
|
/* 02588760 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02588760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02588764 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02588768 */ cpu->lr = cpu->r[0];
|
|
/* 0258876C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02588770 */ return;
|
|
}
|
|
|
|
// fn_02588774 @ 0x2588774
|
|
void Gambit_fn_02588774(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_02588774: ; // 0x2588774
|
|
/* 02588774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588778 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588778 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02588778 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588778 */ goto L_0258877C;
|
|
L_0258877C: ; // 0x258877c
|
|
/* 0258877C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258877C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588780 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588780 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02588780 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588780 */ goto L_02588784;
|
|
L_02588784: ; // 0x2588784
|
|
/* 02588784 */ 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_02588788 @ 0x2588788
|
|
void Gambit_fn_02588788(CPUState* cpu) {
|
|
L_02588788: ; // 0x2588788
|
|
/* 02588788 */ return;
|
|
}
|
|
|
|
// fn_0258878C @ 0x258878c
|
|
void Gambit_fn_0258878C(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_0258878C: ; // 0x258878c
|
|
/* 0258878C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588790 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588790 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02588790 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588790 */ goto L_02588794;
|
|
L_02588794: ; // 0x2588794
|
|
/* 02588794 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02588794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588798 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588798 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02588798 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588798 */ goto L_0258879C;
|
|
L_0258879C: ; // 0x258879c
|
|
/* 0258879C */ 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_025887A0 @ 0x25887a0
|
|
void Gambit_fn_025887A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_025887A0: ; // 0x25887a0
|
|
/* 025887A0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 025887A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025887A4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 025887A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025887A8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 025887AC */ cpu->r[11] = 0x10110000u;
|
|
/* 025887B0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 025887B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 025887B4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 025887B4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 025887B8 */ return;
|
|
}
|
|
|
|
// fn_025887BC @ 0x25887bc
|
|
void Gambit_fn_025887BC(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_025887BC: ; // 0x25887bc
|
|
/* 025887BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025887C0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025887C0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025887C0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025887C0 */ goto L_025887C4;
|
|
L_025887C4: ; // 0x25887c4
|
|
/* 025887C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025887C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025887C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025887C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025887C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025887C8 */ goto L_025887CC;
|
|
L_025887CC: ; // 0x25887cc
|
|
/* 025887CC */ 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_025887D0 @ 0x25887d0
|
|
void Gambit_fn_025887D0(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_025887D0: ; // 0x25887d0
|
|
/* 025887D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025887D4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025887D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025887D4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025887D4 */ goto L_025887D8;
|
|
L_025887D8: ; // 0x25887d8
|
|
/* 025887D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025887D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025887DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025887DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 025887DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025887DC */ goto L_025887E0;
|
|
L_025887E0: ; // 0x25887e0
|
|
/* 025887E0 */ 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_025887E4 @ 0x25887e4
|
|
void Gambit_fn_025887E4(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_025887E4: ; // 0x25887e4
|
|
/* 025887E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025887E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025887E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025887E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025887E8 */ goto L_025887EC;
|
|
L_025887EC: ; // 0x25887ec
|
|
/* 025887EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025887EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025887F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025887F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025887F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025887F0 */ goto L_025887F4;
|
|
L_025887F4: ; // 0x25887f4
|
|
/* 025887F4 */ 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_025887F8 @ 0x25887f8
|
|
void Gambit_fn_025887F8(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_025887F8: ; // 0x25887f8
|
|
/* 025887F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025887FC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025887FC */ _t1 = _t0 & 0x00000001u;
|
|
/* 025887FC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025887FC */ goto L_02588800;
|
|
L_02588800: ; // 0x2588800
|
|
/* 02588800 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02588800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588804 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588804 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02588804 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588804 */ goto L_02588808;
|
|
L_02588808: ; // 0x2588808
|
|
/* 02588808 */ 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_0258880C @ 0x258880c
|
|
void Gambit_fn_0258880C(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_0258880C: ; // 0x258880c
|
|
/* 0258880C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588810 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588810 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02588810 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588810 */ goto L_02588814;
|
|
L_02588814: ; // 0x2588814
|
|
/* 02588814 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02588814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588818 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588818 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02588818 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588818 */ goto L_0258881C;
|
|
L_0258881C: ; // 0x258881c
|
|
/* 0258881C */ 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_02588820 @ 0x2588820
|
|
void Gambit_fn_02588820(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_02588820: ; // 0x2588820
|
|
/* 02588820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588824 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588824 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02588824 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588824 */ goto L_02588828;
|
|
L_02588828: ; // 0x2588828
|
|
/* 02588828 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02588828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258882C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258882C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258882C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258882C */ goto L_02588830;
|
|
L_02588830: ; // 0x2588830
|
|
/* 02588830 */ 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_02588834 @ 0x2588834
|
|
void Gambit_fn_02588834(CPUState* cpu) {
|
|
L_02588834: ; // 0x2588834
|
|
/* 02588834 */ return;
|
|
}
|
|
|
|
// fn_02588838 @ 0x2588838
|
|
void Gambit_fn_02588838(CPUState* cpu) {
|
|
L_02588838: ; // 0x2588838
|
|
/* 02588838 */ return;
|
|
}
|
|
|
|
// fn_0258883C @ 0x258883c
|
|
void Gambit_fn_0258883C(CPUState* cpu) {
|
|
L_0258883C: ; // 0x258883c
|
|
/* 0258883C */ return;
|
|
}
|
|
|
|
// fn_02588840 @ 0x2588840
|
|
void Gambit_fn_02588840(CPUState* cpu) {
|
|
L_02588840: ; // 0x2588840
|
|
/* 02588840 */ return;
|
|
}
|
|
|
|
// fn_02588844 @ 0x2588844
|
|
void Gambit_fn_02588844(CPUState* cpu) {
|
|
L_02588844: ; // 0x2588844
|
|
/* 02588844 */ return;
|
|
}
|
|
|
|
// fn_02588848 @ 0x2588848
|
|
void Gambit_fn_02588848(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02588848: ; // 0x2588848
|
|
/* 02588848 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02588848 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258884C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02588850 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588850 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02588850 */ if (_t2) goto L_0258885C; else goto L_02588854;
|
|
L_02588854: ; // 0x2588854
|
|
/* 02588854 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02588858 */ return;
|
|
L_0258885C: ; // 0x258885c
|
|
/* 0258885C */ cpu->r[3] = 0x00000000u;
|
|
/* 02588860 */ return;
|
|
}
|
|
|
|
// fn_02588864 @ 0x2588864
|
|
void Gambit_fn_02588864(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02588864: ; // 0x2588864
|
|
/* 02588864 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02588864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02588868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258886C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258886C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258886C */ if (_t2) goto L_02588878; else goto L_02588870;
|
|
L_02588870: ; // 0x2588870
|
|
/* 02588870 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02588874 */ return;
|
|
L_02588878: ; // 0x2588878
|
|
/* 02588878 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258887C */ return;
|
|
}
|
|
|
|
// fn_02588880 @ 0x2588880
|
|
void Gambit_fn_02588880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02588880: ; // 0x2588880
|
|
/* 02588880 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02588880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02588884 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02588884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02588888 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588888 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02588888 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02588888 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588888 */ goto L_0258888C;
|
|
L_0258888C: ; // 0x258888c
|
|
/* 0258888C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258888C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02588890 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02588890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02588894 */ cpu->ctr = cpu->r[0];
|
|
/* 02588898 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258889C @ 0x258889c
|
|
void Gambit_fn_0258889C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258889C: ; // 0x258889c
|
|
/* 0258889C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258889C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025888A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025888A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025888A4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025888A4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025888A4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025888A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025888A4 */ goto L_025888A8;
|
|
L_025888A8: ; // 0x25888a8
|
|
/* 025888A8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 025888A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025888AC */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 025888AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025888B0 */ cpu->ctr = cpu->r[0];
|
|
/* 025888B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025888B8 @ 0x25888b8
|
|
void Gambit_fn_025888B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025888B8: ; // 0x25888b8
|
|
/* 025888B8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025888B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025888BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025888BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025888C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025888C0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025888C0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025888C0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025888C0 */ goto L_025888C4;
|
|
L_025888C4: ; // 0x25888c4
|
|
/* 025888C4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 025888C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025888C8 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 025888C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025888CC */ cpu->ctr = cpu->r[0];
|
|
/* 025888D0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025888D4 @ 0x25888d4
|
|
void Gambit_fn_025888D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025888D4: ; // 0x25888d4
|
|
/* 025888D4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025888D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025888D8 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025888D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025888DC */ cpu->ctr = cpu->r[0];
|
|
/* 025888E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025888E4 @ 0x25888e4
|
|
void Gambit_fn_025888E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025888E4: ; // 0x25888e4
|
|
/* 025888E4 */ cpu->r[0] = cpu->lr;
|
|
/* 025888E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025888E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025888E8 */ cpu->r[1] = _t0;
|
|
/* 025888EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025888EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025888F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025888F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025888F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025888F8 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025888F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025888FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02588900 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588900 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02588900 */ if (_t5) goto L_02588904; else goto L_02588920;
|
|
L_02588904: ; // 0x2588904
|
|
/* 02588904 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02588904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02588908 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02588908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258890C */ cpu->ctr = cpu->r[0];
|
|
/* 02588910 */ cpu->r[3] = cpu->r[31];
|
|
/* 02588914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588918 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258891C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258891C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02588920: ; // 0x2588920
|
|
/* 02588920 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02588920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02588924 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02588928 */ cpu->lr = cpu->r[0];
|
|
/* 0258892C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02588930 */ return;
|
|
}
|
|
|
|
// fn_025888E8 @ 0x25888e8
|
|
void Gambit_fn_025888E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025888E8: ; // 0x25888e8
|
|
/* 025888E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025888E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025888E8 */ cpu->r[1] = _t0;
|
|
/* 025888EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025888EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025888F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025888F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025888F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025888F8 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025888F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025888FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02588900 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588900 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02588900 */ if (_t5) goto L_02588904; else goto L_02588920;
|
|
L_02588904: ; // 0x2588904
|
|
/* 02588904 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02588904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02588908 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02588908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258890C */ cpu->ctr = cpu->r[0];
|
|
/* 02588910 */ cpu->r[3] = cpu->r[31];
|
|
/* 02588914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588918 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258891C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258891C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02588920: ; // 0x2588920
|
|
/* 02588920 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02588920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02588924 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02588928 */ cpu->lr = cpu->r[0];
|
|
/* 0258892C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02588930 */ return;
|
|
}
|
|
|
|
// fn_0258893C @ 0x258893c
|
|
void Gambit_fn_0258893C(CPUState* cpu) {
|
|
L_0258893C: ; // 0x258893c
|
|
/* 0258893C */ return;
|
|
}
|
|
|
|
// fn_02588940 @ 0x2588940
|
|
void Gambit_fn_02588940(CPUState* cpu) {
|
|
L_02588940: ; // 0x2588940
|
|
/* 02588940 */ return;
|
|
}
|
|
|
|
// fn_02588944 @ 0x2588944
|
|
void Gambit_fn_02588944(CPUState* cpu) {
|
|
L_02588944: ; // 0x2588944
|
|
/* 02588944 */ cpu->r[3] = 0x00000001u;
|
|
/* 02588948 */ return;
|
|
}
|
|
|
|
// fn_0258894C @ 0x258894c
|
|
void Gambit_fn_0258894C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0258894C: ; // 0x258894c
|
|
/* 0258894C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02588950 */ _t0 = cpu->r[11] + 0xFFFFDA34u;
|
|
/* 02588950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02588950 */ cpu->r[11] = _t0;
|
|
/* 02588954 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02588958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258895C */ cpu->r[12] = cpu->r[12] + 0xFFFFDDE4u;
|
|
/* 02588960 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588960 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02588960 */ if (_t2) goto L_02588964; else goto L_02588978;
|
|
L_02588964: ; // 0x2588964
|
|
/* 02588964 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02588968 */ cpu->r[8] = 0x00000001u;
|
|
/* 0258896C */ cpu->r[9] = cpu->r[9] + 0x00001E5Cu;
|
|
/* 02588970 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02588970 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02588974 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02588974 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02588978: ; // 0x2588978
|
|
/* 02588978 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 0258897C */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02588980 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02588984 */ return;
|
|
}
|
|
|
|
// fn_02588988 @ 0x2588988
|
|
void Gambit_fn_02588988(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02319BA8: ; // 0x2319ba8
|
|
/* 02319BA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02319BAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02319BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02319BAC */ cpu->r[1] = _t0;
|
|
/* 02319BB0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02319BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02319BB4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02319BB8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02319BB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02319BBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02319BC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02319BC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02319BC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02319BC8 */ Gambit_fn_02834430(cpu);
|
|
/* 02319BCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02319BD0 */ Gambit_fn_02834450(cpu);
|
|
/* 02319BD4 */ _t4 = cpu->r[31] + 0x00000054u;
|
|
/* 02319BD4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[1]);
|
|
/* 02319BD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02319BDC */ Gambit_fn_02834450(cpu);
|
|
/* 02319BE0 */ _t5 = cpu->r[31] + 0x00000058u;
|
|
/* 02319BE0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[1]);
|
|
/* 02319BE4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02319BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02319BE8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02319BE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02319BEC */ cpu->lr = cpu->r[0];
|
|
/* 02319BF0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02319BF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02319BF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02319BF8 */ return;
|
|
L_02588988: ; // 0x2588988
|
|
/* 02588988 */ goto L_02319BA8;
|
|
}
|
|
|
|
// fn_0258898C @ 0x258898c
|
|
void Gambit_fn_0258898C(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_0258898C: ; // 0x258898c
|
|
/* 0258898C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588990 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588990 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02588990 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588990 */ goto L_02588994;
|
|
L_02588994: ; // 0x2588994
|
|
/* 02588994 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02588994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588998 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588998 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02588998 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02588998 */ goto L_0258899C;
|
|
L_0258899C: ; // 0x258899c
|
|
/* 0258899C */ 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_025889A0 @ 0x25889a0
|
|
void Gambit_fn_025889A0(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_025889A0: ; // 0x25889a0
|
|
/* 025889A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025889A4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025889A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025889A4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025889A4 */ goto L_025889A8;
|
|
L_025889A8: ; // 0x25889a8
|
|
/* 025889A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025889A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025889AC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025889AC */ _t3 = _t2 & 0x00000001u;
|
|
/* 025889AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025889AC */ goto L_025889B0;
|
|
L_025889B0: ; // 0x25889b0
|
|
/* 025889B0 */ 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_025889B4 @ 0x25889b4
|
|
void Gambit_fn_025889B4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025889B4: ; // 0x25889b4
|
|
/* 025889B4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025889B8 */ _t0 = cpu->r[12] + 0x000020CCu;
|
|
/* 025889B8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025889BC */ return;
|
|
}
|
|
|
|
// fn_025889C0 @ 0x25889c0
|
|
void Gambit_fn_025889C0(CPUState* cpu) {
|
|
L_025889C0: ; // 0x25889c0
|
|
/* 025889C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 025889C4 */ return;
|
|
}
|
|
|
|
// fn_025889C8 @ 0x25889c8
|
|
void Gambit_fn_025889C8(CPUState* cpu) {
|
|
L_025889C8: ; // 0x25889c8
|
|
/* 025889C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 025889CC */ return;
|
|
}
|
|
|
|
// fn_025889D0 @ 0x25889d0
|
|
void Gambit_fn_025889D0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025889D0: ; // 0x25889d0
|
|
/* 025889D0 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 025889D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025889D4 */ return;
|
|
}
|
|
|
|
// fn_025889D8 @ 0x25889d8
|
|
void Gambit_fn_025889D8(CPUState* cpu) {
|
|
L_025889D8: ; // 0x25889d8
|
|
/* 025889D8 */ return;
|
|
}
|
|
|
|
// fn_025889DC @ 0x25889dc
|
|
void Gambit_fn_025889DC(CPUState* cpu) {
|
|
L_025889DC: ; // 0x25889dc
|
|
/* 025889DC */ cpu->r[3] = 0x100D0000u;
|
|
/* 025889E0 */ cpu->r[3] = cpu->r[3] + 0x00001FBCu;
|
|
/* 025889E4 */ return;
|
|
}
|
|
|
|
// fn_025889E8 @ 0x25889e8
|
|
void Gambit_fn_025889E8(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_025889E8: ; // 0x25889e8
|
|
/* 025889E8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025889EC */ _t0 = cpu->r[10] + 0x0000079Cu;
|
|
/* 025889EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025889F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025889F4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025889F8 */ cpu->r[10] = cpu->r[10] + 0x00000AF0u;
|
|
/* 025889FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025889FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 025889FC */ if (_t2) goto L_02588A00; else goto L_02588A18;
|
|
L_02588A00: ; // 0x2588a00
|
|
/* 02588A00 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02588A04 */ cpu->r[9] = 0x00000001u;
|
|
/* 02588A08 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02588A0C */ cpu->r[0] = cpu->r[0] + 0x00001F5Cu;
|
|
/* 02588A10 */ _t3 = cpu->r[11] + 0x0000079Cu;
|
|
/* 02588A10 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02588A14 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02588A14 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02588A18: ; // 0x2588a18
|
|
/* 02588A18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02588A1C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588A1C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02588A1C */ if (_t6) goto L_02588A20; else goto L_02588A28;
|
|
L_02588A20: ; // 0x2588a20
|
|
/* 02588A20 */ cpu->r[3] = 0x00000001u;
|
|
/* 02588A24 */ return;
|
|
L_02588A28: ; // 0x2588a28
|
|
/* 02588A28 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02588A2C */ _t7 = cpu->r[9] + 0xFFFFF98Cu;
|
|
/* 02588A2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02588A30 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02588A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02588A38 */ cpu->r[11] = cpu->r[11] + 0x00000AE0u;
|
|
/* 02588A3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588A3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02588A3C */ if (_t9) goto L_02588A40; else goto L_02588A58;
|
|
L_02588A40: ; // 0x2588a40
|
|
/* 02588A40 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02588A44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02588A48 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02588A4C */ cpu->r[9] = cpu->r[9] + 0x00001F4Cu;
|
|
/* 02588A50 */ _t10 = cpu->r[10] + 0xFFFFF98Cu;
|
|
/* 02588A50 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02588A54 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02588A54 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_02588A58: ; // 0x2588a58
|
|
/* 02588A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02588A5C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588A5C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02588A5C */ if (_t13) goto L_02588A60; else goto L_02588A68;
|
|
L_02588A60: ; // 0x2588a60
|
|
/* 02588A60 */ cpu->r[0] = 0x00000001u;
|
|
/* 02588A64 */ goto L_02588B20;
|
|
L_02588A68: ; // 0x2588a68
|
|
/* 02588A68 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02588A6C */ _t14 = cpu->r[11] + 0xFFFFDB24u;
|
|
/* 02588A6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02588A70 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02588A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02588A78 */ cpu->r[9] = cpu->r[9] + 0xFFFFDB28u;
|
|
/* 02588A7C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588A7C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02588A7C */ if (_t16) goto L_02588A80; else goto L_02588A98;
|
|
L_02588A80: ; // 0x2588a80
|
|
/* 02588A80 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02588A84 */ cpu->r[10] = 0x00000001u;
|
|
/* 02588A88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02588A8C */ cpu->r[11] = cpu->r[11] + 0x00001F3Cu;
|
|
/* 02588A90 */ _t17 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 02588A90 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02588A94 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02588A94 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_02588A98: ; // 0x2588a98
|
|
/* 02588A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 02588A9C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588A9C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02588A9C */ if (_t20) goto L_02588AA0; else goto L_02588AA8;
|
|
L_02588AA0: ; // 0x2588aa0
|
|
/* 02588AA0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02588AA4 */ goto L_02588B1C;
|
|
L_02588AA8: ; // 0x2588aa8
|
|
/* 02588AA8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02588AAC */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 02588AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02588AAC */ cpu->r[9] = _t21;
|
|
/* 02588AB0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02588AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588AB8 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02588ABC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588ABC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02588ABC */ if (_t23) goto L_02588AC0; else goto L_02588AD4;
|
|
L_02588AC0: ; // 0x2588ac0
|
|
/* 02588AC0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02588AC4 */ cpu->r[11] = 0x00000001u;
|
|
/* 02588AC8 */ cpu->r[0] = cpu->r[0] + 0x00001F2Cu;
|
|
/* 02588ACC */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02588ACC */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02588AD0 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 02588AD0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02588AD4: ; // 0x2588ad4
|
|
/* 02588AD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02588AD8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588AD8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02588AD8 */ if (_t27) goto L_02588ADC; else goto L_02588AE4;
|
|
L_02588ADC: ; // 0x2588adc
|
|
/* 02588ADC */ cpu->r[0] = 0x00000001u;
|
|
/* 02588AE0 */ goto L_02588B1C;
|
|
L_02588AE4: ; // 0x2588ae4
|
|
/* 02588AE4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02588AE8 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 02588AE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02588AE8 */ cpu->r[10] = _t28;
|
|
/* 02588AEC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02588AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02588AF4 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02588AF8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588AF8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02588AF8 */ if (_t30) goto L_02588AFC; else goto L_02588B10;
|
|
L_02588AFC: ; // 0x2588afc
|
|
/* 02588AFC */ cpu->r[9] = 0x100D0000u;
|
|
/* 02588B00 */ cpu->r[0] = 0x00000001u;
|
|
/* 02588B04 */ cpu->r[9] = cpu->r[9] + 0x00001E5Cu;
|
|
/* 02588B08 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02588B08 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02588B0C */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 02588B0C */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_02588B10: ; // 0x2588b10
|
|
/* 02588B10 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02588B14 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02588B18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02588B1C: ; // 0x2588b1c
|
|
/* 02588B1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02588B20: ; // 0x2588b20
|
|
/* 02588B20 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02588B24 */ return;
|
|
}
|
|
|
|
// fn_02588B3C @ 0x2588b3c
|
|
void Gambit_fn_02588B3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_024B95B4: ; // 0x24b95b4
|
|
/* 024B95B4 */ cpu->r[0] = cpu->lr;
|
|
/* 024B95B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024B95B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024B95B8 */ cpu->r[1] = _t0;
|
|
/* 024B95BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024B95BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024B95C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024B95C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024B95C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024B95C8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 024B95C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 024B95CC */ cpu->r[12] = 0x00000000u;
|
|
/* 024B95D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024B95D4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 024B95D4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 024B95D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024B95D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024B95D8 */ if (_t6) goto L_024B9600; else goto L_024B95DC;
|
|
L_024B95DC: ; // 0x24b95dc
|
|
/* 024B95DC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 024B95DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024B95E0 */ /* nop */
|
|
/* 024B95E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024B95E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024B95E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024B95E8 */ if (_t9) goto L_024B95EC; else goto L_024B9600;
|
|
L_024B95EC: ; // 0x24b95ec
|
|
/* 024B95EC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024B95EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024B95F0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024B95F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024B95F4 */ cpu->ctr = cpu->r[0];
|
|
/* 024B95F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024B95FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024B9600: ; // 0x24b9600
|
|
/* 024B9600 */ cpu->r[3] = cpu->r[31];
|
|
/* 024B9604 */ Gambit_fn_024B952C(cpu);
|
|
/* 024B9608 */ cpu->r[3] = cpu->r[31];
|
|
/* 024B960C */ Gambit_fn_027FC37C(cpu);
|
|
/* 024B9610 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024B9610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024B9614 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024B9614 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024B9618 */ cpu->lr = cpu->r[0];
|
|
/* 024B961C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024B9620 */ return;
|
|
L_02588B3C: ; // 0x2588b3c
|
|
/* 02588B3C */ cpu->r[3] = cpu->r[3] + 0x0000024Cu;
|
|
/* 02588B40 */ goto L_024B95B4;
|
|
}
|
|
|
|
// fn_02588B44 @ 0x2588b44
|
|
void Gambit_fn_02588B44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02588B44: ; // 0x2588b44
|
|
/* 02588B44 */ cpu->r[0] = cpu->lr;
|
|
/* 02588B48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588B48 */ cpu->r[1] = _t0;
|
|
/* 02588B4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588B4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02588B50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02588B54 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02588B54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02588B58 */ _t3 = cpu->r[31] + 0x0000025Au;
|
|
/* 02588B58 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02588B5C */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 02588B60 */ /* nop */
|
|
/* 02588B64 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02588B68 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 02588B6C */ Gambit_fn_024B94A4(cpu);
|
|
/* 02588B70 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02588B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02588B74 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588B74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02588B78 */ cpu->lr = cpu->r[0];
|
|
/* 02588B7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02588B80 */ return;
|
|
}
|
|
|
|
// fn_02588B48 @ 0x2588b48
|
|
void Gambit_fn_02588B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02588B48: ; // 0x2588b48
|
|
/* 02588B48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588B48 */ cpu->r[1] = _t0;
|
|
/* 02588B4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588B4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02588B50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02588B54 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02588B54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02588B58 */ _t3 = cpu->r[31] + 0x0000025Au;
|
|
/* 02588B58 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02588B5C */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 02588B60 */ /* nop */
|
|
/* 02588B64 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02588B68 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 02588B6C */ Gambit_fn_024B94A4(cpu);
|
|
/* 02588B70 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02588B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02588B74 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588B74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02588B78 */ cpu->lr = cpu->r[0];
|
|
/* 02588B7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02588B80 */ return;
|
|
}
|
|
|
|
// fn_02588B84 @ 0x2588b84
|
|
void Gambit_fn_02588B84(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02588B84: ; // 0x2588b84
|
|
/* 02588B84 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02588B84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02588B88 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02588B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02588B8C */ cpu->ctr = cpu->r[0];
|
|
/* 02588B90 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02588B94 @ 0x2588b94
|
|
void Gambit_fn_02588B94(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02588B94: ; // 0x2588b94
|
|
/* 02588B94 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02588B94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02588B98 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02588B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02588B9C */ cpu->ctr = cpu->r[0];
|
|
/* 02588BA0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02588BA4 @ 0x2588ba4
|
|
void Gambit_fn_02588BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02588BA4: ; // 0x2588ba4
|
|
/* 02588BA4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02588BA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02588BA8 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02588BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02588BAC */ cpu->ctr = cpu->r[0];
|
|
/* 02588BB0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02588BB4 @ 0x2588bb4
|
|
void Gambit_fn_02588BB4(CPUState* cpu) {
|
|
L_02588BB4: ; // 0x2588bb4
|
|
/* 02588BB4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02588BB8 */ return;
|
|
}
|
|
|
|
// fn_02588BBC @ 0x2588bbc
|
|
void Gambit_fn_02588BBC(CPUState* cpu) {
|
|
L_02588BBC: ; // 0x2588bbc
|
|
/* 02588BBC */ return;
|
|
}
|
|
|
|
// fn_02588BC0 @ 0x2588bc0
|
|
void Gambit_fn_02588BC0(CPUState* cpu) {
|
|
L_02588BC0: ; // 0x2588bc0
|
|
/* 02588BC0 */ return;
|
|
}
|
|
|
|
// fn_02588BC4 @ 0x2588bc4
|
|
void Gambit_fn_02588BC4(CPUState* cpu) {
|
|
L_02588BC4: ; // 0x2588bc4
|
|
/* 02588BC4 */ return;
|
|
}
|
|
|
|
// fn_02588BC8 @ 0x2588bc8
|
|
void Gambit_fn_02588BC8(CPUState* cpu) {
|
|
L_02588BC8: ; // 0x2588bc8
|
|
/* 02588BC8 */ return;
|
|
}
|
|
|
|
// fn_02588BCC @ 0x2588bcc
|
|
void Gambit_fn_02588BCC(CPUState* cpu) {
|
|
L_02588BCC: ; // 0x2588bcc
|
|
/* 02588BCC */ cpu->r[3] = 0x00000001u;
|
|
/* 02588BD0 */ return;
|
|
}
|
|
|
|
// fn_02588BD4 @ 0x2588bd4
|
|
void Gambit_fn_02588BD4(CPUState* cpu) {
|
|
L_02588BD4: ; // 0x2588bd4
|
|
/* 02588BD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02588BD8 */ return;
|
|
}
|
|
|
|
// fn_02588BDC @ 0x2588bdc
|
|
void Gambit_fn_02588BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02588BDC: ; // 0x2588bdc
|
|
/* 02588BDC */ cpu->r[0] = cpu->lr;
|
|
/* 02588BE0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02588BE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588BE0 */ cpu->r[1] = _t0;
|
|
/* 02588BE4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02588BE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02588BE8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588BE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02588BEC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02588BEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02588BF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02588BF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02588BF8 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02588BFC */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02588BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02588C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588C04 */ cpu->r[11] = 0x00000000u;
|
|
/* 02588C08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588C08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02588C08 */ if (_t6) goto L_02588C14; else goto L_02588C0C;
|
|
L_02588C0C: ; // 0x2588c0c
|
|
/* 02588C0C */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02588C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02588C10 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02588C10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02588C14: ; // 0x2588c14
|
|
/* 02588C14 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02588C14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02588C18 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02588C18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02588C1C */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02588C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02588C20 */ cpu->ctr = cpu->r[0];
|
|
/* 02588C24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02588C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588C2C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588C2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02588C30 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02588C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02588C34 */ cpu->ctr = cpu->r[0];
|
|
/* 02588C38 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02588C3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588C40 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02588C44 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02588C44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02588C48 */ cpu->lr = cpu->r[0];
|
|
/* 02588C4C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02588C4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02588C50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02588C54 */ return;
|
|
}
|
|
|
|
// fn_02588BE0 @ 0x2588be0
|
|
void Gambit_fn_02588BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02588BE0: ; // 0x2588be0
|
|
/* 02588BE0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02588BE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588BE0 */ cpu->r[1] = _t0;
|
|
/* 02588BE4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02588BE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02588BE8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588BE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02588BEC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02588BEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02588BF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02588BF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02588BF8 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02588BFC */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02588BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02588C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02588C04 */ cpu->r[11] = 0x00000000u;
|
|
/* 02588C08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588C08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02588C08 */ if (_t6) goto L_02588C14; else goto L_02588C0C;
|
|
L_02588C0C: ; // 0x2588c0c
|
|
/* 02588C0C */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02588C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02588C10 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02588C10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02588C14: ; // 0x2588c14
|
|
/* 02588C14 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02588C14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02588C18 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02588C18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02588C1C */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02588C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02588C20 */ cpu->ctr = cpu->r[0];
|
|
/* 02588C24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02588C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588C2C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588C2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02588C30 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02588C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02588C34 */ cpu->ctr = cpu->r[0];
|
|
/* 02588C38 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02588C3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588C40 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02588C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02588C44 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02588C44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02588C48 */ cpu->lr = cpu->r[0];
|
|
/* 02588C4C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02588C4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02588C50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02588C54 */ return;
|
|
}
|
|
|
|
// fn_02588C58 @ 0x2588c58
|
|
void Gambit_fn_02588C58(CPUState* cpu) {
|
|
L_02588C58: ; // 0x2588c58
|
|
/* 02588C58 */ return;
|
|
}
|
|
|
|
// fn_02588C5C @ 0x2588c5c
|
|
void Gambit_fn_02588C5C(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_02588C5C: ; // 0x2588c5c
|
|
/* 02588C5C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02588C5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588C5C */ cpu->r[1] = _t0;
|
|
/* 02588C60 */ /* nop */
|
|
/* 02588C64 */ cpu->r[0] = cpu->lr;
|
|
/* 02588C68 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02588C68 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02588C6C */ cpu->r[29] = cpu->r[6];
|
|
/* 02588C70 */ cpu->r[28] = cpu->r[3];
|
|
/* 02588C74 */ cpu->r[30] = cpu->r[5];
|
|
/* 02588C78 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02588C78 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02588C7C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02588C80 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02588C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02588C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02588C88 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02588C88 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02588C8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588C8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02588C8C */ if (_t6) goto L_02588CD0; else goto L_02588C90;
|
|
L_02588C90: ; // 0x2588c90
|
|
/* 02588C90 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02588C90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02588C94 */ Gambit_fn_02826F20(cpu);
|
|
/* 02588C98 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02588C98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02588C9C */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02588C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02588CA0 */ cpu->ctr = cpu->r[0];
|
|
/* 02588CA4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02588CA8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02588CAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02588CB4 */ cpu->r[0] = cpu->r[27];
|
|
/* 02588CB8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02588CB8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02588CB8 */ if (_t11) goto L_02588CC0; else goto L_02588CBC;
|
|
L_02588CBC: ; // 0x2588cbc
|
|
/* 02588CBC */ cpu->r[0] = 0x00000001u;
|
|
L_02588CC0: ; // 0x2588cc0
|
|
/* 02588CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588CC4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588CC4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02588CC4 */ if (_t13) goto L_02588CD0; else goto L_02588CC8;
|
|
L_02588CC8: ; // 0x2588cc8
|
|
/* 02588CC8 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02588CC8 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02588CCC */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02588CCC */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02588CD0: ; // 0x2588cd0
|
|
/* 02588CD0 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02588CD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02588CD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02588CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02588CDC */ cpu->r[12] = cpu->r[0];
|
|
/* 02588CE0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02588CE0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02588CE0 */ if (_t18) goto L_02588CE4; else goto L_02588D08;
|
|
L_02588CE4: ; // 0x2588ce4
|
|
/* 02588CE4 */ cpu->ctr = cpu->r[7];
|
|
/* 02588CE8 */ cpu->r[10] = 0x00000000u;
|
|
L_02588CEC: ; // 0x2588cec
|
|
/* 02588CEC */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02588CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02588CF0 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02588CF0 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02588CF4 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02588CF8 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02588CF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02588CFC */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02588D00 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02588D00 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02588D04 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02588D04 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02588D04 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02588D04 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02588D04 */ if (_t25) goto L_02588CEC; else goto L_02588D08;
|
|
L_02588D08: ; // 0x2588d08
|
|
/* 02588D08 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02588D08 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02588D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02588D10 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588D10 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02588D10 */ if (_t28) goto L_02588D54; else goto L_02588D14;
|
|
L_02588D14: ; // 0x2588d14
|
|
/* 02588D14 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02588D14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02588D18 */ Gambit_fn_02826F20(cpu);
|
|
/* 02588D1C */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02588D1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02588D20 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02588D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02588D24 */ cpu->ctr = cpu->r[0];
|
|
/* 02588D28 */ cpu->r[5] = 0x00000004u;
|
|
/* 02588D2C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02588D30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02588D38 */ cpu->r[11] = cpu->r[27];
|
|
/* 02588D3C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02588D3C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02588D3C */ if (_t33) goto L_02588D44; else goto L_02588D40;
|
|
L_02588D40: ; // 0x2588d40
|
|
/* 02588D40 */ cpu->r[11] = 0x00000001u;
|
|
L_02588D44: ; // 0x2588d44
|
|
/* 02588D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588D48 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588D48 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02588D48 */ if (_t35) goto L_02588D54; else goto L_02588D4C;
|
|
L_02588D4C: ; // 0x2588d4c
|
|
/* 02588D4C */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02588D4C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02588D50 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02588D50 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02588D54: ; // 0x2588d54
|
|
/* 02588D54 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02588D54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02588D58 */ cpu->r[0] = 0x00000000u;
|
|
/* 02588D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02588D60 */ cpu->r[12] = cpu->r[0];
|
|
/* 02588D64 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02588D64 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02588D64 */ if (_t40) goto L_02588D68; else goto L_02588D8C;
|
|
L_02588D68: ; // 0x2588d68
|
|
/* 02588D68 */ cpu->ctr = cpu->r[6];
|
|
/* 02588D6C */ cpu->r[9] = 0x00000000u;
|
|
L_02588D70: ; // 0x2588d70
|
|
/* 02588D70 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02588D70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02588D74 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02588D74 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02588D78 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02588D7C */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02588D7C */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02588D80 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02588D84 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02588D84 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02588D88 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02588D88 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02588D88 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02588D88 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02588D88 */ if (_t47) goto L_02588D70; else goto L_02588D8C;
|
|
L_02588D8C: ; // 0x2588d8c
|
|
/* 02588D8C */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02588D8C */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02588D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02588D94 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588D94 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02588D94 */ if (_t50) goto L_02588DD8; else goto L_02588D98;
|
|
L_02588D98: ; // 0x2588d98
|
|
/* 02588D98 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02588D98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02588D9C */ Gambit_fn_02826F20(cpu);
|
|
/* 02588DA0 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02588DA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02588DA4 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02588DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02588DA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02588DAC */ cpu->r[5] = 0x00000004u;
|
|
/* 02588DB0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02588DB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02588DBC */ cpu->r[10] = cpu->r[27];
|
|
/* 02588DC0 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02588DC0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02588DC0 */ if (_t55) goto L_02588DC8; else goto L_02588DC4;
|
|
L_02588DC4: ; // 0x2588dc4
|
|
/* 02588DC4 */ cpu->r[10] = 0x00000001u;
|
|
L_02588DC8: ; // 0x2588dc8
|
|
/* 02588DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02588DCC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588DCC */ _t57 = _t56 & 0x00000001u;
|
|
/* 02588DCC */ if (_t57) goto L_02588DD8; else goto L_02588DD0;
|
|
L_02588DD0: ; // 0x2588dd0
|
|
/* 02588DD0 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02588DD0 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02588DD4 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02588DD4 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02588DD8: ; // 0x2588dd8
|
|
/* 02588DD8 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02588DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02588DDC */ cpu->r[0] = 0x00000000u;
|
|
/* 02588DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02588DE4 */ cpu->r[5] = cpu->r[0];
|
|
/* 02588DE8 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02588DE8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02588DE8 */ if (_t62) goto L_02588DEC; else goto L_02588E10;
|
|
L_02588DEC: ; // 0x2588dec
|
|
/* 02588DEC */ cpu->ctr = cpu->r[12];
|
|
/* 02588DF0 */ cpu->r[8] = 0x00000000u;
|
|
L_02588DF4: ; // 0x2588df4
|
|
/* 02588DF4 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02588DF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02588DF8 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02588DF8 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02588DFC */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02588E00 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02588E00 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02588E04 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02588E08 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02588E08 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02588E0C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02588E0C */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02588E0C */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02588E0C */ _t69 = _t68 & 0x00000001u;
|
|
/* 02588E0C */ if (_t69) goto L_02588DF4; else goto L_02588E10;
|
|
L_02588E10: ; // 0x2588e10
|
|
/* 02588E10 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02588E10 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02588E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02588E18 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588E18 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02588E18 */ if (_t72) goto L_02588EF4; else goto L_02588E1C;
|
|
L_02588E1C: ; // 0x2588e1c
|
|
/* 02588E1C */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02588E1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02588E20 */ Gambit_fn_02826F20(cpu);
|
|
/* 02588E24 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02588E24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02588E28 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02588E28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02588E2C */ cpu->ctr = cpu->r[12];
|
|
/* 02588E30 */ cpu->r[5] = 0x00000004u;
|
|
/* 02588E34 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02588E38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02588E3C */ cpu->r[24] = cpu->r[3];
|
|
/* 02588E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02588E44 */ cpu->r[30] = cpu->r[25];
|
|
/* 02588E48 */ cpu->r[7] = 0x00000000u;
|
|
/* 02588E4C */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02588E4C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02588E4C */ if (_t77) goto L_02588E54; else goto L_02588E50;
|
|
L_02588E50: ; // 0x2588e50
|
|
/* 02588E50 */ cpu->r[30] = 0x00000001u;
|
|
L_02588E54: ; // 0x2588e54
|
|
/* 02588E54 */ cpu->r[31] = 0x10110000u;
|
|
/* 02588E58 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02588E5C */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02588E5C */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02588E60 */ cpu->r[23] = 0x00000018u;
|
|
L_02588E64: ; // 0x2588e64
|
|
/* 02588E64 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02588E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02588E68 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588E68 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02588E68 */ if (_t80) goto L_02588ED8; else goto L_02588E6C;
|
|
L_02588E6C: ; // 0x2588e6c
|
|
/* 02588E6C */ cpu->r[26] = cpu->r[27];
|
|
/* 02588E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02588E70 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588E70 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02588E70 */ if (_t82) goto L_02588E74; else goto L_02588E84;
|
|
L_02588E74: ; // 0x2588e74
|
|
/* 02588E74 */ cpu->r[3] = 0x00000024u;
|
|
/* 02588E78 */ Gambit_fn_02801A78(cpu);
|
|
/* 02588E7C */ cpu->r[26] = cpu->r[3];
|
|
/* 02588E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02588E80 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588E80 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02588E80 */ if (_t84) goto L_02588ECC; else goto L_02588E84;
|
|
L_02588E84: ; // 0x2588e84
|
|
/* 02588E84 */ cpu->r[11] = cpu->r[26];
|
|
/* 02588E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02588E88 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588E88 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02588E88 */ if (_t86) goto L_02588E8C; else goto L_02588E9C;
|
|
L_02588E8C: ; // 0x2588e8c
|
|
/* 02588E8C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02588E90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02588E94 */ cpu->r[11] = cpu->r[3];
|
|
/* 02588E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02588E98 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588E98 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02588E98 */ if (_t88) goto L_02588EB8; else goto L_02588E9C;
|
|
L_02588E9C: ; // 0x2588e9c
|
|
/* 02588E9C */ cpu->r[5] = 0x100D0000u;
|
|
/* 02588EA0 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02588EA0 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02588EA4 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02588EA8 */ cpu->r[5] = cpu->r[5] + 0x00001E84u;
|
|
/* 02588EAC */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02588EAC */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02588EB0 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02588EB0 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02588EB4 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02588EB4 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02588EB8: ; // 0x2588eb8
|
|
/* 02588EB8 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02588EBC */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02588EBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02588EC0 */ cpu->r[6] = cpu->r[6] + 0x00001EFCu;
|
|
/* 02588EC4 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02588EC4 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02588EC8 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02588EC8 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02588ECC: ; // 0x2588ecc
|
|
/* 02588ECC */ cpu->r[0] = 0x100D0000u;
|
|
/* 02588ED0 */ cpu->r[0] = cpu->r[0] + 0x00001F14u;
|
|
/* 02588ED4 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02588ED4 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02588ED8: ; // 0x2588ed8
|
|
/* 02588ED8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02588ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02588EDC */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02588EE0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588EE0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02588EE0 */ if (_t98) goto L_02588EE4; else goto L_02588E64;
|
|
L_02588EE4: ; // 0x2588ee4
|
|
/* 02588EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02588EE8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02588EE8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02588EE8 */ if (_t100) goto L_02588EF4; else goto L_02588EEC;
|
|
L_02588EEC: ; // 0x2588eec
|
|
/* 02588EEC */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02588EEC */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02588EF0 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02588EF0 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02588EF4: ; // 0x2588ef4
|
|
/* 02588EF4 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02588EF4 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02588EF8 */ /* nop */
|
|
/* 02588EFC */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02588EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02588F00 */ cpu->lr = cpu->r[0];
|
|
/* 02588F04 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02588F08 */ return;
|
|
}
|
|
|
|
// fn_02588F0C @ 0x2588f0c
|
|
void Gambit_fn_02588F0C(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_02588F0C: ; // 0x2588f0c
|
|
/* 02588F0C */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02588F0C */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02588F10 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02588F10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02588F14 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02588F14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02588F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02588F1C */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02588F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02588F20 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02588F20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02588F20 */ if (_t5) goto L_02588F24; else goto L_02588F2C;
|
|
L_02588F24: ; // 0x2588f24
|
|
/* 02588F24 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02588F28 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02588F2C: ; // 0x2588f2c
|
|
/* 02588F2C */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02588F2C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02588F30 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02588F30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02588F34 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02588F34 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02588F38 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02588F38 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02588F3C */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02588F3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02588F40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02588F44 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02588F44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02588F48 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02588F48 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02588F48 */ if (_t13) goto L_02588F4C; else goto L_02588F54;
|
|
L_02588F4C: ; // 0x2588f4c
|
|
/* 02588F4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02588F50 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02588F54: ; // 0x2588f54
|
|
/* 02588F54 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02588F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02588F58 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02588F58 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02588F5C */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02588F5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02588F60 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02588F60 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02588F64 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02588F64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02588F68 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02588F68 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02588F6C */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02588F6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02588F70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02588F74 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02588F74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02588F78 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02588F78 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02588F78 */ if (_t23) goto L_02588F7C; else goto L_02588F84;
|
|
L_02588F7C: ; // 0x2588f7c
|
|
/* 02588F7C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02588F80 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02588F84: ; // 0x2588f84
|
|
/* 02588F84 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02588F84 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02588F88 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02588F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02588F8C */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02588F8C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02588F90 */ return;
|
|
}
|
|
|
|
// fn_02588F94 @ 0x2588f94
|
|
void Gambit_fn_02588F94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02588F94: ; // 0x2588f94
|
|
/* 02588F94 */ cpu->r[0] = cpu->lr;
|
|
/* 02588F98 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02588F9C */ cpu->r[7] = 0x02590000u;
|
|
/* 02588FA0 */ cpu->r[6] = 0x02590000u;
|
|
/* 02588FA4 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02588FA8 */ cpu->r[7] = cpu->r[7] + 0xFFFF8934u;
|
|
/* 02588FAC */ cpu->r[6] = cpu->r[6] + 0xFFFF8934u;
|
|
/* 02588FB0 */ cpu->r[10] = cpu->r[10] + 0x00006CD0u;
|
|
/* 02588FB4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02588FB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02588FB8 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02588FBC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588FBC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02588FBC */ cpu->r[1] = _t1;
|
|
/* 02588FC0 */ cpu->r[0] = cpu->r[0] + 0x00006CCCu;
|
|
/* 02588FC4 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02588FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02588FC8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02588FCC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02588FCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02588FD0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588FD4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588FD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02588FD8 */ Gambit_fn_02791B10(cpu);
|
|
/* 02588FDC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02588FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02588FE0 */ cpu->lr = cpu->r[0];
|
|
/* 02588FE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02588FE8 */ return;
|
|
}
|
|
|
|
// fn_02588FBC @ 0x2588fbc
|
|
void Gambit_fn_02588FBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02588FBC: ; // 0x2588fbc
|
|
/* 02588FBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02588FBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588FBC */ cpu->r[1] = _t0;
|
|
/* 02588FC0 */ cpu->r[0] = cpu->r[0] + 0x00006CCCu;
|
|
/* 02588FC4 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02588FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02588FC8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02588FCC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02588FCC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02588FD0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588FD4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02588FD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02588FD8 */ Gambit_fn_02791B10(cpu);
|
|
/* 02588FDC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02588FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02588FE0 */ cpu->lr = cpu->r[0];
|
|
/* 02588FE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02588FE8 */ return;
|
|
}
|
|
|
|
// fn_02588FEC @ 0x2588fec
|
|
void Gambit_fn_02588FEC(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_02588FEC: ; // 0x2588fec
|
|
/* 02588FEC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02588FEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02588FEC */ cpu->r[1] = _t0;
|
|
/* 02588FF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02588FF4 */ /* nop */
|
|
/* 02588FF8 */ cpu->r[30] = cpu->r[5];
|
|
/* 02588FFC */ cpu->r[26] = cpu->r[3];
|
|
/* 02589000 */ cpu->r[27] = cpu->r[7];
|
|
/* 02589004 */ cpu->r[3] = cpu->r[30];
|
|
/* 02589008 */ cpu->r[31] = cpu->r[6];
|
|
/* 0258900C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258900C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02589010 */ cpu->r[29] = cpu->r[4];
|
|
/* 02589014 */ cpu->r[4] = cpu->r[27];
|
|
/* 02589018 */ Gambit_fn_027DB318(cpu);
|
|
/* 0258901C */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 0258901C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02589020 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589020 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02589020 */ if (_t3) goto L_025890B4; else goto L_02589024;
|
|
L_02589024: ; // 0x2589024
|
|
/* 02589024 */ cpu->r[5] = cpu->r[28];
|
|
/* 02589028 */ cpu->r[4] = cpu->r[29];
|
|
/* 0258902C */ cpu->r[3] = cpu->r[26];
|
|
/* 02589030 */ Gambit_fn_02588F94(cpu);
|
|
/* 02589034 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02589034 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589038 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02589038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258903C */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 02589040 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02589044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02589048 */ cpu->r[25] = 0x00000000u;
|
|
/* 0258904C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258904C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258904C */ if (_t7) goto L_025890B4; else goto L_02589050;
|
|
L_02589050: ; // 0x2589050
|
|
/* 02589050 */ cpu->r[24] = 0x101C0000u;
|
|
L_02589054: ; // 0x2589054
|
|
/* 02589054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02589058 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589058 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02589058 */ if (_t9) goto L_02589070; else goto L_0258905C;
|
|
L_0258905C: ; // 0x258905c
|
|
/* 0258905C */ cpu->ctr = cpu->r[27];
|
|
/* 02589060 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589064 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258906C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258906C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258906C */ if (_t11) goto L_025890A0; else goto L_02589070;
|
|
L_02589070: ; // 0x2589070
|
|
/* 02589070 */ _t12 = cpu->r[24] + 0x00006CCCu;
|
|
/* 02589070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02589074 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 02589078 */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 02589078 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0258907C */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0258907C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02589080 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02589084 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 02589084 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02589088 */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258908C */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 0258908C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02589090 */ cpu->r[4] = cpu->r[31];
|
|
/* 02589094 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 02589094 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02589098 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0258909C */ Gambit_fn_02586FB0(cpu);
|
|
L_025890A0: ; // 0x25890a0
|
|
/* 025890A0 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 025890A4 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 025890A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025890A8 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 025890AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 025890B0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025890B0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 025890B0 */ if (_t20) goto L_025890B4; else goto L_02589054;
|
|
L_025890B4: ; // 0x25890b4
|
|
/* 025890B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 025890B8 */ /* nop */
|
|
/* 025890BC */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025890BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025890C0 */ cpu->lr = cpu->r[0];
|
|
/* 025890C4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 025890C8 */ return;
|
|
}
|
|
|
|
// fn_025890CC @ 0x25890cc
|
|
void Gambit_fn_025890CC(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;
|
|
|
|
L_025890CC: ; // 0x25890cc
|
|
/* 025890CC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 025890CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025890CC */ cpu->r[1] = _t0;
|
|
/* 025890D0 */ cpu->r[0] = cpu->lr;
|
|
/* 025890D4 */ /* nop */
|
|
/* 025890D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 025890D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025890DC */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 025890DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025890E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025890E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025890E0 */ if (_t3) goto L_025890E4; else goto L_025890F4;
|
|
L_025890E4: ; // 0x25890e4
|
|
/* 025890E4 */ cpu->r[3] = 0x000002ACu;
|
|
/* 025890E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025890EC */ cpu->r[30] = cpu->r[3];
|
|
/* 025890EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025890F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025890F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025890F0 */ if (_t5) goto L_025895E0; else goto L_025890F4;
|
|
L_025890F4: ; // 0x25890f4
|
|
/* 025890F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025890F8 */ Gambit_fn_0258526C(cpu);
|
|
/* 025890FC */ cpu->r[11] = 0x100D0000u;
|
|
/* 02589100 */ cpu->r[29] = 0x00000000u;
|
|
/* 02589104 */ cpu->r[11] = cpu->r[11] + 0x000026E4u;
|
|
/* 02589108 */ cpu->r[31] = cpu->r[30] + 0x0000024Cu;
|
|
/* 02589108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258910C */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 0258910C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02589110 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589110 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02589110 */ if (_t8) goto L_02589114; else goto L_02589124;
|
|
L_02589114: ; // 0x2589114
|
|
/* 02589114 */ cpu->r[3] = 0x00000038u;
|
|
/* 02589118 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258911C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258911C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02589120 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589120 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02589120 */ if (_t10) goto L_02589154; else goto L_02589124;
|
|
L_02589124: ; // 0x2589124
|
|
/* 02589124 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589128 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0258912C */ cpu->r[8] = 0x10070000u;
|
|
/* 02589130 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02589130 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02589134 */ cpu->r[8] = cpu->r[8] + 0x00004418u;
|
|
/* 02589138 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 02589138 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0258913C */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 0258913C */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02589140 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02589140 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02589144 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02589144 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02589148 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02589148 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0258914C */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258914C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02589150 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02589150 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
L_02589154: ; // 0x2589154
|
|
/* 02589154 */ _t19 = cpu->r[30] + 0x0000029Cu;
|
|
/* 02589154 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02589158 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258915C */ _t20 = cpu->r[30] + 0x00000298u;
|
|
/* 0258915C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02589160 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02589164 */ _t21 = cpu->r[30] + 0x00000294u;
|
|
/* 02589164 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02589168 */ _t22 = cpu->r[30] + 0x00000288u;
|
|
/* 02589168 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 0258916C */ _t23 = cpu->r[30] + 0x00000284u;
|
|
/* 0258916C */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 02589170 */ _t24 = cpu->r[30] + 0x00000290u;
|
|
/* 02589170 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[29]);
|
|
/* 02589174 */ _t25 = cpu->r[30] + 0x000002A0u;
|
|
/* 02589174 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02589178 */ _t26 = cpu->r[30] + 0x000002A4u;
|
|
/* 02589178 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0258917C */ _t27 = cpu->r[30] + 0x000002A8u;
|
|
/* 0258917C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 02589180 */ _t28 = cpu->r[11] + 0x00007230u;
|
|
/* 02589180 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02589184 */ cpu->r[7] = 0x00000001u;
|
|
/* 02589188 */ _t29 = cpu->r[12] + 0x00004FA8u;
|
|
/* 02589188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258918C */ /* nop */
|
|
/* 02589190 */ cpu->r[4] = cpu->r[30];
|
|
/* 02589194 */ /* nop */
|
|
/* 02589198 */ cpu->r[3] = cpu->r[30] + 0x0000024Cu;
|
|
/* 0258919C */ cpu->r[6] = cpu->r[9] | cpu->r[10];
|
|
/* 025891A0 */ cpu->r[0] = 0x00000004u;
|
|
/* 025891A4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025891A8 */ _t30 = cpu->r[30] + 0x00000210u;
|
|
/* 025891A8 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 025891AC */ cpu->r[6] = 0x00000000u;
|
|
/* 025891B0 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 025891B0 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 025891B4 */ Gambit_fn_0258A3A0(cpu);
|
|
/* 025891B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025891BC */ cpu->r[4] = cpu->r[30] + 0x0000024Cu;
|
|
/* 025891C0 */ Gambit_fn_02000834(cpu);
|
|
/* 025891C4 */ cpu->r[25] = 0x100D0000u;
|
|
/* 025891C8 */ cpu->r[26] = 0x02590000u;
|
|
/* 025891CC */ cpu->r[25] = cpu->r[25] + 0x0000251Cu;
|
|
/* 025891D0 */ cpu->r[7] = 0x100D0000u;
|
|
/* 025891D4 */ cpu->r[26] = cpu->r[26] + 0xFFFF9F88u;
|
|
/* 025891D8 */ cpu->r[7] = cpu->r[7] + 0x00002654u;
|
|
/* 025891DC */ cpu->ctr = cpu->r[26];
|
|
/* 025891E0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025891E0 */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 025891E4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 025891E4 */ rbrew_write32(cpu->mem, _t33, cpu->r[25]);
|
|
/* 025891E8 */ _t34 = cpu->r[30] + 0x00000264u;
|
|
/* 025891E8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025891EC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025891F0 */ _t35 = cpu->r[24] + 0x00000000u;
|
|
/* 025891F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025891F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025891F8 */ cpu->r[28] = 0x10110000u;
|
|
/* 025891FC */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025891FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02589200 */ _t37 = cpu->r[28] + 0x00007399u;
|
|
/* 02589200 */ cpu->r[28] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02589204 */ _t38 = cpu->r[7] + 0x00000000u;
|
|
/* 02589204 */ cpu->r[8] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02589208 */ cpu->r[31] = 0x00000000u;
|
|
/* 0258920C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[28]);
|
|
/* 02589210 */ cpu->r[8] = 0x00080000u;
|
|
/* 02589214 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589214 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02589214 */ if (_t40) goto L_0258923C; else goto L_02589218;
|
|
L_02589218: ; // 0x2589218
|
|
/* 02589218 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0258921C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02589220 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02589224 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02589224 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02589224 */ if (_t42) goto L_02589238; else goto L_02589228;
|
|
L_02589228: ; // 0x2589228
|
|
/* 02589228 */ _t43 = cpu->r[7] + 0x00000000u;
|
|
/* 02589228 */ cpu->r[9] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0258922C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 02589230 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589230 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02589230 */ if (_t45) goto L_02589234; else goto L_02589218;
|
|
L_02589234: ; // 0x2589234
|
|
/* 02589234 */ goto L_0258923C;
|
|
L_02589238: ; // 0x2589238
|
|
/* 02589238 */ cpu->r[31] = 0x00000000u;
|
|
L_0258923C: ; // 0x258923c
|
|
/* 0258923C */ _t46 = cpu->r[24] + 0x00000008u;
|
|
/* 0258923C */ cpu->r[6] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02589240 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02589240 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02589244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02589248 */ _t48 = cpu->r[10] + 0x00000014u;
|
|
/* 02589248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258924C */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258924C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0258924C */ if (_t50) goto L_02589254; else goto L_02589250;
|
|
L_02589250: ; // 0x2589250
|
|
/* 02589250 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02589254: ; // 0x2589254
|
|
/* 02589254 */ cpu->ctr = cpu->r[0];
|
|
/* 02589258 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258925C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589260 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589260 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02589264 */ cpu->r[6] = 0x00000000u;
|
|
/* 02589268 */ cpu->r[5] = cpu->r[31];
|
|
/* 0258926C */ cpu->r[3] = cpu->r[27];
|
|
/* 02589270 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02589274 */ _t52 = cpu->r[27] + cpu->r[31];
|
|
/* 02589274 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[28]);
|
|
/* 02589278 */ cpu->r[11] = 0x02590000u;
|
|
/* 0258927C */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 0258927C */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 02589280 */ cpu->r[11] = cpu->r[11] + 0xFFFF9CBCu;
|
|
/* 02589284 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02589284 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[29]);
|
|
/* 02589288 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0258928C */ _t55 = cpu->r[1] + 0x00000020u;
|
|
/* 0258928C */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 02589290 */ cpu->r[12] = 0x00000000u;
|
|
/* 02589294 */ _t56 = cpu->r[1] + 0x00000016u;
|
|
/* 02589294 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[0]);
|
|
/* 02589298 */ cpu->r[9] = 0x02590000u;
|
|
/* 0258929C */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258929C */ rbrew_write16(cpu->mem, _t57, (uint16_t)cpu->r[29]);
|
|
/* 025892A0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 025892A4 */ cpu->r[9] = cpu->r[9] + 0xFFFF9CA8u;
|
|
/* 025892A8 */ _t58 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025892A8 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[5]);
|
|
/* 025892AC */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 025892B0 */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 025892B0 */ rbrew_write32(cpu->mem, _t59, cpu->r[9]);
|
|
/* 025892B4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 025892B8 */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 025892B8 */ rbrew_write16(cpu->mem, _t60, (uint16_t)cpu->r[29]);
|
|
/* 025892BC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 025892C0 */ cpu->r[3] = cpu->r[30] + 0x0000024Cu;
|
|
/* 025892C4 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 025892C4 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[12]);
|
|
/* 025892C8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 025892CC */ _t62 = cpu->r[1] + 0x00000026u;
|
|
/* 025892CC */ rbrew_write16(cpu->mem, _t62, (uint16_t)cpu->r[29]);
|
|
/* 025892D0 */ Gambit_fn_0258A650(cpu);
|
|
/* 025892D4 */ cpu->r[7] = 0x100D0000u;
|
|
/* 025892D8 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 025892D8 */ rbrew_write32(cpu->mem, _t63, cpu->r[25]);
|
|
/* 025892DC */ cpu->r[7] = cpu->r[7] + 0x00002620u;
|
|
/* 025892E0 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025892E0 */ rbrew_write32(cpu->mem, _t64, cpu->r[7]);
|
|
/* 025892E4 */ _t65 = cpu->r[30] + 0x00000260u;
|
|
/* 025892E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 025892E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 025892EC */ _t66 = cpu->r[30] + 0x00000264u;
|
|
/* 025892EC */ cpu->r[27] = rbrew_read32(cpu->mem, _t66);
|
|
/* 025892F0 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025892F0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 025892F0 */ if (_t68) goto L_025892F4; else goto L_025892F8;
|
|
L_025892F4: ; // 0x25892f4
|
|
/* 025892F4 */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
L_025892F8: ; // 0x25892f8
|
|
/* 025892F8 */ cpu->ctr = cpu->r[26];
|
|
/* 025892FC */ _t69 = cpu->r[27] + 0x00000000u;
|
|
/* 025892FC */ cpu->r[24] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02589300 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589304 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589308 */ _t70 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0258930C */ _t71 = cpu->r[12] + 0x00000000u;
|
|
/* 0258930C */ cpu->r[0] = rbrew_read8(cpu->mem, _t71);
|
|
/* 02589310 */ cpu->r[31] = 0x00000000u;
|
|
/* 02589314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02589318 */ cpu->r[0] = 0x00080000u;
|
|
/* 0258931C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258931C */ _t73 = _t72 & 0x00000001u;
|
|
/* 0258931C */ if (_t73) goto L_02589344; else goto L_02589320;
|
|
L_02589320: ; // 0x2589320
|
|
/* 02589320 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02589324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02589328 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0258932C */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258932C */ _t75 = _t74 & 0x00000001u;
|
|
/* 0258932C */ if (_t75) goto L_02589340; else goto L_02589330;
|
|
L_02589330: ; // 0x2589330
|
|
/* 02589330 */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 02589330 */ cpu->r[10] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02589334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 02589338 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589338 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02589338 */ if (_t78) goto L_0258933C; else goto L_02589320;
|
|
L_0258933C: ; // 0x258933c
|
|
/* 0258933C */ goto L_02589344;
|
|
L_02589340: ; // 0x2589340
|
|
/* 02589340 */ cpu->r[31] = 0x00000000u;
|
|
L_02589344: ; // 0x2589344
|
|
/* 02589344 */ _t79 = cpu->r[27] + 0x00000008u;
|
|
/* 02589344 */ cpu->r[7] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02589348 */ _t80 = cpu->r[1] + 0x00000010u;
|
|
/* 02589348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0258934C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02589350 */ _t81 = cpu->r[12] + 0x00000014u;
|
|
/* 02589350 */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02589354 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02589354 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02589354 */ if (_t83) goto L_0258935C; else goto L_02589358;
|
|
L_02589358: ; // 0x2589358
|
|
/* 02589358 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0258935C: ; // 0x258935c
|
|
/* 0258935C */ cpu->ctr = cpu->r[6];
|
|
/* 02589360 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589364 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589368 */ _t84 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589368 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0258936C */ cpu->r[3] = cpu->r[24];
|
|
/* 02589370 */ cpu->r[5] = cpu->r[31];
|
|
/* 02589374 */ cpu->r[6] = 0x00000000u;
|
|
/* 02589378 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0258937C */ _t85 = cpu->r[24] + cpu->r[31];
|
|
/* 0258937C */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[28]);
|
|
/* 02589380 */ cpu->r[0] = 0x00000001u;
|
|
/* 02589384 */ _t86 = cpu->r[1] + 0x00000028u;
|
|
/* 02589384 */ rbrew_write32(cpu->mem, _t86, cpu->r[29]);
|
|
/* 02589388 */ cpu->r[8] = 0x02590000u;
|
|
/* 0258938C */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 0258938C */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[0]);
|
|
/* 02589390 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02589394 */ _t88 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02589394 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[29]);
|
|
/* 02589398 */ cpu->r[11] = 0x02590000u;
|
|
/* 0258939C */ _t89 = cpu->r[1] + 0x00000024u;
|
|
/* 0258939C */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[29]);
|
|
/* 025893A0 */ _t90 = cpu->r[1] + 0x00000026u;
|
|
/* 025893A0 */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[29]);
|
|
/* 025893A4 */ cpu->r[8] = cpu->r[8] + 0xFFFFA34Cu;
|
|
/* 025893A8 */ _t91 = cpu->r[1] + 0x00000016u;
|
|
/* 025893A8 */ rbrew_write16(cpu->mem, _t91, (uint16_t)cpu->r[0]);
|
|
/* 025893AC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 025893B0 */ _t92 = cpu->r[1] + 0x00000020u;
|
|
/* 025893B0 */ rbrew_write32(cpu->mem, _t92, cpu->r[8]);
|
|
/* 025893B4 */ cpu->r[11] = cpu->r[11] + 0xFFFF9CD4u;
|
|
/* 025893B8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 025893BC */ _t93 = cpu->r[1] + 0x00000014u;
|
|
/* 025893BC */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[29]);
|
|
/* 025893C0 */ cpu->r[3] = cpu->r[30] + 0x0000024Cu;
|
|
/* 025893C4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 025893C8 */ _t94 = cpu->r[1] + 0x00000018u;
|
|
/* 025893C8 */ rbrew_write32(cpu->mem, _t94, cpu->r[11]);
|
|
/* 025893CC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 025893D0 */ _t95 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025893D0 */ rbrew_write16(cpu->mem, _t95, (uint16_t)cpu->r[0]);
|
|
/* 025893D4 */ Gambit_fn_0258A650(cpu);
|
|
/* 025893D8 */ cpu->r[5] = 0x100D0000u;
|
|
/* 025893DC */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 025893DC */ rbrew_write32(cpu->mem, _t96, cpu->r[25]);
|
|
/* 025893E0 */ cpu->r[5] = cpu->r[5] + 0x00002634u;
|
|
/* 025893E4 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025893E4 */ rbrew_write32(cpu->mem, _t97, cpu->r[5]);
|
|
/* 025893E8 */ _t98 = cpu->r[30] + 0x00000260u;
|
|
/* 025893E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
/* 025893EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 025893F0 */ _t99 = cpu->r[30] + 0x00000264u;
|
|
/* 025893F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t99);
|
|
/* 025893F4 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025893F4 */ _t101 = _t100 & 0x00000001u;
|
|
/* 025893F4 */ if (_t101) goto L_025893F8; else goto L_025893FC;
|
|
L_025893F8: ; // 0x25893f8
|
|
/* 025893F8 */ cpu->r[27] = cpu->r[27] + 0x00000048u;
|
|
L_025893FC: ; // 0x25893fc
|
|
/* 025893FC */ cpu->ctr = cpu->r[26];
|
|
/* 02589400 */ _t102 = cpu->r[27] + 0x00000000u;
|
|
/* 02589400 */ cpu->r[24] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02589404 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258940C */ _t103 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258940C */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02589410 */ _t104 = cpu->r[7] + 0x00000000u;
|
|
/* 02589410 */ cpu->r[10] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02589414 */ cpu->r[31] = 0x00000000u;
|
|
/* 02589418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 0258941C */ cpu->r[9] = 0x00080000u;
|
|
/* 02589420 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589420 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02589420 */ if (_t106) goto L_02589448; else goto L_02589424;
|
|
L_02589424: ; // 0x2589424
|
|
/* 02589424 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02589428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0258942C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02589430 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02589430 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02589430 */ if (_t108) goto L_02589444; else goto L_02589434;
|
|
L_02589434: ; // 0x2589434
|
|
/* 02589434 */ _t109 = cpu->r[7] + 0x00000000u;
|
|
/* 02589434 */ cpu->r[0] = rbrew_read8(cpu->mem, _t109);
|
|
/* 02589438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0258943C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258943C */ _t111 = _t110 & 0x00000001u;
|
|
/* 0258943C */ if (_t111) goto L_02589440; else goto L_02589424;
|
|
L_02589440: ; // 0x2589440
|
|
/* 02589440 */ goto L_02589448;
|
|
L_02589444: ; // 0x2589444
|
|
/* 02589444 */ cpu->r[31] = 0x00000000u;
|
|
L_02589448: ; // 0x2589448
|
|
/* 02589448 */ _t112 = cpu->r[27] + 0x00000008u;
|
|
/* 02589448 */ cpu->r[9] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0258944C */ _t113 = cpu->r[1] + 0x00000010u;
|
|
/* 0258944C */ cpu->r[12] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02589450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02589454 */ _t114 = cpu->r[12] + 0x00000014u;
|
|
/* 02589454 */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02589458 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02589458 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02589458 */ if (_t116) goto L_02589460; else goto L_0258945C;
|
|
L_0258945C: ; // 0x258945c
|
|
/* 0258945C */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02589460: ; // 0x2589460
|
|
/* 02589460 */ cpu->ctr = cpu->r[5];
|
|
/* 02589464 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589468 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258946C */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258946C */ cpu->r[4] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02589470 */ cpu->r[3] = cpu->r[24];
|
|
/* 02589474 */ cpu->r[5] = cpu->r[31];
|
|
/* 02589478 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258947C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02589480 */ _t118 = cpu->r[24] + cpu->r[31];
|
|
/* 02589480 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[28]);
|
|
/* 02589484 */ cpu->r[0] = 0x00000002u;
|
|
/* 02589488 */ _t119 = cpu->r[1] + 0x00000028u;
|
|
/* 02589488 */ rbrew_write32(cpu->mem, _t119, cpu->r[29]);
|
|
/* 0258948C */ cpu->r[8] = 0x02590000u;
|
|
/* 02589490 */ _t120 = cpu->r[1] + 0x00000008u;
|
|
/* 02589490 */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[0]);
|
|
/* 02589494 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02589498 */ _t121 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02589498 */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[29]);
|
|
/* 0258949C */ cpu->r[12] = 0x02590000u;
|
|
/* 025894A0 */ _t122 = cpu->r[1] + 0x00000024u;
|
|
/* 025894A0 */ rbrew_write16(cpu->mem, _t122, (uint16_t)cpu->r[29]);
|
|
/* 025894A4 */ _t123 = cpu->r[1] + 0x00000026u;
|
|
/* 025894A4 */ rbrew_write16(cpu->mem, _t123, (uint16_t)cpu->r[29]);
|
|
/* 025894A8 */ cpu->r[8] = cpu->r[8] + 0xFFFF9DCCu;
|
|
/* 025894AC */ _t124 = cpu->r[1] + 0x00000016u;
|
|
/* 025894AC */ rbrew_write16(cpu->mem, _t124, (uint16_t)cpu->r[0]);
|
|
/* 025894B0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 025894B4 */ _t125 = cpu->r[1] + 0x00000020u;
|
|
/* 025894B4 */ rbrew_write32(cpu->mem, _t125, cpu->r[8]);
|
|
/* 025894B8 */ cpu->r[12] = cpu->r[12] + 0xFFFFA350u;
|
|
/* 025894BC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 025894C0 */ _t126 = cpu->r[1] + 0x00000014u;
|
|
/* 025894C0 */ rbrew_write16(cpu->mem, _t126, (uint16_t)cpu->r[29]);
|
|
/* 025894C4 */ cpu->r[3] = cpu->r[30] + 0x0000024Cu;
|
|
/* 025894C8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 025894CC */ _t127 = cpu->r[1] + 0x00000018u;
|
|
/* 025894CC */ rbrew_write32(cpu->mem, _t127, cpu->r[12]);
|
|
/* 025894D0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 025894D4 */ _t128 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025894D4 */ rbrew_write16(cpu->mem, _t128, (uint16_t)cpu->r[0]);
|
|
/* 025894D8 */ Gambit_fn_0258A650(cpu);
|
|
/* 025894DC */ cpu->r[0] = 0x100D0000u;
|
|
/* 025894E0 */ _t129 = cpu->r[1] + 0x00000010u;
|
|
/* 025894E0 */ rbrew_write32(cpu->mem, _t129, cpu->r[25]);
|
|
/* 025894E4 */ cpu->r[0] = cpu->r[0] + 0x00002644u;
|
|
/* 025894E8 */ _t130 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025894E8 */ rbrew_write32(cpu->mem, _t130, cpu->r[0]);
|
|
/* 025894EC */ _t131 = cpu->r[30] + 0x00000260u;
|
|
/* 025894EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t131);
|
|
/* 025894F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000003u);
|
|
/* 025894F4 */ _t132 = cpu->r[30] + 0x00000264u;
|
|
/* 025894F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t132);
|
|
/* 025894F8 */ _t133 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025894F8 */ _t134 = _t133 & 0x00000001u;
|
|
/* 025894F8 */ if (_t134) goto L_025894FC; else goto L_02589500;
|
|
L_025894FC: ; // 0x25894fc
|
|
/* 025894FC */ cpu->r[31] = cpu->r[31] + 0x0000006Cu;
|
|
L_02589500: ; // 0x2589500
|
|
/* 02589500 */ cpu->ctr = cpu->r[26];
|
|
/* 02589504 */ _t135 = cpu->r[31] + 0x00000000u;
|
|
/* 02589504 */ cpu->r[25] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02589508 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258950C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589510 */ _t136 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02589514 */ _t137 = cpu->r[11] + 0x00000000u;
|
|
/* 02589514 */ cpu->r[9] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02589518 */ cpu->r[27] = 0x00000000u;
|
|
/* 0258951C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 02589520 */ cpu->r[5] = 0x00080000u;
|
|
/* 02589524 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589524 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02589524 */ if (_t139) goto L_0258954C; else goto L_02589528;
|
|
L_02589528: ; // 0x2589528
|
|
/* 02589528 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0258952C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[5]);
|
|
/* 02589530 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02589534 */ _t140 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02589534 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02589534 */ if (_t141) goto L_02589548; else goto L_02589538;
|
|
L_02589538: ; // 0x2589538
|
|
/* 02589538 */ _t142 = cpu->r[11] + 0x00000000u;
|
|
/* 02589538 */ cpu->r[10] = rbrew_read8(cpu->mem, _t142);
|
|
/* 0258953C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 02589540 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589540 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02589540 */ if (_t144) goto L_02589544; else goto L_02589528;
|
|
L_02589544: ; // 0x2589544
|
|
/* 02589544 */ goto L_0258954C;
|
|
L_02589548: ; // 0x2589548
|
|
/* 02589548 */ cpu->r[27] = 0x00000000u;
|
|
L_0258954C: ; // 0x258954c
|
|
/* 0258954C */ _t145 = cpu->r[31] + 0x00000008u;
|
|
/* 0258954C */ cpu->r[11] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02589550 */ _t146 = cpu->r[1] + 0x00000010u;
|
|
/* 02589550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02589554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]);
|
|
/* 02589558 */ _t147 = cpu->r[12] + 0x00000014u;
|
|
/* 02589558 */ cpu->r[7] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0258955C */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258955C */ _t149 = _t148 & 0x00000001u;
|
|
/* 0258955C */ if (_t149) goto L_02589564; else goto L_02589560;
|
|
L_02589560: ; // 0x2589560
|
|
/* 02589560 */ cpu->r[27] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02589564: ; // 0x2589564
|
|
/* 02589564 */ cpu->ctr = cpu->r[7];
|
|
/* 02589568 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258956C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589570 */ _t150 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589570 */ cpu->r[4] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02589574 */ cpu->r[6] = 0x00000000u;
|
|
/* 02589578 */ cpu->r[5] = cpu->r[27];
|
|
/* 0258957C */ cpu->r[3] = cpu->r[25];
|
|
/* 02589580 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02589584 */ _t151 = cpu->r[25] + cpu->r[27];
|
|
/* 02589584 */ rbrew_write8(cpu->mem, _t151, (uint8_t)cpu->r[28]);
|
|
/* 02589588 */ cpu->r[0] = 0x00000003u;
|
|
/* 0258958C */ _t152 = cpu->r[1] + 0x00000014u;
|
|
/* 0258958C */ rbrew_write16(cpu->mem, _t152, (uint16_t)cpu->r[29]);
|
|
/* 02589590 */ cpu->r[12] = 0x02590000u;
|
|
/* 02589594 */ _t153 = cpu->r[1] + 0x00000026u;
|
|
/* 02589594 */ rbrew_write16(cpu->mem, _t153, (uint16_t)cpu->r[29]);
|
|
/* 02589598 */ cpu->r[12] = cpu->r[12] + 0xFFFF9EA8u;
|
|
/* 0258959C */ _t154 = cpu->r[1] + 0x00000008u;
|
|
/* 0258959C */ rbrew_write8(cpu->mem, _t154, (uint8_t)cpu->r[0]);
|
|
/* 025895A0 */ cpu->r[0] = 0x02590000u;
|
|
/* 025895A4 */ _t155 = cpu->r[1] + 0x00000020u;
|
|
/* 025895A4 */ rbrew_write32(cpu->mem, _t155, cpu->r[12]);
|
|
/* 025895A8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA354u;
|
|
/* 025895AC */ _t156 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025895AC */ rbrew_write16(cpu->mem, _t156, (uint16_t)cpu->r[29]);
|
|
/* 025895B0 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 025895B4 */ _t157 = cpu->r[1] + 0x00000024u;
|
|
/* 025895B4 */ rbrew_write16(cpu->mem, _t157, (uint16_t)cpu->r[29]);
|
|
/* 025895B8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 025895BC */ _t158 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025895BC */ rbrew_write16(cpu->mem, _t158, (uint16_t)cpu->r[8]);
|
|
/* 025895C0 */ cpu->r[3] = cpu->r[30] + 0x0000024Cu;
|
|
/* 025895C4 */ _t159 = cpu->r[1] + 0x00000018u;
|
|
/* 025895C4 */ rbrew_write32(cpu->mem, _t159, cpu->r[0]);
|
|
/* 025895C8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 025895CC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 025895D0 */ _t160 = cpu->r[1] + 0x00000028u;
|
|
/* 025895D0 */ rbrew_write32(cpu->mem, _t160, cpu->r[29]);
|
|
/* 025895D4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 025895D8 */ _t161 = cpu->r[1] + 0x00000016u;
|
|
/* 025895D8 */ rbrew_write16(cpu->mem, _t161, (uint16_t)cpu->r[8]);
|
|
/* 025895DC */ Gambit_fn_0258A650(cpu);
|
|
L_025895E0: ; // 0x25895e0
|
|
/* 025895E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025895E4 */ /* nop */
|
|
/* 025895E8 */ _t162 = cpu->r[1] + 0x00000054u;
|
|
/* 025895E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t162);
|
|
/* 025895EC */ cpu->lr = cpu->r[0];
|
|
/* 025895F0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 025895F4 */ return;
|
|
}
|
|
|
|
// fn_025895F8 @ 0x25895f8
|
|
void Gambit_fn_025895F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025895F8: ; // 0x25895f8
|
|
/* 025895F8 */ _t0 = cpu->r[3] + 0x00000284u;
|
|
/* 025895F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 025895FC */ cpu->r[0] = 0x00000001u;
|
|
/* 02589600 */ _t1 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02589600 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02589604 */ return;
|
|
}
|
|
|
|
// fn_02589608 @ 0x2589608
|
|
void Gambit_fn_02589608(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;
|
|
|
|
L_02589608: ; // 0x2589608
|
|
/* 02589608 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02589608 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589608 */ cpu->r[1] = _t0;
|
|
/* 0258960C */ /* nop */
|
|
/* 02589610 */ cpu->r[0] = cpu->lr;
|
|
/* 02589614 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02589614 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02589618 */ cpu->r[29] = 0x100D0000u;
|
|
/* 0258961C */ cpu->r[30] = 0x101C0000u;
|
|
/* 02589620 */ _t2 = cpu->r[30] + 0x00006000u;
|
|
/* 02589620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02589620 */ cpu->r[30] = _t2;
|
|
/* 02589624 */ cpu->r[29] = cpu->r[29] + 0x0000251Cu;
|
|
/* 02589628 */ cpu->r[9] = 0x101C0000u;
|
|
/* 0258962C */ _t3 = cpu->r[12] + 0x0000025Cu;
|
|
/* 0258962C */ cpu->r[25] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589630 */ _t4 = cpu->r[9] + 0x00006CF0u;
|
|
/* 02589630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589634 */ cpu->r[24] = 0x100D0000u;
|
|
/* 02589638 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02589638 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0258963C */ cpu->r[31] = cpu->r[3];
|
|
/* 02589640 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02589640 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02589644 */ cpu->r[24] = cpu->r[24] + 0x00002680u;
|
|
/* 02589648 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589648 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0258964C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02589650 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02589650 */ rbrew_write32(cpu->mem, _t8, cpu->r[24]);
|
|
/* 02589654 */ Gambit_fn_02982574(cpu);
|
|
/* 02589658 */ cpu->r[26] = 0x101D0000u;
|
|
/* 0258965C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02589660 */ _t9 = cpu->r[26] + 0xFFFF97D0u;
|
|
/* 02589660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02589660 */ cpu->r[26] = _t9;
|
|
/* 02589664 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02589668 */ _t10 = cpu->r[10] + 0xFFFF97D9u;
|
|
/* 02589668 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0258966C */ _t11 = cpu->r[12] + 0xFFFF97D8u;
|
|
/* 0258966C */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02589670 */ _t12 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02589670 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02589674 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02589678 */ _t13 = cpu->r[1] + 0x00000050u;
|
|
/* 02589678 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]);
|
|
/* 0258967C */ _t14 = cpu->r[28] + 0xFFFF97D4u;
|
|
/* 0258967C */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258967C */ cpu->r[28] = _t14;
|
|
/* 02589680 */ _t15 = cpu->r[1] + 0x00000051u;
|
|
/* 02589680 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[6]);
|
|
/* 02589684 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 02589688 */ _t16 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02589688 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 0258968C */ Gambit_fn_02984F3C(cpu);
|
|
/* 02589690 */ cpu->r[0] = 0x00000006u;
|
|
/* 02589694 */ cpu->r[9] = 0x00000003u;
|
|
/* 02589698 */ cpu->r[8] = cpu->r[1] + 0x00000054u;
|
|
/* 0258969C */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 0258969C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 025896A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025896A4 */ _t18 = cpu->r[25] + 0x00000008u;
|
|
/* 025896A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025896A8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 025896AC */ cpu->r[7] = cpu->r[1] + 0x00000038u;
|
|
/* 025896B0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 025896B4 */ Gambit_fn_020022D4(cpu);
|
|
/* 025896B8 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 025896B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025896BC */ cpu->r[4] = 0x00000000u;
|
|
/* 025896C0 */ cpu->r[5] = cpu->r[4];
|
|
/* 025896C4 */ _t20 = cpu->r[31] + 0x0000029Cu;
|
|
/* 025896C4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 025896C8 */ Gambit_fn_029804F0(cpu);
|
|
/* 025896CC */ cpu->r[3] = 0x000001FCu;
|
|
/* 025896D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025896D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025896D8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025896D8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 025896D8 */ if (_t22) goto L_025896E0; else goto L_025896DC;
|
|
L_025896DC: ; // 0x25896dc
|
|
/* 025896DC */ Gambit_fn_02397560(cpu);
|
|
L_025896E0: ; // 0x25896e0
|
|
/* 025896E0 */ _t23 = cpu->r[31] + 0x0000029Cu;
|
|
/* 025896E0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025896E4 */ _t24 = cpu->r[31] + 0x000002A4u;
|
|
/* 025896E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 025896E8 */ cpu->r[3] = cpu->r[27];
|
|
/* 025896EC */ cpu->r[4] = 0x00000000u;
|
|
/* 025896F0 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 025896F4 */ _t25 = cpu->r[27] + 0x0000001Cu;
|
|
/* 025896F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025896F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025896FC */ cpu->r[9] = 0x00000000u;
|
|
/* 02589700 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589700 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02589700 */ if (_t27) goto L_0258970C; else goto L_02589704;
|
|
L_02589704: ; // 0x2589704
|
|
/* 02589704 */ _t28 = cpu->r[27] + 0x00000024u;
|
|
/* 02589704 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02589708 */ _t29 = cpu->r[9] + 0x00000000u;
|
|
/* 02589708 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
L_0258970C: ; // 0x258970c
|
|
/* 0258970C */ _t30 = cpu->r[9] + 0x00000000u;
|
|
/* 0258970C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02589710 */ _t31 = cpu->r[3] + 0x00000088u;
|
|
/* 02589710 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02589714 */ _t32 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02589714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02589718 */ cpu->ctr = cpu->r[0];
|
|
/* 0258971C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02589720 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589724 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02589724 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02589728 */ _t34 = cpu->r[6] + 0x00000014u;
|
|
/* 02589728 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258972C */ cpu->ctr = cpu->r[7];
|
|
/* 02589730 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02589734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589738 */ _t35 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589738 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258973C */ _t36 = cpu->r[31] + 0x000002A4u;
|
|
/* 0258973C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02589740 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02589740 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02589744 */ Gambit_fn_023979A0(cpu);
|
|
/* 02589748 */ _t38 = cpu->r[31] + 0x00000080u;
|
|
/* 02589748 */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258974C */ _t39 = cpu->r[31] + 0x000002A4u;
|
|
/* 0258974C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02589750 */ _t40 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589750 */ rbrew_write32(cpu->mem, _t40, cpu->r[5]);
|
|
/* 02589754 */ _t41 = cpu->r[5] + 0x00000020u;
|
|
/* 02589754 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02589758 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 02589758 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258975C */ _t43 = cpu->r[9] + 0x0000025Cu;
|
|
/* 0258975C */ cpu->r[25] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02589760 */ cpu->r[27] = 0x101C0000u;
|
|
/* 02589764 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02589764 */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
|
|
/* 02589768 */ _t45 = cpu->r[27] + 0x00006CECu;
|
|
/* 02589768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0258976C */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 0258976C */ rbrew_write32(cpu->mem, _t46, cpu->r[24]);
|
|
/* 02589770 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02589770 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02589774 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02589778 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589778 */ rbrew_write32(cpu->mem, _t48, cpu->r[29]);
|
|
/* 0258977C */ Gambit_fn_02982574(cpu);
|
|
/* 02589780 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02589784 */ _t49 = cpu->r[26] + 0x00000000u;
|
|
/* 02589784 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02589788 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0258978C */ _t50 = cpu->r[6] + 0xFFFF97D9u;
|
|
/* 0258978C */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02589790 */ _t51 = cpu->r[28] + 0x00000000u;
|
|
/* 02589790 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02589794 */ _t52 = cpu->r[7] + 0xFFFF97D8u;
|
|
/* 02589794 */ cpu->r[10] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02589798 */ _t53 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02589798 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 0258979C */ _t54 = cpu->r[1] + 0x00000050u;
|
|
/* 0258979C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[10]);
|
|
/* 025897A0 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025897A0 */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 025897A4 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 025897A8 */ _t56 = cpu->r[1] + 0x00000051u;
|
|
/* 025897A8 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]);
|
|
/* 025897AC */ Gambit_fn_02984F3C(cpu);
|
|
/* 025897B0 */ cpu->r[7] = 0x00000006u;
|
|
/* 025897B4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025897B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025897BC */ _t57 = cpu->r[1] + 0x00000058u;
|
|
/* 025897BC */ rbrew_write32(cpu->mem, _t57, cpu->r[7]);
|
|
/* 025897C0 */ cpu->r[7] = cpu->r[1] + 0x00000038u;
|
|
/* 025897C4 */ _t58 = cpu->r[25] + 0x00000008u;
|
|
/* 025897C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 025897C8 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 025897CC */ cpu->r[9] = 0x00000003u;
|
|
/* 025897D0 */ cpu->r[8] = cpu->r[1] + 0x00000054u;
|
|
/* 025897D4 */ Gambit_fn_020022D4(cpu);
|
|
/* 025897D8 */ _t59 = cpu->r[31] + 0x00000008u;
|
|
/* 025897D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 025897DC */ cpu->r[12] = 0x100D0000u;
|
|
/* 025897E0 */ _t60 = cpu->r[31] + 0x00000080u;
|
|
/* 025897E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 025897E4 */ _t61 = cpu->r[31] + 0x00000294u;
|
|
/* 025897E4 */ rbrew_write32(cpu->mem, _t61, cpu->r[8]);
|
|
/* 025897E8 */ _t62 = cpu->r[31] + 0x00000084u;
|
|
/* 025897E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 025897EC */ _t63 = cpu->r[31] + 0x00000298u;
|
|
/* 025897EC */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
/* 025897F0 */ cpu->r[12] = cpu->r[12] + 0x00002694u;
|
|
/* 025897F4 */ _t64 = cpu->r[9] + 0x00000020u;
|
|
/* 025897F4 */ rbrew_write32(cpu->mem, _t64, cpu->r[5]);
|
|
/* 025897F8 */ _t65 = cpu->r[31] + 0x00000294u;
|
|
/* 025897F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 025897FC */ cpu->r[11] = 0x100D0000u;
|
|
/* 02589800 */ _t66 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02589800 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 02589804 */ cpu->r[11] = cpu->r[11] + 0x00002684u;
|
|
/* 02589808 */ _t67 = cpu->r[1] + 0x00000084u;
|
|
/* 02589808 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 0258980C */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 02589810 */ _t68 = cpu->r[1] + 0x00000088u;
|
|
/* 02589810 */ rbrew_write32(cpu->mem, _t68, cpu->r[11]);
|
|
/* 02589814 */ Gambit_fn_027C7A38(cpu);
|
|
/* 02589818 */ _t69 = cpu->r[31] + 0x00000298u;
|
|
/* 02589818 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0258981C */ _t70 = cpu->r[31] + 0x0000028Cu;
|
|
/* 0258981C */ rbrew_write32(cpu->mem, _t70, cpu->r[3]);
|
|
/* 02589820 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02589824 */ _t71 = cpu->r[8] + 0x00000024u;
|
|
/* 02589824 */ rbrew_write32(cpu->mem, _t71, cpu->r[3]);
|
|
/* 02589828 */ _t72 = cpu->r[31] + 0x00000008u;
|
|
/* 02589828 */ cpu->r[6] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0258982C */ _t73 = cpu->r[12] + 0x00002664u;
|
|
/* 0258982C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02589830 */ _t74 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02589830 */ cpu->r[0] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02589834 */ _t75 = cpu->r[6] + 0x0000006Cu;
|
|
/* 02589834 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
/* 02589838 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0258983C */ _t76 = cpu->r[6] + 0x00000068u;
|
|
/* 0258983C */ rbrew_write_f32(cpu->mem, _t76, cpu->f[0]);
|
|
/* 02589840 */ _t77 = cpu->r[6] + 0x00000064u;
|
|
/* 02589840 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[0]);
|
|
/* 02589844 */ cpu->r[3] = 0x00000000u;
|
|
/* 02589848 */ _t78 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02589848 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[0]);
|
|
/* 0258984C */ Gambit_fn_02043B8C(cpu);
|
|
/* 02589850 */ _t79 = cpu->r[31] + 0x000001F0u;
|
|
/* 02589850 */ rbrew_write32(cpu->mem, _t79, cpu->r[3]);
|
|
/* 02589854 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02589858 */ _t80 = cpu->r[27] + 0x00006CECu;
|
|
/* 02589858 */ cpu->r[8] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0258985C */ cpu->r[0] = 0x00000000u;
|
|
/* 02589860 */ _t81 = cpu->r[12] + 0x000066E8u;
|
|
/* 02589860 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02589864 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 02589864 */ rbrew_write32(cpu->mem, _t82, cpu->r[29]);
|
|
/* 02589868 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258986C */ _t83 = cpu->r[1] + 0x00000030u;
|
|
/* 0258986C */ rbrew_write32(cpu->mem, _t83, cpu->r[12]);
|
|
/* 02589870 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589874 */ _t84 = cpu->r[1] + 0x0000002Eu;
|
|
/* 02589874 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[0]);
|
|
/* 02589878 */ _t85 = cpu->r[9] + 0x0000266Cu;
|
|
/* 02589878 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 0258987C */ cpu->r[7] = 0x00000001u;
|
|
/* 02589880 */ _t86 = cpu->r[10] + 0x00002670u;
|
|
/* 02589880 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02589884 */ _t87 = cpu->r[1] + 0x0000002Fu;
|
|
/* 02589884 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[7]);
|
|
/* 02589888 */ _t88 = cpu->r[1] + 0x0000002Du;
|
|
/* 02589888 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[7]);
|
|
/* 0258988C */ _t89 = cpu->r[1] + 0x00000020u;
|
|
/* 0258988C */ rbrew_write_f32(cpu->mem, _t89, cpu->f[0]);
|
|
/* 02589890 */ _t90 = cpu->r[1] + 0x00000024u;
|
|
/* 02589890 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[12]);
|
|
/* 02589894 */ _t91 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02589894 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[0]);
|
|
/* 02589898 */ _t92 = cpu->r[1] + 0x00000018u;
|
|
/* 02589898 */ rbrew_write32(cpu->mem, _t92, cpu->r[12]);
|
|
/* 0258989C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025898A0 */ _t93 = cpu->r[1] + 0x00000008u;
|
|
/* 025898A0 */ rbrew_write32(cpu->mem, _t93, cpu->r[8]);
|
|
/* 025898A4 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025898A8 */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025898A8 */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 025898AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025898B0 */ _t95 = cpu->r[11] + 0x00002668u;
|
|
/* 025898B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 025898B4 */ _t96 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025898B4 */ rbrew_write32(cpu->mem, _t96, cpu->r[29]);
|
|
/* 025898B8 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 025898BC */ _t97 = cpu->r[1] + 0x00000028u;
|
|
/* 025898BC */ rbrew_write_f32(cpu->mem, _t97, cpu->f[13]);
|
|
/* 025898C0 */ Gambit_fn_025857F0(cpu);
|
|
/* 025898C4 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 025898C8 */ Gambit_fn_0239394C(cpu);
|
|
/* 025898CC */ _t98 = cpu->r[30] + 0x00000000u;
|
|
/* 025898CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t98);
|
|
/* 025898D0 */ cpu->r[0] = cpu->r[31] + 0x00000050u;
|
|
/* 025898D4 */ _t99 = cpu->r[1] + 0x00000060u;
|
|
/* 025898D4 */ rbrew_write32(cpu->mem, _t99, cpu->r[0]);
|
|
/* 025898D8 */ _t100 = cpu->r[10] + 0x00000268u;
|
|
/* 025898D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t100);
|
|
/* 025898DC */ cpu->r[3] = cpu->r[30];
|
|
/* 025898E0 */ Gambit_fn_0261F774(cpu);
|
|
/* 025898E4 */ cpu->r[4] = cpu->r[3];
|
|
/* 025898E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025898EC */ Gambit_fn_0261F55C(cpu);
|
|
/* 025898F0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 025898F4 */ _t101 = cpu->r[31] + 0x00000008u;
|
|
/* 025898F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t101);
|
|
/* 025898F8 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025898FC */ _t102 = cpu->r[5] + 0x00002678u;
|
|
/* 025898FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02589900 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02589904 */ _t103 = cpu->r[9] + 0x00002674u;
|
|
/* 02589904 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02589908 */ cpu->r[12] = cpu->r[12] + 0x0000268Cu;
|
|
/* 0258990C */ _t104 = cpu->r[1] + 0x00000068u;
|
|
/* 0258990C */ rbrew_write32(cpu->mem, _t104, cpu->r[11]);
|
|
/* 02589910 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02589914 */ _t105 = cpu->r[1] + 0x00000070u;
|
|
/* 02589914 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[12]);
|
|
/* 02589918 */ _t106 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02589918 */ rbrew_write32(cpu->mem, _t106, cpu->r[12]);
|
|
/* 0258991C */ cpu->r[10] = cpu->r[3] + 0x00000244u;
|
|
/* 02589920 */ _t107 = cpu->r[11] + 0x0000267Cu;
|
|
/* 02589920 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02589924 */ _t108 = cpu->r[1] + 0x00000064u;
|
|
/* 02589924 */ rbrew_write32(cpu->mem, _t108, cpu->r[10]);
|
|
/* 02589928 */ _t109 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02589928 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[13]);
|
|
/* 0258992C */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 02589930 */ _t110 = cpu->r[1] + 0x00000080u;
|
|
/* 02589930 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[12]);
|
|
/* 02589934 */ Gambit_fn_023932B4(cpu);
|
|
/* 02589938 */ _t111 = cpu->r[31] + 0x00000288u;
|
|
/* 02589938 */ rbrew_write32(cpu->mem, _t111, cpu->r[3]);
|
|
/* 0258993C */ cpu->r[3] = 0x00000008u;
|
|
/* 02589940 */ Gambit_fn_02801A78(cpu);
|
|
/* 02589944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589948 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589948 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02589948 */ if (_t113) goto L_02589950; else goto L_0258994C;
|
|
L_0258994C: ; // 0x258994c
|
|
/* 0258994C */ Gambit_fn_023939B0(cpu);
|
|
L_02589950: ; // 0x2589950
|
|
/* 02589950 */ _t114 = cpu->r[31] + 0x000002A8u;
|
|
/* 02589950 */ rbrew_write32(cpu->mem, _t114, cpu->r[3]);
|
|
/* 02589954 */ /* nop */
|
|
/* 02589958 */ _t115 = cpu->r[1] + 0x000000B4u;
|
|
/* 02589958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0258995C */ cpu->lr = cpu->r[0];
|
|
/* 02589960 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02589964 */ return;
|
|
}
|
|
|
|
// fn_02589968 @ 0x2589968
|
|
void Gambit_fn_02589968(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_02589968: ; // 0x2589968
|
|
/* 02589968 */ cpu->r[0] = cpu->lr;
|
|
/* 0258996C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258996C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258996C */ cpu->r[1] = _t0;
|
|
/* 02589970 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589970 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589974 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589978 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589978 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258997C */ Gambit_fn_025855EC(cpu);
|
|
/* 02589980 */ _t3 = cpu->r[31] + 0x00000284u;
|
|
/* 02589980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589984 */ _t4 = cpu->r[3] + 0x00000068u;
|
|
/* 02589984 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02589988 */ _t5 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02589988 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0258998C */ _t6 = cpu->r[3] + 0x00000074u;
|
|
/* 0258998C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02589990 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 02589990 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02589994 */ _t8 = cpu->r[31] + 0x00000054u;
|
|
/* 02589994 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02589998 */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 02589998 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 0258999C */ _t10 = cpu->r[3] + 0x0000006Cu;
|
|
/* 0258999C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 025899A0 */ _t11 = cpu->r[3] + 0x00000060u;
|
|
/* 025899A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025899A4 */ _t12 = cpu->r[3] + 0x00000078u;
|
|
/* 025899A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025899A8 */ _t13 = cpu->r[31] + 0x00000064u;
|
|
/* 025899A8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 025899AC */ _t14 = cpu->r[31] + 0x00000060u;
|
|
/* 025899AC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 025899B0 */ _t15 = cpu->r[31] + 0x0000005Cu;
|
|
/* 025899B0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 025899B4 */ _t16 = cpu->r[3] + 0x0000007Cu;
|
|
/* 025899B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 025899B8 */ _t17 = cpu->r[3] + 0x00000064u;
|
|
/* 025899B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025899BC */ _t18 = cpu->r[3] + 0x00000070u;
|
|
/* 025899BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025899C0 */ _t19 = cpu->r[31] + 0x00000068u;
|
|
/* 025899C0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 025899C4 */ _t20 = cpu->r[31] + 0x00000070u;
|
|
/* 025899C4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 025899C8 */ _t21 = cpu->r[31] + 0x0000006Cu;
|
|
/* 025899C8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 025899CC */ _t22 = cpu->r[3] + 0x000046BCu;
|
|
/* 025899CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025899D0 */ _t23 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025899D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025899D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025899D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025899DC */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 025899DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025899E0 */ _t25 = cpu->r[31] + 0x00000074u;
|
|
/* 025899E0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 025899E4 */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 025899E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025899E8 */ _t27 = cpu->r[31] + 0x00000078u;
|
|
/* 025899E8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 025899EC */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 025899EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 025899F0 */ _t29 = cpu->r[31] + 0x000002A8u;
|
|
/* 025899F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025899F4 */ _t30 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025899F4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 025899F8 */ Gambit_fn_023939F8(cpu);
|
|
/* 025899FC */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 025899FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02589A00 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02589A04 */ cpu->lr = cpu->r[0];
|
|
/* 02589A08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589A0C */ return;
|
|
}
|
|
|
|
// fn_0258996C @ 0x258996c
|
|
void Gambit_fn_0258996C(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_0258996C: ; // 0x258996c
|
|
/* 0258996C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258996C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258996C */ cpu->r[1] = _t0;
|
|
/* 02589970 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589970 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589974 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589978 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589978 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258997C */ Gambit_fn_025855EC(cpu);
|
|
/* 02589980 */ _t3 = cpu->r[31] + 0x00000284u;
|
|
/* 02589980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589984 */ _t4 = cpu->r[3] + 0x00000068u;
|
|
/* 02589984 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02589988 */ _t5 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02589988 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0258998C */ _t6 = cpu->r[3] + 0x00000074u;
|
|
/* 0258998C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02589990 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 02589990 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02589994 */ _t8 = cpu->r[31] + 0x00000054u;
|
|
/* 02589994 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02589998 */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 02589998 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 0258999C */ _t10 = cpu->r[3] + 0x0000006Cu;
|
|
/* 0258999C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 025899A0 */ _t11 = cpu->r[3] + 0x00000060u;
|
|
/* 025899A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025899A4 */ _t12 = cpu->r[3] + 0x00000078u;
|
|
/* 025899A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025899A8 */ _t13 = cpu->r[31] + 0x00000064u;
|
|
/* 025899A8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 025899AC */ _t14 = cpu->r[31] + 0x00000060u;
|
|
/* 025899AC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 025899B0 */ _t15 = cpu->r[31] + 0x0000005Cu;
|
|
/* 025899B0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 025899B4 */ _t16 = cpu->r[3] + 0x0000007Cu;
|
|
/* 025899B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 025899B8 */ _t17 = cpu->r[3] + 0x00000064u;
|
|
/* 025899B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025899BC */ _t18 = cpu->r[3] + 0x00000070u;
|
|
/* 025899BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025899C0 */ _t19 = cpu->r[31] + 0x00000068u;
|
|
/* 025899C0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 025899C4 */ _t20 = cpu->r[31] + 0x00000070u;
|
|
/* 025899C4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 025899C8 */ _t21 = cpu->r[31] + 0x0000006Cu;
|
|
/* 025899C8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 025899CC */ _t22 = cpu->r[3] + 0x000046BCu;
|
|
/* 025899CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025899D0 */ _t23 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025899D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025899D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025899D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025899DC */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 025899DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025899E0 */ _t25 = cpu->r[31] + 0x00000074u;
|
|
/* 025899E0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 025899E4 */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 025899E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025899E8 */ _t27 = cpu->r[31] + 0x00000078u;
|
|
/* 025899E8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 025899EC */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 025899EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 025899F0 */ _t29 = cpu->r[31] + 0x000002A8u;
|
|
/* 025899F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025899F4 */ _t30 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025899F4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 025899F8 */ Gambit_fn_023939F8(cpu);
|
|
/* 025899FC */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 025899FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02589A00 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02589A04 */ cpu->lr = cpu->r[0];
|
|
/* 02589A08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589A0C */ return;
|
|
}
|
|
|
|
// fn_02589A10 @ 0x2589a10
|
|
void Gambit_fn_02589A10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02589A10: ; // 0x2589a10
|
|
/* 02589A10 */ cpu->r[0] = cpu->lr;
|
|
/* 02589A14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589A14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589A14 */ cpu->r[1] = _t0;
|
|
/* 02589A18 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A18 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589A1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02589A20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589A24 */ Gambit_fn_02585928(cpu);
|
|
/* 02589A28 */ _t3 = cpu->r[31] + 0x000002A8u;
|
|
/* 02589A28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589A2C */ Gambit_fn_02393A10(cpu);
|
|
/* 02589A30 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02589A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589A34 */ cpu->lr = cpu->r[0];
|
|
/* 02589A38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02589A3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589A40 */ return;
|
|
}
|
|
|
|
// fn_02589A14 @ 0x2589a14
|
|
void Gambit_fn_02589A14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02589A14: ; // 0x2589a14
|
|
/* 02589A14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589A14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589A14 */ cpu->r[1] = _t0;
|
|
/* 02589A18 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A18 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589A1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02589A20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589A24 */ Gambit_fn_02585928(cpu);
|
|
/* 02589A28 */ _t3 = cpu->r[31] + 0x000002A8u;
|
|
/* 02589A28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589A2C */ Gambit_fn_02393A10(cpu);
|
|
/* 02589A30 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02589A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589A34 */ cpu->lr = cpu->r[0];
|
|
/* 02589A38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02589A3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589A40 */ return;
|
|
}
|
|
|
|
// fn_02589A44 @ 0x2589a44
|
|
void Gambit_fn_02589A44(CPUState* cpu) {
|
|
L_02589A44: ; // 0x2589a44
|
|
/* 02589A44 */ return;
|
|
}
|
|
|
|
// fn_02589A48 @ 0x2589a48
|
|
void Gambit_fn_02589A48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02589A48: ; // 0x2589a48
|
|
/* 02589A48 */ cpu->r[0] = cpu->lr;
|
|
/* 02589A4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589A4C */ cpu->r[1] = _t0;
|
|
/* 02589A50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589A54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589A58 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589A58 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589A5C */ Gambit_fn_0258594C(cpu);
|
|
/* 02589A60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589A64 */ Gambit_fn_02586088(cpu);
|
|
/* 02589A68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589A6C */ Gambit_fn_02585C18(cpu);
|
|
/* 02589A70 */ cpu->r[4] = 0x00000000u;
|
|
/* 02589A74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589A78 */ Gambit_fn_0200300C(cpu);
|
|
/* 02589A7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02589A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589A80 */ cpu->lr = cpu->r[0];
|
|
/* 02589A84 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589A88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589A8C */ return;
|
|
}
|
|
|
|
// fn_02589A4C @ 0x2589a4c
|
|
void Gambit_fn_02589A4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02589A4C: ; // 0x2589a4c
|
|
/* 02589A4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589A4C */ cpu->r[1] = _t0;
|
|
/* 02589A50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589A54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589A58 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589A58 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589A5C */ Gambit_fn_0258594C(cpu);
|
|
/* 02589A60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589A64 */ Gambit_fn_02586088(cpu);
|
|
/* 02589A68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589A6C */ Gambit_fn_02585C18(cpu);
|
|
/* 02589A70 */ cpu->r[4] = 0x00000000u;
|
|
/* 02589A74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589A78 */ Gambit_fn_0200300C(cpu);
|
|
/* 02589A7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02589A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589A80 */ cpu->lr = cpu->r[0];
|
|
/* 02589A84 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589A88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589A8C */ return;
|
|
}
|
|
|
|
// fn_02589A90 @ 0x2589a90
|
|
void Gambit_fn_02589A90(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_02585704: ; // 0x2585704
|
|
/* 02585704 */ cpu->r[0] = cpu->lr;
|
|
/* 02585708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585708 */ cpu->r[1] = _t0;
|
|
/* 0258570C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258570C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02585710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02585714 */ cpu->r[10] = 0x10110000u;
|
|
/* 02585718 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02585718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258571C */ _t3 = cpu->r[31] + 0x000001DCu;
|
|
/* 0258571C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02585720 */ _t4 = cpu->r[10] + 0x00007399u;
|
|
/* 02585720 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02585724 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02585724 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02585728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0258572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258572C */ if (_t7) goto L_02585744; else goto L_02585730;
|
|
L_02585730: ; // 0x2585730
|
|
/* 02585730 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02585730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02585734 */ cpu->r[4] = cpu->r[31] + 0x000001DCu;
|
|
/* 02585738 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258573C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258573C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02585740 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02585740 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02585744: ; // 0x2585744
|
|
/* 02585744 */ _t11 = cpu->r[31] + 0x000001D9u;
|
|
/* 02585744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02585748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258574C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258574C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258574C */ if (_t13) goto L_02585790; else goto L_02585750;
|
|
L_02585750: ; // 0x2585750
|
|
/* 02585750 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02585750 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585758 */ _t15 = cpu->r[31] + 0x000001CCu;
|
|
/* 02585758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258575C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0258575C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585760 */ cpu->f[1] = cpu->f[0] - cpu->f[12];
|
|
/* 02585764 */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02585764 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02585768 */ cpu->f[2] = cpu->f[0] + cpu->f[12];
|
|
/* 0258576C */ _t18 = cpu->r[3] + 0x00005444u;
|
|
/* 0258576C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02585770 */ cpu->f[4] = cpu->f[13] + cpu->f[12];
|
|
/* 02585774 */ _t19 = cpu->r[31] + 0x00000210u;
|
|
/* 02585774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585778 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258577C */ cpu->f[3] = cpu->f[13] - cpu->f[12];
|
|
/* 02585780 */ _t20 = cpu->r[4] + 0x00006CB0u;
|
|
/* 02585780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585784 */ cpu->r[5] = cpu->r[31];
|
|
/* 02585788 */ Gambit_fn_02031B20(cpu);
|
|
/* 0258578C */ _t21 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0258578C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_02585790: ; // 0x2585790
|
|
/* 02585790 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02585790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585794 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02585798 */ cpu->lr = cpu->r[0];
|
|
/* 0258579C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857A0 */ return;
|
|
L_02589A90: ; // 0x2589a90
|
|
/* 02589A90 */ goto L_02585704;
|
|
}
|
|
|
|
// fn_02589A94 @ 0x2589a94
|
|
void Gambit_fn_02589A94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_025857A4: ; // 0x25857a4
|
|
/* 025857A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025857A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025857A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025857A8 */ cpu->r[1] = _t0;
|
|
/* 025857AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025857B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025857B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025857B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025857B8 */ _t3 = cpu->r[31] + 0x000001D9u;
|
|
/* 025857B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025857BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025857C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025857C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025857C0 */ if (_t5) goto L_025857DC; else goto L_025857C4;
|
|
L_025857C4: ; // 0x25857c4
|
|
/* 025857C4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 025857C8 */ _t6 = cpu->r[3] + 0x00001D14u;
|
|
/* 025857C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025857CC */ cpu->r[4] = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 025857D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 025857D8 */ _t7 = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_025857DC: ; // 0x25857dc
|
|
/* 025857DC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025857DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025857E0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025857E4 */ cpu->lr = cpu->r[0];
|
|
/* 025857E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857EC */ return;
|
|
L_02589A94: ; // 0x2589a94
|
|
/* 02589A94 */ goto L_025857A4;
|
|
}
|
|
|
|
// fn_02589A98 @ 0x2589a98
|
|
void Gambit_fn_02589A98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02589A98: ; // 0x2589a98
|
|
/* 02589A98 */ cpu->r[0] = cpu->lr;
|
|
/* 02589A9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589A9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589A9C */ cpu->r[1] = _t0;
|
|
/* 02589AA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589AA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589AA4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589AA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589AA8 */ _t3 = cpu->r[3] + 0x00000258u;
|
|
/* 02589AA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02589AAC */ /* nop */
|
|
/* 02589AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02589AB4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02589AB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589AB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02589AB8 */ if (_t5) goto L_02589ABC; else goto L_02589AD0;
|
|
L_02589ABC: ; // 0x2589abc
|
|
/* 02589ABC */ _t6 = cpu->r[3] + 0x00000080u;
|
|
/* 02589ABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589AC0 */ Gambit_fn_02398FA8(cpu);
|
|
/* 02589AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589AC8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589AC8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02589AC8 */ if (_t8) goto L_02589AD0; else goto L_02589ACC;
|
|
L_02589ACC: ; // 0x2589acc
|
|
/* 02589ACC */ cpu->r[31] = 0x00000001u;
|
|
L_02589AD0: ; // 0x2589ad0
|
|
/* 02589AD0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02589AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02589AD4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02589AD8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02589ADC */ cpu->lr = cpu->r[0];
|
|
/* 02589AE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589AE4 */ return;
|
|
}
|
|
|
|
// fn_02589A9C @ 0x2589a9c
|
|
void Gambit_fn_02589A9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02589A9C: ; // 0x2589a9c
|
|
/* 02589A9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589A9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589A9C */ cpu->r[1] = _t0;
|
|
/* 02589AA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589AA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589AA4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589AA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589AA8 */ _t3 = cpu->r[3] + 0x00000258u;
|
|
/* 02589AA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02589AAC */ /* nop */
|
|
/* 02589AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02589AB4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02589AB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589AB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02589AB8 */ if (_t5) goto L_02589ABC; else goto L_02589AD0;
|
|
L_02589ABC: ; // 0x2589abc
|
|
/* 02589ABC */ _t6 = cpu->r[3] + 0x00000080u;
|
|
/* 02589ABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589AC0 */ Gambit_fn_02398FA8(cpu);
|
|
/* 02589AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589AC8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589AC8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02589AC8 */ if (_t8) goto L_02589AD0; else goto L_02589ACC;
|
|
L_02589ACC: ; // 0x2589acc
|
|
/* 02589ACC */ cpu->r[31] = 0x00000001u;
|
|
L_02589AD0: ; // 0x2589ad0
|
|
/* 02589AD0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02589AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02589AD4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02589AD8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02589ADC */ cpu->lr = cpu->r[0];
|
|
/* 02589AE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589AE4 */ return;
|
|
}
|
|
|
|
// fn_02589AE8 @ 0x2589ae8
|
|
void Gambit_fn_02589AE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02589AE8: ; // 0x2589ae8
|
|
/* 02589AE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02589AEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589AEC */ cpu->r[1] = _t0;
|
|
/* 02589AF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589AF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589AF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589AF8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589AFC */ _t3 = cpu->r[31] + 0x00000294u;
|
|
/* 02589AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589B00 */ _t4 = cpu->r[31] + 0x00000298u;
|
|
/* 02589B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589B04 */ cpu->r[4] = 0x00000001u;
|
|
/* 02589B08 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02589B08 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02589B0C */ cpu->r[5] = 0x00000000u;
|
|
/* 02589B10 */ _t6 = cpu->r[31] + 0x00000080u;
|
|
/* 02589B10 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02589B14 */ Gambit_fn_029804F0(cpu);
|
|
/* 02589B18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02589B1C */ _t7 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589B1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02589B20 */ cpu->r[5] = cpu->r[4];
|
|
/* 02589B24 */ Gambit_fn_029804F0(cpu);
|
|
/* 02589B28 */ cpu->r[0] = 0x00000000u;
|
|
/* 02589B2C */ _t8 = cpu->r[31] + 0x00000290u;
|
|
/* 02589B2C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02589B30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02589B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02589B34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02589B38 */ cpu->lr = cpu->r[0];
|
|
/* 02589B3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589B40 */ return;
|
|
}
|
|
|
|
// fn_02589AEC @ 0x2589aec
|
|
void Gambit_fn_02589AEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02589AEC: ; // 0x2589aec
|
|
/* 02589AEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589AEC */ cpu->r[1] = _t0;
|
|
/* 02589AF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589AF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589AF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589AF8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589AFC */ _t3 = cpu->r[31] + 0x00000294u;
|
|
/* 02589AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589B00 */ _t4 = cpu->r[31] + 0x00000298u;
|
|
/* 02589B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589B04 */ cpu->r[4] = 0x00000001u;
|
|
/* 02589B08 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02589B08 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02589B0C */ cpu->r[5] = 0x00000000u;
|
|
/* 02589B10 */ _t6 = cpu->r[31] + 0x00000080u;
|
|
/* 02589B10 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02589B14 */ Gambit_fn_029804F0(cpu);
|
|
/* 02589B18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02589B1C */ _t7 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589B1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02589B20 */ cpu->r[5] = cpu->r[4];
|
|
/* 02589B24 */ Gambit_fn_029804F0(cpu);
|
|
/* 02589B28 */ cpu->r[0] = 0x00000000u;
|
|
/* 02589B2C */ _t8 = cpu->r[31] + 0x00000290u;
|
|
/* 02589B2C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 02589B30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02589B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02589B34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02589B38 */ cpu->lr = cpu->r[0];
|
|
/* 02589B3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589B40 */ return;
|
|
}
|
|
|
|
// fn_02589B44 @ 0x2589b44
|
|
void Gambit_fn_02589B44(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;
|
|
|
|
L_02589B44: ; // 0x2589b44
|
|
/* 02589B44 */ cpu->r[0] = cpu->lr;
|
|
/* 02589B48 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02589B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589B48 */ cpu->r[1] = _t0;
|
|
/* 02589B4C */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02589B4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589B50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589B54 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02589B54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589B58 */ _t3 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589B58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589B5C */ _t4 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589B60 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02589B60 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02589B64 */ cpu->r[4] = 0x00000000u;
|
|
/* 02589B68 */ _t6 = cpu->r[31] + 0x00000294u;
|
|
/* 02589B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589B6C */ cpu->r[5] = cpu->r[4];
|
|
/* 02589B70 */ _t7 = cpu->r[31] + 0x00000080u;
|
|
/* 02589B70 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02589B74 */ Gambit_fn_029804F0(cpu);
|
|
/* 02589B78 */ cpu->r[4] = 0x00000001u;
|
|
/* 02589B7C */ _t8 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589B7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02589B80 */ cpu->r[5] = 0x00000000u;
|
|
/* 02589B84 */ Gambit_fn_029804F0(cpu);
|
|
/* 02589B88 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 02589B88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02589B8C */ _t10 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02589B8C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02589B90 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02589B90 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02589B94 */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 02589B94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02589B98 */ _t13 = cpu->r[31] + 0x00000068u;
|
|
/* 02589B98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02589B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02589B9C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 02589BA0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02589BA0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02589BA4 */ _t16 = cpu->r[31] + 0x00000054u;
|
|
/* 02589BA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02589BA8 */ _t17 = cpu->r[31] + 0x00000060u;
|
|
/* 02589BA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02589BAC */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02589BAC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02589BB0 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02589BB0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02589BB4 */ _t20 = cpu->r[31] + 0x00000058u;
|
|
/* 02589BB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02589BB8 */ _t21 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02589BB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02589BBC */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02589BBC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 02589BC0 */ _t23 = cpu->r[31] + 0x00000070u;
|
|
/* 02589BC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02589BC4 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02589BC4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02589BC8 */ _t25 = cpu->r[31] + 0x00000078u;
|
|
/* 02589BC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02589BCC */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 02589BCC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02589BD0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02589BD0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02589BD4 */ _t28 = cpu->r[31] + 0x00000064u;
|
|
/* 02589BD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02589BD8 */ _t29 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02589BDC */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02589BDC */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02589BE0 */ cpu->r[8] = 0x00000003u;
|
|
/* 02589BE4 */ _t31 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02589BE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02589BE8 */ cpu->ctr = cpu->r[8];
|
|
/* 02589BEC */ cpu->r[7] = cpu->r[1] + 0x00000034u;
|
|
/* 02589BF0 */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 02589BF0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 02589BF4 */ cpu->r[6] = cpu->r[1] + 0x00000004u;
|
|
/* 02589BF8 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589BF8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
L_02589BFC: ; // 0x2589bfc
|
|
/* 02589BFC */ _t34 = cpu->r[6] + 0x00000004u;
|
|
/* 02589BFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02589C00 */ _t35 = cpu->r[7] + 0x00000004u;
|
|
/* 02589C00 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02589C04 */ _t36 = cpu->r[6] + 0x00000008u;
|
|
/* 02589C04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02589C08 */ _t37 = cpu->r[7] + 0x00000008u;
|
|
/* 02589C08 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02589C0C */ _t38 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02589C0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02589C10 */ _t39 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02589C10 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02589C14 */ _t40 = cpu->r[6] + 0x00000010u;
|
|
/* 02589C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02589C14 */ cpu->r[6] = _t40;
|
|
/* 02589C18 */ _t41 = cpu->r[7] + 0x00000010u;
|
|
/* 02589C18 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02589C18 */ cpu->r[7] = _t41;
|
|
/* 02589C1C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02589C1C */ _t42 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02589C1C */ _t43 = _t42 >> (0x00000002u & 31u);
|
|
/* 02589C1C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02589C1C */ if (_t44) goto L_02589BFC; else goto L_02589C20;
|
|
L_02589C20: ; // 0x2589c20
|
|
/* 02589C20 */ _t45 = cpu->r[5] + 0x0000007Cu;
|
|
/* 02589C20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02589C24 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02589C28 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02589C2C */ cpu->r[4] = cpu->r[5] + 0x00000034u;
|
|
/* 02589C30 */ _t46 = cpu->r[5] + 0x0000007Cu;
|
|
/* 02589C30 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
|
|
/* 02589C34 */ Gambit_fn_02C69510(cpu);
|
|
/* 02589C38 */ cpu->r[11] = 0x00000001u;
|
|
/* 02589C3C */ _t47 = cpu->r[31] + 0x00000290u;
|
|
/* 02589C3C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[11]);
|
|
/* 02589C40 */ _t48 = cpu->r[1] + 0x00000074u;
|
|
/* 02589C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02589C44 */ _t49 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02589C44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02589C48 */ cpu->lr = cpu->r[0];
|
|
/* 02589C4C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02589C50 */ return;
|
|
}
|
|
|
|
// fn_02589B48 @ 0x2589b48
|
|
void Gambit_fn_02589B48(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;
|
|
|
|
L_02589B48: ; // 0x2589b48
|
|
/* 02589B48 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02589B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589B48 */ cpu->r[1] = _t0;
|
|
/* 02589B4C */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02589B4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589B50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589B54 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02589B54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589B58 */ _t3 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589B58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589B5C */ _t4 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589B60 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02589B60 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02589B64 */ cpu->r[4] = 0x00000000u;
|
|
/* 02589B68 */ _t6 = cpu->r[31] + 0x00000294u;
|
|
/* 02589B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589B6C */ cpu->r[5] = cpu->r[4];
|
|
/* 02589B70 */ _t7 = cpu->r[31] + 0x00000080u;
|
|
/* 02589B70 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02589B74 */ Gambit_fn_029804F0(cpu);
|
|
/* 02589B78 */ cpu->r[4] = 0x00000001u;
|
|
/* 02589B7C */ _t8 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589B7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02589B80 */ cpu->r[5] = 0x00000000u;
|
|
/* 02589B84 */ Gambit_fn_029804F0(cpu);
|
|
/* 02589B88 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 02589B88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02589B8C */ _t10 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02589B8C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02589B90 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02589B90 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02589B94 */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 02589B94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02589B98 */ _t13 = cpu->r[31] + 0x00000068u;
|
|
/* 02589B98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02589B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02589B9C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 02589BA0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02589BA0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02589BA4 */ _t16 = cpu->r[31] + 0x00000054u;
|
|
/* 02589BA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02589BA8 */ _t17 = cpu->r[31] + 0x00000060u;
|
|
/* 02589BA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02589BAC */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02589BAC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02589BB0 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02589BB0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02589BB4 */ _t20 = cpu->r[31] + 0x00000058u;
|
|
/* 02589BB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02589BB8 */ _t21 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02589BB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02589BBC */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02589BBC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 02589BC0 */ _t23 = cpu->r[31] + 0x00000070u;
|
|
/* 02589BC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02589BC4 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02589BC4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02589BC8 */ _t25 = cpu->r[31] + 0x00000078u;
|
|
/* 02589BC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02589BCC */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 02589BCC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02589BD0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02589BD0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02589BD4 */ _t28 = cpu->r[31] + 0x00000064u;
|
|
/* 02589BD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02589BD8 */ _t29 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02589BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02589BDC */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02589BDC */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02589BE0 */ cpu->r[8] = 0x00000003u;
|
|
/* 02589BE4 */ _t31 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02589BE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02589BE8 */ cpu->ctr = cpu->r[8];
|
|
/* 02589BEC */ cpu->r[7] = cpu->r[1] + 0x00000034u;
|
|
/* 02589BF0 */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 02589BF0 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 02589BF4 */ cpu->r[6] = cpu->r[1] + 0x00000004u;
|
|
/* 02589BF8 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589BF8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
L_02589BFC: ; // 0x2589bfc
|
|
/* 02589BFC */ _t34 = cpu->r[6] + 0x00000004u;
|
|
/* 02589BFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02589C00 */ _t35 = cpu->r[7] + 0x00000004u;
|
|
/* 02589C00 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02589C04 */ _t36 = cpu->r[6] + 0x00000008u;
|
|
/* 02589C04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02589C08 */ _t37 = cpu->r[7] + 0x00000008u;
|
|
/* 02589C08 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02589C0C */ _t38 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02589C0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02589C10 */ _t39 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02589C10 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02589C14 */ _t40 = cpu->r[6] + 0x00000010u;
|
|
/* 02589C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02589C14 */ cpu->r[6] = _t40;
|
|
/* 02589C18 */ _t41 = cpu->r[7] + 0x00000010u;
|
|
/* 02589C18 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02589C18 */ cpu->r[7] = _t41;
|
|
/* 02589C1C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02589C1C */ _t42 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02589C1C */ _t43 = _t42 >> (0x00000002u & 31u);
|
|
/* 02589C1C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02589C1C */ if (_t44) goto L_02589BFC; else goto L_02589C20;
|
|
L_02589C20: ; // 0x2589c20
|
|
/* 02589C20 */ _t45 = cpu->r[5] + 0x0000007Cu;
|
|
/* 02589C20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02589C24 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02589C28 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02589C2C */ cpu->r[4] = cpu->r[5] + 0x00000034u;
|
|
/* 02589C30 */ _t46 = cpu->r[5] + 0x0000007Cu;
|
|
/* 02589C30 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
|
|
/* 02589C34 */ Gambit_fn_02C69510(cpu);
|
|
/* 02589C38 */ cpu->r[11] = 0x00000001u;
|
|
/* 02589C3C */ _t47 = cpu->r[31] + 0x00000290u;
|
|
/* 02589C3C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[11]);
|
|
/* 02589C40 */ _t48 = cpu->r[1] + 0x00000074u;
|
|
/* 02589C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02589C44 */ _t49 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02589C44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02589C48 */ cpu->lr = cpu->r[0];
|
|
/* 02589C4C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02589C50 */ return;
|
|
}
|
|
|
|
// fn_02589C54 @ 0x2589c54
|
|
void Gambit_fn_02589C54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0232D668: ; // 0x232d668
|
|
/* 0232D668 */ cpu->r[0] = cpu->lr;
|
|
/* 0232D66C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0232D66C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0232D66C */ cpu->r[1] = _t0;
|
|
/* 0232D670 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0232D670 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0232D674 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0232D674 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0232D678 */ cpu->r[30] = cpu->r[3];
|
|
/* 0232D67C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0232D67C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0232D680 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0232D680 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0232D684 */ /* nop */
|
|
/* 0232D688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0232D68C */ cpu->r[31] = cpu->r[4];
|
|
/* 0232D690 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0232D690 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0232D690 */ if (_t6) goto L_0232D694; else goto L_0232D6A8;
|
|
L_0232D694: ; // 0x232d694
|
|
/* 0232D694 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0232D694 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0232D698 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0232D698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0232D69C */ cpu->ctr = cpu->r[0];
|
|
/* 0232D6A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0232D6A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0232D6A8: ; // 0x232d6a8
|
|
/* 0232D6A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0232D6AC */ cpu->r[4] = cpu->r[31];
|
|
/* 0232D6B0 */ Gambit_fn_0232D5E0(cpu);
|
|
/* 0232D6B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0232D6B8 */ /* nop */
|
|
/* 0232D6BC */ Gambit_fn_027FC35C(cpu);
|
|
/* 0232D6C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0232D6C4 */ Gambit_fn_0232D460(cpu);
|
|
/* 0232D6C8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0232D6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0232D6CC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0232D6CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0232D6D0 */ cpu->lr = cpu->r[0];
|
|
/* 0232D6D4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0232D6D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0232D6D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0232D6DC */ return;
|
|
L_02589C54: ; // 0x2589c54
|
|
/* 02589C54 */ cpu->r[3] = cpu->r[3] + 0x0000024Cu;
|
|
/* 02589C58 */ cpu->r[4] = 0x00000001u;
|
|
/* 02589C5C */ goto L_0232D668;
|
|
}
|
|
|
|
// fn_02589C60 @ 0x2589c60
|
|
void Gambit_fn_02589C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0232D668: ; // 0x232d668
|
|
/* 0232D668 */ cpu->r[0] = cpu->lr;
|
|
/* 0232D66C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0232D66C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0232D66C */ cpu->r[1] = _t0;
|
|
/* 0232D670 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0232D670 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0232D674 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0232D674 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0232D678 */ cpu->r[30] = cpu->r[3];
|
|
/* 0232D67C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0232D67C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0232D680 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0232D680 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0232D684 */ /* nop */
|
|
/* 0232D688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0232D68C */ cpu->r[31] = cpu->r[4];
|
|
/* 0232D690 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0232D690 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0232D690 */ if (_t6) goto L_0232D694; else goto L_0232D6A8;
|
|
L_0232D694: ; // 0x232d694
|
|
/* 0232D694 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0232D694 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0232D698 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0232D698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0232D69C */ cpu->ctr = cpu->r[0];
|
|
/* 0232D6A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0232D6A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0232D6A8: ; // 0x232d6a8
|
|
/* 0232D6A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0232D6AC */ cpu->r[4] = cpu->r[31];
|
|
/* 0232D6B0 */ Gambit_fn_0232D5E0(cpu);
|
|
/* 0232D6B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0232D6B8 */ /* nop */
|
|
/* 0232D6BC */ Gambit_fn_027FC35C(cpu);
|
|
/* 0232D6C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0232D6C4 */ Gambit_fn_0232D460(cpu);
|
|
/* 0232D6C8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0232D6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0232D6CC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0232D6CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0232D6D0 */ cpu->lr = cpu->r[0];
|
|
/* 0232D6D4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0232D6D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0232D6D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0232D6DC */ return;
|
|
L_02589C60: ; // 0x2589c60
|
|
/* 02589C60 */ cpu->r[3] = cpu->r[3] + 0x0000024Cu;
|
|
/* 02589C64 */ cpu->r[4] = 0x00000003u;
|
|
/* 02589C68 */ goto L_0232D668;
|
|
}
|
|
|
|
// fn_02589C6C @ 0x2589c6c
|
|
void Gambit_fn_02589C6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02589C6C: ; // 0x2589c6c
|
|
/* 02589C6C */ cpu->r[0] = cpu->lr;
|
|
/* 02589C70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589C70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589C70 */ cpu->r[1] = _t0;
|
|
/* 02589C74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589C74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589C78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589C7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589C7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589C80 */ _t3 = cpu->r[31] + 0x00000288u;
|
|
/* 02589C80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589C84 */ cpu->r[4] = 0x00000001u;
|
|
/* 02589C88 */ Gambit_fn_023932C0(cpu);
|
|
/* 02589C8C */ _t4 = cpu->r[31] + 0x0000028Cu;
|
|
/* 02589C8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589C90 */ Gambit_fn_027C7B9C(cpu);
|
|
/* 02589C94 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02589C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02589C98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589C98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589C9C */ cpu->lr = cpu->r[0];
|
|
/* 02589CA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589CA4 */ return;
|
|
}
|
|
|
|
// fn_02589C70 @ 0x2589c70
|
|
void Gambit_fn_02589C70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02589C70: ; // 0x2589c70
|
|
/* 02589C70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589C70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589C70 */ cpu->r[1] = _t0;
|
|
/* 02589C74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589C74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589C78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589C7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589C7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589C80 */ _t3 = cpu->r[31] + 0x00000288u;
|
|
/* 02589C80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589C84 */ cpu->r[4] = 0x00000001u;
|
|
/* 02589C88 */ Gambit_fn_023932C0(cpu);
|
|
/* 02589C8C */ _t4 = cpu->r[31] + 0x0000028Cu;
|
|
/* 02589C8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589C90 */ Gambit_fn_027C7B9C(cpu);
|
|
/* 02589C94 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02589C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02589C98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589C98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589C9C */ cpu->lr = cpu->r[0];
|
|
/* 02589CA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589CA4 */ return;
|
|
}
|
|
|
|
// fn_02589CD8 @ 0x2589cd8
|
|
void Gambit_fn_02589CD8(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_02589CD8: ; // 0x2589cd8
|
|
/* 02589CD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02589CD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589CD8 */ cpu->r[1] = _t0;
|
|
/* 02589CDC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02589CDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589CE0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02589CE4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02589CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589CE8 */ _t3 = cpu->r[12] + 0x00006000u;
|
|
/* 02589CE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589CEC */ _t4 = cpu->r[12] + 0x00000250u;
|
|
/* 02589CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589CF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589CF4 */ _t5 = cpu->r[11] + 0x00000254u;
|
|
/* 02589CF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02589CF8 */ _t6 = cpu->r[3] + 0x000000E0u;
|
|
/* 02589CF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589CFC */ _t7 = cpu->r[11] + 0x0000018Cu;
|
|
/* 02589CFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02589D00 */ cpu->ctr = cpu->r[12];
|
|
/* 02589D04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589D08 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589D0C */ _t8 = cpu->r[10] + 0x000026A8u;
|
|
/* 02589D0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02589D10 */ _t9 = cpu->r[31] + 0x000002A8u;
|
|
/* 02589D10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02589D14 */ _t10 = cpu->r[10] + 0x00000000u;
|
|
/* 02589D14 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02589D18 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
|
|
/* 02589D1C */ cpu->f[8] = cpu->f[12] / cpu->f[1];
|
|
/* 02589D20 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589D24 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[8];
|
|
/* 02589D28 */ _t11 = cpu->r[10] + 0x000026B0u;
|
|
/* 02589D28 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02589D2C */ cpu->r[12] = 0x43300000u;
|
|
/* 02589D30 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02589D34 */ /* nop */
|
|
/* 02589D38 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02589D38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02589D3C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02589D3C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02589D40 */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 02589D44 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589D44 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02589D48 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02589D48 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02589D4C */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 02589D50 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02589D54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[8]);
|
|
/* 02589D58 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589D58 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02589D58 */ if (_t17) goto L_02589D70; else goto L_02589D5C;
|
|
L_02589D5C: ; // 0x2589d5c
|
|
/* 02589D5C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589D60 */ _t18 = cpu->r[10] + 0x000026B8u;
|
|
/* 02589D60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02589D64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
|
|
/* 02589D68 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02589D68 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02589D68 */ if (_t20) goto L_02589D6C; else goto L_02589D70;
|
|
L_02589D6C: ; // 0x2589d6c
|
|
/* 02589D6C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02589D70: ; // 0x2589d70
|
|
/* 02589D70 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589D74 */ cpu->r[12] = cpu->r[11] ^ 0x80000000u;
|
|
/* 02589D78 */ _t21 = cpu->r[10] + 0x000026BCu;
|
|
/* 02589D78 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02589D7C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589D7C */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02589D80 */ cpu->f[13] = cpu->f[10] / cpu->f[1];
|
|
/* 02589D84 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02589D88 */ _t23 = cpu->r[12] + 0x000026B0u;
|
|
/* 02589D88 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02589D8C */ cpu->r[0] = 0x43300000u;
|
|
/* 02589D90 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02589D90 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02589D94 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02589D94 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 02589D98 */ cpu->f[9] = cpu->f[0] - cpu->f[12];
|
|
/* 02589D9C */ cpu->f[11] = (double)(float)cpu->f[9];
|
|
/* 02589DA0 */ cpu->f[12] = cpu->f[8] - cpu->f[11];
|
|
/* 02589DA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 02589DA8 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02589DA8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02589DA8 */ if (_t27) goto L_02589DB8; else goto L_02589DAC;
|
|
L_02589DAC: ; // 0x2589dac
|
|
/* 02589DAC */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 02589DB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02589DB4 */ Gambit_fn_0232D668(cpu);
|
|
L_02589DB8: ; // 0x2589db8
|
|
/* 02589DB8 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02589DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02589DBC */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02589DBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02589DC0 */ cpu->lr = cpu->r[0];
|
|
/* 02589DC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02589DC8 */ return;
|
|
}
|
|
|
|
// fn_02589DE0 @ 0x2589de0
|
|
void Gambit_fn_02589DE0(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_02589DE0: ; // 0x2589de0
|
|
/* 02589DE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02589DE4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02589DE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589DE4 */ cpu->r[1] = _t0;
|
|
/* 02589DE8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02589DE8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02589DEC */ /* nop */
|
|
/* 02589DF0 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589DF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589DF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02589DF8 */ cpu->r[10] = cpu->r[10] + 0x0000251Cu;
|
|
/* 02589DFC */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02589DFC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02589E00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589E00 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02589E04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589E08 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02589E0C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02589E0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02589E10 */ _t6 = cpu->r[11] + 0x00006CF4u;
|
|
/* 02589E10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589E14 */ _t7 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02589E18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02589E1C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02589E1C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02589E20 */ Gambit_fn_023989C0(cpu);
|
|
/* 02589E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589E28 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589E28 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02589E28 */ if (_t10) goto L_02589E88; else goto L_02589E2C;
|
|
L_02589E2C: ; // 0x2589e2c
|
|
/* 02589E2C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02589E30 */ _t11 = cpu->r[12] + 0x00006000u;
|
|
/* 02589E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02589E34 */ _t12 = cpu->r[12] + 0x00000250u;
|
|
/* 02589E34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02589E38 */ _t13 = cpu->r[9] + 0x00000254u;
|
|
/* 02589E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02589E3C */ _t14 = cpu->r[3] + 0x000000E0u;
|
|
/* 02589E3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02589E40 */ _t15 = cpu->r[10] + 0x0000018Cu;
|
|
/* 02589E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02589E44 */ cpu->ctr = cpu->r[0];
|
|
/* 02589E48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589E4C */ cpu->r[9] = 0x100D0000u;
|
|
/* 02589E50 */ _t16 = cpu->r[9] + 0x000026B8u;
|
|
/* 02589E50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02589E54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02589E58 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02589E58 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02589E58 */ if (_t18) goto L_02589E5C; else goto L_02589E88;
|
|
L_02589E5C: ; // 0x2589e5c
|
|
/* 02589E5C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02589E60 */ _t19 = cpu->r[12] + 0x000026C8u;
|
|
/* 02589E60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02589E64 */ cpu->f[31] = cpu->f[13] / cpu->f[1];
|
|
/* 02589E68 */ cpu->f[1] = cpu->f[31];
|
|
/* 02589E6C */ _t20 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589E6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02589E70 */ Gambit_fn_023988E0(cpu);
|
|
/* 02589E74 */ _t21 = cpu->r[31] + 0x000002A8u;
|
|
/* 02589E74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02589E78 */ _t22 = cpu->r[8] + 0x00000000u;
|
|
/* 02589E78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02589E7C */ cpu->f[1] = cpu->f[0] / cpu->f[31];
|
|
/* 02589E80 */ _t23 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589E80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02589E84 */ Gambit_fn_02398CF8(cpu);
|
|
L_02589E88: ; // 0x2589e88
|
|
/* 02589E88 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02589E88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02589E8C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02589E8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02589E90 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02589E90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02589E94 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02589E94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02589E94 */ if (_t28) goto L_02589E98; // else: addr-0 trap, fall-through
|
|
L_02589E98: ; // 0x2589e98
|
|
/* 02589E98 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02589E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02589E9C */ cpu->lr = cpu->r[0];
|
|
/* 02589EA0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02589EA4 */ return;
|
|
}
|
|
|
|
// fn_02589DE4 @ 0x2589de4
|
|
void Gambit_fn_02589DE4(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_02589DE4: ; // 0x2589de4
|
|
/* 02589DE4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02589DE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589DE4 */ cpu->r[1] = _t0;
|
|
/* 02589DE8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02589DE8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02589DEC */ /* nop */
|
|
/* 02589DF0 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589DF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589DF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02589DF8 */ cpu->r[10] = cpu->r[10] + 0x0000251Cu;
|
|
/* 02589DFC */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02589DFC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02589E00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589E00 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02589E04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589E08 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02589E0C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02589E0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02589E10 */ _t6 = cpu->r[11] + 0x00006CF4u;
|
|
/* 02589E10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589E14 */ _t7 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02589E18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02589E1C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02589E1C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02589E20 */ Gambit_fn_023989C0(cpu);
|
|
/* 02589E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589E28 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589E28 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02589E28 */ if (_t10) goto L_02589E88; else goto L_02589E2C;
|
|
L_02589E2C: ; // 0x2589e2c
|
|
/* 02589E2C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02589E30 */ _t11 = cpu->r[12] + 0x00006000u;
|
|
/* 02589E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02589E34 */ _t12 = cpu->r[12] + 0x00000250u;
|
|
/* 02589E34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02589E38 */ _t13 = cpu->r[9] + 0x00000254u;
|
|
/* 02589E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02589E3C */ _t14 = cpu->r[3] + 0x000000E0u;
|
|
/* 02589E3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02589E40 */ _t15 = cpu->r[10] + 0x0000018Cu;
|
|
/* 02589E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02589E44 */ cpu->ctr = cpu->r[0];
|
|
/* 02589E48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02589E4C */ cpu->r[9] = 0x100D0000u;
|
|
/* 02589E50 */ _t16 = cpu->r[9] + 0x000026B8u;
|
|
/* 02589E50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02589E54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02589E58 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02589E58 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02589E58 */ if (_t18) goto L_02589E5C; else goto L_02589E88;
|
|
L_02589E5C: ; // 0x2589e5c
|
|
/* 02589E5C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02589E60 */ _t19 = cpu->r[12] + 0x000026C8u;
|
|
/* 02589E60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02589E64 */ cpu->f[31] = cpu->f[13] / cpu->f[1];
|
|
/* 02589E68 */ cpu->f[1] = cpu->f[31];
|
|
/* 02589E6C */ _t20 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589E6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02589E70 */ Gambit_fn_023988E0(cpu);
|
|
/* 02589E74 */ _t21 = cpu->r[31] + 0x000002A8u;
|
|
/* 02589E74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02589E78 */ _t22 = cpu->r[8] + 0x00000000u;
|
|
/* 02589E78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02589E7C */ cpu->f[1] = cpu->f[0] / cpu->f[31];
|
|
/* 02589E80 */ _t23 = cpu->r[31] + 0x000002A0u;
|
|
/* 02589E80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02589E84 */ Gambit_fn_02398CF8(cpu);
|
|
L_02589E88: ; // 0x2589e88
|
|
/* 02589E88 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02589E88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02589E8C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02589E8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02589E90 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02589E90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02589E94 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02589E94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02589E94 */ if (_t28) goto L_02589E98; // else: addr-0 trap, fall-through
|
|
L_02589E98: ; // 0x2589e98
|
|
/* 02589E98 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02589E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02589E9C */ cpu->lr = cpu->r[0];
|
|
/* 02589EA0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02589EA4 */ return;
|
|
}
|
|
|
|
// fn_02589EAC @ 0x2589eac
|
|
void Gambit_fn_02589EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02589EAC: ; // 0x2589eac
|
|
/* 02589EAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02589EAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589EAC */ cpu->r[1] = _t0;
|
|
/* 02589EB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589EB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02589EB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02589EB8 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02589EBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02589EBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02589EC0 */ _t3 = cpu->r[4] + 0x00006CF4u;
|
|
/* 02589EC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02589EC4 */ _t4 = cpu->r[31] + 0x00000080u;
|
|
/* 02589EC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02589EC8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02589ECC */ Gambit_fn_02398850(cpu);
|
|
/* 02589ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02589ED4 */ Gambit_fn_02589DE0(cpu);
|
|
/* 02589ED8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02589ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02589EDC */ cpu->lr = cpu->r[0];
|
|
/* 02589EE0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02589EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02589EE8 */ return;
|
|
}
|
|
|
|
// fn_02589EEC @ 0x2589eec
|
|
void Gambit_fn_02589EEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02589EEC: ; // 0x2589eec
|
|
/* 02589EEC */ cpu->r[0] = cpu->lr;
|
|
/* 02589EF0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02589EF4 */ cpu->r[11] = cpu->r[11] + 0x000026D0u;
|
|
/* 02589EF8 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02589EFC */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589F00 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02589F04 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02589F04 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02589F08 */ cpu->r[0] = 0x02590000u;
|
|
/* 02589F0C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02589F0C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02589F0C */ cpu->r[1] = _t1;
|
|
/* 02589F10 */ _t2 = cpu->r[12] + 0x000026CCu;
|
|
/* 02589F10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02589F14 */ cpu->r[0] = cpu->r[0] + 0xFFFFA730u;
|
|
/* 02589F18 */ _t3 = cpu->r[10] + 0x000026B8u;
|
|
/* 02589F18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02589F1C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589F20 */ _t4 = cpu->r[3] + 0xFFFFB61Cu;
|
|
/* 02589F20 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02589F20 */ cpu->r[3] = _t4;
|
|
/* 02589F24 */ cpu->r[10] = cpu->r[10] + 0x0000251Cu;
|
|
/* 02589F28 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02589F2C */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 02589F2C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02589F30 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02589F34 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02589F34 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02589F38 */ cpu->r[11] = cpu->r[11] + 0x000025F0u;
|
|
/* 02589F3C */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02589F3C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02589F40 */ cpu->r[12] = cpu->r[12] + 0xFFFFB610u;
|
|
/* 02589F44 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02589F44 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02589F48 */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 02589F48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02589F4C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02589F4C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02589F50 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02589F50 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02589F54 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02589F58 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02589F5C */ cpu->r[3] = cpu->r[3] + 0x00006CD8u;
|
|
/* 02589F60 */ Gambit_fn_02C83090(cpu);
|
|
/* 02589F64 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02589F68 */ cpu->lr = cpu->r[0];
|
|
/* 02589F6C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02589F70 */ return;
|
|
}
|
|
|
|
// fn_02589F0C @ 0x2589f0c
|
|
void Gambit_fn_02589F0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02589F0C: ; // 0x2589f0c
|
|
/* 02589F0C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02589F0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02589F0C */ cpu->r[1] = _t0;
|
|
/* 02589F10 */ _t1 = cpu->r[12] + 0x000026CCu;
|
|
/* 02589F10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02589F14 */ cpu->r[0] = cpu->r[0] + 0xFFFFA730u;
|
|
/* 02589F18 */ _t2 = cpu->r[10] + 0x000026B8u;
|
|
/* 02589F18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02589F1C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02589F20 */ _t3 = cpu->r[3] + 0xFFFFB61Cu;
|
|
/* 02589F20 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02589F20 */ cpu->r[3] = _t3;
|
|
/* 02589F24 */ cpu->r[10] = cpu->r[10] + 0x0000251Cu;
|
|
/* 02589F28 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02589F2C */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02589F2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02589F30 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02589F34 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02589F34 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02589F38 */ cpu->r[11] = cpu->r[11] + 0x000025F0u;
|
|
/* 02589F3C */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02589F3C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02589F40 */ cpu->r[12] = cpu->r[12] + 0xFFFFB610u;
|
|
/* 02589F44 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 02589F44 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02589F48 */ _t8 = cpu->r[12] + 0x00000008u;
|
|
/* 02589F48 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02589F4C */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02589F4C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 02589F50 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02589F50 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02589F54 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02589F58 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02589F5C */ cpu->r[3] = cpu->r[3] + 0x00006CD8u;
|
|
/* 02589F60 */ Gambit_fn_02C83090(cpu);
|
|
/* 02589F64 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02589F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02589F68 */ cpu->lr = cpu->r[0];
|
|
/* 02589F6C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02589F70 */ return;
|
|
}
|
|
|
|
// fn_02589F74 @ 0x2589f74
|
|
void Gambit_fn_02589F74(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_02589F74: ; // 0x2589f74
|
|
/* 02589F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589F78 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589F78 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02589F78 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02589F78 */ goto L_02589F7C;
|
|
L_02589F7C: ; // 0x2589f7c
|
|
/* 02589F7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02589F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02589F80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589F80 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02589F80 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02589F80 */ goto L_02589F84;
|
|
L_02589F84: ; // 0x2589f84
|
|
/* 02589F84 */ 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_02589F88 @ 0x2589f88
|
|
void Gambit_fn_02589F88(CPUState* cpu) {
|
|
L_02589F88: ; // 0x2589f88
|
|
/* 02589F88 */ return;
|
|
}
|
|
|
|
// fn_02589F8C @ 0x2589f8c
|
|
void Gambit_fn_02589F8C(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_02589F8C: ; // 0x2589f8c
|
|
/* 02589F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589F90 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589F90 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02589F90 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02589F90 */ goto L_02589F94;
|
|
L_02589F94: ; // 0x2589f94
|
|
/* 02589F94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02589F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02589F98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589F98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02589F98 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02589F98 */ goto L_02589F9C;
|
|
L_02589F9C: ; // 0x2589f9c
|
|
/* 02589F9C */ 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_02589FA0 @ 0x2589fa0
|
|
void Gambit_fn_02589FA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02589FA0: ; // 0x2589fa0
|
|
/* 02589FA0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02589FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02589FA4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02589FA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02589FA8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02589FAC */ cpu->r[11] = 0x10110000u;
|
|
/* 02589FB0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02589FB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02589FB4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02589FB4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02589FB8 */ return;
|
|
}
|
|
|
|
// fn_02589FBC @ 0x2589fbc
|
|
void Gambit_fn_02589FBC(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_02589FBC: ; // 0x2589fbc
|
|
/* 02589FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589FC0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589FC0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02589FC0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02589FC0 */ goto L_02589FC4;
|
|
L_02589FC4: ; // 0x2589fc4
|
|
/* 02589FC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02589FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02589FC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589FC8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02589FC8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02589FC8 */ goto L_02589FCC;
|
|
L_02589FCC: ; // 0x2589fcc
|
|
/* 02589FCC */ 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_02589FD0 @ 0x2589fd0
|
|
void Gambit_fn_02589FD0(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_02589FD0: ; // 0x2589fd0
|
|
/* 02589FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02589FD4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589FD4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02589FD4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02589FD4 */ goto L_02589FD8;
|
|
L_02589FD8: ; // 0x2589fd8
|
|
/* 02589FD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02589FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02589FDC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02589FDC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02589FDC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02589FDC */ goto L_02589FE0;
|
|
L_02589FE0: ; // 0x2589fe0
|
|
/* 02589FE0 */ 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_02589FE4 @ 0x2589fe4
|
|
void Gambit_fn_02589FE4(CPUState* cpu) {
|
|
L_02589FE4: ; // 0x2589fe4
|
|
/* 02589FE4 */ return;
|
|
}
|
|
|
|
// fn_02589FE8 @ 0x2589fe8
|
|
void Gambit_fn_02589FE8(CPUState* cpu) {
|
|
L_02589FE8: ; // 0x2589fe8
|
|
/* 02589FE8 */ return;
|
|
}
|
|
|
|
// fn_02589FEC @ 0x2589fec
|
|
void Gambit_fn_02589FEC(CPUState* cpu) {
|
|
L_02589FEC: ; // 0x2589fec
|
|
/* 02589FEC */ return;
|
|
}
|
|
|
|
// fn_02589FF0 @ 0x2589ff0
|
|
void Gambit_fn_02589FF0(CPUState* cpu) {
|
|
L_02589FF0: ; // 0x2589ff0
|
|
/* 02589FF0 */ return;
|
|
}
|
|
|
|
// fn_02589FF4 @ 0x2589ff4
|
|
void Gambit_fn_02589FF4(CPUState* cpu) {
|
|
L_02589FF4: ; // 0x2589ff4
|
|
/* 02589FF4 */ return;
|
|
}
|
|
|
|
// fn_02589FF8 @ 0x2589ff8
|
|
void Gambit_fn_02589FF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02589FF8: ; // 0x2589ff8
|
|
/* 02589FF8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02589FF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02589FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258A000 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A000 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258A000 */ if (_t2) goto L_0258A00C; else goto L_0258A004;
|
|
L_0258A004: ; // 0x258a004
|
|
/* 0258A004 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0258A008 */ return;
|
|
L_0258A00C: ; // 0x258a00c
|
|
/* 0258A00C */ cpu->r[3] = 0x00000000u;
|
|
/* 0258A010 */ return;
|
|
}
|
|
|
|
// fn_0258A014 @ 0x258a014
|
|
void Gambit_fn_0258A014(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0258A014: ; // 0x258a014
|
|
/* 0258A014 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0258A014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258A01C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A01C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258A01C */ if (_t2) goto L_0258A028; else goto L_0258A020;
|
|
L_0258A020: ; // 0x258a020
|
|
/* 0258A020 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0258A024 */ return;
|
|
L_0258A028: ; // 0x258a028
|
|
/* 0258A028 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258A02C */ return;
|
|
}
|
|
|
|
// fn_0258A030 @ 0x258a030
|
|
void Gambit_fn_0258A030(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258A030: ; // 0x258a030
|
|
/* 0258A030 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258A030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A034 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258A034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258A038 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A038 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258A038 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258A038 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258A038 */ goto L_0258A03C;
|
|
L_0258A03C: ; // 0x258a03c
|
|
/* 0258A03C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258A03C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A040 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0258A040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258A044 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A048 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258A04C @ 0x258a04c
|
|
void Gambit_fn_0258A04C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258A04C: ; // 0x258a04c
|
|
/* 0258A04C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258A04C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A050 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258A050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258A054 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A054 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258A054 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258A054 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258A054 */ goto L_0258A058;
|
|
L_0258A058: ; // 0x258a058
|
|
/* 0258A058 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258A058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A05C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0258A05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258A060 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A064 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258A068 @ 0x258a068
|
|
void Gambit_fn_0258A068(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258A068: ; // 0x258a068
|
|
/* 0258A068 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258A068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A06C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258A06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258A070 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A070 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258A070 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258A070 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258A070 */ goto L_0258A074;
|
|
L_0258A074: ; // 0x258a074
|
|
/* 0258A074 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258A074 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A078 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0258A078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258A07C */ cpu->ctr = cpu->r[0];
|
|
/* 0258A080 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258A084 @ 0x258a084
|
|
void Gambit_fn_0258A084(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258A084: ; // 0x258a084
|
|
/* 0258A084 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258A084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A088 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258A088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258A08C */ cpu->ctr = cpu->r[0];
|
|
/* 0258A090 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258A094 @ 0x258a094
|
|
void Gambit_fn_0258A094(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0258A094: ; // 0x258a094
|
|
/* 0258A094 */ cpu->r[0] = cpu->lr;
|
|
/* 0258A098 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258A098 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A098 */ cpu->r[1] = _t0;
|
|
/* 0258A09C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A09C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258A0A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258A0A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A0A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258A0A8 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258A0A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258A0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0258A0B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A0B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258A0B0 */ if (_t5) goto L_0258A0B4; else goto L_0258A0D0;
|
|
L_0258A0B4: ; // 0x258a0b4
|
|
/* 0258A0B4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0258A0B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258A0B8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0258A0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258A0BC */ cpu->ctr = cpu->r[0];
|
|
/* 0258A0C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258A0C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A0C8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258A0CC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258A0CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0258A0D0: ; // 0x258a0d0
|
|
/* 0258A0D0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258A0D4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A0D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258A0D8 */ cpu->lr = cpu->r[0];
|
|
/* 0258A0DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258A0E0 */ return;
|
|
}
|
|
|
|
// fn_0258A098 @ 0x258a098
|
|
void Gambit_fn_0258A098(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0258A098: ; // 0x258a098
|
|
/* 0258A098 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258A098 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A098 */ cpu->r[1] = _t0;
|
|
/* 0258A09C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A09C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258A0A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258A0A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A0A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258A0A8 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258A0A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258A0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0258A0B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A0B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258A0B0 */ if (_t5) goto L_0258A0B4; else goto L_0258A0D0;
|
|
L_0258A0B4: ; // 0x258a0b4
|
|
/* 0258A0B4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0258A0B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258A0B8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0258A0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258A0BC */ cpu->ctr = cpu->r[0];
|
|
/* 0258A0C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258A0C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A0C8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258A0CC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258A0CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0258A0D0: ; // 0x258a0d0
|
|
/* 0258A0D0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258A0D4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A0D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258A0D8 */ cpu->lr = cpu->r[0];
|
|
/* 0258A0DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258A0E0 */ return;
|
|
}
|
|
|
|
// fn_0258A0EC @ 0x258a0ec
|
|
void Gambit_fn_0258A0EC(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_0258A0EC: ; // 0x258a0ec
|
|
/* 0258A0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258A0F0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A0F0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258A0F0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258A0F0 */ goto L_0258A0F4;
|
|
L_0258A0F4: ; // 0x258a0f4
|
|
/* 0258A0F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258A0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258A0F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A0F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258A0F8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258A0F8 */ goto L_0258A0FC;
|
|
L_0258A0FC: ; // 0x258a0fc
|
|
/* 0258A0FC */ 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_0258A100 @ 0x258a100
|
|
void Gambit_fn_0258A100(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258A100: ; // 0x258a100
|
|
/* 0258A100 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258A100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A104 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0258A104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258A108 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A10C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258A110 @ 0x258a110
|
|
void Gambit_fn_0258A110(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258A110: ; // 0x258a110
|
|
/* 0258A110 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258A110 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A114 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0258A114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258A118 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A11C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258A120 @ 0x258a120
|
|
void Gambit_fn_0258A120(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258A120: ; // 0x258a120
|
|
/* 0258A120 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258A120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A124 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0258A124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258A128 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A12C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258A130 @ 0x258a130
|
|
void Gambit_fn_0258A130(CPUState* cpu) {
|
|
L_0258A130: ; // 0x258a130
|
|
/* 0258A130 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258A134 */ return;
|
|
}
|
|
|
|
// fn_0258A138 @ 0x258a138
|
|
void Gambit_fn_0258A138(CPUState* cpu) {
|
|
L_0258A138: ; // 0x258a138
|
|
/* 0258A138 */ return;
|
|
}
|
|
|
|
// fn_0258A13C @ 0x258a13c
|
|
void Gambit_fn_0258A13C(CPUState* cpu) {
|
|
L_0258A13C: ; // 0x258a13c
|
|
/* 0258A13C */ return;
|
|
}
|
|
|
|
// fn_0258A140 @ 0x258a140
|
|
void Gambit_fn_0258A140(CPUState* cpu) {
|
|
L_0258A140: ; // 0x258a140
|
|
/* 0258A140 */ return;
|
|
}
|
|
|
|
// fn_0258A144 @ 0x258a144
|
|
void Gambit_fn_0258A144(CPUState* cpu) {
|
|
L_0258A144: ; // 0x258a144
|
|
/* 0258A144 */ return;
|
|
}
|
|
|
|
// fn_0258A148 @ 0x258a148
|
|
void Gambit_fn_0258A148(CPUState* cpu) {
|
|
L_0258A148: ; // 0x258a148
|
|
/* 0258A148 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258A14C */ return;
|
|
}
|
|
|
|
// fn_0258A150 @ 0x258a150
|
|
void Gambit_fn_0258A150(CPUState* cpu) {
|
|
L_0258A150: ; // 0x258a150
|
|
/* 0258A150 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258A154 */ return;
|
|
}
|
|
|
|
// fn_0258A158 @ 0x258a158
|
|
void Gambit_fn_0258A158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0258A158: ; // 0x258a158
|
|
/* 0258A158 */ cpu->r[0] = cpu->lr;
|
|
/* 0258A15C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258A15C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A15C */ cpu->r[1] = _t0;
|
|
/* 0258A160 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A160 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258A164 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258A164 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258A168 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0258A168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258A16C */ cpu->r[4] = 0x00000000u;
|
|
/* 0258A170 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258A174 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0258A178 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258A178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258A180 */ cpu->r[11] = 0x00000000u;
|
|
/* 0258A184 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A184 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258A184 */ if (_t6) goto L_0258A190; else goto L_0258A188;
|
|
L_0258A188: ; // 0x258a188
|
|
/* 0258A188 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 0258A188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258A18C */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 0258A18C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0258A190: ; // 0x258a190
|
|
/* 0258A190 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0258A190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258A194 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 0258A194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258A198 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258A198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258A19C */ cpu->ctr = cpu->r[0];
|
|
/* 0258A1A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258A1A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A1A8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A1A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258A1AC */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 0258A1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258A1B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A1B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258A1B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A1BC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258A1BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258A1C0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0258A1C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258A1C4 */ cpu->lr = cpu->r[0];
|
|
/* 0258A1C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A1C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258A1CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258A1D0 */ return;
|
|
}
|
|
|
|
// fn_0258A15C @ 0x258a15c
|
|
void Gambit_fn_0258A15C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0258A15C: ; // 0x258a15c
|
|
/* 0258A15C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258A15C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A15C */ cpu->r[1] = _t0;
|
|
/* 0258A160 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A160 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258A164 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258A164 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258A168 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0258A168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258A16C */ cpu->r[4] = 0x00000000u;
|
|
/* 0258A170 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258A174 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0258A178 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258A178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258A180 */ cpu->r[11] = 0x00000000u;
|
|
/* 0258A184 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A184 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258A184 */ if (_t6) goto L_0258A190; else goto L_0258A188;
|
|
L_0258A188: ; // 0x258a188
|
|
/* 0258A188 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 0258A188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258A18C */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 0258A18C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0258A190: ; // 0x258a190
|
|
/* 0258A190 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0258A190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258A194 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 0258A194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258A198 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258A198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258A19C */ cpu->ctr = cpu->r[0];
|
|
/* 0258A1A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258A1A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A1A8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A1A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258A1AC */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 0258A1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258A1B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A1B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258A1B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A1BC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258A1BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258A1C0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0258A1C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258A1C4 */ cpu->lr = cpu->r[0];
|
|
/* 0258A1C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A1C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258A1CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258A1D0 */ return;
|
|
}
|
|
|
|
// fn_0258A1D4 @ 0x258a1d4
|
|
void Gambit_fn_0258A1D4(CPUState* cpu) {
|
|
L_0258A1D4: ; // 0x258a1d4
|
|
/* 0258A1D4 */ return;
|
|
}
|
|
|
|
// fn_0258A1D8 @ 0x258a1d8
|
|
void Gambit_fn_0258A1D8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258A1D8: ; // 0x258a1d8
|
|
/* 0258A1D8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258A1DC */ _t0 = cpu->r[12] + 0x000026B8u;
|
|
/* 0258A1DC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0258A1E0 */ return;
|
|
}
|
|
|
|
// fn_0258A1E4 @ 0x258a1e4
|
|
void Gambit_fn_0258A1E4(CPUState* cpu) {
|
|
L_0258A1E4: ; // 0x258a1e4
|
|
/* 0258A1E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258A1E8 */ return;
|
|
}
|
|
|
|
// fn_0258A1EC @ 0x258a1ec
|
|
void Gambit_fn_0258A1EC(CPUState* cpu) {
|
|
L_0258A1EC: ; // 0x258a1ec
|
|
/* 0258A1EC */ cpu->r[3] = 0x00000000u;
|
|
/* 0258A1F0 */ return;
|
|
}
|
|
|
|
// fn_0258A1F4 @ 0x258a1f4
|
|
void Gambit_fn_0258A1F4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258A1F4: ; // 0x258a1f4
|
|
/* 0258A1F4 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0258A1F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A1F8 */ return;
|
|
}
|
|
|
|
// fn_0258A1FC @ 0x258a1fc
|
|
void Gambit_fn_0258A1FC(CPUState* cpu) {
|
|
L_0258A1FC: ; // 0x258a1fc
|
|
/* 0258A1FC */ return;
|
|
}
|
|
|
|
// fn_0258A200 @ 0x258a200
|
|
void Gambit_fn_0258A200(CPUState* cpu) {
|
|
L_0258A200: ; // 0x258a200
|
|
/* 0258A200 */ cpu->r[3] = 0x100D0000u;
|
|
/* 0258A204 */ cpu->r[3] = cpu->r[3] + 0x00002608u;
|
|
/* 0258A208 */ return;
|
|
}
|
|
|
|
// fn_0258A20C @ 0x258a20c
|
|
void Gambit_fn_0258A20C(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_0258A20C: ; // 0x258a20c
|
|
/* 0258A20C */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258A210 */ _t0 = cpu->r[10] + 0x00000360u;
|
|
/* 0258A210 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258A214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258A218 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258A21C */ cpu->r[10] = cpu->r[10] + 0x00000AF4u;
|
|
/* 0258A220 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A220 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258A220 */ if (_t2) goto L_0258A224; else goto L_0258A23C;
|
|
L_0258A224: ; // 0x258a224
|
|
/* 0258A224 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258A228 */ cpu->r[9] = 0x00000001u;
|
|
/* 0258A22C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258A230 */ cpu->r[0] = cpu->r[0] + 0x000025ACu;
|
|
/* 0258A234 */ _t3 = cpu->r[11] + 0x00000360u;
|
|
/* 0258A234 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0258A238 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 0258A238 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0258A23C: ; // 0x258a23c
|
|
/* 0258A23C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0258A240 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A240 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258A240 */ if (_t6) goto L_0258A244; else goto L_0258A24C;
|
|
L_0258A244: ; // 0x258a244
|
|
/* 0258A244 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258A248 */ return;
|
|
L_0258A24C: ; // 0x258a24c
|
|
/* 0258A24C */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258A250 */ _t7 = cpu->r[9] + 0xFFFFF98Cu;
|
|
/* 0258A250 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258A254 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258A258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258A25C */ cpu->r[11] = cpu->r[11] + 0x00000AE0u;
|
|
/* 0258A260 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A260 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258A260 */ if (_t9) goto L_0258A264; else goto L_0258A27C;
|
|
L_0258A264: ; // 0x258a264
|
|
/* 0258A264 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258A268 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258A26C */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258A270 */ cpu->r[9] = cpu->r[9] + 0x0000259Cu;
|
|
/* 0258A274 */ _t10 = cpu->r[10] + 0xFFFFF98Cu;
|
|
/* 0258A274 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0258A278 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0258A278 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_0258A27C: ; // 0x258a27c
|
|
/* 0258A27C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0258A280 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A280 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258A280 */ if (_t13) goto L_0258A284; else goto L_0258A28C;
|
|
L_0258A284: ; // 0x258a284
|
|
/* 0258A284 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258A288 */ goto L_0258A344;
|
|
L_0258A28C: ; // 0x258a28c
|
|
/* 0258A28C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258A290 */ _t14 = cpu->r[11] + 0xFFFFDB24u;
|
|
/* 0258A290 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258A294 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258A298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258A29C */ cpu->r[9] = cpu->r[9] + 0xFFFFDB28u;
|
|
/* 0258A2A0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A2A0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258A2A0 */ if (_t16) goto L_0258A2A4; else goto L_0258A2BC;
|
|
L_0258A2A4: ; // 0x258a2a4
|
|
/* 0258A2A4 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258A2A8 */ cpu->r[10] = 0x00000001u;
|
|
/* 0258A2AC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258A2B0 */ cpu->r[11] = cpu->r[11] + 0x0000258Cu;
|
|
/* 0258A2B4 */ _t17 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 0258A2B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0258A2B8 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 0258A2B8 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_0258A2BC: ; // 0x258a2bc
|
|
/* 0258A2BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 0258A2C0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A2C0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258A2C0 */ if (_t20) goto L_0258A2C4; else goto L_0258A2CC;
|
|
L_0258A2C4: ; // 0x258a2c4
|
|
/* 0258A2C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258A2C8 */ goto L_0258A340;
|
|
L_0258A2CC: ; // 0x258a2cc
|
|
/* 0258A2CC */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258A2D0 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 0258A2D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258A2D0 */ cpu->r[9] = _t21;
|
|
/* 0258A2D4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258A2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258A2DC */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 0258A2E0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A2E0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258A2E0 */ if (_t23) goto L_0258A2E4; else goto L_0258A2F8;
|
|
L_0258A2E4: ; // 0x258a2e4
|
|
/* 0258A2E4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258A2E8 */ cpu->r[11] = 0x00000001u;
|
|
/* 0258A2EC */ cpu->r[0] = cpu->r[0] + 0x0000257Cu;
|
|
/* 0258A2F0 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0258A2F0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0258A2F4 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0258A2F4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_0258A2F8: ; // 0x258a2f8
|
|
/* 0258A2F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0258A2FC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A2FC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0258A2FC */ if (_t27) goto L_0258A300; else goto L_0258A308;
|
|
L_0258A300: ; // 0x258a300
|
|
/* 0258A300 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258A304 */ goto L_0258A340;
|
|
L_0258A308: ; // 0x258a308
|
|
/* 0258A308 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258A30C */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 0258A30C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258A30C */ cpu->r[10] = _t28;
|
|
/* 0258A310 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258A314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258A318 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 0258A31C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A31C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0258A31C */ if (_t30) goto L_0258A320; else goto L_0258A334;
|
|
L_0258A320: ; // 0x258a320
|
|
/* 0258A320 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258A324 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258A328 */ cpu->r[9] = cpu->r[9] + 0x0000250Cu;
|
|
/* 0258A32C */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0258A32C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0258A330 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 0258A330 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_0258A334: ; // 0x258a334
|
|
/* 0258A334 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0258A338 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0258A33C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0258A340: ; // 0x258a340
|
|
/* 0258A340 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0258A344: ; // 0x258a344
|
|
/* 0258A344 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258A348 */ return;
|
|
}
|
|
|
|
// fn_0258A358 @ 0x258a358
|
|
void Gambit_fn_0258A358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0232D570: ; // 0x232d570
|
|
/* 0232D570 */ cpu->r[0] = cpu->lr;
|
|
/* 0232D574 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0232D574 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0232D574 */ cpu->r[1] = _t0;
|
|
/* 0232D578 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0232D578 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0232D57C */ cpu->r[31] = cpu->r[3];
|
|
/* 0232D580 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0232D580 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0232D584 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0232D584 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0232D588 */ cpu->r[12] = 0x00000000u;
|
|
/* 0232D58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0232D590 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0232D590 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0232D594 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0232D594 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0232D594 */ if (_t6) goto L_0232D5BC; else goto L_0232D598;
|
|
L_0232D598: ; // 0x232d598
|
|
/* 0232D598 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0232D598 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0232D59C */ /* nop */
|
|
/* 0232D5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0232D5A4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0232D5A4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0232D5A4 */ if (_t9) goto L_0232D5A8; else goto L_0232D5BC;
|
|
L_0232D5A8: ; // 0x232d5a8
|
|
/* 0232D5A8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0232D5A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0232D5AC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0232D5AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0232D5B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0232D5B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0232D5B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0232D5BC: ; // 0x232d5bc
|
|
/* 0232D5BC */ cpu->r[3] = cpu->r[31];
|
|
/* 0232D5C0 */ Gambit_fn_0232D4E8(cpu);
|
|
/* 0232D5C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0232D5C8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0232D5CC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0232D5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0232D5D0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0232D5D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0232D5D4 */ cpu->lr = cpu->r[0];
|
|
/* 0232D5D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0232D5DC */ return;
|
|
L_0258A358: ; // 0x258a358
|
|
/* 0258A358 */ cpu->r[3] = cpu->r[3] + 0x0000024Cu;
|
|
/* 0258A35C */ goto L_0232D570;
|
|
}
|
|
|
|
// fn_0258A360 @ 0x258a360
|
|
void Gambit_fn_0258A360(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258A360: ; // 0x258a360
|
|
/* 0258A360 */ cpu->r[0] = cpu->lr;
|
|
/* 0258A364 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258A364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A364 */ cpu->r[1] = _t0;
|
|
/* 0258A368 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258A36C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258A370 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A370 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258A374 */ _t3 = cpu->r[31] + 0x0000025Au;
|
|
/* 0258A374 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258A378 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258A37C */ /* nop */
|
|
/* 0258A380 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258A384 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258A388 */ Gambit_fn_0232D460(cpu);
|
|
/* 0258A38C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A38C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A390 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258A394 */ cpu->lr = cpu->r[0];
|
|
/* 0258A398 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258A39C */ return;
|
|
}
|
|
|
|
// fn_0258A364 @ 0x258a364
|
|
void Gambit_fn_0258A364(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258A364: ; // 0x258a364
|
|
/* 0258A364 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258A364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A364 */ cpu->r[1] = _t0;
|
|
/* 0258A368 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258A36C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258A370 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A370 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258A374 */ _t3 = cpu->r[31] + 0x0000025Au;
|
|
/* 0258A374 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258A378 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258A37C */ /* nop */
|
|
/* 0258A380 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258A384 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258A388 */ Gambit_fn_0232D460(cpu);
|
|
/* 0258A38C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A38C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A390 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258A394 */ cpu->lr = cpu->r[0];
|
|
/* 0258A398 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258A39C */ return;
|
|
}
|
|
|
|
// fn_0258A3A0 @ 0x258a3a0
|
|
void Gambit_fn_0258A3A0(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_0258A3A0: ; // 0x258a3a0
|
|
/* 0258A3A0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0258A3A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A3A0 */ cpu->r[1] = _t0;
|
|
/* 0258A3A4 */ /* nop */
|
|
/* 0258A3A8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258A3AC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0258A3AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258A3B0 */ cpu->r[29] = cpu->r[6];
|
|
/* 0258A3B4 */ cpu->r[28] = cpu->r[3];
|
|
/* 0258A3B8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0258A3BC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0258A3BC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0258A3C0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0258A3C4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0258A3C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0258A3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258A3CC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258A3CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0258A3D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A3D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258A3D0 */ if (_t6) goto L_0258A414; else goto L_0258A3D4;
|
|
L_0258A3D4: ; // 0x258a3d4
|
|
/* 0258A3D4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258A3D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258A3D8 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258A3DC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258A3DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258A3E0 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0258A3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258A3E4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A3E8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258A3EC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258A3F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258A3F8 */ cpu->r[0] = cpu->r[27];
|
|
/* 0258A3FC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258A3FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258A3FC */ if (_t11) goto L_0258A404; else goto L_0258A400;
|
|
L_0258A400: ; // 0x258a400
|
|
/* 0258A400 */ cpu->r[0] = 0x00000001u;
|
|
L_0258A404: ; // 0x258a404
|
|
/* 0258A404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258A408 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A408 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258A408 */ if (_t13) goto L_0258A414; else goto L_0258A40C;
|
|
L_0258A40C: ; // 0x258a40c
|
|
/* 0258A40C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0258A40C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0258A410 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0258A410 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0258A414: ; // 0x258a414
|
|
/* 0258A414 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0258A414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258A418 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258A41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258A420 */ cpu->r[12] = cpu->r[0];
|
|
/* 0258A424 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258A424 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258A424 */ if (_t18) goto L_0258A428; else goto L_0258A44C;
|
|
L_0258A428: ; // 0x258a428
|
|
/* 0258A428 */ cpu->ctr = cpu->r[7];
|
|
/* 0258A42C */ cpu->r[10] = 0x00000000u;
|
|
L_0258A430: ; // 0x258a430
|
|
/* 0258A430 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0258A430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258A434 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0258A434 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0258A438 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0258A43C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0258A43C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0258A440 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0258A444 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0258A444 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0258A448 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258A448 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258A448 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0258A448 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0258A448 */ if (_t25) goto L_0258A430; else goto L_0258A44C;
|
|
L_0258A44C: ; // 0x258a44c
|
|
/* 0258A44C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258A44C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0258A450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258A454 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A454 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0258A454 */ if (_t28) goto L_0258A498; else goto L_0258A458;
|
|
L_0258A458: ; // 0x258a458
|
|
/* 0258A458 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258A458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258A45C */ Gambit_fn_02826F20(cpu);
|
|
/* 0258A460 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258A460 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258A464 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0258A464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258A468 */ cpu->ctr = cpu->r[0];
|
|
/* 0258A46C */ cpu->r[5] = 0x00000004u;
|
|
/* 0258A470 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258A474 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258A47C */ cpu->r[11] = cpu->r[27];
|
|
/* 0258A480 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258A480 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0258A480 */ if (_t33) goto L_0258A488; else goto L_0258A484;
|
|
L_0258A484: ; // 0x258a484
|
|
/* 0258A484 */ cpu->r[11] = 0x00000001u;
|
|
L_0258A488: ; // 0x258a488
|
|
/* 0258A488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258A48C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A48C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0258A48C */ if (_t35) goto L_0258A498; else goto L_0258A490;
|
|
L_0258A490: ; // 0x258a490
|
|
/* 0258A490 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0258A490 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0258A494 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0258A494 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0258A498: ; // 0x258a498
|
|
/* 0258A498 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0258A498 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258A49C */ cpu->r[0] = 0x00000000u;
|
|
/* 0258A4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0258A4A4 */ cpu->r[12] = cpu->r[0];
|
|
/* 0258A4A8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258A4A8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0258A4A8 */ if (_t40) goto L_0258A4AC; else goto L_0258A4D0;
|
|
L_0258A4AC: ; // 0x258a4ac
|
|
/* 0258A4AC */ cpu->ctr = cpu->r[6];
|
|
/* 0258A4B0 */ cpu->r[9] = 0x00000000u;
|
|
L_0258A4B4: ; // 0x258a4b4
|
|
/* 0258A4B4 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0258A4B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258A4B8 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0258A4B8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0258A4BC */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0258A4C0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0258A4C0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0258A4C4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0258A4C8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0258A4C8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0258A4CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258A4CC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258A4CC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0258A4CC */ _t47 = _t46 & 0x00000001u;
|
|
/* 0258A4CC */ if (_t47) goto L_0258A4B4; else goto L_0258A4D0;
|
|
L_0258A4D0: ; // 0x258a4d0
|
|
/* 0258A4D0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258A4D0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0258A4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258A4D8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A4D8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0258A4D8 */ if (_t50) goto L_0258A51C; else goto L_0258A4DC;
|
|
L_0258A4DC: ; // 0x258a4dc
|
|
/* 0258A4DC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258A4DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0258A4E0 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258A4E4 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258A4E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0258A4E8 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0258A4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258A4EC */ cpu->ctr = cpu->r[0];
|
|
/* 0258A4F0 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258A4F4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258A4F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258A500 */ cpu->r[10] = cpu->r[27];
|
|
/* 0258A504 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258A504 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0258A504 */ if (_t55) goto L_0258A50C; else goto L_0258A508;
|
|
L_0258A508: ; // 0x258a508
|
|
/* 0258A508 */ cpu->r[10] = 0x00000001u;
|
|
L_0258A50C: ; // 0x258a50c
|
|
/* 0258A50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258A510 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A510 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0258A510 */ if (_t57) goto L_0258A51C; else goto L_0258A514;
|
|
L_0258A514: ; // 0x258a514
|
|
/* 0258A514 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0258A514 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0258A518 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0258A518 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0258A51C: ; // 0x258a51c
|
|
/* 0258A51C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0258A51C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258A520 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258A524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258A528 */ cpu->r[5] = cpu->r[0];
|
|
/* 0258A52C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258A52C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0258A52C */ if (_t62) goto L_0258A530; else goto L_0258A554;
|
|
L_0258A530: ; // 0x258a530
|
|
/* 0258A530 */ cpu->ctr = cpu->r[12];
|
|
/* 0258A534 */ cpu->r[8] = 0x00000000u;
|
|
L_0258A538: ; // 0x258a538
|
|
/* 0258A538 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0258A538 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258A53C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0258A53C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0258A540 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0258A544 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0258A544 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0258A548 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0258A54C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0258A54C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0258A550 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258A550 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258A550 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0258A550 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0258A550 */ if (_t69) goto L_0258A538; else goto L_0258A554;
|
|
L_0258A554: ; // 0x258a554
|
|
/* 0258A554 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0258A554 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0258A558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0258A55C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A55C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0258A55C */ if (_t72) goto L_0258A638; else goto L_0258A560;
|
|
L_0258A560: ; // 0x258a560
|
|
/* 0258A560 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258A560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0258A564 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258A568 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258A568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258A56C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0258A56C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258A570 */ cpu->ctr = cpu->r[12];
|
|
/* 0258A574 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258A578 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0258A57C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A580 */ cpu->r[24] = cpu->r[3];
|
|
/* 0258A584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0258A588 */ cpu->r[30] = cpu->r[25];
|
|
/* 0258A58C */ cpu->r[7] = 0x00000000u;
|
|
/* 0258A590 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258A590 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0258A590 */ if (_t77) goto L_0258A598; else goto L_0258A594;
|
|
L_0258A594: ; // 0x258a594
|
|
/* 0258A594 */ cpu->r[30] = 0x00000001u;
|
|
L_0258A598: ; // 0x258a598
|
|
/* 0258A598 */ cpu->r[31] = 0x10110000u;
|
|
/* 0258A59C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0258A5A0 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0258A5A0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0258A5A4 */ cpu->r[23] = 0x00000018u;
|
|
L_0258A5A8: ; // 0x258a5a8
|
|
/* 0258A5A8 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0258A5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258A5AC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A5AC */ _t80 = _t79 & 0x00000001u;
|
|
/* 0258A5AC */ if (_t80) goto L_0258A61C; else goto L_0258A5B0;
|
|
L_0258A5B0: ; // 0x258a5b0
|
|
/* 0258A5B0 */ cpu->r[26] = cpu->r[27];
|
|
/* 0258A5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0258A5B4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A5B4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0258A5B4 */ if (_t82) goto L_0258A5B8; else goto L_0258A5C8;
|
|
L_0258A5B8: ; // 0x258a5b8
|
|
/* 0258A5B8 */ cpu->r[3] = 0x00000024u;
|
|
/* 0258A5BC */ Gambit_fn_02801A78(cpu);
|
|
/* 0258A5C0 */ cpu->r[26] = cpu->r[3];
|
|
/* 0258A5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0258A5C4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A5C4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0258A5C4 */ if (_t84) goto L_0258A610; else goto L_0258A5C8;
|
|
L_0258A5C8: ; // 0x258a5c8
|
|
/* 0258A5C8 */ cpu->r[11] = cpu->r[26];
|
|
/* 0258A5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258A5CC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A5CC */ _t86 = _t85 & 0x00000001u;
|
|
/* 0258A5CC */ if (_t86) goto L_0258A5D0; else goto L_0258A5E0;
|
|
L_0258A5D0: ; // 0x258a5d0
|
|
/* 0258A5D0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0258A5D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258A5D8 */ cpu->r[11] = cpu->r[3];
|
|
/* 0258A5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258A5DC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A5DC */ _t88 = _t87 & 0x00000001u;
|
|
/* 0258A5DC */ if (_t88) goto L_0258A5FC; else goto L_0258A5E0;
|
|
L_0258A5E0: ; // 0x258a5e0
|
|
/* 0258A5E0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258A5E4 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0258A5E4 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0258A5E8 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0258A5EC */ cpu->r[5] = cpu->r[5] + 0x00002534u;
|
|
/* 0258A5F0 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0258A5F0 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0258A5F4 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0258A5F4 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0258A5F8 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0258A5F8 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0258A5FC: ; // 0x258a5fc
|
|
/* 0258A5FC */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258A600 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0258A600 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0258A604 */ cpu->r[6] = cpu->r[6] + 0x0000254Cu;
|
|
/* 0258A608 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0258A608 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0258A60C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0258A60C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0258A610: ; // 0x258a610
|
|
/* 0258A610 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258A614 */ cpu->r[0] = cpu->r[0] + 0x00002564u;
|
|
/* 0258A618 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0258A618 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0258A61C: ; // 0x258a61c
|
|
/* 0258A61C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0258A61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258A620 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0258A624 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A624 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0258A624 */ if (_t98) goto L_0258A628; else goto L_0258A5A8;
|
|
L_0258A628: ; // 0x258a628
|
|
/* 0258A628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0258A62C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A62C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0258A62C */ if (_t100) goto L_0258A638; else goto L_0258A630;
|
|
L_0258A630: ; // 0x258a630
|
|
/* 0258A630 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0258A630 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0258A634 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0258A634 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0258A638: ; // 0x258a638
|
|
/* 0258A638 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0258A638 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0258A63C */ /* nop */
|
|
/* 0258A640 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0258A640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0258A644 */ cpu->lr = cpu->r[0];
|
|
/* 0258A648 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0258A64C */ return;
|
|
}
|
|
|
|
// fn_0258A650 @ 0x258a650
|
|
void Gambit_fn_0258A650(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_0258A650: ; // 0x258a650
|
|
/* 0258A650 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0258A650 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258A654 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0258A654 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258A658 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0258A658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258A65C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0258A660 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0258A660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258A664 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258A664 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258A664 */ if (_t5) goto L_0258A668; else goto L_0258A670;
|
|
L_0258A668: ; // 0x258a668
|
|
/* 0258A668 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258A66C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0258A670: ; // 0x258a670
|
|
/* 0258A670 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0258A670 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258A674 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0258A674 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258A678 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0258A678 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0258A67C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0258A67C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0258A680 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0258A680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258A684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0258A688 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0258A688 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258A68C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258A68C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258A68C */ if (_t13) goto L_0258A690; else goto L_0258A698;
|
|
L_0258A690: ; // 0x258a690
|
|
/* 0258A690 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258A694 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0258A698: ; // 0x258a698
|
|
/* 0258A698 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0258A698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258A69C */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0258A69C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0258A6A0 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0258A6A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258A6A4 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0258A6A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0258A6A8 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0258A6A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258A6AC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0258A6AC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0258A6B0 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0258A6B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258A6B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0258A6B8 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0258A6B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258A6BC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258A6BC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258A6BC */ if (_t23) goto L_0258A6C0; else goto L_0258A6C8;
|
|
L_0258A6C0: ; // 0x258a6c0
|
|
/* 0258A6C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258A6C4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0258A6C8: ; // 0x258a6c8
|
|
/* 0258A6C8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0258A6C8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0258A6CC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0258A6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258A6D0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0258A6D0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0258A6D4 */ return;
|
|
}
|
|
|
|
// fn_0258A6D8 @ 0x258a6d8
|
|
void Gambit_fn_0258A6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258A6D8: ; // 0x258a6d8
|
|
/* 0258A6D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258A6DC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258A6E0 */ cpu->r[7] = 0x02590000u;
|
|
/* 0258A6E4 */ cpu->r[6] = 0x02590000u;
|
|
/* 0258A6E8 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0258A6EC */ cpu->r[7] = cpu->r[7] + 0xFFFFA0E4u;
|
|
/* 0258A6F0 */ cpu->r[6] = cpu->r[6] + 0xFFFFA0E4u;
|
|
/* 0258A6F4 */ cpu->r[10] = cpu->r[10] + 0x00006CE8u;
|
|
/* 0258A6F8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258A6F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258A6FC */ cpu->r[0] = 0x101C0000u;
|
|
/* 0258A700 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258A700 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258A700 */ cpu->r[1] = _t1;
|
|
/* 0258A704 */ cpu->r[0] = cpu->r[0] + 0x00006CE4u;
|
|
/* 0258A708 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0258A708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258A70C */ cpu->r[8] = 0x00000000u;
|
|
/* 0258A710 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0258A710 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258A714 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A718 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A718 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0258A71C */ Gambit_fn_02791B10(cpu);
|
|
/* 0258A720 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258A724 */ cpu->lr = cpu->r[0];
|
|
/* 0258A728 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258A72C */ return;
|
|
}
|
|
|
|
// fn_0258A700 @ 0x258a700
|
|
void Gambit_fn_0258A700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0258A700: ; // 0x258a700
|
|
/* 0258A700 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258A700 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A700 */ cpu->r[1] = _t0;
|
|
/* 0258A704 */ cpu->r[0] = cpu->r[0] + 0x00006CE4u;
|
|
/* 0258A708 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0258A708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258A70C */ cpu->r[8] = 0x00000000u;
|
|
/* 0258A710 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258A710 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258A714 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A718 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A718 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0258A71C */ Gambit_fn_02791B10(cpu);
|
|
/* 0258A720 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258A720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A724 */ cpu->lr = cpu->r[0];
|
|
/* 0258A728 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258A72C */ return;
|
|
}
|
|
|
|
// fn_0258A730 @ 0x258a730
|
|
void Gambit_fn_0258A730(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_0258A730: ; // 0x258a730
|
|
/* 0258A730 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0258A730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A730 */ cpu->r[1] = _t0;
|
|
/* 0258A734 */ cpu->r[0] = cpu->lr;
|
|
/* 0258A738 */ /* nop */
|
|
/* 0258A73C */ cpu->r[30] = cpu->r[5];
|
|
/* 0258A740 */ cpu->r[26] = cpu->r[3];
|
|
/* 0258A744 */ cpu->r[27] = cpu->r[7];
|
|
/* 0258A748 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258A74C */ cpu->r[31] = cpu->r[6];
|
|
/* 0258A750 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258A750 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258A754 */ cpu->r[29] = cpu->r[4];
|
|
/* 0258A758 */ cpu->r[4] = cpu->r[27];
|
|
/* 0258A75C */ Gambit_fn_027DB318(cpu);
|
|
/* 0258A760 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 0258A760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0258A764 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A764 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258A764 */ if (_t3) goto L_0258A7F8; else goto L_0258A768;
|
|
L_0258A768: ; // 0x258a768
|
|
/* 0258A768 */ cpu->r[5] = cpu->r[28];
|
|
/* 0258A76C */ cpu->r[4] = cpu->r[29];
|
|
/* 0258A770 */ cpu->r[3] = cpu->r[26];
|
|
/* 0258A774 */ Gambit_fn_0258A6D8(cpu);
|
|
/* 0258A778 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258A778 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258A77C */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 0258A77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258A780 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 0258A784 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0258A788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0258A78C */ cpu->r[25] = 0x00000000u;
|
|
/* 0258A790 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A790 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258A790 */ if (_t7) goto L_0258A7F8; else goto L_0258A794;
|
|
L_0258A794: ; // 0x258a794
|
|
/* 0258A794 */ cpu->r[24] = 0x101C0000u;
|
|
L_0258A798: ; // 0x258a798
|
|
/* 0258A798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258A79C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A79C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258A79C */ if (_t9) goto L_0258A7B4; else goto L_0258A7A0;
|
|
L_0258A7A0: ; // 0x258a7a0
|
|
/* 0258A7A0 */ cpu->ctr = cpu->r[27];
|
|
/* 0258A7A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258A7A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258A7B0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A7B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258A7B0 */ if (_t11) goto L_0258A7E4; else goto L_0258A7B4;
|
|
L_0258A7B4: ; // 0x258a7b4
|
|
/* 0258A7B4 */ _t12 = cpu->r[24] + 0x00006CE4u;
|
|
/* 0258A7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258A7B8 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 0258A7BC */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 0258A7BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0258A7C0 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0258A7C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258A7C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258A7C8 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0258A7C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258A7CC */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258A7D0 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 0258A7D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258A7D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258A7D8 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 0258A7D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258A7DC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0258A7E0 */ Gambit_fn_025895F8(cpu);
|
|
L_0258A7E4: ; // 0x258a7e4
|
|
/* 0258A7E4 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0258A7E8 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0258A7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258A7EC */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0258A7F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0258A7F4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A7F4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258A7F4 */ if (_t20) goto L_0258A7F8; else goto L_0258A798;
|
|
L_0258A7F8: ; // 0x258a7f8
|
|
/* 0258A7F8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0258A7FC */ /* nop */
|
|
/* 0258A800 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258A800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258A804 */ cpu->lr = cpu->r[0];
|
|
/* 0258A808 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0258A80C */ return;
|
|
}
|
|
|
|
// fn_0258A810 @ 0x258a810
|
|
void Gambit_fn_0258A810(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_0258A810: ; // 0x258a810
|
|
/* 0258A810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258A814 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A814 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258A814 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258A814 */ goto L_0258A818;
|
|
L_0258A818: ; // 0x258a818
|
|
/* 0258A818 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258A818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258A81C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A81C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258A81C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258A81C */ goto L_0258A820;
|
|
L_0258A820: ; // 0x258a820
|
|
/* 0258A820 */ 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_0258A824 @ 0x258a824
|
|
void Gambit_fn_0258A824(CPUState* cpu) {
|
|
L_0258A824: ; // 0x258a824
|
|
/* 0258A824 */ return;
|
|
}
|
|
|
|
// fn_0258A828 @ 0x258a828
|
|
void Gambit_fn_0258A828(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;
|
|
|
|
L_0258A828: ; // 0x258a828
|
|
/* 0258A828 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 0258A828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258A828 */ cpu->r[1] = _t0;
|
|
/* 0258A82C */ /* nop */
|
|
/* 0258A830 */ cpu->r[0] = cpu->lr;
|
|
/* 0258A834 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 0258A834 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258A838 */ cpu->r[29] = cpu->r[3];
|
|
/* 0258A838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0258A83C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A83C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258A83C */ if (_t3) goto L_0258A840; else goto L_0258A850;
|
|
L_0258A840: ; // 0x258a840
|
|
/* 0258A840 */ cpu->r[3] = 0x000002F8u;
|
|
/* 0258A844 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258A848 */ cpu->r[29] = cpu->r[3];
|
|
/* 0258A848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0258A84C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A84C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258A84C */ if (_t5) goto L_0258AD74; else goto L_0258A850;
|
|
L_0258A850: ; // 0x258a850
|
|
/* 0258A850 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258A854 */ Gambit_fn_0258526C(cpu);
|
|
/* 0258A858 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258A85C */ cpu->r[31] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0258A85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258A860 */ cpu->r[5] = cpu->r[5] + 0x00002B28u;
|
|
/* 0258A864 */ cpu->r[27] = 0x00000000u;
|
|
/* 0258A868 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 0258A868 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 0258A86C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A86C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0258A86C */ if (_t8) goto L_0258A870; else goto L_0258A880;
|
|
L_0258A870: ; // 0x258a870
|
|
/* 0258A870 */ cpu->r[3] = 0x00000038u;
|
|
/* 0258A874 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258A878 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258A878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258A87C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A87C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258A87C */ if (_t10) goto L_0258A8B0; else goto L_0258A880;
|
|
L_0258A880: ; // 0x258a880
|
|
/* 0258A880 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258A884 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0258A888 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258A88C */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 0258A88C */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 0258A890 */ cpu->r[6] = cpu->r[6] + 0x00002D58u;
|
|
/* 0258A894 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 0258A894 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 0258A898 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 0258A898 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 0258A89C */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 0258A89C */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 0258A8A0 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 0258A8A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 0258A8A4 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0258A8A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0258A8A8 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258A8A8 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 0258A8AC */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 0258A8AC */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_0258A8B0: ; // 0x258a8b0
|
|
/* 0258A8B0 */ cpu->r[7] = cpu->r[29] + 0x00000288u;
|
|
/* 0258A8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258A8B4 */ _t19 = cpu->r[29] + 0x00000284u;
|
|
/* 0258A8B4 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 0258A8B8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A8B8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0258A8B8 */ if (_t21) goto L_0258A8BC; else goto L_0258A8C4;
|
|
L_0258A8BC: ; // 0x258a8bc
|
|
/* 0258A8BC */ cpu->r[3] = 0x00000030u;
|
|
/* 0258A8C0 */ Gambit_fn_02801A78(cpu);
|
|
L_0258A8C4: ; // 0x258a8c4
|
|
/* 0258A8C4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258A8C8 */ _t22 = cpu->r[12] + 0x00002A60u;
|
|
/* 0258A8C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258A8CC */ cpu->r[4] = 0x00000009u;
|
|
/* 0258A8D0 */ cpu->r[3] = cpu->r[29] + 0x000002BCu;
|
|
/* 0258A8D4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258A8D8 */ _t23 = cpu->r[29] + 0x000002B8u;
|
|
/* 0258A8D8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 0258A8DC */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258A8E0 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258A8E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0258A8E4 */ Gambit_fn_023A475C(cpu);
|
|
/* 0258A8E8 */ _t25 = cpu->r[29] + 0x000002D0u;
|
|
/* 0258A8E8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[27]);
|
|
/* 0258A8EC */ _t26 = cpu->r[29] + 0x000002D4u;
|
|
/* 0258A8EC */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
|
|
/* 0258A8F0 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0258A8F4 */ _t27 = cpu->r[29] + 0x000002D8u;
|
|
/* 0258A8F4 */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
|
|
/* 0258A8F8 */ _t28 = cpu->r[9] + 0x00006338u;
|
|
/* 0258A8F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258A8F8 */ cpu->r[9] = _t28;
|
|
/* 0258A8FC */ _t29 = cpu->r[29] + 0x000002DCu;
|
|
/* 0258A8FC */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 0258A900 */ _t30 = cpu->r[9] + 0x00000004u;
|
|
/* 0258A900 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258A904 */ _t31 = cpu->r[29] + 0x000002E0u;
|
|
/* 0258A904 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0258A908 */ _t32 = cpu->r[9] + 0x00000008u;
|
|
/* 0258A908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0258A90C */ cpu->r[4] = cpu->r[29];
|
|
/* 0258A910 */ _t33 = cpu->r[29] + 0x000002F0u;
|
|
/* 0258A910 */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
/* 0258A914 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0258A918 */ _t34 = cpu->r[29] + 0x000002E4u;
|
|
/* 0258A918 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 0258A91C */ cpu->r[0] = 0x00000003u;
|
|
/* 0258A920 */ _t35 = cpu->r[29] + 0x000002ECu;
|
|
/* 0258A920 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[27]);
|
|
/* 0258A924 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258A928 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0258A92C */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0258A92C */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[0]);
|
|
/* 0258A930 */ Gambit_fn_0258C2B0(cpu);
|
|
/* 0258A934 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258A938 */ cpu->r[4] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0258A93C */ Gambit_fn_02000834(cpu);
|
|
/* 0258A940 */ cpu->r[28] = 0x100D0000u;
|
|
/* 0258A944 */ cpu->r[25] = 0x02590000u;
|
|
/* 0258A948 */ cpu->r[28] = cpu->r[28] + 0x00002940u;
|
|
/* 0258A94C */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258A950 */ cpu->r[25] = cpu->r[25] + 0xFFFFBD44u;
|
|
/* 0258A954 */ cpu->r[11] = cpu->r[11] + 0x00002A78u;
|
|
/* 0258A958 */ cpu->ctr = cpu->r[25];
|
|
/* 0258A95C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A95C */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 0258A960 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 0258A960 */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 0258A964 */ _t39 = cpu->r[29] + 0x00000264u;
|
|
/* 0258A964 */ cpu->r[24] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258A968 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A96C */ _t40 = cpu->r[24] + 0x00000000u;
|
|
/* 0258A96C */ cpu->r[26] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0258A970 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A974 */ cpu->r[31] = 0x10110000u;
|
|
/* 0258A978 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258A97C */ _t42 = cpu->r[31] + 0x00007399u;
|
|
/* 0258A97C */ cpu->r[31] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0258A980 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 0258A980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0258A984 */ cpu->r[30] = 0x00000000u;
|
|
/* 0258A988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0258A98C */ cpu->r[6] = 0x00080000u;
|
|
/* 0258A990 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A990 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0258A990 */ if (_t45) goto L_0258A9B8; else goto L_0258A994;
|
|
L_0258A994: ; // 0x258a994
|
|
/* 0258A994 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0258A998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0258A99C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0258A9A0 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258A9A0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0258A9A0 */ if (_t47) goto L_0258A9B4; else goto L_0258A9A4;
|
|
L_0258A9A4: ; // 0x258a9a4
|
|
/* 0258A9A4 */ _t48 = cpu->r[12] + 0x00000000u;
|
|
/* 0258A9A4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0258A9A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0258A9AC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258A9AC */ _t50 = _t49 & 0x00000001u;
|
|
/* 0258A9AC */ if (_t50) goto L_0258A9B0; else goto L_0258A994;
|
|
L_0258A9B0: ; // 0x258a9b0
|
|
/* 0258A9B0 */ goto L_0258A9B8;
|
|
L_0258A9B4: ; // 0x258a9b4
|
|
/* 0258A9B4 */ cpu->r[30] = 0x00000000u;
|
|
L_0258A9B8: ; // 0x258a9b8
|
|
/* 0258A9B8 */ _t51 = cpu->r[24] + 0x00000008u;
|
|
/* 0258A9B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0258A9BC */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 0258A9BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0258A9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0258A9C4 */ _t53 = cpu->r[7] + 0x00000014u;
|
|
/* 0258A9C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258A9C8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258A9C8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0258A9C8 */ if (_t55) goto L_0258A9D0; else goto L_0258A9CC;
|
|
L_0258A9CC: ; // 0x258a9cc
|
|
/* 0258A9CC */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0258A9D0: ; // 0x258a9d0
|
|
/* 0258A9D0 */ cpu->ctr = cpu->r[8];
|
|
/* 0258A9D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A9D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258A9DC */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258A9DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0258A9E0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258A9E4 */ cpu->r[5] = cpu->r[30];
|
|
/* 0258A9E8 */ cpu->r[3] = cpu->r[26];
|
|
/* 0258A9EC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0258A9F0 */ _t57 = cpu->r[26] + cpu->r[30];
|
|
/* 0258A9F0 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[31]);
|
|
/* 0258A9F4 */ cpu->r[11] = 0x02590000u;
|
|
/* 0258A9F8 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 0258A9F8 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[27]);
|
|
/* 0258A9FC */ cpu->r[9] = 0x02590000u;
|
|
/* 0258AA00 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 0258AA00 */ rbrew_write16(cpu->mem, _t59, (uint16_t)cpu->r[27]);
|
|
/* 0258AA04 */ cpu->r[9] = cpu->r[9] + 0xFFFFB970u;
|
|
/* 0258AA08 */ _t60 = cpu->r[1] + 0x00000028u;
|
|
/* 0258AA08 */ rbrew_write32(cpu->mem, _t60, cpu->r[27]);
|
|
/* 0258AA0C */ cpu->r[11] = cpu->r[11] + 0xFFFFB980u;
|
|
/* 0258AA10 */ _t61 = cpu->r[1] + 0x00000018u;
|
|
/* 0258AA10 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
|
|
/* 0258AA14 */ _t62 = cpu->r[1] + 0x00000020u;
|
|
/* 0258AA14 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
|
|
/* 0258AA18 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0258AA1C */ _t63 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AA1C */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[27]);
|
|
/* 0258AA20 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0258AA24 */ _t64 = cpu->r[1] + 0x00000016u;
|
|
/* 0258AA24 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[10]);
|
|
/* 0258AA28 */ cpu->r[9] = 0x00000000u;
|
|
/* 0258AA2C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0258AA30 */ _t65 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0258AA30 */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[10]);
|
|
/* 0258AA34 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AA38 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0258AA3C */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 0258AA3C */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[9]);
|
|
/* 0258AA40 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0258AA44 */ _t67 = cpu->r[1] + 0x00000026u;
|
|
/* 0258AA44 */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[27]);
|
|
/* 0258AA48 */ Gambit_fn_0258C560(cpu);
|
|
/* 0258AA4C */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258AA50 */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 0258AA50 */ rbrew_write32(cpu->mem, _t68, cpu->r[28]);
|
|
/* 0258AA54 */ cpu->r[6] = cpu->r[6] + 0x00002A88u;
|
|
/* 0258AA58 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AA58 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
/* 0258AA5C */ _t70 = cpu->r[29] + 0x00000260u;
|
|
/* 0258AA5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0258AA60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 0258AA64 */ _t71 = cpu->r[29] + 0x00000264u;
|
|
/* 0258AA64 */ cpu->r[26] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0258AA68 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258AA68 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0258AA68 */ if (_t73) goto L_0258AA6C; else goto L_0258AA70;
|
|
L_0258AA6C: ; // 0x258aa6c
|
|
/* 0258AA6C */ cpu->r[26] = cpu->r[26] + 0x00000024u;
|
|
L_0258AA70: ; // 0x258aa70
|
|
/* 0258AA70 */ cpu->ctr = cpu->r[25];
|
|
/* 0258AA74 */ _t74 = cpu->r[26] + 0x00000000u;
|
|
/* 0258AA74 */ cpu->r[24] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258AA78 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AA7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258AA80 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AA80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258AA84 */ _t76 = cpu->r[8] + 0x00000000u;
|
|
/* 0258AA84 */ cpu->r[10] = rbrew_read8(cpu->mem, _t76);
|
|
/* 0258AA88 */ cpu->r[30] = 0x00000000u;
|
|
/* 0258AA8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0258AA90 */ cpu->r[9] = 0x00080000u;
|
|
/* 0258AA94 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AA94 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0258AA94 */ if (_t78) goto L_0258AABC; else goto L_0258AA98;
|
|
L_0258AA98: ; // 0x258aa98
|
|
/* 0258AA98 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0258AA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0258AAA0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0258AAA4 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258AAA4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0258AAA4 */ if (_t80) goto L_0258AAB8; else goto L_0258AAA8;
|
|
L_0258AAA8: ; // 0x258aaa8
|
|
/* 0258AAA8 */ _t81 = cpu->r[8] + 0x00000000u;
|
|
/* 0258AAA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t81);
|
|
/* 0258AAAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0258AAB0 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AAB0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0258AAB0 */ if (_t83) goto L_0258AAB4; else goto L_0258AA98;
|
|
L_0258AAB4: ; // 0x258aab4
|
|
/* 0258AAB4 */ goto L_0258AABC;
|
|
L_0258AAB8: ; // 0x258aab8
|
|
/* 0258AAB8 */ cpu->r[30] = 0x00000000u;
|
|
L_0258AABC: ; // 0x258aabc
|
|
/* 0258AABC */ _t84 = cpu->r[26] + 0x00000008u;
|
|
/* 0258AABC */ cpu->r[8] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0258AAC0 */ _t85 = cpu->r[1] + 0x00000010u;
|
|
/* 0258AAC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0258AAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0258AAC8 */ _t86 = cpu->r[5] + 0x00000014u;
|
|
/* 0258AAC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0258AACC */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258AACC */ _t88 = _t87 & 0x00000001u;
|
|
/* 0258AACC */ if (_t88) goto L_0258AAD4; else goto L_0258AAD0;
|
|
L_0258AAD0: ; // 0x258aad0
|
|
/* 0258AAD0 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0258AAD4: ; // 0x258aad4
|
|
/* 0258AAD4 */ cpu->ctr = cpu->r[7];
|
|
/* 0258AAD8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AADC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258AAE0 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AAE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0258AAE4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258AAE8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0258AAEC */ cpu->r[3] = cpu->r[24];
|
|
/* 0258AAF0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0258AAF4 */ _t90 = cpu->r[24] + cpu->r[30];
|
|
/* 0258AAF4 */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[31]);
|
|
/* 0258AAF8 */ cpu->r[9] = 0x00000001u;
|
|
/* 0258AAFC */ _t91 = cpu->r[1] + 0x00000026u;
|
|
/* 0258AAFC */ rbrew_write16(cpu->mem, _t91, (uint16_t)cpu->r[27]);
|
|
/* 0258AB00 */ cpu->r[8] = 0x02590000u;
|
|
/* 0258AB04 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 0258AB04 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[9]);
|
|
/* 0258AB08 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0258AB0C */ _t93 = cpu->r[1] + 0x00000014u;
|
|
/* 0258AB0C */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[27]);
|
|
/* 0258AB10 */ cpu->r[11] = 0x02590000u;
|
|
/* 0258AB14 */ _t94 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0258AB14 */ rbrew_write16(cpu->mem, _t94, (uint16_t)cpu->r[6]);
|
|
/* 0258AB18 */ _t95 = cpu->r[1] + 0x00000024u;
|
|
/* 0258AB18 */ rbrew_write16(cpu->mem, _t95, (uint16_t)cpu->r[27]);
|
|
/* 0258AB1C */ cpu->r[8] = cpu->r[8] + 0xFFFFBA08u;
|
|
/* 0258AB20 */ _t96 = cpu->r[1] + 0x00000016u;
|
|
/* 0258AB20 */ rbrew_write16(cpu->mem, _t96, (uint16_t)cpu->r[6]);
|
|
/* 0258AB24 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0258AB28 */ cpu->r[11] = cpu->r[11] + 0xFFFFBAB8u;
|
|
/* 0258AB2C */ _t97 = cpu->r[1] + 0x00000020u;
|
|
/* 0258AB2C */ rbrew_write32(cpu->mem, _t97, cpu->r[8]);
|
|
/* 0258AB30 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0258AB34 */ _t98 = cpu->r[1] + 0x00000018u;
|
|
/* 0258AB34 */ rbrew_write32(cpu->mem, _t98, cpu->r[11]);
|
|
/* 0258AB38 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0258AB3C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AB40 */ _t99 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AB40 */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[27]);
|
|
/* 0258AB44 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0258AB48 */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 0258AB48 */ rbrew_write32(cpu->mem, _t100, cpu->r[27]);
|
|
/* 0258AB4C */ Gambit_fn_0258C560(cpu);
|
|
/* 0258AB50 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258AB54 */ _t101 = cpu->r[1] + 0x00000010u;
|
|
/* 0258AB54 */ rbrew_write32(cpu->mem, _t101, cpu->r[28]);
|
|
/* 0258AB58 */ cpu->r[0] = cpu->r[0] + 0x00002A64u;
|
|
/* 0258AB5C */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AB5C */ rbrew_write32(cpu->mem, _t102, cpu->r[0]);
|
|
/* 0258AB60 */ _t103 = cpu->r[29] + 0x00000260u;
|
|
/* 0258AB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0258AB64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0258AB68 */ _t104 = cpu->r[29] + 0x00000264u;
|
|
/* 0258AB68 */ cpu->r[26] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0258AB6C */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258AB6C */ _t106 = _t105 & 0x00000001u;
|
|
/* 0258AB6C */ if (_t106) goto L_0258AB70; else goto L_0258AB74;
|
|
L_0258AB70: ; // 0x258ab70
|
|
/* 0258AB70 */ cpu->r[26] = cpu->r[26] + 0x00000048u;
|
|
L_0258AB74: ; // 0x258ab74
|
|
/* 0258AB74 */ cpu->ctr = cpu->r[25];
|
|
/* 0258AB78 */ _t107 = cpu->r[26] + 0x00000000u;
|
|
/* 0258AB78 */ cpu->r[24] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0258AB7C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AB80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258AB84 */ _t108 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AB84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0258AB88 */ _t109 = cpu->r[12] + 0x00000000u;
|
|
/* 0258AB88 */ cpu->r[5] = rbrew_read8(cpu->mem, _t109);
|
|
/* 0258AB8C */ cpu->r[30] = 0x00000000u;
|
|
/* 0258AB90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0258AB94 */ cpu->r[5] = 0x00080000u;
|
|
/* 0258AB98 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AB98 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0258AB98 */ if (_t111) goto L_0258ABC0; else goto L_0258AB9C;
|
|
L_0258AB9C: ; // 0x258ab9c
|
|
/* 0258AB9C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0258ABA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0258ABA4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0258ABA8 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258ABA8 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0258ABA8 */ if (_t113) goto L_0258ABBC; else goto L_0258ABAC;
|
|
L_0258ABAC: ; // 0x258abac
|
|
/* 0258ABAC */ _t114 = cpu->r[12] + 0x00000000u;
|
|
/* 0258ABAC */ cpu->r[7] = rbrew_read8(cpu->mem, _t114);
|
|
/* 0258ABB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0258ABB4 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ABB4 */ _t116 = _t115 & 0x00000001u;
|
|
/* 0258ABB4 */ if (_t116) goto L_0258ABB8; else goto L_0258AB9C;
|
|
L_0258ABB8: ; // 0x258abb8
|
|
/* 0258ABB8 */ goto L_0258ABC0;
|
|
L_0258ABBC: ; // 0x258abbc
|
|
/* 0258ABBC */ cpu->r[30] = 0x00000000u;
|
|
L_0258ABC0: ; // 0x258abc0
|
|
/* 0258ABC0 */ _t117 = cpu->r[26] + 0x00000008u;
|
|
/* 0258ABC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0258ABC4 */ _t118 = cpu->r[1] + 0x00000010u;
|
|
/* 0258ABC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0258ABC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 0258ABCC */ _t119 = cpu->r[9] + 0x00000014u;
|
|
/* 0258ABCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0258ABD0 */ _t120 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258ABD0 */ _t121 = _t120 & 0x00000001u;
|
|
/* 0258ABD0 */ if (_t121) goto L_0258ABD8; else goto L_0258ABD4;
|
|
L_0258ABD4: ; // 0x258abd4
|
|
/* 0258ABD4 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0258ABD8: ; // 0x258abd8
|
|
/* 0258ABD8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258ABDC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258ABE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258ABE4 */ _t122 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258ABE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0258ABE8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258ABEC */ cpu->r[5] = cpu->r[30];
|
|
/* 0258ABF0 */ cpu->r[3] = cpu->r[24];
|
|
/* 0258ABF4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0258ABF8 */ _t123 = cpu->r[24] + cpu->r[30];
|
|
/* 0258ABF8 */ rbrew_write8(cpu->mem, _t123, (uint8_t)cpu->r[31]);
|
|
/* 0258ABFC */ cpu->r[12] = 0x02590000u;
|
|
/* 0258AC00 */ _t124 = cpu->r[1] + 0x00000028u;
|
|
/* 0258AC00 */ rbrew_write32(cpu->mem, _t124, cpu->r[27]);
|
|
/* 0258AC04 */ cpu->r[6] = 0x02590000u;
|
|
/* 0258AC08 */ _t125 = cpu->r[1] + 0x00000024u;
|
|
/* 0258AC08 */ rbrew_write16(cpu->mem, _t125, (uint16_t)cpu->r[27]);
|
|
/* 0258AC0C */ cpu->r[6] = cpu->r[6] + 0xFFFFBB68u;
|
|
/* 0258AC10 */ _t126 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AC10 */ rbrew_write16(cpu->mem, _t126, (uint16_t)cpu->r[27]);
|
|
/* 0258AC14 */ cpu->r[12] = cpu->r[12] + 0xFFFFBB34u;
|
|
/* 0258AC18 */ _t127 = cpu->r[1] + 0x00000018u;
|
|
/* 0258AC18 */ rbrew_write32(cpu->mem, _t127, cpu->r[6]);
|
|
/* 0258AC1C */ _t128 = cpu->r[1] + 0x00000014u;
|
|
/* 0258AC1C */ rbrew_write16(cpu->mem, _t128, (uint16_t)cpu->r[27]);
|
|
/* 0258AC20 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0258AC24 */ _t129 = cpu->r[1] + 0x00000020u;
|
|
/* 0258AC24 */ rbrew_write32(cpu->mem, _t129, cpu->r[12]);
|
|
/* 0258AC28 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0258AC2C */ _t130 = cpu->r[1] + 0x00000016u;
|
|
/* 0258AC2C */ rbrew_write16(cpu->mem, _t130, (uint16_t)cpu->r[10]);
|
|
/* 0258AC30 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0258AC34 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0258AC38 */ _t131 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0258AC38 */ rbrew_write16(cpu->mem, _t131, (uint16_t)cpu->r[10]);
|
|
/* 0258AC3C */ cpu->r[0] = 0x00000002u;
|
|
/* 0258AC40 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0258AC44 */ _t132 = cpu->r[1] + 0x00000026u;
|
|
/* 0258AC44 */ rbrew_write16(cpu->mem, _t132, (uint16_t)cpu->r[27]);
|
|
/* 0258AC48 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AC4C */ _t133 = cpu->r[1] + 0x00000008u;
|
|
/* 0258AC4C */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[0]);
|
|
/* 0258AC50 */ Gambit_fn_0258C560(cpu);
|
|
/* 0258AC54 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0258AC58 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258AC5C */ _t134 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0258AC5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0258AC60 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258AC64 */ _t135 = cpu->r[1] + 0x00000010u;
|
|
/* 0258AC64 */ rbrew_write32(cpu->mem, _t135, cpu->r[28]);
|
|
/* 0258AC68 */ cpu->r[8] = cpu->r[8] + 0x00002A98u;
|
|
/* 0258AC6C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AC70 */ _t136 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AC70 */ rbrew_write32(cpu->mem, _t136, cpu->r[8]);
|
|
/* 0258AC74 */ Gambit_fn_028095AC(cpu);
|
|
/* 0258AC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258AC7C */ cpu->r[0] = 0x00000000u;
|
|
/* 0258AC80 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AC80 */ _t138 = _t137 & 0x00000001u;
|
|
/* 0258AC80 */ if (_t138) goto L_0258AC88; else goto L_0258AC84;
|
|
L_0258AC84: ; // 0x258ac84
|
|
/* 0258AC84 */ _t139 = cpu->r[3] + 0x00000000u;
|
|
/* 0258AC84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t139);
|
|
L_0258AC88: ; // 0x258ac88
|
|
/* 0258AC88 */ _t140 = cpu->r[29] + 0x000002D0u;
|
|
/* 0258AC88 */ rbrew_write8(cpu->mem, _t140, (uint8_t)cpu->r[0]);
|
|
/* 0258AC8C */ cpu->r[31] = 0x00000000u;
|
|
/* 0258AC90 */ cpu->r[28] = 0x02590000u;
|
|
/* 0258AC94 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258AC98 */ cpu->r[30] = 0xFFFFFFFFu;
|
|
/* 0258AC9C */ cpu->r[28] = cpu->r[28] + 0xFFFFB784u;
|
|
/* 0258ACA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258ACA4 */ cpu->r[27] = cpu->r[3];
|
|
/* 0258ACA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258ACA8 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ACA8 */ _t142 = _t141 & 0x00000001u;
|
|
/* 0258ACA8 */ if (_t142) goto L_0258ACFC; else goto L_0258ACAC;
|
|
L_0258ACAC: ; // 0x258acac
|
|
/* 0258ACAC */ _t143 = cpu->r[1] + 0x00000030u;
|
|
/* 0258ACAC */ rbrew_write32(cpu->mem, _t143, cpu->r[28]);
|
|
/* 0258ACB0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0258ACB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258ACB4 */ _t144 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258ACB4 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[31]);
|
|
/* 0258ACB8 */ _t145 = cpu->r[1] + 0x0000002Eu;
|
|
/* 0258ACB8 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[30]);
|
|
/* 0258ACBC */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ACBC */ _t147 = _t146 & 0x00000001u;
|
|
/* 0258ACBC */ if (_t147) goto L_0258ACC0; else goto L_0258ACD0;
|
|
L_0258ACC0: ; // 0x258acc0
|
|
/* 0258ACC0 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258ACC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258ACC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258ACCC */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ACCC */ _t149 = _t148 & 0x00000001u;
|
|
/* 0258ACCC */ if (_t149) goto L_0258ACF0; else goto L_0258ACD0;
|
|
L_0258ACD0: ; // 0x258acd0
|
|
/* 0258ACD0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258ACD4 */ _t150 = cpu->r[3] + 0x00000004u;
|
|
/* 0258ACD4 */ rbrew_write32(cpu->mem, _t150, cpu->r[29]);
|
|
/* 0258ACD8 */ cpu->r[9] = cpu->r[9] + 0x000029E0u;
|
|
/* 0258ACDC */ _t151 = cpu->r[3] + 0x00000000u;
|
|
/* 0258ACDC */ rbrew_write32(cpu->mem, _t151, cpu->r[9]);
|
|
/* 0258ACE0 */ _t152 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258ACE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t152);
|
|
/* 0258ACE4 */ _t153 = cpu->r[3] + 0x00000008u;
|
|
/* 0258ACE4 */ rbrew_write32(cpu->mem, _t153, cpu->r[11]);
|
|
/* 0258ACE8 */ _t154 = cpu->r[1] + 0x00000030u;
|
|
/* 0258ACE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0258ACEC */ _t155 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258ACEC */ rbrew_write32(cpu->mem, _t155, cpu->r[12]);
|
|
L_0258ACF0: ; // 0x258acf0
|
|
/* 0258ACF0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258ACF4 */ cpu->r[0] = cpu->r[0] + 0x000029F8u;
|
|
/* 0258ACF8 */ _t156 = cpu->r[27] + 0x00000000u;
|
|
/* 0258ACF8 */ rbrew_write32(cpu->mem, _t156, cpu->r[0]);
|
|
L_0258ACFC: ; // 0x258acfc
|
|
/* 0258ACFC */ _t157 = cpu->r[29] + 0x000002E8u;
|
|
/* 0258ACFC */ rbrew_write32(cpu->mem, _t157, cpu->r[27]);
|
|
/* 0258AD00 */ cpu->r[31] = 0x00000000u;
|
|
/* 0258AD04 */ cpu->r[28] = 0x02590000u;
|
|
/* 0258AD08 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258AD0C */ cpu->r[30] = 0xFFFFFFFFu;
|
|
/* 0258AD10 */ cpu->r[28] = cpu->r[28] + 0xFFFFC1E8u;
|
|
/* 0258AD14 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258AD18 */ cpu->r[27] = cpu->r[3];
|
|
/* 0258AD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258AD1C */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AD1C */ _t159 = _t158 & 0x00000001u;
|
|
/* 0258AD1C */ if (_t159) goto L_0258AD70; else goto L_0258AD20;
|
|
L_0258AD20: ; // 0x258ad20
|
|
/* 0258AD20 */ _t160 = cpu->r[1] + 0x00000038u;
|
|
/* 0258AD20 */ rbrew_write32(cpu->mem, _t160, cpu->r[28]);
|
|
/* 0258AD24 */ cpu->r[3] = cpu->r[27];
|
|
/* 0258AD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258AD28 */ _t161 = cpu->r[1] + 0x00000034u;
|
|
/* 0258AD28 */ rbrew_write16(cpu->mem, _t161, (uint16_t)cpu->r[31]);
|
|
/* 0258AD2C */ _t162 = cpu->r[1] + 0x00000036u;
|
|
/* 0258AD2C */ rbrew_write16(cpu->mem, _t162, (uint16_t)cpu->r[30]);
|
|
/* 0258AD30 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AD30 */ _t164 = _t163 & 0x00000001u;
|
|
/* 0258AD30 */ if (_t164) goto L_0258AD34; else goto L_0258AD44;
|
|
L_0258AD34: ; // 0x258ad34
|
|
/* 0258AD34 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258AD38 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258AD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258AD40 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AD40 */ _t166 = _t165 & 0x00000001u;
|
|
/* 0258AD40 */ if (_t166) goto L_0258AD64; else goto L_0258AD44;
|
|
L_0258AD44: ; // 0x258ad44
|
|
/* 0258AD44 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258AD48 */ _t167 = cpu->r[3] + 0x00000004u;
|
|
/* 0258AD48 */ rbrew_write32(cpu->mem, _t167, cpu->r[29]);
|
|
/* 0258AD4C */ cpu->r[5] = cpu->r[5] + 0x00002A10u;
|
|
/* 0258AD50 */ _t168 = cpu->r[3] + 0x00000000u;
|
|
/* 0258AD50 */ rbrew_write32(cpu->mem, _t168, cpu->r[5]);
|
|
/* 0258AD54 */ _t169 = cpu->r[1] + 0x00000034u;
|
|
/* 0258AD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 0258AD58 */ _t170 = cpu->r[3] + 0x00000008u;
|
|
/* 0258AD58 */ rbrew_write32(cpu->mem, _t170, cpu->r[0]);
|
|
/* 0258AD5C */ _t171 = cpu->r[1] + 0x00000038u;
|
|
/* 0258AD5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0258AD60 */ _t172 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258AD60 */ rbrew_write32(cpu->mem, _t172, cpu->r[12]);
|
|
L_0258AD64: ; // 0x258ad64
|
|
/* 0258AD64 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258AD68 */ cpu->r[0] = cpu->r[0] + 0x00002A28u;
|
|
/* 0258AD6C */ _t173 = cpu->r[27] + 0x00000000u;
|
|
/* 0258AD6C */ rbrew_write32(cpu->mem, _t173, cpu->r[0]);
|
|
L_0258AD70: ; // 0x258ad70
|
|
/* 0258AD70 */ _t174 = cpu->r[29] + 0x000002F4u;
|
|
/* 0258AD70 */ rbrew_write32(cpu->mem, _t174, cpu->r[27]);
|
|
L_0258AD74: ; // 0x258ad74
|
|
/* 0258AD74 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258AD78 */ /* nop */
|
|
/* 0258AD7C */ _t175 = cpu->r[1] + 0x00000064u;
|
|
/* 0258AD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t175);
|
|
/* 0258AD80 */ cpu->lr = cpu->r[0];
|
|
/* 0258AD84 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0258AD88 */ return;
|
|
}
|
|
|
|
// fn_0258AD8C @ 0x258ad8c
|
|
void Gambit_fn_0258AD8C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258AD8C: ; // 0x258ad8c
|
|
/* 0258AD8C */ _t0 = cpu->r[3] + 0x00000284u;
|
|
/* 0258AD8C */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0258AD90 */ return;
|
|
}
|
|
|
|
// fn_0258AD94 @ 0x258ad94
|
|
void Gambit_fn_0258AD94(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;
|
|
|
|
L_0258AD94: ; // 0x258ad94
|
|
/* 0258AD94 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 0258AD94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258AD94 */ cpu->r[1] = _t0;
|
|
/* 0258AD98 */ cpu->r[0] = cpu->lr;
|
|
/* 0258AD9C */ /* nop */
|
|
/* 0258ADA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258ADA4 */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 0258ADA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258ADA8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258ADAC */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0258ADB0 */ _t2 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0258ADB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258ADB4 */ Gambit_fn_02982574(cpu);
|
|
/* 0258ADB8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258ADBC */ cpu->r[27] = 0x00000003u;
|
|
/* 0258ADC0 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258ADC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 0258ADC4 */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 0258ADC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258ADC8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258ADCC */ _t5 = cpu->r[8] + 0xFFFF97D0u;
|
|
/* 0258ADCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258ADD0 */ _t6 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 0258ADD0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0258ADD4 */ _t7 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258ADD4 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0258ADD8 */ _t8 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258ADD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258ADDC */ cpu->r[10] = 0x101C0000u;
|
|
/* 0258ADE0 */ _t9 = cpu->r[1] + 0x00000051u;
|
|
/* 0258ADE0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[9]);
|
|
/* 0258ADE4 */ cpu->r[29] = 0x00000001u;
|
|
/* 0258ADE8 */ _t10 = cpu->r[10] + 0x00006000u;
|
|
/* 0258ADE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258ADEC */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258ADF0 */ _t11 = cpu->r[1] + 0x00000040u;
|
|
/* 0258ADF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258ADF4 */ _t12 = cpu->r[1] + 0x00000050u;
|
|
/* 0258ADF4 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[29]);
|
|
/* 0258ADF8 */ _t13 = cpu->r[10] + 0x0000025Cu;
|
|
/* 0258ADF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258ADFC */ cpu->r[9] = cpu->r[9] + 0x00002AB4u;
|
|
/* 0258AE00 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258AE00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258AE04 */ _t15 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258AE04 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0258AE08 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258AE0C */ _t16 = cpu->r[1] + 0x00000068u;
|
|
/* 0258AE0C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0258AE10 */ cpu->r[5] = cpu->r[5] + 0x00002AB0u;
|
|
/* 0258AE14 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 0258AE14 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0258AE18 */ _t18 = cpu->r[1] + 0x00000030u;
|
|
/* 0258AE18 */ rbrew_write32(cpu->mem, _t18, cpu->r[5]);
|
|
/* 0258AE1C */ cpu->r[30] = 0x100D0000u;
|
|
/* 0258AE20 */ _t19 = cpu->r[1] + 0x00000064u;
|
|
/* 0258AE20 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0258AE24 */ cpu->r[30] = cpu->r[30] + 0x00002940u;
|
|
/* 0258AE28 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 0258AE28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258AE2C */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 0258AE2C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0258AE30 */ _t22 = cpu->r[1] + 0x00000078u;
|
|
/* 0258AE30 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 0258AE34 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 0258AE34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258AE38 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258AE38 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 0258AE3C */ _t25 = cpu->r[1] + 0x00000048u;
|
|
/* 0258AE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258AE40 */ _t26 = cpu->r[1] + 0x00000074u;
|
|
/* 0258AE40 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 0258AE44 */ _t27 = cpu->r[1] + 0x00000070u;
|
|
/* 0258AE44 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0258AE48 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 0258AE4C */ _t28 = cpu->r[1] + 0x00000060u;
|
|
/* 0258AE4C */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 0258AE50 */ Gambit_fn_02984F3C(cpu);
|
|
/* 0258AE54 */ cpu->r[9] = 0x00000006u;
|
|
/* 0258AE58 */ _t29 = cpu->r[1] + 0x00000058u;
|
|
/* 0258AE58 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 0258AE5C */ cpu->r[9] = cpu->r[27];
|
|
/* 0258AE60 */ _t30 = cpu->r[28] + 0x00000008u;
|
|
/* 0258AE60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258AE64 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258AE68 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 0258AE6C */ cpu->r[8] = cpu->r[1] + 0x00000054u;
|
|
/* 0258AE70 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 0258AE74 */ cpu->r[7] = cpu->r[1] + 0x00000060u;
|
|
/* 0258AE78 */ Gambit_fn_020022D4(cpu);
|
|
/* 0258AE7C */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258AE80 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258AE84 */ cpu->r[4] = cpu->r[4] + 0x00006CF8u;
|
|
/* 0258AE88 */ Gambit_fn_02002684(cpu);
|
|
/* 0258AE8C */ cpu->r[3] = 0x00000000u;
|
|
/* 0258AE90 */ Gambit_fn_02043B8C(cpu);
|
|
/* 0258AE94 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258AE98 */ _t31 = cpu->r[7] + 0x00002AA8u;
|
|
/* 0258AE98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258AE9C */ cpu->r[7] = 0x101F0000u;
|
|
/* 0258AEA0 */ _t32 = cpu->r[31] + 0x000001F0u;
|
|
/* 0258AEA0 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 0258AEA4 */ _t33 = cpu->r[7] + 0x000066E8u;
|
|
/* 0258AEA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258AEA8 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 0258AEA8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0258AEAC */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258AEB0 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258AEB0 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 0258AEB4 */ _t36 = cpu->r[6] + 0x00002AACu;
|
|
/* 0258AEB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0258AEB8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258AEBC */ _t37 = cpu->r[1] + 0x00000015u;
|
|
/* 0258AEBC */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[29]);
|
|
/* 0258AEC0 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 0258AEC0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
|
|
/* 0258AEC4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258AEC8 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0258AEC8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 0258AECC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0258AED0 */ _t40 = cpu->r[1] + 0x00000016u;
|
|
/* 0258AED0 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[29]);
|
|
/* 0258AED4 */ cpu->r[0] = cpu->r[0] + 0x00002AC4u;
|
|
/* 0258AED8 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 0258AED8 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
|
|
/* 0258AEDC */ _t42 = cpu->r[1] + 0x00000017u;
|
|
/* 0258AEDC */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[29]);
|
|
/* 0258AEE0 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 0258AEE0 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 0258AEE4 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AEE4 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 0258AEE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258AEEC */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0258AEF0 */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 0258AEF0 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 0258AEF4 */ Gambit_fn_025857F0(cpu);
|
|
/* 0258AEF8 */ _t46 = cpu->r[31] + 0x00000080u;
|
|
/* 0258AEF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0258AEFC */ cpu->r[4] = cpu->r[29];
|
|
/* 0258AF00 */ Gambit_fn_02399370(cpu);
|
|
/* 0258AF04 */ cpu->r[6] = 0x101C0000u;
|
|
/* 0258AF08 */ _t47 = cpu->r[6] + 0x00007BA0u;
|
|
/* 0258AF08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0258AF08 */ cpu->r[6] = _t47;
|
|
/* 0258AF0C */ _t48 = cpu->r[12] + 0x00000B34u;
|
|
/* 0258AF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258AF10 */ _t49 = cpu->r[12] + 0x00000B38u;
|
|
/* 0258AF10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258AF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 0258AF18 */ _t50 = cpu->r[31] + 0x000002E8u;
|
|
/* 0258AF18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0258AF1C */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258AF1C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0258AF1C */ if (_t52) goto L_0258AF20; else goto L_0258AF3C;
|
|
L_0258AF20: ; // 0x258af20
|
|
/* 0258AF20 */ _t53 = cpu->r[12] + 0x00000B3Cu;
|
|
/* 0258AF20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258AF24 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258AF28 */ _t54 = cpu->r[9] + cpu->r[11];
|
|
/* 0258AF28 */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 0258AF2C */ _t55 = cpu->r[12] + 0x00000B34u;
|
|
/* 0258AF2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0258AF30 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0258AF34 */ _t56 = cpu->r[12] + 0x00000B34u;
|
|
/* 0258AF34 */ rbrew_write32(cpu->mem, _t56, cpu->r[5]);
|
|
/* 0258AF38 */ _t57 = cpu->r[6] + 0x00000000u;
|
|
/* 0258AF38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
L_0258AF3C: ; // 0x258af3c
|
|
/* 0258AF3C */ _t58 = cpu->r[12] + 0x00000B44u;
|
|
/* 0258AF3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0258AF40 */ _t59 = cpu->r[12] + 0x00000B40u;
|
|
/* 0258AF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0258AF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 0258AF48 */ _t60 = cpu->r[31] + 0x000002F4u;
|
|
/* 0258AF48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258AF4C */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258AF4C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0258AF4C */ if (_t62) goto L_0258AF50; else goto L_0258AF68;
|
|
L_0258AF50: ; // 0x258af50
|
|
/* 0258AF50 */ _t63 = cpu->r[12] + 0x00000B48u;
|
|
/* 0258AF50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258AF54 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258AF58 */ _t64 = cpu->r[8] + cpu->r[10];
|
|
/* 0258AF58 */ rbrew_write32(cpu->mem, _t64, cpu->r[9]);
|
|
/* 0258AF5C */ _t65 = cpu->r[12] + 0x00000B40u;
|
|
/* 0258AF5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0258AF60 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0258AF64 */ _t66 = cpu->r[12] + 0x00000B40u;
|
|
/* 0258AF64 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
L_0258AF68: ; // 0x258af68
|
|
/* 0258AF68 */ /* nop */
|
|
/* 0258AF6C */ _t67 = cpu->r[1] + 0x00000094u;
|
|
/* 0258AF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0258AF70 */ cpu->lr = cpu->r[0];
|
|
/* 0258AF74 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0258AF78 */ return;
|
|
}
|
|
|
|
// fn_0258AF7C @ 0x258af7c
|
|
void Gambit_fn_0258AF7C(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_0258AF7C: ; // 0x258af7c
|
|
/* 0258AF7C */ cpu->r[0] = cpu->lr;
|
|
/* 0258AF80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258AF80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258AF80 */ cpu->r[1] = _t0;
|
|
/* 0258AF84 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258AF84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258AF88 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258AF8C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AF8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258AF90 */ Gambit_fn_025855EC(cpu);
|
|
/* 0258AF94 */ _t3 = cpu->r[31] + 0x00000284u;
|
|
/* 0258AF94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258AF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258AF9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AF9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258AF9C */ if (_t5) goto L_0258B014; else goto L_0258AFA0;
|
|
L_0258AFA0: ; // 0x258afa0
|
|
/* 0258AFA0 */ _t6 = cpu->r[7] + 0x00000074u;
|
|
/* 0258AFA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258AFA4 */ _t7 = cpu->r[7] + 0x0000005Cu;
|
|
/* 0258AFA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258AFA8 */ _t8 = cpu->r[7] + 0x00000068u;
|
|
/* 0258AFA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258AFAC */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 0258AFAC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 0258AFB0 */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 0258AFB0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 0258AFB4 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 0258AFB4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0258AFB8 */ _t12 = cpu->r[7] + 0x0000006Cu;
|
|
/* 0258AFB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0258AFBC */ _t13 = cpu->r[7] + 0x00000060u;
|
|
/* 0258AFBC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258AFC0 */ _t14 = cpu->r[7] + 0x00000078u;
|
|
/* 0258AFC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258AFC4 */ _t15 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258AFC4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 0258AFC8 */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 0258AFC8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 0258AFCC */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 0258AFCC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0258AFD0 */ _t18 = cpu->r[7] + 0x00000070u;
|
|
/* 0258AFD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258AFD4 */ _t19 = cpu->r[7] + 0x00000064u;
|
|
/* 0258AFD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258AFD8 */ _t20 = cpu->r[7] + 0x0000007Cu;
|
|
/* 0258AFD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258AFDC */ _t21 = cpu->r[31] + 0x00000068u;
|
|
/* 0258AFDC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0258AFE0 */ _t22 = cpu->r[31] + 0x00000284u;
|
|
/* 0258AFE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258AFE4 */ _t23 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258AFE4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 0258AFE8 */ _t24 = cpu->r[31] + 0x00000070u;
|
|
/* 0258AFE8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 0258AFEC */ _t25 = cpu->r[3] + 0x000046BCu;
|
|
/* 0258AFEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258AFF0 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 0258AFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258AFF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258AFF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258AFFC */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0258AFFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258B000 */ _t28 = cpu->r[31] + 0x00000074u;
|
|
/* 0258B000 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 0258B004 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 0258B004 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258B008 */ _t30 = cpu->r[31] + 0x00000078u;
|
|
/* 0258B008 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 0258B00C */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0258B00C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258B010 */ _t32 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258B010 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
L_0258B014: ; // 0x258b014
|
|
/* 0258B014 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258B018 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258B01C */ _t33 = cpu->r[9] + 0x00002A60u;
|
|
/* 0258B01C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258B020 */ cpu->r[11] = cpu->r[11] + 0x00002940u;
|
|
/* 0258B024 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0258B028 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258B02C */ _t34 = cpu->r[31] + 0x000002B8u;
|
|
/* 0258B02C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0258B030 */ _t35 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0258B030 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258B034 */ cpu->r[12] = cpu->r[12] + 0x00002AD8u;
|
|
/* 0258B038 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258B03C */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B03C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 0258B040 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258B044 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B044 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 0258B048 */ Gambit_fn_028095AC(cpu);
|
|
/* 0258B04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B050 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B050 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0258B050 */ if (_t39) goto L_0258B068; else goto L_0258B054;
|
|
L_0258B054: ; // 0x258b054
|
|
/* 0258B054 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0258B054 */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0258B058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258B05C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B05C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0258B05C */ if (_t42) goto L_0258B068; else goto L_0258B060;
|
|
L_0258B060: ; // 0x258b060
|
|
/* 0258B060 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B064 */ Gambit_fn_02790488(cpu);
|
|
L_0258B068: ; // 0x258b068
|
|
/* 0258B068 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0258B06C */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B06C */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0258B070 */ cpu->lr = cpu->r[0];
|
|
/* 0258B074 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B078 */ return;
|
|
}
|
|
|
|
// fn_0258AF80 @ 0x258af80
|
|
void Gambit_fn_0258AF80(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_0258AF80: ; // 0x258af80
|
|
/* 0258AF80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258AF80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258AF80 */ cpu->r[1] = _t0;
|
|
/* 0258AF84 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258AF84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258AF88 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258AF8C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258AF8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258AF90 */ Gambit_fn_025855EC(cpu);
|
|
/* 0258AF94 */ _t3 = cpu->r[31] + 0x00000284u;
|
|
/* 0258AF94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258AF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258AF9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258AF9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258AF9C */ if (_t5) goto L_0258B014; else goto L_0258AFA0;
|
|
L_0258AFA0: ; // 0x258afa0
|
|
/* 0258AFA0 */ _t6 = cpu->r[7] + 0x00000074u;
|
|
/* 0258AFA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258AFA4 */ _t7 = cpu->r[7] + 0x0000005Cu;
|
|
/* 0258AFA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258AFA8 */ _t8 = cpu->r[7] + 0x00000068u;
|
|
/* 0258AFA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258AFAC */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 0258AFAC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 0258AFB0 */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 0258AFB0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 0258AFB4 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 0258AFB4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0258AFB8 */ _t12 = cpu->r[7] + 0x0000006Cu;
|
|
/* 0258AFB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0258AFBC */ _t13 = cpu->r[7] + 0x00000060u;
|
|
/* 0258AFBC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258AFC0 */ _t14 = cpu->r[7] + 0x00000078u;
|
|
/* 0258AFC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258AFC4 */ _t15 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258AFC4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 0258AFC8 */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 0258AFC8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 0258AFCC */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 0258AFCC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0258AFD0 */ _t18 = cpu->r[7] + 0x00000070u;
|
|
/* 0258AFD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258AFD4 */ _t19 = cpu->r[7] + 0x00000064u;
|
|
/* 0258AFD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258AFD8 */ _t20 = cpu->r[7] + 0x0000007Cu;
|
|
/* 0258AFD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258AFDC */ _t21 = cpu->r[31] + 0x00000068u;
|
|
/* 0258AFDC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0258AFE0 */ _t22 = cpu->r[31] + 0x00000284u;
|
|
/* 0258AFE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258AFE4 */ _t23 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258AFE4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 0258AFE8 */ _t24 = cpu->r[31] + 0x00000070u;
|
|
/* 0258AFE8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 0258AFEC */ _t25 = cpu->r[3] + 0x000046BCu;
|
|
/* 0258AFEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258AFF0 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 0258AFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258AFF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258AFF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258AFFC */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0258AFFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258B000 */ _t28 = cpu->r[31] + 0x00000074u;
|
|
/* 0258B000 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 0258B004 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 0258B004 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258B008 */ _t30 = cpu->r[31] + 0x00000078u;
|
|
/* 0258B008 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 0258B00C */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0258B00C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258B010 */ _t32 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258B010 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
L_0258B014: ; // 0x258b014
|
|
/* 0258B014 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258B018 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258B01C */ _t33 = cpu->r[9] + 0x00002A60u;
|
|
/* 0258B01C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258B020 */ cpu->r[11] = cpu->r[11] + 0x00002940u;
|
|
/* 0258B024 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0258B028 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258B02C */ _t34 = cpu->r[31] + 0x000002B8u;
|
|
/* 0258B02C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0258B030 */ _t35 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0258B030 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258B034 */ cpu->r[12] = cpu->r[12] + 0x00002AD8u;
|
|
/* 0258B038 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258B03C */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B03C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 0258B040 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258B044 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B044 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 0258B048 */ Gambit_fn_028095AC(cpu);
|
|
/* 0258B04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B050 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B050 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0258B050 */ if (_t39) goto L_0258B068; else goto L_0258B054;
|
|
L_0258B054: ; // 0x258b054
|
|
/* 0258B054 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0258B054 */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0258B058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258B05C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B05C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0258B05C */ if (_t42) goto L_0258B068; else goto L_0258B060;
|
|
L_0258B060: ; // 0x258b060
|
|
/* 0258B060 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B064 */ Gambit_fn_02790488(cpu);
|
|
L_0258B068: ; // 0x258b068
|
|
/* 0258B068 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0258B06C */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B06C */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0258B070 */ cpu->lr = cpu->r[0];
|
|
/* 0258B074 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B078 */ return;
|
|
}
|
|
|
|
// fn_0258B07C @ 0x258b07c
|
|
void Gambit_fn_0258B07C(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_02585704: ; // 0x2585704
|
|
/* 02585704 */ cpu->r[0] = cpu->lr;
|
|
/* 02585708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585708 */ cpu->r[1] = _t0;
|
|
/* 0258570C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258570C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02585710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02585714 */ cpu->r[10] = 0x10110000u;
|
|
/* 02585718 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02585718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258571C */ _t3 = cpu->r[31] + 0x000001DCu;
|
|
/* 0258571C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02585720 */ _t4 = cpu->r[10] + 0x00007399u;
|
|
/* 02585720 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02585724 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02585724 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02585728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0258572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258572C */ if (_t7) goto L_02585744; else goto L_02585730;
|
|
L_02585730: ; // 0x2585730
|
|
/* 02585730 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02585730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02585734 */ cpu->r[4] = cpu->r[31] + 0x000001DCu;
|
|
/* 02585738 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258573C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258573C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02585740 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02585740 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02585744: ; // 0x2585744
|
|
/* 02585744 */ _t11 = cpu->r[31] + 0x000001D9u;
|
|
/* 02585744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02585748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258574C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258574C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258574C */ if (_t13) goto L_02585790; else goto L_02585750;
|
|
L_02585750: ; // 0x2585750
|
|
/* 02585750 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02585750 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585758 */ _t15 = cpu->r[31] + 0x000001CCu;
|
|
/* 02585758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258575C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0258575C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585760 */ cpu->f[1] = cpu->f[0] - cpu->f[12];
|
|
/* 02585764 */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02585764 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02585768 */ cpu->f[2] = cpu->f[0] + cpu->f[12];
|
|
/* 0258576C */ _t18 = cpu->r[3] + 0x00005444u;
|
|
/* 0258576C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02585770 */ cpu->f[4] = cpu->f[13] + cpu->f[12];
|
|
/* 02585774 */ _t19 = cpu->r[31] + 0x00000210u;
|
|
/* 02585774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585778 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258577C */ cpu->f[3] = cpu->f[13] - cpu->f[12];
|
|
/* 02585780 */ _t20 = cpu->r[4] + 0x00006CB0u;
|
|
/* 02585780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585784 */ cpu->r[5] = cpu->r[31];
|
|
/* 02585788 */ Gambit_fn_02031B20(cpu);
|
|
/* 0258578C */ _t21 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0258578C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_02585790: ; // 0x2585790
|
|
/* 02585790 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02585790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585794 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02585798 */ cpu->lr = cpu->r[0];
|
|
/* 0258579C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857A0 */ return;
|
|
L_0258B07C: ; // 0x258b07c
|
|
/* 0258B07C */ goto L_02585704;
|
|
}
|
|
|
|
// fn_0258B080 @ 0x258b080
|
|
void Gambit_fn_0258B080(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_025857A4: ; // 0x25857a4
|
|
/* 025857A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025857A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025857A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025857A8 */ cpu->r[1] = _t0;
|
|
/* 025857AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025857B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025857B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025857B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025857B8 */ _t3 = cpu->r[31] + 0x000001D9u;
|
|
/* 025857B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025857BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025857C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025857C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025857C0 */ if (_t5) goto L_025857DC; else goto L_025857C4;
|
|
L_025857C4: ; // 0x25857c4
|
|
/* 025857C4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 025857C8 */ _t6 = cpu->r[3] + 0x00001D14u;
|
|
/* 025857C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025857CC */ cpu->r[4] = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 025857D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 025857D8 */ _t7 = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_025857DC: ; // 0x25857dc
|
|
/* 025857DC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025857DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025857E0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025857E4 */ cpu->lr = cpu->r[0];
|
|
/* 025857E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857EC */ return;
|
|
L_0258B080: ; // 0x258b080
|
|
/* 0258B080 */ goto L_025857A4;
|
|
}
|
|
|
|
// fn_0258B084 @ 0x258b084
|
|
void Gambit_fn_0258B084(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;
|
|
|
|
L_0258B084: ; // 0x258b084
|
|
/* 0258B084 */ cpu->r[0] = cpu->lr;
|
|
/* 0258B088 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 0258B088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B088 */ cpu->r[1] = _t0;
|
|
/* 0258B08C */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0258B08C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258B090 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B094 */ _t2 = cpu->r[1] + 0x000000A4u;
|
|
/* 0258B094 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258B098 */ _t3 = cpu->r[31] + 0x000002D0u;
|
|
/* 0258B098 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258B09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258B0A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B0A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258B0A0 */ if (_t5) goto L_0258B0AC; else goto L_0258B0A4;
|
|
L_0258B0A4: ; // 0x258b0a4
|
|
/* 0258B0A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B0A8 */ Gambit_fn_02790488(cpu);
|
|
L_0258B0AC: ; // 0x258b0ac
|
|
/* 0258B0AC */ /* nop */
|
|
/* 0258B0B0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0258B0B4 */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 0258B0B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258B0B8 */ _t7 = cpu->r[5] + 0xFFFFB65Cu;
|
|
/* 0258B0B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258B0B8 */ cpu->r[5] = _t7;
|
|
/* 0258B0BC */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258B0BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258B0C0 */ /* nop */
|
|
/* 0258B0C4 */ /* nop */
|
|
/* 0258B0C8 */ /* nop */
|
|
/* 0258B0CC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B0CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258B0D0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B0D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258B0D4 */ cpu->f[12] = cpu->f[0] * cpu->f[11];
|
|
/* 0258B0D8 */ _t11 = cpu->r[1] + 0x00000074u;
|
|
/* 0258B0D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 0258B0DC */ _t12 = cpu->r[1] + 0x00000078u;
|
|
/* 0258B0DC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0258B0E0 */ /* nop */
|
|
/* 0258B0E4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B0E4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[12]);
|
|
/* 0258B0E8 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B0E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258B0EC */ _t15 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0258B0EC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0258B0F0 */ /* nop */
|
|
/* 0258B0F4 */ _t16 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0258B0F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0258B0F8 */ /* nop */
|
|
/* 0258B0FC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B0FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258B100 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
|
|
/* 0258B104 */ _t18 = cpu->r[5] + 0x00000004u;
|
|
/* 0258B104 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258B108 */ _t19 = cpu->r[31] + 0x00000064u;
|
|
/* 0258B108 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258B10C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B10C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258B110 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B110 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0258B114 */ cpu->f[0] = cpu->f[11] * cpu->f[13];
|
|
/* 0258B118 */ /* nop */
|
|
/* 0258B11C */ _t22 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258B11C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0258B120 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 0258B120 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 0258B124 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 0258B124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258B128 */ _t25 = cpu->r[5] + 0x00000008u;
|
|
/* 0258B128 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0258B12C */ /* nop */
|
|
/* 0258B130 */ /* nop */
|
|
/* 0258B134 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 0258B134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258B138 */ /* nop */
|
|
/* 0258B13C */ _t27 = cpu->r[1] + 0x00000084u;
|
|
/* 0258B13C */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 0258B140 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B140 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258B144 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B144 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258B148 */ _t30 = cpu->r[1] + 0x00000080u;
|
|
/* 0258B148 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 0258B14C */ /* nop */
|
|
/* 0258B150 */ _t31 = cpu->r[1] + 0x00000068u;
|
|
/* 0258B150 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0258B154 */ /* nop */
|
|
/* 0258B158 */ _t32 = cpu->r[1] + 0x00000088u;
|
|
/* 0258B158 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0258B15C */ _t33 = cpu->r[1] + 0x00000088u;
|
|
/* 0258B15C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258B160 */ /* nop */
|
|
/* 0258B164 */ _t34 = cpu->r[31] + 0x00000070u;
|
|
/* 0258B164 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258B168 */ /* nop */
|
|
/* 0258B16C */ /* nop */
|
|
/* 0258B170 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258B170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258B174 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
|
|
/* 0258B178 */ /* nop */
|
|
/* 0258B17C */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 0258B17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258B180 */ _t37 = cpu->r[1] + 0x00000070u;
|
|
/* 0258B180 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 0258B184 */ _t38 = cpu->r[1] + 0x00000070u;
|
|
/* 0258B184 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0258B188 */ _t39 = cpu->r[1] + 0x00000040u;
|
|
/* 0258B188 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 0258B18C */ _t40 = cpu->r[1] + 0x00000040u;
|
|
/* 0258B18C */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0258B190 */ _t41 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258B190 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 0258B194 */ cpu->f[0] = cpu->f[11] + cpu->f[9];
|
|
/* 0258B198 */ _t42 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258B198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258B19C */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 0258B19C */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0258B1A0 */ _t44 = cpu->r[1] + 0x00000090u;
|
|
/* 0258B1A0 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 0258B1A4 */ /* nop */
|
|
/* 0258B1A8 */ _t45 = cpu->r[1] + 0x00000060u;
|
|
/* 0258B1A8 */ rbrew_write32(cpu->mem, _t45, cpu->r[6]);
|
|
/* 0258B1AC */ _t46 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258B1AC */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 0258B1B0 */ /* nop */
|
|
/* 0258B1B4 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 0258B1B4 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 0258B1B8 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 0258B1B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258B1BC */ /* nop */
|
|
/* 0258B1C0 */ /* nop */
|
|
/* 0258B1C4 */ _t49 = cpu->r[1] + 0x00000044u;
|
|
/* 0258B1C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258B1C8 */ _t50 = cpu->r[1] + 0x00000064u;
|
|
/* 0258B1C8 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 0258B1CC */ _t51 = cpu->r[1] + 0x00000064u;
|
|
/* 0258B1CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0258B1D0 */ _t52 = cpu->r[1] + 0x00000094u;
|
|
/* 0258B1D0 */ rbrew_write32(cpu->mem, _t52, cpu->r[5]);
|
|
/* 0258B1D4 */ _t53 = cpu->r[1] + 0x00000094u;
|
|
/* 0258B1D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0258B1D8 */ _t54 = cpu->r[1] + 0x00000048u;
|
|
/* 0258B1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0258B1DC */ _t55 = cpu->r[1] + 0x00000050u;
|
|
/* 0258B1DC */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 0258B1E0 */ _t56 = cpu->r[1] + 0x00000050u;
|
|
/* 0258B1E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 0258B1E4 */ cpu->f[12] = cpu->f[0] + cpu->f[10];
|
|
/* 0258B1E8 */ _t57 = cpu->r[1] + 0x00000054u;
|
|
/* 0258B1E8 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0258B1EC */ _t58 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258B1EC */ rbrew_write_f32(cpu->mem, _t58, cpu->f[12]);
|
|
/* 0258B1F0 */ _t59 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258B1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0258B1F4 */ _t60 = cpu->r[31] + 0x000002DCu;
|
|
/* 0258B1F4 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 0258B1F8 */ _t61 = cpu->r[1] + 0x00000054u;
|
|
/* 0258B1F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0258B1FC */ _t62 = cpu->r[1] + 0x00000058u;
|
|
/* 0258B1FC */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 0258B200 */ _t63 = cpu->r[1] + 0x00000058u;
|
|
/* 0258B200 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0258B204 */ _t64 = cpu->r[31] + 0x000002E0u;
|
|
/* 0258B204 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 0258B208 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B20C */ _t65 = cpu->r[31] + 0x000002E4u;
|
|
/* 0258B20C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 0258B210 */ Gambit_fn_02585928(cpu);
|
|
/* 0258B214 */ _t66 = cpu->r[1] + 0x000000A4u;
|
|
/* 0258B214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0258B218 */ _t67 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0258B218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0258B21C */ cpu->lr = cpu->r[0];
|
|
/* 0258B220 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 0258B224 */ return;
|
|
}
|
|
|
|
// fn_0258B088 @ 0x258b088
|
|
void Gambit_fn_0258B088(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;
|
|
|
|
L_0258B088: ; // 0x258b088
|
|
/* 0258B088 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 0258B088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B088 */ cpu->r[1] = _t0;
|
|
/* 0258B08C */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0258B08C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258B090 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B094 */ _t2 = cpu->r[1] + 0x000000A4u;
|
|
/* 0258B094 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258B098 */ _t3 = cpu->r[31] + 0x000002D0u;
|
|
/* 0258B098 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258B09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258B0A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B0A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258B0A0 */ if (_t5) goto L_0258B0AC; else goto L_0258B0A4;
|
|
L_0258B0A4: ; // 0x258b0a4
|
|
/* 0258B0A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B0A8 */ Gambit_fn_02790488(cpu);
|
|
L_0258B0AC: ; // 0x258b0ac
|
|
/* 0258B0AC */ /* nop */
|
|
/* 0258B0B0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0258B0B4 */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 0258B0B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258B0B8 */ _t7 = cpu->r[5] + 0xFFFFB65Cu;
|
|
/* 0258B0B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258B0B8 */ cpu->r[5] = _t7;
|
|
/* 0258B0BC */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258B0BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258B0C0 */ /* nop */
|
|
/* 0258B0C4 */ /* nop */
|
|
/* 0258B0C8 */ /* nop */
|
|
/* 0258B0CC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B0CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258B0D0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B0D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258B0D4 */ cpu->f[12] = cpu->f[0] * cpu->f[11];
|
|
/* 0258B0D8 */ _t11 = cpu->r[1] + 0x00000074u;
|
|
/* 0258B0D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 0258B0DC */ _t12 = cpu->r[1] + 0x00000078u;
|
|
/* 0258B0DC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0258B0E0 */ /* nop */
|
|
/* 0258B0E4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B0E4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[12]);
|
|
/* 0258B0E8 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B0E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258B0EC */ _t15 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0258B0EC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0258B0F0 */ /* nop */
|
|
/* 0258B0F4 */ _t16 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0258B0F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0258B0F8 */ /* nop */
|
|
/* 0258B0FC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B0FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258B100 */ cpu->f[12] = cpu->f[13] + cpu->f[0];
|
|
/* 0258B104 */ _t18 = cpu->r[5] + 0x00000004u;
|
|
/* 0258B104 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258B108 */ _t19 = cpu->r[31] + 0x00000064u;
|
|
/* 0258B108 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258B10C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B10C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258B110 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B110 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0258B114 */ cpu->f[0] = cpu->f[11] * cpu->f[13];
|
|
/* 0258B118 */ /* nop */
|
|
/* 0258B11C */ _t22 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258B11C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0258B120 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 0258B120 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 0258B124 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 0258B124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258B128 */ _t25 = cpu->r[5] + 0x00000008u;
|
|
/* 0258B128 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0258B12C */ /* nop */
|
|
/* 0258B130 */ /* nop */
|
|
/* 0258B134 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 0258B134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258B138 */ /* nop */
|
|
/* 0258B13C */ _t27 = cpu->r[1] + 0x00000084u;
|
|
/* 0258B13C */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 0258B140 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B140 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258B144 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B144 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258B148 */ _t30 = cpu->r[1] + 0x00000080u;
|
|
/* 0258B148 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 0258B14C */ /* nop */
|
|
/* 0258B150 */ _t31 = cpu->r[1] + 0x00000068u;
|
|
/* 0258B150 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0258B154 */ /* nop */
|
|
/* 0258B158 */ _t32 = cpu->r[1] + 0x00000088u;
|
|
/* 0258B158 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0258B15C */ _t33 = cpu->r[1] + 0x00000088u;
|
|
/* 0258B15C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258B160 */ /* nop */
|
|
/* 0258B164 */ _t34 = cpu->r[31] + 0x00000070u;
|
|
/* 0258B164 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258B168 */ /* nop */
|
|
/* 0258B16C */ /* nop */
|
|
/* 0258B170 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258B170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258B174 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
|
|
/* 0258B178 */ /* nop */
|
|
/* 0258B17C */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 0258B17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258B180 */ _t37 = cpu->r[1] + 0x00000070u;
|
|
/* 0258B180 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 0258B184 */ _t38 = cpu->r[1] + 0x00000070u;
|
|
/* 0258B184 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0258B188 */ _t39 = cpu->r[1] + 0x00000040u;
|
|
/* 0258B188 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 0258B18C */ _t40 = cpu->r[1] + 0x00000040u;
|
|
/* 0258B18C */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0258B190 */ _t41 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258B190 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 0258B194 */ cpu->f[0] = cpu->f[11] + cpu->f[9];
|
|
/* 0258B198 */ _t42 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258B198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258B19C */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 0258B19C */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0258B1A0 */ _t44 = cpu->r[1] + 0x00000090u;
|
|
/* 0258B1A0 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 0258B1A4 */ /* nop */
|
|
/* 0258B1A8 */ _t45 = cpu->r[1] + 0x00000060u;
|
|
/* 0258B1A8 */ rbrew_write32(cpu->mem, _t45, cpu->r[6]);
|
|
/* 0258B1AC */ _t46 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258B1AC */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 0258B1B0 */ /* nop */
|
|
/* 0258B1B4 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 0258B1B4 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 0258B1B8 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 0258B1B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258B1BC */ /* nop */
|
|
/* 0258B1C0 */ /* nop */
|
|
/* 0258B1C4 */ _t49 = cpu->r[1] + 0x00000044u;
|
|
/* 0258B1C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258B1C8 */ _t50 = cpu->r[1] + 0x00000064u;
|
|
/* 0258B1C8 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 0258B1CC */ _t51 = cpu->r[1] + 0x00000064u;
|
|
/* 0258B1CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0258B1D0 */ _t52 = cpu->r[1] + 0x00000094u;
|
|
/* 0258B1D0 */ rbrew_write32(cpu->mem, _t52, cpu->r[5]);
|
|
/* 0258B1D4 */ _t53 = cpu->r[1] + 0x00000094u;
|
|
/* 0258B1D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0258B1D8 */ _t54 = cpu->r[1] + 0x00000048u;
|
|
/* 0258B1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0258B1DC */ _t55 = cpu->r[1] + 0x00000050u;
|
|
/* 0258B1DC */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 0258B1E0 */ _t56 = cpu->r[1] + 0x00000050u;
|
|
/* 0258B1E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 0258B1E4 */ cpu->f[12] = cpu->f[0] + cpu->f[10];
|
|
/* 0258B1E8 */ _t57 = cpu->r[1] + 0x00000054u;
|
|
/* 0258B1E8 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0258B1EC */ _t58 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258B1EC */ rbrew_write_f32(cpu->mem, _t58, cpu->f[12]);
|
|
/* 0258B1F0 */ _t59 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258B1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0258B1F4 */ _t60 = cpu->r[31] + 0x000002DCu;
|
|
/* 0258B1F4 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 0258B1F8 */ _t61 = cpu->r[1] + 0x00000054u;
|
|
/* 0258B1F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0258B1FC */ _t62 = cpu->r[1] + 0x00000058u;
|
|
/* 0258B1FC */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 0258B200 */ _t63 = cpu->r[1] + 0x00000058u;
|
|
/* 0258B200 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0258B204 */ _t64 = cpu->r[31] + 0x000002E0u;
|
|
/* 0258B204 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 0258B208 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B20C */ _t65 = cpu->r[31] + 0x000002E4u;
|
|
/* 0258B20C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 0258B210 */ Gambit_fn_02585928(cpu);
|
|
/* 0258B214 */ _t66 = cpu->r[1] + 0x000000A4u;
|
|
/* 0258B214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0258B218 */ _t67 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0258B218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0258B21C */ cpu->lr = cpu->r[0];
|
|
/* 0258B220 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 0258B224 */ return;
|
|
}
|
|
|
|
// fn_0258B228 @ 0x258b228
|
|
void Gambit_fn_0258B228(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;
|
|
|
|
L_0258B228: ; // 0x258b228
|
|
/* 0258B228 */ cpu->r[0] = cpu->lr;
|
|
/* 0258B22C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258B22C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B22C */ cpu->r[1] = _t0;
|
|
/* 0258B230 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B230 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258B234 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258B238 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B238 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258B23C */ _t3 = cpu->r[11] + 0x00007BA0u;
|
|
/* 0258B23C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258B240 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B244 */ _t4 = cpu->r[11] + 0x0000031Cu;
|
|
/* 0258B244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258B248 */ Gambit_fn_0244C510(cpu);
|
|
/* 0258B24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B250 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B250 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258B250 */ if (_t6) goto L_0258B280; else goto L_0258B254;
|
|
L_0258B254: ; // 0x258b254
|
|
/* 0258B254 */ _t7 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258B254 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258B258 */ cpu->r[0] = 0x0000000Au;
|
|
/* 0258B25C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0258B260 */ _t8 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B260 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0258B264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B268 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B268 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258B268 */ if (_t10) goto L_0258B26C; else goto L_0258B270;
|
|
L_0258B26C: ; // 0x258b26c
|
|
/* 0258B26C */ cpu->r[12] = 0x00000000u;
|
|
L_0258B270: ; // 0x258b270
|
|
/* 0258B270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B274 */ _t11 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258B274 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0258B278 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B278 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258B278 */ if (_t13) goto L_0258B340; else goto L_0258B27C;
|
|
L_0258B27C: ; // 0x258b27c
|
|
/* 0258B27C */ goto L_0258B2B0;
|
|
L_0258B280: ; // 0x258b280
|
|
/* 0258B280 */ _t14 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B280 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258B284 */ cpu->r[12] = 0x0000000Au;
|
|
/* 0258B288 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0258B28C */ _t15 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258B28C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 0258B290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258B294 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B294 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258B294 */ if (_t17) goto L_0258B298; else goto L_0258B29C;
|
|
L_0258B298: ; // 0x258b298
|
|
/* 0258B298 */ cpu->r[0] = 0x00000000u;
|
|
L_0258B29C: ; // 0x258b29c
|
|
/* 0258B29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258B2A0 */ _t18 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B2A0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0258B2A4 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B2A4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258B2A4 */ if (_t20) goto L_0258B2A8; else goto L_0258B2D4;
|
|
L_0258B2A8: ; // 0x258b2a8
|
|
/* 0258B2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B2AC */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B2AC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258B2AC */ if (_t22) goto L_0258B340; else goto L_0258B2B0;
|
|
L_0258B2B0: ; // 0x258b2b0
|
|
/* 0258B2B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B2B4 */ Gambit_fn_02002700(cpu);
|
|
/* 0258B2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 0258B2BC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B2BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 0258B2BC */ if (_t24) goto L_0258B2D0; else goto L_0258B2C0;
|
|
L_0258B2C0: ; // 0x258b2c0
|
|
/* 0258B2C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0258B2C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 0258B2C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B2CC */ Gambit_fn_02002728(cpu);
|
|
L_0258B2D0: ; // 0x258b2d0
|
|
/* 0258B2D0 */ _t25 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258B2D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
L_0258B2D4: ; // 0x258b2d4
|
|
/* 0258B2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B2D8 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B2D8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0258B2D8 */ if (_t27) goto L_0258B2DC; else goto L_0258B340;
|
|
L_0258B2DC: ; // 0x258b2dc
|
|
/* 0258B2DC */ _t28 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B2DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258B2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B2E4 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B2E4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0258B2E4 */ if (_t30) goto L_0258B340; else goto L_0258B2E8;
|
|
L_0258B2E8: ; // 0x258b2e8
|
|
/* 0258B2E8 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258B2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B2F0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B2F0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0258B2F0 */ if (_t32) goto L_0258B2F4; else goto L_0258B304;
|
|
L_0258B2F4: ; // 0x258b2f4
|
|
/* 0258B2F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B2F8 */ Gambit_fn_02002700(cpu);
|
|
/* 0258B2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B300 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B300 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0258B300 */ if (_t34) goto L_0258B304; else goto L_0258B330;
|
|
L_0258B304: ; // 0x258b304
|
|
/* 0258B304 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258B308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B30C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B30C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0258B30C */ if (_t36) goto L_0258B340; else goto L_0258B310;
|
|
L_0258B310: ; // 0x258b310
|
|
/* 0258B310 */ _t37 = cpu->r[31] + 0x00000258u;
|
|
/* 0258B310 */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 0258B314 */ /* nop */
|
|
/* 0258B318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0258B31C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B31C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0258B31C */ if (_t39) goto L_0258B320; else goto L_0258B340;
|
|
L_0258B320: ; // 0x258b320
|
|
/* 0258B320 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B324 */ Gambit_fn_02002700(cpu);
|
|
/* 0258B328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B32C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B32C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0258B32C */ if (_t41) goto L_0258B340; else goto L_0258B330;
|
|
L_0258B330: ; // 0x258b330
|
|
/* 0258B330 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258B334 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B338 */ cpu->r[5] = cpu->r[4];
|
|
/* 0258B33C */ Gambit_fn_02002728(cpu);
|
|
L_0258B340: ; // 0x258b340
|
|
/* 0258B340 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258B344 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0258B348 */ cpu->lr = cpu->r[0];
|
|
/* 0258B34C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258B350 */ return;
|
|
}
|
|
|
|
// fn_0258B22C @ 0x258b22c
|
|
void Gambit_fn_0258B22C(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;
|
|
|
|
L_0258B22C: ; // 0x258b22c
|
|
/* 0258B22C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258B22C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B22C */ cpu->r[1] = _t0;
|
|
/* 0258B230 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B230 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258B234 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258B238 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B238 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258B23C */ _t3 = cpu->r[11] + 0x00007BA0u;
|
|
/* 0258B23C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258B240 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B244 */ _t4 = cpu->r[11] + 0x0000031Cu;
|
|
/* 0258B244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258B248 */ Gambit_fn_0244C510(cpu);
|
|
/* 0258B24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B250 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B250 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258B250 */ if (_t6) goto L_0258B280; else goto L_0258B254;
|
|
L_0258B254: ; // 0x258b254
|
|
/* 0258B254 */ _t7 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258B254 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258B258 */ cpu->r[0] = 0x0000000Au;
|
|
/* 0258B25C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0258B260 */ _t8 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B260 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0258B264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B268 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B268 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258B268 */ if (_t10) goto L_0258B26C; else goto L_0258B270;
|
|
L_0258B26C: ; // 0x258b26c
|
|
/* 0258B26C */ cpu->r[12] = 0x00000000u;
|
|
L_0258B270: ; // 0x258b270
|
|
/* 0258B270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B274 */ _t11 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258B274 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0258B278 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B278 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258B278 */ if (_t13) goto L_0258B340; else goto L_0258B27C;
|
|
L_0258B27C: ; // 0x258b27c
|
|
/* 0258B27C */ goto L_0258B2B0;
|
|
L_0258B280: ; // 0x258b280
|
|
/* 0258B280 */ _t14 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B280 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258B284 */ cpu->r[12] = 0x0000000Au;
|
|
/* 0258B288 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0258B28C */ _t15 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258B28C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 0258B290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258B294 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B294 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258B294 */ if (_t17) goto L_0258B298; else goto L_0258B29C;
|
|
L_0258B298: ; // 0x258b298
|
|
/* 0258B298 */ cpu->r[0] = 0x00000000u;
|
|
L_0258B29C: ; // 0x258b29c
|
|
/* 0258B29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258B2A0 */ _t18 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B2A0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0258B2A4 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B2A4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258B2A4 */ if (_t20) goto L_0258B2A8; else goto L_0258B2D4;
|
|
L_0258B2A8: ; // 0x258b2a8
|
|
/* 0258B2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B2AC */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B2AC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258B2AC */ if (_t22) goto L_0258B340; else goto L_0258B2B0;
|
|
L_0258B2B0: ; // 0x258b2b0
|
|
/* 0258B2B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B2B4 */ Gambit_fn_02002700(cpu);
|
|
/* 0258B2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 0258B2BC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B2BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 0258B2BC */ if (_t24) goto L_0258B2D0; else goto L_0258B2C0;
|
|
L_0258B2C0: ; // 0x258b2c0
|
|
/* 0258B2C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0258B2C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 0258B2C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B2CC */ Gambit_fn_02002728(cpu);
|
|
L_0258B2D0: ; // 0x258b2d0
|
|
/* 0258B2D0 */ _t25 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258B2D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
L_0258B2D4: ; // 0x258b2d4
|
|
/* 0258B2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B2D8 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B2D8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0258B2D8 */ if (_t27) goto L_0258B2DC; else goto L_0258B340;
|
|
L_0258B2DC: ; // 0x258b2dc
|
|
/* 0258B2DC */ _t28 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B2DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258B2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B2E4 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B2E4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0258B2E4 */ if (_t30) goto L_0258B340; else goto L_0258B2E8;
|
|
L_0258B2E8: ; // 0x258b2e8
|
|
/* 0258B2E8 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258B2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B2F0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B2F0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0258B2F0 */ if (_t32) goto L_0258B2F4; else goto L_0258B304;
|
|
L_0258B2F4: ; // 0x258b2f4
|
|
/* 0258B2F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B2F8 */ Gambit_fn_02002700(cpu);
|
|
/* 0258B2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B300 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B300 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0258B300 */ if (_t34) goto L_0258B304; else goto L_0258B330;
|
|
L_0258B304: ; // 0x258b304
|
|
/* 0258B304 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258B308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B30C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B30C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0258B30C */ if (_t36) goto L_0258B340; else goto L_0258B310;
|
|
L_0258B310: ; // 0x258b310
|
|
/* 0258B310 */ _t37 = cpu->r[31] + 0x00000258u;
|
|
/* 0258B310 */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 0258B314 */ /* nop */
|
|
/* 0258B318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0258B31C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B31C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0258B31C */ if (_t39) goto L_0258B320; else goto L_0258B340;
|
|
L_0258B320: ; // 0x258b320
|
|
/* 0258B320 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B324 */ Gambit_fn_02002700(cpu);
|
|
/* 0258B328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B32C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B32C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0258B32C */ if (_t41) goto L_0258B340; else goto L_0258B330;
|
|
L_0258B330: ; // 0x258b330
|
|
/* 0258B330 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258B334 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B338 */ cpu->r[5] = cpu->r[4];
|
|
/* 0258B33C */ Gambit_fn_02002728(cpu);
|
|
L_0258B340: ; // 0x258b340
|
|
/* 0258B340 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258B344 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0258B348 */ cpu->lr = cpu->r[0];
|
|
/* 0258B34C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258B350 */ return;
|
|
}
|
|
|
|
// fn_0258B354 @ 0x258b354
|
|
void Gambit_fn_0258B354(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_0258B354: ; // 0x258b354
|
|
/* 0258B354 */ cpu->r[0] = cpu->lr;
|
|
/* 0258B358 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258B358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B358 */ cpu->r[1] = _t0;
|
|
/* 0258B35C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B35C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0258B360 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B360 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0258B364 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B364 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0258B368 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0258B36C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B36C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0258B370 */ _t5 = cpu->r[30] + 0x00006000u;
|
|
/* 0258B370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258B370 */ cpu->r[30] = _t5;
|
|
/* 0258B374 */ _t6 = cpu->r[12] + 0x00000268u;
|
|
/* 0258B374 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258B378 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B37C */ cpu->r[3] = cpu->r[29];
|
|
/* 0258B380 */ Gambit_fn_0261F774(cpu);
|
|
/* 0258B384 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258B388 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258B38C */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258B390 */ cpu->r[3] = cpu->r[3] + 0x00000244u;
|
|
/* 0258B394 */ cpu->r[4] = cpu->r[31] + 0x000002DCu;
|
|
/* 0258B398 */ Gambit_fn_02C69328(cpu);
|
|
/* 0258B39C */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258B3A0 */ _t7 = cpu->r[10] + 0x00002AE8u;
|
|
/* 0258B3A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258B3A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0258B3A8 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B3A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258B3A8 */ if (_t9) goto L_0258B444; else goto L_0258B3AC;
|
|
L_0258B3AC: ; // 0x258b3ac
|
|
/* 0258B3AC */ _t10 = cpu->r[31] + 0x00000258u;
|
|
/* 0258B3AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0258B3B0 */ /* nop */
|
|
/* 0258B3B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B3B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258B3B4 */ if (_t12) goto L_0258B3B8; else goto L_0258B444;
|
|
L_0258B3B8: ; // 0x258b3b8
|
|
/* 0258B3B8 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0258B3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258B3BC */ _t14 = cpu->r[12] + 0x00000268u;
|
|
/* 0258B3BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258B3C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258B3C4 */ Gambit_fn_0261F774(cpu);
|
|
/* 0258B3C8 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258B3CC */ cpu->r[3] = cpu->r[29];
|
|
/* 0258B3D0 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258B3D4 */ _t15 = cpu->r[3] + 0x000006D8u;
|
|
/* 0258B3D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0258B3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258B3DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B3DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258B3DC */ if (_t17) goto L_0258B3E0; else goto L_0258B444;
|
|
L_0258B3E0: ; // 0x258b3e0
|
|
/* 0258B3E0 */ _t18 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B3E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258B3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 0258B3E8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B3E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258B3E8 */ if (_t20) goto L_0258B45C; else goto L_0258B3EC;
|
|
L_0258B3EC: ; // 0x258b3ec
|
|
/* 0258B3EC */ cpu->r[30] = 0x101C0000u;
|
|
/* 0258B3F0 */ _t21 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 0258B3F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258B3F0 */ cpu->r[30] = _t21;
|
|
/* 0258B3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258B3F8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B3F8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258B3F8 */ if (_t23) goto L_0258B45C; else goto L_0258B3FC;
|
|
L_0258B3FC: ; // 0x258b3fc
|
|
/* 0258B3FC */ cpu->r[12] = 0x00000001u;
|
|
/* 0258B400 */ _t24 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B400 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 0258B404 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0258B404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258B408 */ cpu->r[4] = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B40C */ _t26 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B40C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258B410 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 0258B414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B418 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B418 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0258B418 */ if (_t28) goto L_0258B41C; else goto L_0258B45C;
|
|
L_0258B41C: ; // 0x258b41c
|
|
/* 0258B41C */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 0258B41C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258B420 */ cpu->r[4] = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B424 */ Gambit_fn_023A464C(cpu);
|
|
/* 0258B428 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B428 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258B42C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258B430 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B430 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0258B434 */ cpu->lr = cpu->r[0];
|
|
/* 0258B438 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B438 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258B43C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B440 */ return;
|
|
L_0258B444: ; // 0x258b444
|
|
/* 0258B444 */ _t34 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258B448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0258B44C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B44C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0258B44C */ if (_t36) goto L_0258B45C; else goto L_0258B450;
|
|
L_0258B450: ; // 0x258b450
|
|
/* 0258B450 */ cpu->r[11] = 0x00000002u;
|
|
/* 0258B454 */ _t37 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B454 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 0258B458 */ _t38 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
L_0258B45C: ; // 0x258b45c
|
|
/* 0258B45C */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B45C */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258B460 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0258B464 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258B468 */ cpu->lr = cpu->r[0];
|
|
/* 0258B46C */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B46C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258B470 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B474 */ return;
|
|
}
|
|
|
|
// fn_0258B358 @ 0x258b358
|
|
void Gambit_fn_0258B358(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_0258B358: ; // 0x258b358
|
|
/* 0258B358 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258B358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B358 */ cpu->r[1] = _t0;
|
|
/* 0258B35C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B35C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0258B360 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B360 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0258B364 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B364 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0258B368 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0258B36C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B36C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0258B370 */ _t5 = cpu->r[30] + 0x00006000u;
|
|
/* 0258B370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258B370 */ cpu->r[30] = _t5;
|
|
/* 0258B374 */ _t6 = cpu->r[12] + 0x00000268u;
|
|
/* 0258B374 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258B378 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B37C */ cpu->r[3] = cpu->r[29];
|
|
/* 0258B380 */ Gambit_fn_0261F774(cpu);
|
|
/* 0258B384 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258B388 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258B38C */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258B390 */ cpu->r[3] = cpu->r[3] + 0x00000244u;
|
|
/* 0258B394 */ cpu->r[4] = cpu->r[31] + 0x000002DCu;
|
|
/* 0258B398 */ Gambit_fn_02C69328(cpu);
|
|
/* 0258B39C */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258B3A0 */ _t7 = cpu->r[10] + 0x00002AE8u;
|
|
/* 0258B3A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258B3A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0258B3A8 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B3A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258B3A8 */ if (_t9) goto L_0258B444; else goto L_0258B3AC;
|
|
L_0258B3AC: ; // 0x258b3ac
|
|
/* 0258B3AC */ _t10 = cpu->r[31] + 0x00000258u;
|
|
/* 0258B3AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0258B3B0 */ /* nop */
|
|
/* 0258B3B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B3B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258B3B4 */ if (_t12) goto L_0258B3B8; else goto L_0258B444;
|
|
L_0258B3B8: ; // 0x258b3b8
|
|
/* 0258B3B8 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0258B3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258B3BC */ _t14 = cpu->r[12] + 0x00000268u;
|
|
/* 0258B3BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258B3C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258B3C4 */ Gambit_fn_0261F774(cpu);
|
|
/* 0258B3C8 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258B3CC */ cpu->r[3] = cpu->r[29];
|
|
/* 0258B3D0 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258B3D4 */ _t15 = cpu->r[3] + 0x000006D8u;
|
|
/* 0258B3D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0258B3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258B3DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B3DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258B3DC */ if (_t17) goto L_0258B3E0; else goto L_0258B444;
|
|
L_0258B3E0: ; // 0x258b3e0
|
|
/* 0258B3E0 */ _t18 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B3E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258B3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 0258B3E8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B3E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258B3E8 */ if (_t20) goto L_0258B45C; else goto L_0258B3EC;
|
|
L_0258B3EC: ; // 0x258b3ec
|
|
/* 0258B3EC */ cpu->r[30] = 0x101C0000u;
|
|
/* 0258B3F0 */ _t21 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 0258B3F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258B3F0 */ cpu->r[30] = _t21;
|
|
/* 0258B3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258B3F8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B3F8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258B3F8 */ if (_t23) goto L_0258B45C; else goto L_0258B3FC;
|
|
L_0258B3FC: ; // 0x258b3fc
|
|
/* 0258B3FC */ cpu->r[12] = 0x00000001u;
|
|
/* 0258B400 */ _t24 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B400 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 0258B404 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0258B404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258B408 */ cpu->r[4] = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B40C */ _t26 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B40C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258B410 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 0258B414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B418 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B418 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0258B418 */ if (_t28) goto L_0258B41C; else goto L_0258B45C;
|
|
L_0258B41C: ; // 0x258b41c
|
|
/* 0258B41C */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 0258B41C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258B420 */ cpu->r[4] = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B424 */ Gambit_fn_023A464C(cpu);
|
|
/* 0258B428 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B428 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258B42C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258B430 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B430 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0258B434 */ cpu->lr = cpu->r[0];
|
|
/* 0258B438 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B438 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258B43C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B440 */ return;
|
|
L_0258B444: ; // 0x258b444
|
|
/* 0258B444 */ _t34 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258B448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0258B44C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B44C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0258B44C */ if (_t36) goto L_0258B45C; else goto L_0258B450;
|
|
L_0258B450: ; // 0x258b450
|
|
/* 0258B450 */ cpu->r[11] = 0x00000002u;
|
|
/* 0258B454 */ _t37 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B454 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 0258B458 */ _t38 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258B458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
L_0258B45C: ; // 0x258b45c
|
|
/* 0258B45C */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B45C */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258B460 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0258B464 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258B468 */ cpu->lr = cpu->r[0];
|
|
/* 0258B46C */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B46C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258B470 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B474 */ return;
|
|
}
|
|
|
|
// fn_0258B478 @ 0x258b478
|
|
void Gambit_fn_0258B478(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0258B478: ; // 0x258b478
|
|
/* 0258B478 */ cpu->r[0] = cpu->lr;
|
|
/* 0258B47C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258B47C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B47C */ cpu->r[1] = _t0;
|
|
/* 0258B480 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B480 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258B484 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B484 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258B488 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B488 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258B48C */ _t4 = cpu->r[3] + 0x00000258u;
|
|
/* 0258B48C */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258B490 */ /* nop */
|
|
/* 0258B494 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0258B498 */ cpu->r[10] = cpu->r[9] ^ 0x00000001u;
|
|
/* 0258B49C */ _t5 = cpu->r[30] + 0x00007BA0u;
|
|
/* 0258B49C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258B4A0 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 0258B4A4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0258B4A8 */ Gambit_fn_0263C3CC(cpu);
|
|
/* 0258B4AC */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258B4B0 */ _t6 = cpu->r[30] + 0x00007BA0u;
|
|
/* 0258B4B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258B4B4 */ _t7 = cpu->r[12] + 0x00007F18u;
|
|
/* 0258B4B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258B4B8 */ _t8 = cpu->r[11] + 0x00000030u;
|
|
/* 0258B4B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258B4BC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0258B4C0 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0258B4C4 */ _t9 = cpu->r[12] + 0x00000104u;
|
|
/* 0258B4C4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0258B4C8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258B4CC */ _t10 = cpu->r[3] + 0x00000E14u;
|
|
/* 0258B4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258B4D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258B4D4 */ _t11 = cpu->r[9] + cpu->r[10];
|
|
/* 0258B4D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258B4D8 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 0258B4D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258B4DC */ cpu->r[31] = cpu->r[31] | cpu->r[0];
|
|
/* 0258B4E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258B4E4 */ _t13 = cpu->r[9] + 0x00000000u;
|
|
/* 0258B4E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258B4E8 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 0258B4EC */ Gambit_fn_02014404(cpu);
|
|
/* 0258B4F0 */ _t14 = cpu->r[30] + 0x00000288u;
|
|
/* 0258B4F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258B4F4 */ cpu->r[0] = cpu->r[3] ^ cpu->r[12];
|
|
/* 0258B4F8 */ cpu->r[9] = rbrew_clz32(cpu->r[0]);
|
|
/* 0258B4FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0258B500 */ cpu->r[31] = cpu->r[31] | cpu->r[0];
|
|
/* 0258B504 */ cpu->r[0] = cpu->r[31] ^ 0x00000001u;
|
|
/* 0258B508 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258B50C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258B510 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258B514 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258B518 */ cpu->lr = cpu->r[0];
|
|
/* 0258B51C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258B520 */ return;
|
|
}
|
|
|
|
// fn_0258B47C @ 0x258b47c
|
|
void Gambit_fn_0258B47C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0258B47C: ; // 0x258b47c
|
|
/* 0258B47C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258B47C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B47C */ cpu->r[1] = _t0;
|
|
/* 0258B480 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B480 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258B484 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B484 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258B488 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B488 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258B48C */ _t4 = cpu->r[3] + 0x00000258u;
|
|
/* 0258B48C */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258B490 */ /* nop */
|
|
/* 0258B494 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0258B498 */ cpu->r[10] = cpu->r[9] ^ 0x00000001u;
|
|
/* 0258B49C */ _t5 = cpu->r[30] + 0x00007BA0u;
|
|
/* 0258B49C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258B4A0 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 0258B4A4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0258B4A8 */ Gambit_fn_0263C3CC(cpu);
|
|
/* 0258B4AC */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258B4B0 */ _t6 = cpu->r[30] + 0x00007BA0u;
|
|
/* 0258B4B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258B4B4 */ _t7 = cpu->r[12] + 0x00007F18u;
|
|
/* 0258B4B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258B4B8 */ _t8 = cpu->r[11] + 0x00000030u;
|
|
/* 0258B4B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258B4BC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0258B4C0 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0258B4C4 */ _t9 = cpu->r[12] + 0x00000104u;
|
|
/* 0258B4C4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0258B4C8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258B4CC */ _t10 = cpu->r[3] + 0x00000E14u;
|
|
/* 0258B4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258B4D0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258B4D4 */ _t11 = cpu->r[9] + cpu->r[10];
|
|
/* 0258B4D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258B4D8 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 0258B4D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258B4DC */ cpu->r[31] = cpu->r[31] | cpu->r[0];
|
|
/* 0258B4E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258B4E4 */ _t13 = cpu->r[9] + 0x00000000u;
|
|
/* 0258B4E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258B4E8 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 0258B4EC */ Gambit_fn_02014404(cpu);
|
|
/* 0258B4F0 */ _t14 = cpu->r[30] + 0x00000288u;
|
|
/* 0258B4F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258B4F4 */ cpu->r[0] = cpu->r[3] ^ cpu->r[12];
|
|
/* 0258B4F8 */ cpu->r[9] = rbrew_clz32(cpu->r[0]);
|
|
/* 0258B4FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0258B500 */ cpu->r[31] = cpu->r[31] | cpu->r[0];
|
|
/* 0258B504 */ cpu->r[0] = cpu->r[31] ^ 0x00000001u;
|
|
/* 0258B508 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258B50C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258B510 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258B514 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258B518 */ cpu->lr = cpu->r[0];
|
|
/* 0258B51C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258B520 */ return;
|
|
}
|
|
|
|
// fn_0258B524 @ 0x258b524
|
|
void Gambit_fn_0258B524(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;
|
|
|
|
L_0258B524: ; // 0x258b524
|
|
/* 0258B524 */ cpu->r[0] = cpu->lr;
|
|
/* 0258B528 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0258B528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B528 */ cpu->r[1] = _t0;
|
|
/* 0258B52C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B52C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258B530 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B530 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0258B534 */ /* nop */
|
|
/* 0258B538 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B538 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0258B53C */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B53C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0258B540 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258B544 */ cpu->r[31] = 0x00000000u;
|
|
/* 0258B548 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258B548 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258B54C */ Gambit_fn_0258B478(cpu);
|
|
/* 0258B550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B554 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B554 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258B554 */ if (_t7) goto L_0258B558; else goto L_0258B56C;
|
|
L_0258B558: ; // 0x258b558
|
|
/* 0258B558 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258B55C */ Gambit_fn_025856D4(cpu);
|
|
/* 0258B560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B564 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B564 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258B564 */ if (_t9) goto L_0258B568; else goto L_0258B56C;
|
|
L_0258B568: ; // 0x258b568
|
|
/* 0258B568 */ cpu->r[31] = 0x00000001u;
|
|
L_0258B56C: ; // 0x258b56c
|
|
/* 0258B56C */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258B56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258B570 */ _t10 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B570 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0258B574 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B574 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258B574 */ if (_t12) goto L_0258B598; else goto L_0258B578;
|
|
L_0258B578: ; // 0x258b578
|
|
/* 0258B578 */ Gambit_fn_02586918(cpu);
|
|
/* 0258B57C */ _t13 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B57C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258B580 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258B584 */ cpu->f[9] = cpu->f[11] + cpu->f[1];
|
|
/* 0258B588 */ _t14 = cpu->r[12] + 0x00002AECu;
|
|
/* 0258B588 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258B58C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0258B590 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B590 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258B590 */ if (_t16) goto L_0258B5B4; else goto L_0258B594;
|
|
L_0258B594: ; // 0x258b594
|
|
/* 0258B594 */ goto L_0258B5C8;
|
|
L_0258B598: ; // 0x258b598
|
|
/* 0258B598 */ Gambit_fn_02586918(cpu);
|
|
/* 0258B59C */ _t17 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B59C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258B5A0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258B5A4 */ cpu->f[9] = cpu->f[11] - cpu->f[1];
|
|
/* 0258B5A8 */ _t18 = cpu->r[12] + 0x00002AECu;
|
|
/* 0258B5A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258B5AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0258B5B0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B5B0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258B5B0 */ if (_t20) goto L_0258B5B4; else goto L_0258B5C8;
|
|
L_0258B5B4: ; // 0x258b5b4
|
|
/* 0258B5B4 */ cpu->f[1] = cpu->f[0];
|
|
/* 0258B5B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 0258B5BC */ _t21 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B5BC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[1]);
|
|
/* 0258B5C0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B5C0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258B5C0 */ if (_t23) goto L_0258B5C4; else goto L_0258B5EC;
|
|
L_0258B5C4: ; // 0x258b5c4
|
|
/* 0258B5C4 */ goto L_0258B62C;
|
|
L_0258B5C8: ; // 0x258b5c8
|
|
/* 0258B5C8 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258B5CC */ _t24 = cpu->r[10] + 0x00002A60u;
|
|
/* 0258B5CC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0258B5D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 0258B5D4 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B5D4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0258B5D4 */ if (_t26) goto L_0258B5D8; else goto L_0258B5DC;
|
|
L_0258B5D8: ; // 0x258b5d8
|
|
/* 0258B5D8 */ cpu->f[9] = cpu->f[13];
|
|
L_0258B5DC: ; // 0x258b5dc
|
|
/* 0258B5DC */ cpu->f[1] = cpu->f[9];
|
|
/* 0258B5E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 0258B5E4 */ _t27 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B5E4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[1]);
|
|
/* 0258B5E8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B5E8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0258B5E8 */ if (_t29) goto L_0258B62C; else goto L_0258B5EC;
|
|
L_0258B5EC: ; // 0x258b5ec
|
|
/* 0258B5EC */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 0258B5F0 */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 0258B5F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258B5F4 */ cpu->r[0] = cpu->r[0] | 0xFFFF0000u;
|
|
/* 0258B5F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258B5FC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0258B600 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B600 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0258B604 */ Gambit_fn_02981258(cpu);
|
|
/* 0258B608 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258B60C */ _t32 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B60C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0258B610 */ _t33 = cpu->r[9] + 0x00002AF0u;
|
|
/* 0258B610 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258B614 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 0258B618 */ /* nop */
|
|
/* 0258B61C */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 0258B61C */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258B620 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0258B624 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258B628 */ Gambit_fn_0298137C(cpu);
|
|
L_0258B62C: ; // 0x258b62c
|
|
/* 0258B62C */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B62C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258B630 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258B634 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B634 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 0258B638 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258B63C */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B63C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0258B63C */ if (_t40) goto L_0258B640; // else: addr-0 trap, fall-through
|
|
L_0258B640: ; // 0x258b640
|
|
/* 0258B640 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258B640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258B644 */ cpu->lr = cpu->r[0];
|
|
/* 0258B648 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0258B64C */ return;
|
|
}
|
|
|
|
// fn_0258B528 @ 0x258b528
|
|
void Gambit_fn_0258B528(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;
|
|
|
|
L_0258B528: ; // 0x258b528
|
|
/* 0258B528 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0258B528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B528 */ cpu->r[1] = _t0;
|
|
/* 0258B52C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B52C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258B530 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B530 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0258B534 */ /* nop */
|
|
/* 0258B538 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B538 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0258B53C */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B53C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0258B540 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258B544 */ cpu->r[31] = 0x00000000u;
|
|
/* 0258B548 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258B548 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258B54C */ Gambit_fn_0258B478(cpu);
|
|
/* 0258B550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B554 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B554 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258B554 */ if (_t7) goto L_0258B558; else goto L_0258B56C;
|
|
L_0258B558: ; // 0x258b558
|
|
/* 0258B558 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258B55C */ Gambit_fn_025856D4(cpu);
|
|
/* 0258B560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B564 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B564 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258B564 */ if (_t9) goto L_0258B568; else goto L_0258B56C;
|
|
L_0258B568: ; // 0x258b568
|
|
/* 0258B568 */ cpu->r[31] = 0x00000001u;
|
|
L_0258B56C: ; // 0x258b56c
|
|
/* 0258B56C */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258B56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258B570 */ _t10 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B570 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0258B574 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B574 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258B574 */ if (_t12) goto L_0258B598; else goto L_0258B578;
|
|
L_0258B578: ; // 0x258b578
|
|
/* 0258B578 */ Gambit_fn_02586918(cpu);
|
|
/* 0258B57C */ _t13 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B57C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258B580 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258B584 */ cpu->f[9] = cpu->f[11] + cpu->f[1];
|
|
/* 0258B588 */ _t14 = cpu->r[12] + 0x00002AECu;
|
|
/* 0258B588 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258B58C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0258B590 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B590 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258B590 */ if (_t16) goto L_0258B5B4; else goto L_0258B594;
|
|
L_0258B594: ; // 0x258b594
|
|
/* 0258B594 */ goto L_0258B5C8;
|
|
L_0258B598: ; // 0x258b598
|
|
/* 0258B598 */ Gambit_fn_02586918(cpu);
|
|
/* 0258B59C */ _t17 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B59C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258B5A0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258B5A4 */ cpu->f[9] = cpu->f[11] - cpu->f[1];
|
|
/* 0258B5A8 */ _t18 = cpu->r[12] + 0x00002AECu;
|
|
/* 0258B5A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258B5AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0258B5B0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B5B0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258B5B0 */ if (_t20) goto L_0258B5B4; else goto L_0258B5C8;
|
|
L_0258B5B4: ; // 0x258b5b4
|
|
/* 0258B5B4 */ cpu->f[1] = cpu->f[0];
|
|
/* 0258B5B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 0258B5BC */ _t21 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B5BC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[1]);
|
|
/* 0258B5C0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B5C0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258B5C0 */ if (_t23) goto L_0258B5C4; else goto L_0258B5EC;
|
|
L_0258B5C4: ; // 0x258b5c4
|
|
/* 0258B5C4 */ goto L_0258B62C;
|
|
L_0258B5C8: ; // 0x258b5c8
|
|
/* 0258B5C8 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258B5CC */ _t24 = cpu->r[10] + 0x00002A60u;
|
|
/* 0258B5CC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0258B5D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 0258B5D4 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B5D4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0258B5D4 */ if (_t26) goto L_0258B5D8; else goto L_0258B5DC;
|
|
L_0258B5D8: ; // 0x258b5d8
|
|
/* 0258B5D8 */ cpu->f[9] = cpu->f[13];
|
|
L_0258B5DC: ; // 0x258b5dc
|
|
/* 0258B5DC */ cpu->f[1] = cpu->f[9];
|
|
/* 0258B5E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 0258B5E4 */ _t27 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B5E4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[1]);
|
|
/* 0258B5E8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B5E8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0258B5E8 */ if (_t29) goto L_0258B62C; else goto L_0258B5EC;
|
|
L_0258B5EC: ; // 0x258b5ec
|
|
/* 0258B5EC */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 0258B5F0 */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 0258B5F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258B5F4 */ cpu->r[0] = cpu->r[0] | 0xFFFF0000u;
|
|
/* 0258B5F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258B5FC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0258B600 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B600 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0258B604 */ Gambit_fn_02981258(cpu);
|
|
/* 0258B608 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258B60C */ _t32 = cpu->r[30] + 0x000002B8u;
|
|
/* 0258B60C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0258B610 */ _t33 = cpu->r[9] + 0x00002AF0u;
|
|
/* 0258B610 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258B614 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 0258B618 */ /* nop */
|
|
/* 0258B61C */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 0258B61C */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258B620 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0258B624 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258B628 */ Gambit_fn_0298137C(cpu);
|
|
L_0258B62C: ; // 0x258b62c
|
|
/* 0258B62C */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B62C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258B630 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258B634 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B634 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 0258B638 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258B63C */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B63C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0258B63C */ if (_t40) goto L_0258B640; // else: addr-0 trap, fall-through
|
|
L_0258B640: ; // 0x258b640
|
|
/* 0258B640 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258B640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258B644 */ cpu->lr = cpu->r[0];
|
|
/* 0258B648 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0258B64C */ return;
|
|
}
|
|
|
|
// fn_0258B650 @ 0x258b650
|
|
void Gambit_fn_0258B650(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_0258B650: ; // 0x258b650
|
|
/* 0258B650 */ cpu->r[0] = cpu->lr;
|
|
/* 0258B654 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0258B654 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B654 */ cpu->r[1] = _t0;
|
|
/* 0258B658 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258B658 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258B65C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B660 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 0258B660 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258B664 */ Gambit_fn_0258594C(cpu);
|
|
/* 0258B668 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B66C */ Gambit_fn_02586088(cpu);
|
|
/* 0258B670 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B674 */ Gambit_fn_02585C18(cpu);
|
|
/* 0258B678 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258B67C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B680 */ Gambit_fn_0200300C(cpu);
|
|
/* 0258B684 */ _t3 = cpu->r[31] + 0x00000074u;
|
|
/* 0258B684 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0258B688 */ _t4 = cpu->r[31] + 0x00000050u;
|
|
/* 0258B688 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0258B68C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B68C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 0258B690 */ _t6 = cpu->r[31] + 0x00000068u;
|
|
/* 0258B690 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258B694 */ _t7 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258B694 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258B698 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B698 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 0258B69C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B69C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 0258B6A0 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 0258B6A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0258B6A4 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 0258B6A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0258B6A8 */ _t12 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258B6A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0258B6AC */ _t13 = cpu->r[31] + 0x00000060u;
|
|
/* 0258B6AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258B6B0 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B6B0 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 0258B6B4 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 0258B6B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258B6B8 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B6B8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 0258B6BC */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258B6BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258B6C0 */ _t18 = cpu->r[1] + 0x00000028u;
|
|
/* 0258B6C0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 0258B6C4 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 0258B6C4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 0258B6C8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B6C8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
/* 0258B6CC */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B6CC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 0258B6D0 */ _t22 = cpu->r[31] + 0x00000070u;
|
|
/* 0258B6D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258B6D4 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 0258B6D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258B6D8 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 0258B6D8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 0258B6DC */ _t25 = cpu->r[31] + 0x00000064u;
|
|
/* 0258B6DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0258B6E0 */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 0258B6E0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 0258B6E4 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258B6E4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 0258B6E8 */ _t28 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0258B6E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0258B6EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258B6F0 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0258B6F4 */ cpu->r[4] = cpu->r[12] + 0x00000034u;
|
|
/* 0258B6F8 */ _t29 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0258B6F8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
/* 0258B6FC */ Gambit_fn_02C69510(cpu);
|
|
/* 0258B700 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B704 */ Gambit_fn_0258B354(cpu);
|
|
/* 0258B708 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B70C */ Gambit_fn_0258B524(cpu);
|
|
/* 0258B710 */ _t30 = cpu->r[31] + 0x00000068u;
|
|
/* 0258B710 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0258B714 */ _t31 = cpu->r[31] + 0x00000064u;
|
|
/* 0258B714 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258B718 */ _t32 = cpu->r[31] + 0x00000290u;
|
|
/* 0258B718 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 0258B71C */ _t33 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258B71C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258B720 */ _t34 = cpu->r[31] + 0x00000060u;
|
|
/* 0258B720 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258B724 */ _t35 = cpu->r[31] + 0x0000028Cu;
|
|
/* 0258B724 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[11]);
|
|
/* 0258B728 */ _t36 = cpu->r[31] + 0x000002ACu;
|
|
/* 0258B728 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 0258B72C */ _t37 = cpu->r[31] + 0x00000054u;
|
|
/* 0258B72C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0258B730 */ _t38 = cpu->r[31] + 0x00000078u;
|
|
/* 0258B730 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0258B734 */ _t39 = cpu->r[31] + 0x00000050u;
|
|
/* 0258B734 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0258B738 */ _t40 = cpu->r[31] + 0x000002A4u;
|
|
/* 0258B738 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
|
|
/* 0258B73C */ _t41 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258B73C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0258B740 */ _t42 = cpu->r[31] + 0x0000029Cu;
|
|
/* 0258B740 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[12]);
|
|
/* 0258B744 */ _t43 = cpu->r[31] + 0x00000058u;
|
|
/* 0258B744 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0258B748 */ _t44 = cpu->r[31] + 0x00000288u;
|
|
/* 0258B748 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 0258B74C */ _t45 = cpu->r[31] + 0x000002A8u;
|
|
/* 0258B74C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 0258B750 */ _t46 = cpu->r[31] + 0x00000074u;
|
|
/* 0258B750 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0258B754 */ _t47 = cpu->r[31] + 0x00000298u;
|
|
/* 0258B754 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 0258B758 */ _t48 = cpu->r[31] + 0x00000070u;
|
|
/* 0258B758 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0258B75C */ _t49 = cpu->r[31] + 0x000002B4u;
|
|
/* 0258B75C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[11]);
|
|
/* 0258B760 */ _t50 = cpu->r[31] + 0x000002B0u;
|
|
/* 0258B760 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 0258B764 */ _t51 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258B764 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0258B768 */ _t52 = cpu->r[31] + 0x00000294u;
|
|
/* 0258B768 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[13]);
|
|
/* 0258B76C */ _t53 = cpu->r[31] + 0x000002A0u;
|
|
/* 0258B76C */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 0258B770 */ _t54 = cpu->r[1] + 0x00000044u;
|
|
/* 0258B770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0258B774 */ cpu->lr = cpu->r[0];
|
|
/* 0258B778 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258B778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0258B77C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0258B780 */ return;
|
|
}
|
|
|
|
// fn_0258B654 @ 0x258b654
|
|
void Gambit_fn_0258B654(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_0258B654: ; // 0x258b654
|
|
/* 0258B654 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0258B654 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B654 */ cpu->r[1] = _t0;
|
|
/* 0258B658 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258B658 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258B65C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B660 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 0258B660 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258B664 */ Gambit_fn_0258594C(cpu);
|
|
/* 0258B668 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B66C */ Gambit_fn_02586088(cpu);
|
|
/* 0258B670 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B674 */ Gambit_fn_02585C18(cpu);
|
|
/* 0258B678 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258B67C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B680 */ Gambit_fn_0200300C(cpu);
|
|
/* 0258B684 */ _t3 = cpu->r[31] + 0x00000074u;
|
|
/* 0258B684 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0258B688 */ _t4 = cpu->r[31] + 0x00000050u;
|
|
/* 0258B688 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0258B68C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B68C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 0258B690 */ _t6 = cpu->r[31] + 0x00000068u;
|
|
/* 0258B690 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258B694 */ _t7 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258B694 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258B698 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B698 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 0258B69C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B69C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 0258B6A0 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 0258B6A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0258B6A4 */ _t11 = cpu->r[31] + 0x00000078u;
|
|
/* 0258B6A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0258B6A8 */ _t12 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258B6A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0258B6AC */ _t13 = cpu->r[31] + 0x00000060u;
|
|
/* 0258B6AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258B6B0 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B6B0 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 0258B6B4 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 0258B6B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258B6B8 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B6B8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 0258B6BC */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258B6BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258B6C0 */ _t18 = cpu->r[1] + 0x00000028u;
|
|
/* 0258B6C0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 0258B6C4 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 0258B6C4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 0258B6C8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B6C8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
/* 0258B6CC */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B6CC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 0258B6D0 */ _t22 = cpu->r[31] + 0x00000070u;
|
|
/* 0258B6D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258B6D4 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 0258B6D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258B6D8 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 0258B6D8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 0258B6DC */ _t25 = cpu->r[31] + 0x00000064u;
|
|
/* 0258B6DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0258B6E0 */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 0258B6E0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 0258B6E4 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258B6E4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 0258B6E8 */ _t28 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0258B6E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0258B6EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258B6F0 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0258B6F4 */ cpu->r[4] = cpu->r[12] + 0x00000034u;
|
|
/* 0258B6F8 */ _t29 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0258B6F8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
/* 0258B6FC */ Gambit_fn_02C69510(cpu);
|
|
/* 0258B700 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B704 */ Gambit_fn_0258B354(cpu);
|
|
/* 0258B708 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B70C */ Gambit_fn_0258B524(cpu);
|
|
/* 0258B710 */ _t30 = cpu->r[31] + 0x00000068u;
|
|
/* 0258B710 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0258B714 */ _t31 = cpu->r[31] + 0x00000064u;
|
|
/* 0258B714 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258B718 */ _t32 = cpu->r[31] + 0x00000290u;
|
|
/* 0258B718 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 0258B71C */ _t33 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258B71C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258B720 */ _t34 = cpu->r[31] + 0x00000060u;
|
|
/* 0258B720 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258B724 */ _t35 = cpu->r[31] + 0x0000028Cu;
|
|
/* 0258B724 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[11]);
|
|
/* 0258B728 */ _t36 = cpu->r[31] + 0x000002ACu;
|
|
/* 0258B728 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 0258B72C */ _t37 = cpu->r[31] + 0x00000054u;
|
|
/* 0258B72C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0258B730 */ _t38 = cpu->r[31] + 0x00000078u;
|
|
/* 0258B730 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0258B734 */ _t39 = cpu->r[31] + 0x00000050u;
|
|
/* 0258B734 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0258B738 */ _t40 = cpu->r[31] + 0x000002A4u;
|
|
/* 0258B738 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
|
|
/* 0258B73C */ _t41 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258B73C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0258B740 */ _t42 = cpu->r[31] + 0x0000029Cu;
|
|
/* 0258B740 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[12]);
|
|
/* 0258B744 */ _t43 = cpu->r[31] + 0x00000058u;
|
|
/* 0258B744 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0258B748 */ _t44 = cpu->r[31] + 0x00000288u;
|
|
/* 0258B748 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 0258B74C */ _t45 = cpu->r[31] + 0x000002A8u;
|
|
/* 0258B74C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 0258B750 */ _t46 = cpu->r[31] + 0x00000074u;
|
|
/* 0258B750 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0258B754 */ _t47 = cpu->r[31] + 0x00000298u;
|
|
/* 0258B754 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 0258B758 */ _t48 = cpu->r[31] + 0x00000070u;
|
|
/* 0258B758 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0258B75C */ _t49 = cpu->r[31] + 0x000002B4u;
|
|
/* 0258B75C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[11]);
|
|
/* 0258B760 */ _t50 = cpu->r[31] + 0x000002B0u;
|
|
/* 0258B760 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 0258B764 */ _t51 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258B764 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0258B768 */ _t52 = cpu->r[31] + 0x00000294u;
|
|
/* 0258B768 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[13]);
|
|
/* 0258B76C */ _t53 = cpu->r[31] + 0x000002A0u;
|
|
/* 0258B76C */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 0258B770 */ _t54 = cpu->r[1] + 0x00000044u;
|
|
/* 0258B770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0258B774 */ cpu->lr = cpu->r[0];
|
|
/* 0258B778 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258B778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0258B77C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0258B780 */ return;
|
|
}
|
|
|
|
// fn_0258B784 @ 0x258b784
|
|
void Gambit_fn_0258B784(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_0258B784: ; // 0x258b784
|
|
/* 0258B784 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0258B784 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B784 */ cpu->r[1] = _t0;
|
|
/* 0258B788 */ cpu->r[0] = cpu->lr;
|
|
/* 0258B78C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B78C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258B790 */ /* nop */
|
|
/* 0258B794 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B794 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258B798 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0258B798 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0258B79C */ cpu->f[31] = cpu->f[2];
|
|
/* 0258B7A0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B7A0 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 0258B7A4 */ /* nop */
|
|
/* 0258B7A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B7AC */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B7AC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 0258B7B0 */ cpu->f[30] = cpu->f[1];
|
|
/* 0258B7B4 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 0258B7B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258B7B8 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258B7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B7C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B7C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0258B7C0 */ if (_t8) goto L_0258B808; else goto L_0258B7C4;
|
|
L_0258B7C4: ; // 0x258b7c4
|
|
/* 0258B7C4 */ _t9 = cpu->r[31] + 0x00000258u;
|
|
/* 0258B7C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0258B7C8 */ /* nop */
|
|
/* 0258B7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0258B7D0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B7D0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258B7D0 */ if (_t11) goto L_0258B808; else goto L_0258B7D4;
|
|
L_0258B7D4: ; // 0x258b7d4
|
|
/* 0258B7D4 */ _t12 = cpu->r[31] + 0x000002D8u;
|
|
/* 0258B7D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258B7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258B7DC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258B7DC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0258B7DC */ if (_t14) goto L_0258B808; else goto L_0258B7E0;
|
|
L_0258B7E0: ; // 0x258b7e0
|
|
/* 0258B7E0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258B7E4 */ _t15 = cpu->r[12] + 0x00002AF4u;
|
|
/* 0258B7E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258B7E8 */ cpu->f[1] = cpu->f[30] * cpu->f[0];
|
|
/* 0258B7EC */ cpu->r[5] = 0x00000001u;
|
|
/* 0258B7F0 */ cpu->r[4] = 0x00000002u;
|
|
/* 0258B7F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B7F8 */ Gambit_fn_02002ABC(cpu);
|
|
/* 0258B7FC */ cpu->f[1] = cpu->f[31];
|
|
/* 0258B800 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B804 */ Gambit_fn_02002D48(cpu);
|
|
L_0258B808: ; // 0x258b808
|
|
/* 0258B808 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258B80C */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 0258B80C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258B810 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 0258B810 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258B814 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 0258B814 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 0258B818 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B818 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 0258B81C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B81C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258B81C */ if (_t22) goto L_0258B820; // else: addr-0 trap, fall-through
|
|
L_0258B820: ; // 0x258b820
|
|
/* 0258B820 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 0258B820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258B824 */ cpu->lr = cpu->r[0];
|
|
/* 0258B828 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0258B82C */ return;
|
|
}
|
|
|
|
// fn_0258B830 @ 0x258b830
|
|
void Gambit_fn_0258B830(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_0258B830: ; // 0x258b830
|
|
/* 0258B830 */ cpu->r[0] = cpu->lr;
|
|
/* 0258B834 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258B834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B834 */ cpu->r[1] = _t0;
|
|
/* 0258B838 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B838 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258B83C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B83C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258B840 */ cpu->r[12] = cpu->r[3];
|
|
/* 0258B844 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B844 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258B848 */ _t4 = cpu->r[12] + 0x00000258u;
|
|
/* 0258B848 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258B84C */ /* nop */
|
|
/* 0258B850 */ cpu->r[30] = cpu->r[4];
|
|
/* 0258B854 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B854 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258B854 */ if (_t6) goto L_0258B858; else goto L_0258B91C;
|
|
L_0258B858: ; // 0x258b858
|
|
/* 0258B858 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258B85C */ _t7 = cpu->r[3] + 0x00005C0Cu;
|
|
/* 0258B85C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258B860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B864 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B864 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258B864 */ if (_t9) goto L_0258B91C; else goto L_0258B868;
|
|
L_0258B868: ; // 0x258b868
|
|
/* 0258B868 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258B86C */ cpu->r[5] = cpu->r[12] + 0x000002BCu;
|
|
/* 0258B870 */ Gambit_fn_023A411C(cpu);
|
|
/* 0258B874 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B874 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 0258B87C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B87C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258B87C */ if (_t12) goto L_0258B880; else goto L_0258B91C;
|
|
L_0258B880: ; // 0x258b880
|
|
/* 0258B880 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258B884 */ _t13 = cpu->r[3] + 0x00007BA0u;
|
|
/* 0258B884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258B888 */ Gambit_fn_0263C3CC(cpu);
|
|
/* 0258B88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B890 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B890 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0258B890 */ if (_t15) goto L_0258B894; else goto L_0258B91C;
|
|
L_0258B894: ; // 0x258b894
|
|
/* 0258B894 */ Gambit_fn_027FAE14(cpu);
|
|
/* 0258B898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B89C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B89C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258B89C */ if (_t17) goto L_0258B8A0; else goto L_0258B91C;
|
|
L_0258B8A0: ; // 0x258b8a0
|
|
/* 0258B8A0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258B8A4 */ _t18 = cpu->r[12] + 0x00006000u;
|
|
/* 0258B8A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258B8A8 */ _t19 = cpu->r[12] + 0x00000268u;
|
|
/* 0258B8A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258B8AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B8B0 */ Gambit_fn_0261F774(cpu);
|
|
/* 0258B8B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258B8B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B8BC */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258B8C0 */ _t20 = cpu->r[3] + 0x000006D8u;
|
|
/* 0258B8C0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0258B8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258B8C8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B8C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258B8C8 */ if (_t22) goto L_0258B8CC; else goto L_0258B91C;
|
|
L_0258B8CC: ; // 0x258b8cc
|
|
/* 0258B8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258B8D0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B8D0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0258B8D0 */ if (_t24) goto L_0258B8D4; else goto L_0258B8F0;
|
|
L_0258B8D4: ; // 0x258b8d4
|
|
/* 0258B8D4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258B8D8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B8D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258B8DC */ cpu->lr = cpu->r[0];
|
|
/* 0258B8E0 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B8E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0258B8E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B8E8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258B8EC */ return;
|
|
L_0258B8F0: ; // 0x258b8f0
|
|
/* 0258B8F0 */ cpu->r[11] = 0x00000001u;
|
|
/* 0258B8F4 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B8F4 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 0258B8F8 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 0258B8FC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B8FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258B900 */ _t30 = cpu->r[3] + 0x0000008Cu;
|
|
/* 0258B900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258B904 */ cpu->r[12] = cpu->r[31] & cpu->r[0];
|
|
/* 0258B904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B908 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B908 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0258B908 */ if (_t32) goto L_0258B90C; else goto L_0258B8D4;
|
|
L_0258B90C: ; // 0x258b90c
|
|
/* 0258B90C */ Gambit_fn_027DFA00(cpu);
|
|
/* 0258B910 */ _t33 = cpu->r[3] + 0x0000008Cu;
|
|
/* 0258B910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258B914 */ cpu->r[10] = cpu->r[31] & cpu->r[0];
|
|
/* 0258B914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258B918 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B918 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0258B918 */ if (_t35) goto L_0258B91C; else goto L_0258B8D4;
|
|
L_0258B91C: ; // 0x258b91c
|
|
/* 0258B91C */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258B920 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258B924 */ cpu->lr = cpu->r[0];
|
|
/* 0258B928 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258B92C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B930 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258B934 */ return;
|
|
}
|
|
|
|
// fn_0258B834 @ 0x258b834
|
|
void Gambit_fn_0258B834(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_0258B834: ; // 0x258b834
|
|
/* 0258B834 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258B834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B834 */ cpu->r[1] = _t0;
|
|
/* 0258B838 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B838 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258B83C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B83C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258B840 */ cpu->r[12] = cpu->r[3];
|
|
/* 0258B844 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B844 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258B848 */ _t4 = cpu->r[12] + 0x00000258u;
|
|
/* 0258B848 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258B84C */ /* nop */
|
|
/* 0258B850 */ cpu->r[30] = cpu->r[4];
|
|
/* 0258B854 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B854 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258B854 */ if (_t6) goto L_0258B858; else goto L_0258B91C;
|
|
L_0258B858: ; // 0x258b858
|
|
/* 0258B858 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258B85C */ _t7 = cpu->r[3] + 0x00005C0Cu;
|
|
/* 0258B85C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258B860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B864 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B864 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258B864 */ if (_t9) goto L_0258B91C; else goto L_0258B868;
|
|
L_0258B868: ; // 0x258b868
|
|
/* 0258B868 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258B86C */ cpu->r[5] = cpu->r[12] + 0x000002BCu;
|
|
/* 0258B870 */ Gambit_fn_023A411C(cpu);
|
|
/* 0258B874 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258B874 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 0258B87C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B87C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258B87C */ if (_t12) goto L_0258B880; else goto L_0258B91C;
|
|
L_0258B880: ; // 0x258b880
|
|
/* 0258B880 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258B884 */ _t13 = cpu->r[3] + 0x00007BA0u;
|
|
/* 0258B884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258B888 */ Gambit_fn_0263C3CC(cpu);
|
|
/* 0258B88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B890 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B890 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0258B890 */ if (_t15) goto L_0258B894; else goto L_0258B91C;
|
|
L_0258B894: ; // 0x258b894
|
|
/* 0258B894 */ Gambit_fn_027FAE14(cpu);
|
|
/* 0258B898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B89C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B89C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258B89C */ if (_t17) goto L_0258B8A0; else goto L_0258B91C;
|
|
L_0258B8A0: ; // 0x258b8a0
|
|
/* 0258B8A0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258B8A4 */ _t18 = cpu->r[12] + 0x00006000u;
|
|
/* 0258B8A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258B8A8 */ _t19 = cpu->r[12] + 0x00000268u;
|
|
/* 0258B8A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258B8AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B8B0 */ Gambit_fn_0261F774(cpu);
|
|
/* 0258B8B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258B8B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258B8BC */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258B8C0 */ _t20 = cpu->r[3] + 0x000006D8u;
|
|
/* 0258B8C0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0258B8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258B8C8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B8C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258B8C8 */ if (_t22) goto L_0258B8CC; else goto L_0258B91C;
|
|
L_0258B8CC: ; // 0x258b8cc
|
|
/* 0258B8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258B8D0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B8D0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0258B8D0 */ if (_t24) goto L_0258B8D4; else goto L_0258B8F0;
|
|
L_0258B8D4: ; // 0x258b8d4
|
|
/* 0258B8D4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258B8D8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B8D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258B8DC */ cpu->lr = cpu->r[0];
|
|
/* 0258B8E0 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B8E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0258B8E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B8E8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258B8EC */ return;
|
|
L_0258B8F0: ; // 0x258b8f0
|
|
/* 0258B8F0 */ cpu->r[11] = 0x00000001u;
|
|
/* 0258B8F4 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B8F4 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 0258B8F8 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 0258B8FC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B8FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258B900 */ _t30 = cpu->r[3] + 0x0000008Cu;
|
|
/* 0258B900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258B904 */ cpu->r[12] = cpu->r[31] & cpu->r[0];
|
|
/* 0258B904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258B908 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B908 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0258B908 */ if (_t32) goto L_0258B90C; else goto L_0258B8D4;
|
|
L_0258B90C: ; // 0x258b90c
|
|
/* 0258B90C */ Gambit_fn_027DFA00(cpu);
|
|
/* 0258B910 */ _t33 = cpu->r[3] + 0x0000008Cu;
|
|
/* 0258B910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258B914 */ cpu->r[10] = cpu->r[31] & cpu->r[0];
|
|
/* 0258B914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258B918 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B918 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0258B918 */ if (_t35) goto L_0258B91C; else goto L_0258B8D4;
|
|
L_0258B91C: ; // 0x258b91c
|
|
/* 0258B91C */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258B91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258B920 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0258B920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258B924 */ cpu->lr = cpu->r[0];
|
|
/* 0258B928 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258B92C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258B930 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258B934 */ return;
|
|
}
|
|
|
|
// fn_0258B938 @ 0x258b938
|
|
void Gambit_fn_0258B938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0258B938: ; // 0x258b938
|
|
/* 0258B938 */ _t0 = cpu->r[3] + 0x00000258u;
|
|
/* 0258B938 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258B93C */ /* nop */
|
|
/* 0258B940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0258B944 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B944 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258B944 */ if (_t2) goto L_0258B948; else goto L_0258B968;
|
|
L_0258B948: ; // 0x258b948
|
|
/* 0258B948 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258B94C */ _t3 = cpu->r[12] + 0x00007BA0u;
|
|
/* 0258B94C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258B950 */ _t4 = cpu->r[12] + 0x0000031Cu;
|
|
/* 0258B950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258B954 */ _t5 = cpu->r[12] + 0x000008D4u;
|
|
/* 0258B954 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0258B958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258B95C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B95C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258B95C */ if (_t7) goto L_0258B968; else goto L_0258B960;
|
|
L_0258B960: ; // 0x258b960
|
|
/* 0258B960 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258B964 */ return;
|
|
L_0258B968: ; // 0x258b968
|
|
/* 0258B968 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258B96C */ return;
|
|
}
|
|
|
|
// fn_0258B984 @ 0x258b984
|
|
void Gambit_fn_0258B984(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0258B984: ; // 0x258b984
|
|
/* 0258B984 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258B984 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258B984 */ cpu->r[1] = _t0;
|
|
/* 0258B988 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B988 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258B98C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B98C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258B990 */ _t3 = cpu->r[3] + 0x000002ECu;
|
|
/* 0258B990 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258B994 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 0258B998 */ cpu->r[4] = cpu->r[0];
|
|
/* 0258B99C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258B9A0 */ Gambit_fn_0258B830(cpu);
|
|
/* 0258B9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258B9A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258B9A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258B9A8 */ if (_t5) goto L_0258B9AC; else goto L_0258B9CC;
|
|
L_0258B9AC: ; // 0x258b9ac
|
|
/* 0258B9AC */ cpu->r[10] = 0x00000000u;
|
|
/* 0258B9B0 */ _t6 = cpu->r[31] + 0x000002F0u;
|
|
/* 0258B9B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0258B9B4 */ _t7 = cpu->r[31] + 0x000002ECu;
|
|
/* 0258B9B4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[10]);
|
|
/* 0258B9B8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B9B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258B9BC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B9BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258B9C0 */ cpu->lr = cpu->r[0];
|
|
/* 0258B9C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258B9C8 */ return;
|
|
L_0258B9CC: ; // 0x258b9cc
|
|
/* 0258B9CC */ _t10 = cpu->r[31] + 0x000002F0u;
|
|
/* 0258B9CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258B9D0 */ cpu->r[12] = 0x00000001u;
|
|
/* 0258B9D4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0258B9D8 */ _t11 = cpu->r[31] + 0x000002ECu;
|
|
/* 0258B9D8 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 0258B9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000005u);
|
|
/* 0258B9E0 */ _t12 = cpu->r[31] + 0x000002F0u;
|
|
/* 0258B9E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0258B9E4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258B9E4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0258B9E4 */ if (_t14) goto L_0258B9F4; else goto L_0258B9E8;
|
|
L_0258B9E8: ; // 0x258b9e8
|
|
/* 0258B9E8 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258B9EC */ cpu->r[4] = 0x00000001u;
|
|
/* 0258B9F0 */ Gambit_fn_0258C750(cpu);
|
|
L_0258B9F4: ; // 0x258b9f4
|
|
/* 0258B9F4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0258B9F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258B9F8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258B9F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258B9FC */ cpu->lr = cpu->r[0];
|
|
/* 0258BA00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258BA04 */ return;
|
|
}
|
|
|
|
// fn_0258BA0C @ 0x258ba0c
|
|
void Gambit_fn_0258BA0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0258BA0C: ; // 0x258ba0c
|
|
/* 0258BA0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258BA0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BA0C */ cpu->r[1] = _t0;
|
|
/* 0258BA10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258BA14 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BA14 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258BA18 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258BA1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BA1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258BA20 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 0258BA20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258BA24 */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 0258BA24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258BA28 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258BA2C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BA30 */ Gambit_fn_0261F774(cpu);
|
|
/* 0258BA34 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258BA38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BA3C */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258BA40 */ Gambit_fn_025C6ABC(cpu);
|
|
/* 0258BA44 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258BA48 */ _t6 = cpu->r[3] + 0x00000E14u;
|
|
/* 0258BA48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258BA4C */ cpu->r[4] = 0x00000000u;
|
|
/* 0258BA50 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 0258BA54 */ cpu->r[4] = 0x00000002u;
|
|
/* 0258BA58 */ cpu->r[5] = 0x0000001Eu;
|
|
/* 0258BA5C */ Gambit_fn_02014758(cpu);
|
|
/* 0258BA60 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258BA64 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258BA68 */ _t7 = cpu->r[12] + 0x00007BA0u;
|
|
/* 0258BA68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258BA6C */ _t8 = cpu->r[11] + 0x00007F18u;
|
|
/* 0258BA6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258BA70 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
|
|
/* 0258BA74 */ _t9 = cpu->r[11] + 0x00000104u;
|
|
/* 0258BA74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0258BA78 */ _t10 = cpu->r[12] + 0x00000030u;
|
|
/* 0258BA78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258BA7C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258BA80 */ _t11 = cpu->r[12] + cpu->r[11];
|
|
/* 0258BA80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258BA84 */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 0258BA84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258BA88 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 0258BA88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258BA8C */ _t14 = cpu->r[11] + 0x000002A4u;
|
|
/* 0258BA8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258BA90 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258BA94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BA98 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 0258BA9C */ _t15 = cpu->r[31] + 0x00000134u;
|
|
/* 0258BA9C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0258BAA0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BAA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258BAA4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BAA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258BAA8 */ cpu->lr = cpu->r[0];
|
|
/* 0258BAAC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BAAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258BAB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258BAB4 */ return;
|
|
}
|
|
|
|
// fn_0258BABC @ 0x258babc
|
|
void Gambit_fn_0258BABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0258BABC: ; // 0x258babc
|
|
/* 0258BABC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258BABC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BABC */ cpu->r[1] = _t0;
|
|
/* 0258BAC0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BAC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258BAC4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BAC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0258BAC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258BACC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BACC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258BAD0 */ _t4 = cpu->r[31] + 0x00000254u;
|
|
/* 0258BAD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258BAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u);
|
|
/* 0258BAD8 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258BAD8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258BAD8 */ if (_t6) goto L_0258BB00; else goto L_0258BADC;
|
|
L_0258BADC: ; // 0x258badc
|
|
/* 0258BADC */ cpu->r[30] = 0x101C0000u;
|
|
/* 0258BAE0 */ _t7 = cpu->r[30] + 0x00007BA0u;
|
|
/* 0258BAE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258BAE0 */ cpu->r[30] = _t7;
|
|
/* 0258BAE4 */ _t8 = cpu->r[12] + 0x0000031Cu;
|
|
/* 0258BAE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258BAE8 */ Gambit_fn_0244C4E8(cpu);
|
|
/* 0258BAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258BAF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BAF0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258BAF0 */ if (_t10) goto L_0258BB00; else goto L_0258BAF4;
|
|
L_0258BAF4: ; // 0x258baf4
|
|
/* 0258BAF4 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 0258BAF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258BAF8 */ _t12 = cpu->r[11] + 0x0000031Cu;
|
|
/* 0258BAF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258BAFC */ Gambit_fn_0244C48C(cpu);
|
|
L_0258BB00: ; // 0x258bb00
|
|
/* 0258BB00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BB04 */ Gambit_fn_0258B938(cpu);
|
|
/* 0258BB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258BB0C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BB0C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0258BB0C */ if (_t14) goto L_0258BB1C; else goto L_0258BB10;
|
|
L_0258BB10: ; // 0x258bb10
|
|
/* 0258BB10 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258BB14 */ cpu->r[4] = 0x00000002u;
|
|
/* 0258BB18 */ Gambit_fn_0258C750(cpu);
|
|
L_0258BB1C: ; // 0x258bb1c
|
|
/* 0258BB1C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BB1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258BB20 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BB20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258BB24 */ cpu->lr = cpu->r[0];
|
|
/* 0258BB28 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BB28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258BB2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258BB30 */ return;
|
|
}
|
|
|
|
// fn_0258BB6C @ 0x258bb6c
|
|
void Gambit_fn_0258BB6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258BB6C: ; // 0x258bb6c
|
|
/* 0258BB6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258BB6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BB6C */ cpu->r[1] = _t0;
|
|
/* 0258BB70 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BB70 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258BB74 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BB74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258BB78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258BB7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BB7C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258BB80 */ _t4 = cpu->r[30] + 0x00000254u;
|
|
/* 0258BB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258BB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u);
|
|
/* 0258BB88 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258BB88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258BB88 */ if (_t6) goto L_0258BB8C; else goto L_0258BBC0;
|
|
L_0258BB8C: ; // 0x258bb8c
|
|
/* 0258BB8C */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258BB90 */ _t7 = cpu->r[12] + 0x00006000u;
|
|
/* 0258BB90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258BB94 */ _t8 = cpu->r[12] + 0x00000268u;
|
|
/* 0258BB94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258BB98 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BB9C */ Gambit_fn_0261F774(cpu);
|
|
/* 0258BBA0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258BBA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BBA8 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258BBAC */ cpu->r[4] = 0x00000000u;
|
|
/* 0258BBB0 */ Gambit_fn_025C6B4C(cpu);
|
|
/* 0258BBB4 */ cpu->r[3] = cpu->r[30] + 0x0000024Cu;
|
|
/* 0258BBB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258BBBC */ Gambit_fn_0258C750(cpu);
|
|
L_0258BBC0: ; // 0x258bbc0
|
|
/* 0258BBC0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BBC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258BBC4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BBC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258BBC8 */ cpu->lr = cpu->r[0];
|
|
/* 0258BBCC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BBCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258BBD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258BBD4 */ return;
|
|
}
|
|
|
|
// fn_0258BBD8 @ 0x258bbd8
|
|
void Gambit_fn_0258BBD8(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_0258BBD8: ; // 0x258bbd8
|
|
/* 0258BBD8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258BBDC */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258BBE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258BBE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BBE0 */ cpu->r[1] = _t0;
|
|
/* 0258BBE4 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0258BBE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BBE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258BBEC */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0258BBF0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0258BBF4 */ _t2 = cpu->r[12] + 0x00002AECu;
|
|
/* 0258BBF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0258BBF8 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0258BBFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BBFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258BC00 */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 0258BC04 */ _t4 = cpu->r[10] + 0xFFFFB630u;
|
|
/* 0258BC04 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 0258BC04 */ cpu->r[10] = _t4;
|
|
/* 0258BC08 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258BC0C */ _t5 = cpu->r[9] + 0xFFFFB638u;
|
|
/* 0258BC0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258BC0C */ cpu->r[9] = _t5;
|
|
/* 0258BC10 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258BC14 */ _t6 = cpu->r[9] + 0x00000004u;
|
|
/* 0258BC14 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 0258BC18 */ _t7 = cpu->r[8] + 0xFFFFB640u;
|
|
/* 0258BC18 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 0258BC18 */ cpu->r[8] = _t7;
|
|
/* 0258BC1C */ cpu->r[31] = 0x100D0000u;
|
|
/* 0258BC20 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 0258BC20 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 0258BC24 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0258BC28 */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 0258BC28 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 0258BC2C */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258BC30 */ _t10 = cpu->r[7] + 0xFFFFB65Cu;
|
|
/* 0258BC30 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0258BC30 */ cpu->r[7] = _t10;
|
|
/* 0258BC34 */ cpu->r[31] = cpu->r[31] + 0x00002940u;
|
|
/* 0258BC38 */ _t11 = cpu->r[11] + 0xFFFFB648u;
|
|
/* 0258BC38 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 0258BC38 */ cpu->r[11] = _t11;
|
|
/* 0258BC3C */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258BC40 */ cpu->r[6] = 0x101C0000u;
|
|
/* 0258BC44 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 0258BC44 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0258BC48 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258BC4C */ cpu->r[6] = cpu->r[6] + 0x00006CF8u;
|
|
/* 0258BC50 */ _t13 = cpu->r[10] + 0x00002AF8u;
|
|
/* 0258BC50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258BC54 */ cpu->r[9] = cpu->r[9] + 0x00002AFCu;
|
|
/* 0258BC58 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258BC5C */ _t14 = cpu->r[6] + 0x00000004u;
|
|
/* 0258BC5C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 0258BC60 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258BC64 */ _t15 = cpu->r[12] + 0xFFFFB650u;
|
|
/* 0258BC64 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0258BC64 */ cpu->r[12] = _t15;
|
|
/* 0258BC68 */ cpu->r[10] = cpu->r[10] + 0x00002B04u;
|
|
/* 0258BC6C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BC6C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0258BC70 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BC70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258BC74 */ _t18 = cpu->r[6] + 0x00000000u;
|
|
/* 0258BC74 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0258BC78 */ _t19 = cpu->r[6] + 0x00000010u;
|
|
/* 0258BC78 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 0258BC7C */ cpu->r[0] = 0x00000004u;
|
|
/* 0258BC80 */ _t20 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0258BC80 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0258BC84 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0258BC88 */ _t21 = cpu->r[12] + 0x00000004u;
|
|
/* 0258BC88 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 0258BC8C */ _t22 = cpu->r[5] + 0xFFFFB658u;
|
|
/* 0258BC8C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0258BC90 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258BC94 */ _t23 = cpu->r[6] + 0x0000001Cu;
|
|
/* 0258BC94 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 0258BC98 */ cpu->r[11] = cpu->r[11] + 0x00002B1Cu;
|
|
/* 0258BC9C */ _t24 = cpu->r[7] + 0x00000004u;
|
|
/* 0258BC9C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 0258BCA0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258BCA4 */ _t25 = cpu->r[7] + 0x00000008u;
|
|
/* 0258BCA4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 0258BCA8 */ cpu->r[3] = cpu->r[3] + 0x00006D1Cu;
|
|
/* 0258BCAC */ _t26 = cpu->r[6] + 0x00000018u;
|
|
/* 0258BCAC */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 0258BCB0 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258BCB4 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258BCB8 */ cpu->r[0] = 0x02590000u;
|
|
/* 0258BCBC */ cpu->r[3] = cpu->r[3] + 0xFFFFB668u;
|
|
/* 0258BCC0 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258BCC4 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BCC4 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 0258BCC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFCB40u;
|
|
/* 0258BCCC */ _t28 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258BCCC */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 0258BCD0 */ cpu->r[8] = cpu->r[8] + 0x00002B0Cu;
|
|
/* 0258BCD4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258BCD8 */ _t29 = cpu->r[3] + 0x00000010u;
|
|
/* 0258BCD8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0258BCDC */ cpu->r[9] = cpu->r[9] + 0x00002A40u;
|
|
/* 0258BCE0 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 0258BCE0 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
|
|
/* 0258BCE4 */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0258BCE4 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 0258BCE8 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0258BCEC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258BCF0 */ cpu->r[3] = cpu->r[3] + 0x00006D28u;
|
|
/* 0258BCF4 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258BCF8 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0258BCFC */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BCFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258BD00 */ cpu->lr = cpu->r[0];
|
|
/* 0258BD04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258BD08 */ return;
|
|
}
|
|
|
|
// fn_0258BBE0 @ 0x258bbe0
|
|
void Gambit_fn_0258BBE0(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_0258BBE0: ; // 0x258bbe0
|
|
/* 0258BBE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258BBE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BBE0 */ cpu->r[1] = _t0;
|
|
/* 0258BBE4 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0258BBE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BBE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258BBEC */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0258BBF0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0258BBF4 */ _t2 = cpu->r[12] + 0x00002AECu;
|
|
/* 0258BBF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0258BBF8 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0258BBFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BBFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258BC00 */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 0258BC04 */ _t4 = cpu->r[10] + 0xFFFFB630u;
|
|
/* 0258BC04 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 0258BC04 */ cpu->r[10] = _t4;
|
|
/* 0258BC08 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258BC0C */ _t5 = cpu->r[9] + 0xFFFFB638u;
|
|
/* 0258BC0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258BC0C */ cpu->r[9] = _t5;
|
|
/* 0258BC10 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258BC14 */ _t6 = cpu->r[9] + 0x00000004u;
|
|
/* 0258BC14 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 0258BC18 */ _t7 = cpu->r[8] + 0xFFFFB640u;
|
|
/* 0258BC18 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 0258BC18 */ cpu->r[8] = _t7;
|
|
/* 0258BC1C */ cpu->r[31] = 0x100D0000u;
|
|
/* 0258BC20 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 0258BC20 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 0258BC24 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0258BC28 */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 0258BC28 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 0258BC2C */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258BC30 */ _t10 = cpu->r[7] + 0xFFFFB65Cu;
|
|
/* 0258BC30 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0258BC30 */ cpu->r[7] = _t10;
|
|
/* 0258BC34 */ cpu->r[31] = cpu->r[31] + 0x00002940u;
|
|
/* 0258BC38 */ _t11 = cpu->r[11] + 0xFFFFB648u;
|
|
/* 0258BC38 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 0258BC38 */ cpu->r[11] = _t11;
|
|
/* 0258BC3C */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258BC40 */ cpu->r[6] = 0x101C0000u;
|
|
/* 0258BC44 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 0258BC44 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0258BC48 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258BC4C */ cpu->r[6] = cpu->r[6] + 0x00006CF8u;
|
|
/* 0258BC50 */ _t13 = cpu->r[10] + 0x00002AF8u;
|
|
/* 0258BC50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258BC54 */ cpu->r[9] = cpu->r[9] + 0x00002AFCu;
|
|
/* 0258BC58 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258BC5C */ _t14 = cpu->r[6] + 0x00000004u;
|
|
/* 0258BC5C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 0258BC60 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258BC64 */ _t15 = cpu->r[12] + 0xFFFFB650u;
|
|
/* 0258BC64 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0258BC64 */ cpu->r[12] = _t15;
|
|
/* 0258BC68 */ cpu->r[10] = cpu->r[10] + 0x00002B04u;
|
|
/* 0258BC6C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BC6C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0258BC70 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0258BC70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258BC74 */ _t18 = cpu->r[6] + 0x00000000u;
|
|
/* 0258BC74 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0258BC78 */ _t19 = cpu->r[6] + 0x00000010u;
|
|
/* 0258BC78 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 0258BC7C */ cpu->r[0] = 0x00000004u;
|
|
/* 0258BC80 */ _t20 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0258BC80 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0258BC84 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0258BC88 */ _t21 = cpu->r[12] + 0x00000004u;
|
|
/* 0258BC88 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 0258BC8C */ _t22 = cpu->r[5] + 0xFFFFB658u;
|
|
/* 0258BC8C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0258BC90 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258BC94 */ _t23 = cpu->r[6] + 0x0000001Cu;
|
|
/* 0258BC94 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 0258BC98 */ cpu->r[11] = cpu->r[11] + 0x00002B1Cu;
|
|
/* 0258BC9C */ _t24 = cpu->r[7] + 0x00000004u;
|
|
/* 0258BC9C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 0258BCA0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258BCA4 */ _t25 = cpu->r[7] + 0x00000008u;
|
|
/* 0258BCA4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 0258BCA8 */ cpu->r[3] = cpu->r[3] + 0x00006D1Cu;
|
|
/* 0258BCAC */ _t26 = cpu->r[6] + 0x00000018u;
|
|
/* 0258BCAC */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 0258BCB0 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258BCB4 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258BCB8 */ cpu->r[0] = 0x02590000u;
|
|
/* 0258BCBC */ cpu->r[3] = cpu->r[3] + 0xFFFFB668u;
|
|
/* 0258BCC0 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258BCC4 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BCC4 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 0258BCC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFCB40u;
|
|
/* 0258BCCC */ _t28 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258BCCC */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 0258BCD0 */ cpu->r[8] = cpu->r[8] + 0x00002B0Cu;
|
|
/* 0258BCD4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258BCD8 */ _t29 = cpu->r[3] + 0x00000010u;
|
|
/* 0258BCD8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0258BCDC */ cpu->r[9] = cpu->r[9] + 0x00002A40u;
|
|
/* 0258BCE0 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 0258BCE0 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
|
|
/* 0258BCE4 */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0258BCE4 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 0258BCE8 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0258BCEC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258BCF0 */ cpu->r[3] = cpu->r[3] + 0x00006D28u;
|
|
/* 0258BCF4 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258BCF8 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0258BCFC */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BCFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258BD00 */ cpu->lr = cpu->r[0];
|
|
/* 0258BD04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258BD08 */ return;
|
|
}
|
|
|
|
// fn_0258BD0C @ 0x258bd0c
|
|
void Gambit_fn_0258BD0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0258BD0C: ; // 0x258bd0c
|
|
/* 0258BD0C */ cpu->r[6] = 0x02590000u;
|
|
/* 0258BD10 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258BD14 */ cpu->r[7] = 0x00000000u;
|
|
/* 0258BD18 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 0258BD1C */ cpu->r[4] = 0x00000003u;
|
|
/* 0258BD20 */ cpu->r[8] = cpu->r[7];
|
|
/* 0258BD24 */ cpu->r[3] = cpu->r[3] + 0x00006CF8u;
|
|
/* 0258BD28 */ cpu->r[6] = cpu->r[6] + 0xFFFFC054u;
|
|
/* 0258BD2C */ goto L_02C82F38;
|
|
L_02C82F38: ; // 0x2c82f38
|
|
/* 02C82F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82F3C */ cpu->r[8] = cpu->r[7];
|
|
/* 02C82F40 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C82F48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82F4C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C82F50 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82F50 */ cpu->r[1] = _t1;
|
|
/* 02C82F54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82F54 */ if (_t3) goto L_02C82F58; else goto L_02C82F60;
|
|
L_02C82F58: ; // 0x2c82f58
|
|
/* 02C82F58 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82F5C */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82F5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C82F60: ; // 0x2c82f60
|
|
/* 02C82F60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C82F64 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82F68 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82F6C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82F6C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C82F70 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82F74 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82F78 */ cpu->lr = cpu->r[0];
|
|
/* 02C82F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82F80 */ return;
|
|
}
|
|
|
|
// fn_0258BD30 @ 0x258bd30
|
|
void Gambit_fn_0258BD30(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_0258BD30: ; // 0x258bd30
|
|
/* 0258BD30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258BD34 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BD34 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258BD34 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BD34 */ goto L_0258BD38;
|
|
L_0258BD38: ; // 0x258bd38
|
|
/* 0258BD38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258BD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BD3C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BD3C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258BD3C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BD3C */ goto L_0258BD40;
|
|
L_0258BD40: ; // 0x258bd40
|
|
/* 0258BD40 */ 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_0258BD44 @ 0x258bd44
|
|
void Gambit_fn_0258BD44(CPUState* cpu) {
|
|
L_0258BD44: ; // 0x258bd44
|
|
/* 0258BD44 */ return;
|
|
}
|
|
|
|
// fn_0258BD48 @ 0x258bd48
|
|
void Gambit_fn_0258BD48(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_0258BD48: ; // 0x258bd48
|
|
/* 0258BD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258BD4C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BD4C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258BD4C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BD4C */ goto L_0258BD50;
|
|
L_0258BD50: ; // 0x258bd50
|
|
/* 0258BD50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258BD50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BD54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BD54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258BD54 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BD54 */ goto L_0258BD58;
|
|
L_0258BD58: ; // 0x258bd58
|
|
/* 0258BD58 */ 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_0258BD5C @ 0x258bd5c
|
|
void Gambit_fn_0258BD5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0258BD5C: ; // 0x258bd5c
|
|
/* 0258BD5C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0258BD5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BD60 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0258BD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258BD64 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0258BD68 */ cpu->r[11] = 0x10110000u;
|
|
/* 0258BD6C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0258BD6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0258BD70 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0258BD70 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0258BD74 */ return;
|
|
}
|
|
|
|
// fn_0258BD78 @ 0x258bd78
|
|
void Gambit_fn_0258BD78(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_0258BD78: ; // 0x258bd78
|
|
/* 0258BD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258BD7C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BD7C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258BD7C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BD7C */ goto L_0258BD80;
|
|
L_0258BD80: ; // 0x258bd80
|
|
/* 0258BD80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258BD80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BD84 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BD84 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258BD84 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BD84 */ goto L_0258BD88;
|
|
L_0258BD88: ; // 0x258bd88
|
|
/* 0258BD88 */ 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_0258BD8C @ 0x258bd8c
|
|
void Gambit_fn_0258BD8C(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_0258BD8C: ; // 0x258bd8c
|
|
/* 0258BD8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258BD90 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BD90 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258BD90 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BD90 */ goto L_0258BD94;
|
|
L_0258BD94: ; // 0x258bd94
|
|
/* 0258BD94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258BD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BD98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BD98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258BD98 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BD98 */ goto L_0258BD9C;
|
|
L_0258BD9C: ; // 0x258bd9c
|
|
/* 0258BD9C */ 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_0258BDA0 @ 0x258bda0
|
|
void Gambit_fn_0258BDA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0258BDA0: ; // 0x258bda0
|
|
/* 0258BDA0 */ cpu->r[12] = cpu->r[3];
|
|
/* 0258BDA4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0258BDA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258BDAC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BDAC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258BDAC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BDAC */ goto L_0258BDB0;
|
|
L_0258BDB0: ; // 0x258bdb0
|
|
/* 0258BDB0 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 0258BDB0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 0258BDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BDB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BDB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258BDB8 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BDB8 */ goto L_0258BDBC;
|
|
L_0258BDBC: ; // 0x258bdbc
|
|
/* 0258BDBC */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 0258BDBC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 0258BDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BDC4 */ cpu->r[3] = cpu->r[9] + cpu->r[11];
|
|
/* 0258BDC8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258BDC8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0258BDC8 */ if (_t8) goto L_0258BDCC; else goto L_0258BDD8;
|
|
L_0258BDCC: ; // 0x258bdcc
|
|
/* 0258BDCC */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0258BDCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258BDD0 */ cpu->ctr = cpu->r[10];
|
|
/* 0258BDD4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0258BDD8: ; // 0x258bdd8
|
|
/* 0258BDD8 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 0258BDD8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 0258BDDC */ _t11 = cpu->r[3] + cpu->r[8];
|
|
/* 0258BDDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258BDE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258BDE4 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 0258BDE8 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 0258BDE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258BDEC */ cpu->ctr = cpu->r[10];
|
|
/* 0258BDF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258BDF4 @ 0x258bdf4
|
|
void Gambit_fn_0258BDF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0258BDF4: ; // 0x258bdf4
|
|
/* 0258BDF4 */ cpu->r[0] = cpu->lr;
|
|
/* 0258BDF8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258BDF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258BDFC */ cpu->r[12] = cpu->r[3];
|
|
/* 0258BE00 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258BE00 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258BE00 */ cpu->r[1] = _t1;
|
|
/* 0258BE04 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 0258BE04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258BE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258BE0C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BE0C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258BE0C */ if (_t4) goto L_0258BE64; else goto L_0258BE10;
|
|
L_0258BE10: ; // 0x258be10
|
|
/* 0258BE10 */ _t5 = cpu->r[12] + 0x0000000Au;
|
|
/* 0258BE10 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258BE14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BE18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BE18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258BE18 */ if (_t7) goto L_0258BE64; else goto L_0258BE1C;
|
|
L_0258BE1C: ; // 0x258be1c
|
|
/* 0258BE1C */ _t8 = cpu->r[12] + 0x00000008u;
|
|
/* 0258BE1C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258BE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BE24 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 0258BE28 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258BE28 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258BE28 */ if (_t10) goto L_0258BE2C; else goto L_0258BE40;
|
|
L_0258BE2C: ; // 0x258be2c
|
|
/* 0258BE2C */ _t11 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0258BE2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258BE30 */ cpu->ctr = cpu->r[11];
|
|
/* 0258BE34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258BE38 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258BE3C */ goto L_0258BE68;
|
|
L_0258BE40: ; // 0x258be40
|
|
/* 0258BE40 */ _t12 = cpu->r[12] + 0x0000000Eu;
|
|
/* 0258BE40 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12);
|
|
/* 0258BE44 */ _t13 = cpu->r[3] + cpu->r[12];
|
|
/* 0258BE44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258BE48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258BE4C */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 0258BE50 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 0258BE50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258BE54 */ cpu->ctr = cpu->r[11];
|
|
/* 0258BE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258BE5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258BE60 */ goto L_0258BE68;
|
|
L_0258BE64: ; // 0x258be64
|
|
/* 0258BE64 */ cpu->r[3] = 0x00000000u;
|
|
L_0258BE68: ; // 0x258be68
|
|
/* 0258BE68 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BE68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258BE6C */ cpu->lr = cpu->r[0];
|
|
/* 0258BE70 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258BE74 */ return;
|
|
}
|
|
|
|
// fn_0258BE00 @ 0x258be00
|
|
void Gambit_fn_0258BE00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0258BE00: ; // 0x258be00
|
|
/* 0258BE00 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258BE00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BE00 */ cpu->r[1] = _t0;
|
|
/* 0258BE04 */ _t1 = cpu->r[12] + 0x00000004u;
|
|
/* 0258BE04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258BE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258BE0C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BE0C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258BE0C */ if (_t3) goto L_0258BE64; else goto L_0258BE10;
|
|
L_0258BE10: ; // 0x258be10
|
|
/* 0258BE10 */ _t4 = cpu->r[12] + 0x0000000Au;
|
|
/* 0258BE10 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 0258BE14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BE18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BE18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258BE18 */ if (_t6) goto L_0258BE64; else goto L_0258BE1C;
|
|
L_0258BE1C: ; // 0x258be1c
|
|
/* 0258BE1C */ _t7 = cpu->r[12] + 0x00000008u;
|
|
/* 0258BE1C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 0258BE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BE24 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 0258BE28 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258BE28 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258BE28 */ if (_t9) goto L_0258BE2C; else goto L_0258BE40;
|
|
L_0258BE2C: ; // 0x258be2c
|
|
/* 0258BE2C */ _t10 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0258BE2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258BE30 */ cpu->ctr = cpu->r[11];
|
|
/* 0258BE34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258BE38 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258BE3C */ goto L_0258BE68;
|
|
L_0258BE40: ; // 0x258be40
|
|
/* 0258BE40 */ _t11 = cpu->r[12] + 0x0000000Eu;
|
|
/* 0258BE40 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 0258BE44 */ _t12 = cpu->r[3] + cpu->r[12];
|
|
/* 0258BE44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258BE48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258BE4C */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 0258BE50 */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 0258BE50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258BE54 */ cpu->ctr = cpu->r[11];
|
|
/* 0258BE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258BE5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258BE60 */ goto L_0258BE68;
|
|
L_0258BE64: ; // 0x258be64
|
|
/* 0258BE64 */ cpu->r[3] = 0x00000000u;
|
|
L_0258BE68: ; // 0x258be68
|
|
/* 0258BE68 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BE68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258BE6C */ cpu->lr = cpu->r[0];
|
|
/* 0258BE70 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258BE74 */ return;
|
|
}
|
|
|
|
// fn_0258BE78 @ 0x258be78
|
|
void Gambit_fn_0258BE78(CPUState* cpu) {
|
|
L_0258BE78: ; // 0x258be78
|
|
/* 0258BE78 */ return;
|
|
}
|
|
|
|
// fn_0258BE7C @ 0x258be7c
|
|
void Gambit_fn_0258BE7C(CPUState* cpu) {
|
|
L_0258BE7C: ; // 0x258be7c
|
|
/* 0258BE7C */ return;
|
|
}
|
|
|
|
// fn_0258BE80 @ 0x258be80
|
|
void Gambit_fn_0258BE80(CPUState* cpu) {
|
|
L_0258BE80: ; // 0x258be80
|
|
/* 0258BE80 */ return;
|
|
}
|
|
|
|
// fn_0258BE84 @ 0x258be84
|
|
void Gambit_fn_0258BE84(CPUState* cpu) {
|
|
L_0258BE84: ; // 0x258be84
|
|
/* 0258BE84 */ return;
|
|
}
|
|
|
|
// fn_0258BE88 @ 0x258be88
|
|
void Gambit_fn_0258BE88(CPUState* cpu) {
|
|
L_0258BE88: ; // 0x258be88
|
|
/* 0258BE88 */ return;
|
|
}
|
|
|
|
// fn_0258BE8C @ 0x258be8c
|
|
void Gambit_fn_0258BE8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0258BE8C: ; // 0x258be8c
|
|
/* 0258BE8C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0258BE8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258BE94 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BE94 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258BE94 */ if (_t2) goto L_0258BEA0; else goto L_0258BE98;
|
|
L_0258BE98: ; // 0x258be98
|
|
/* 0258BE98 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0258BE9C */ return;
|
|
L_0258BEA0: ; // 0x258bea0
|
|
/* 0258BEA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258BEA4 */ return;
|
|
}
|
|
|
|
// fn_0258BEA8 @ 0x258bea8
|
|
void Gambit_fn_0258BEA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258BEA8: ; // 0x258bea8
|
|
/* 0258BEA8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258BEA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BEAC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258BEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258BEB0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BEB0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258BEB0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258BEB0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BEB0 */ goto L_0258BEB4;
|
|
L_0258BEB4: ; // 0x258beb4
|
|
/* 0258BEB4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BEB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258BEB8 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0258BEB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258BEBC */ cpu->ctr = cpu->r[0];
|
|
/* 0258BEC0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258BEC4 @ 0x258bec4
|
|
void Gambit_fn_0258BEC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258BEC4: ; // 0x258bec4
|
|
/* 0258BEC4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258BEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BEC8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258BEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258BECC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BECC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258BECC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258BECC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BECC */ goto L_0258BED0;
|
|
L_0258BED0: ; // 0x258bed0
|
|
/* 0258BED0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258BED4 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0258BED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258BED8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258BEDC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258BEE0 @ 0x258bee0
|
|
void Gambit_fn_0258BEE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258BEE0: ; // 0x258bee0
|
|
/* 0258BEE0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258BEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BEE4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258BEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258BEE8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BEE8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258BEE8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258BEE8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BEE8 */ goto L_0258BEEC;
|
|
L_0258BEEC: ; // 0x258beec
|
|
/* 0258BEEC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BEEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258BEF0 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0258BEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258BEF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258BEF8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258BEFC @ 0x258befc
|
|
void Gambit_fn_0258BEFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258BEFC: ; // 0x258befc
|
|
/* 0258BEFC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BEFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BF00 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258BF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258BF04 */ cpu->ctr = cpu->r[0];
|
|
/* 0258BF08 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258BF0C @ 0x258bf0c
|
|
void Gambit_fn_0258BF0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0258BF0C: ; // 0x258bf0c
|
|
/* 0258BF0C */ cpu->r[0] = cpu->lr;
|
|
/* 0258BF10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258BF10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BF10 */ cpu->r[1] = _t0;
|
|
/* 0258BF14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BF14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258BF18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258BF1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BF1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258BF20 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258BF20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258BF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0258BF28 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BF28 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258BF28 */ if (_t5) goto L_0258BF2C; else goto L_0258BF48;
|
|
L_0258BF2C: ; // 0x258bf2c
|
|
/* 0258BF2C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0258BF2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258BF30 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0258BF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258BF34 */ cpu->ctr = cpu->r[0];
|
|
/* 0258BF38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BF3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258BF40 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258BF44 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258BF44 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0258BF48: ; // 0x258bf48
|
|
/* 0258BF48 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258BF4C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258BF50 */ cpu->lr = cpu->r[0];
|
|
/* 0258BF54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258BF58 */ return;
|
|
}
|
|
|
|
// fn_0258BF10 @ 0x258bf10
|
|
void Gambit_fn_0258BF10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0258BF10: ; // 0x258bf10
|
|
/* 0258BF10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258BF10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BF10 */ cpu->r[1] = _t0;
|
|
/* 0258BF14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BF14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258BF18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258BF1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BF1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258BF20 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258BF20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258BF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0258BF28 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BF28 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258BF28 */ if (_t5) goto L_0258BF2C; else goto L_0258BF48;
|
|
L_0258BF2C: ; // 0x258bf2c
|
|
/* 0258BF2C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0258BF2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258BF30 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0258BF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258BF34 */ cpu->ctr = cpu->r[0];
|
|
/* 0258BF38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BF3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258BF40 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258BF44 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258BF44 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0258BF48: ; // 0x258bf48
|
|
/* 0258BF48 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258BF4C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258BF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258BF50 */ cpu->lr = cpu->r[0];
|
|
/* 0258BF54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258BF58 */ return;
|
|
}
|
|
|
|
// fn_0258BF64 @ 0x258bf64
|
|
void Gambit_fn_0258BF64(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_0258BF64: ; // 0x258bf64
|
|
/* 0258BF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258BF68 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BF68 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258BF68 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BF68 */ goto L_0258BF6C;
|
|
L_0258BF6C: ; // 0x258bf6c
|
|
/* 0258BF6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258BF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BF70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258BF70 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258BF70 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258BF70 */ goto L_0258BF74;
|
|
L_0258BF74: ; // 0x258bf74
|
|
/* 0258BF74 */ 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_0258BF78 @ 0x258bf78
|
|
void Gambit_fn_0258BF78(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258BF78: ; // 0x258bf78
|
|
/* 0258BF78 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BF78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BF7C */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0258BF7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258BF80 */ cpu->ctr = cpu->r[0];
|
|
/* 0258BF84 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258BF88 @ 0x258bf88
|
|
void Gambit_fn_0258BF88(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258BF88: ; // 0x258bf88
|
|
/* 0258BF88 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BF88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BF8C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0258BF8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258BF90 */ cpu->ctr = cpu->r[0];
|
|
/* 0258BF94 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258BF98 @ 0x258bf98
|
|
void Gambit_fn_0258BF98(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258BF98: ; // 0x258bf98
|
|
/* 0258BF98 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258BF98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258BF9C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0258BF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258BFA0 */ cpu->ctr = cpu->r[0];
|
|
/* 0258BFA4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258BFA8 @ 0x258bfa8
|
|
void Gambit_fn_0258BFA8(CPUState* cpu) {
|
|
L_0258BFA8: ; // 0x258bfa8
|
|
/* 0258BFA8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258BFAC */ return;
|
|
}
|
|
|
|
// fn_0258BFB0 @ 0x258bfb0
|
|
void Gambit_fn_0258BFB0(CPUState* cpu) {
|
|
L_0258BFB0: ; // 0x258bfb0
|
|
/* 0258BFB0 */ return;
|
|
}
|
|
|
|
// fn_0258BFB4 @ 0x258bfb4
|
|
void Gambit_fn_0258BFB4(CPUState* cpu) {
|
|
L_0258BFB4: ; // 0x258bfb4
|
|
/* 0258BFB4 */ return;
|
|
}
|
|
|
|
// fn_0258BFB8 @ 0x258bfb8
|
|
void Gambit_fn_0258BFB8(CPUState* cpu) {
|
|
L_0258BFB8: ; // 0x258bfb8
|
|
/* 0258BFB8 */ return;
|
|
}
|
|
|
|
// fn_0258BFBC @ 0x258bfbc
|
|
void Gambit_fn_0258BFBC(CPUState* cpu) {
|
|
L_0258BFBC: ; // 0x258bfbc
|
|
/* 0258BFBC */ return;
|
|
}
|
|
|
|
// fn_0258BFC0 @ 0x258bfc0
|
|
void Gambit_fn_0258BFC0(CPUState* cpu) {
|
|
L_0258BFC0: ; // 0x258bfc0
|
|
/* 0258BFC0 */ return;
|
|
}
|
|
|
|
// fn_0258BFC4 @ 0x258bfc4
|
|
void Gambit_fn_0258BFC4(CPUState* cpu) {
|
|
L_0258BFC4: ; // 0x258bfc4
|
|
/* 0258BFC4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258BFC8 */ return;
|
|
}
|
|
|
|
// fn_0258BFCC @ 0x258bfcc
|
|
void Gambit_fn_0258BFCC(CPUState* cpu) {
|
|
L_0258BFCC: ; // 0x258bfcc
|
|
/* 0258BFCC */ cpu->r[3] = 0x00000000u;
|
|
/* 0258BFD0 */ return;
|
|
}
|
|
|
|
// fn_0258BFD4 @ 0x258bfd4
|
|
void Gambit_fn_0258BFD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0258BFD4: ; // 0x258bfd4
|
|
/* 0258BFD4 */ cpu->r[0] = cpu->lr;
|
|
/* 0258BFD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258BFD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BFD8 */ cpu->r[1] = _t0;
|
|
/* 0258BFDC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BFDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258BFE0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258BFE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258BFE4 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0258BFE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258BFE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258BFEC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BFF0 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0258BFF4 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258BFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258BFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BFFC */ cpu->r[11] = 0x00000000u;
|
|
/* 0258C000 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C000 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C000 */ if (_t6) goto L_0258C00C; else goto L_0258C004;
|
|
L_0258C004: ; // 0x258c004
|
|
/* 0258C004 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 0258C004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258C008 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 0258C008 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0258C00C: ; // 0x258c00c
|
|
/* 0258C00C */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0258C00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258C010 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 0258C010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258C014 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258C014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C018 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C01C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258C020 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258C024 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C024 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258C028 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 0258C028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258C02C */ cpu->ctr = cpu->r[0];
|
|
/* 0258C030 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258C034 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258C038 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258C038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258C03C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0258C03C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258C040 */ cpu->lr = cpu->r[0];
|
|
/* 0258C044 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C044 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C048 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258C04C */ return;
|
|
}
|
|
|
|
// fn_0258BFD8 @ 0x258bfd8
|
|
void Gambit_fn_0258BFD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0258BFD8: ; // 0x258bfd8
|
|
/* 0258BFD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258BFD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258BFD8 */ cpu->r[1] = _t0;
|
|
/* 0258BFDC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258BFDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258BFE0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258BFE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258BFE4 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0258BFE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258BFE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258BFEC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258BFF0 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0258BFF4 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258BFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258BFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258BFFC */ cpu->r[11] = 0x00000000u;
|
|
/* 0258C000 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C000 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C000 */ if (_t6) goto L_0258C00C; else goto L_0258C004;
|
|
L_0258C004: ; // 0x258c004
|
|
/* 0258C004 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 0258C004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258C008 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 0258C008 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0258C00C: ; // 0x258c00c
|
|
/* 0258C00C */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0258C00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258C010 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 0258C010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258C014 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258C014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C018 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C01C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258C020 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258C024 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C024 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258C028 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 0258C028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258C02C */ cpu->ctr = cpu->r[0];
|
|
/* 0258C030 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258C034 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258C038 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258C038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258C03C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0258C03C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258C040 */ cpu->lr = cpu->r[0];
|
|
/* 0258C044 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C044 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C048 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258C04C */ return;
|
|
}
|
|
|
|
// fn_0258C050 @ 0x258c050
|
|
void Gambit_fn_0258C050(CPUState* cpu) {
|
|
L_0258C050: ; // 0x258c050
|
|
/* 0258C050 */ return;
|
|
}
|
|
|
|
// fn_0258C068 @ 0x258c068
|
|
void Gambit_fn_0258C068(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258C068: ; // 0x258c068
|
|
/* 0258C068 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258C06C */ _t0 = cpu->r[12] + 0x00002AECu;
|
|
/* 0258C06C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0258C070 */ return;
|
|
}
|
|
|
|
// fn_0258C074 @ 0x258c074
|
|
void Gambit_fn_0258C074(CPUState* cpu) {
|
|
L_0258C074: ; // 0x258c074
|
|
/* 0258C074 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258C078 */ return;
|
|
}
|
|
|
|
// fn_0258C07C @ 0x258c07c
|
|
void Gambit_fn_0258C07C(CPUState* cpu) {
|
|
L_0258C07C: ; // 0x258c07c
|
|
/* 0258C07C */ cpu->r[3] = 0x00000000u;
|
|
/* 0258C080 */ return;
|
|
}
|
|
|
|
// fn_0258C084 @ 0x258c084
|
|
void Gambit_fn_0258C084(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258C084: ; // 0x258c084
|
|
/* 0258C084 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0258C084 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258C088 */ return;
|
|
}
|
|
|
|
// fn_0258C08C @ 0x258c08c
|
|
void Gambit_fn_0258C08C(CPUState* cpu) {
|
|
L_0258C08C: ; // 0x258c08c
|
|
/* 0258C08C */ return;
|
|
}
|
|
|
|
// fn_0258C090 @ 0x258c090
|
|
void Gambit_fn_0258C090(CPUState* cpu) {
|
|
L_0258C090: ; // 0x258c090
|
|
/* 0258C090 */ cpu->r[3] = 0x100D0000u;
|
|
/* 0258C094 */ cpu->r[3] = cpu->r[3] + 0x00002A50u;
|
|
/* 0258C098 */ return;
|
|
}
|
|
|
|
// fn_0258C09C @ 0x258c09c
|
|
void Gambit_fn_0258C09C(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_0258C09C: ; // 0x258c09c
|
|
/* 0258C09C */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258C0A0 */ _t0 = cpu->r[10] + 0x00000AF8u;
|
|
/* 0258C0A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258C0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C0A8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258C0AC */ cpu->r[10] = cpu->r[10] + 0x00000AFCu;
|
|
/* 0258C0B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C0B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258C0B0 */ if (_t2) goto L_0258C0B4; else goto L_0258C0CC;
|
|
L_0258C0B4: ; // 0x258c0b4
|
|
/* 0258C0B4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258C0B8 */ cpu->r[9] = 0x00000001u;
|
|
/* 0258C0BC */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258C0C0 */ cpu->r[0] = cpu->r[0] + 0x000029D0u;
|
|
/* 0258C0C4 */ _t3 = cpu->r[11] + 0x00000AF8u;
|
|
/* 0258C0C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0258C0C8 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 0258C0C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0258C0CC: ; // 0x258c0cc
|
|
/* 0258C0CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0258C0D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C0D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C0D0 */ if (_t6) goto L_0258C0D4; else goto L_0258C0DC;
|
|
L_0258C0D4: ; // 0x258c0d4
|
|
/* 0258C0D4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258C0D8 */ return;
|
|
L_0258C0DC: ; // 0x258c0dc
|
|
/* 0258C0DC */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258C0E0 */ _t7 = cpu->r[9] + 0xFFFFF98Cu;
|
|
/* 0258C0E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258C0E4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258C0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258C0EC */ cpu->r[11] = cpu->r[11] + 0x00000AE0u;
|
|
/* 0258C0F0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C0F0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258C0F0 */ if (_t9) goto L_0258C0F4; else goto L_0258C10C;
|
|
L_0258C0F4: ; // 0x258c0f4
|
|
/* 0258C0F4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258C0F8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258C0FC */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258C100 */ cpu->r[9] = cpu->r[9] + 0x000029C0u;
|
|
/* 0258C104 */ _t10 = cpu->r[10] + 0xFFFFF98Cu;
|
|
/* 0258C104 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0258C108 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0258C108 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_0258C10C: ; // 0x258c10c
|
|
/* 0258C10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0258C110 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C110 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258C110 */ if (_t13) goto L_0258C114; else goto L_0258C11C;
|
|
L_0258C114: ; // 0x258c114
|
|
/* 0258C114 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258C118 */ goto L_0258C1D4;
|
|
L_0258C11C: ; // 0x258c11c
|
|
/* 0258C11C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258C120 */ _t14 = cpu->r[11] + 0xFFFFDB24u;
|
|
/* 0258C120 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258C124 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258C128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258C12C */ cpu->r[9] = cpu->r[9] + 0xFFFFDB28u;
|
|
/* 0258C130 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C130 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258C130 */ if (_t16) goto L_0258C134; else goto L_0258C14C;
|
|
L_0258C134: ; // 0x258c134
|
|
/* 0258C134 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258C138 */ cpu->r[10] = 0x00000001u;
|
|
/* 0258C13C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258C140 */ cpu->r[11] = cpu->r[11] + 0x000029B0u;
|
|
/* 0258C144 */ _t17 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 0258C144 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0258C148 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 0258C148 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_0258C14C: ; // 0x258c14c
|
|
/* 0258C14C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 0258C150 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C150 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258C150 */ if (_t20) goto L_0258C154; else goto L_0258C15C;
|
|
L_0258C154: ; // 0x258c154
|
|
/* 0258C154 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258C158 */ goto L_0258C1D0;
|
|
L_0258C15C: ; // 0x258c15c
|
|
/* 0258C15C */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258C160 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 0258C160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258C160 */ cpu->r[9] = _t21;
|
|
/* 0258C164 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258C168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C16C */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 0258C170 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C170 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258C170 */ if (_t23) goto L_0258C174; else goto L_0258C188;
|
|
L_0258C174: ; // 0x258c174
|
|
/* 0258C174 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258C178 */ cpu->r[11] = 0x00000001u;
|
|
/* 0258C17C */ cpu->r[0] = cpu->r[0] + 0x000029A0u;
|
|
/* 0258C180 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0258C180 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0258C184 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0258C184 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_0258C188: ; // 0x258c188
|
|
/* 0258C188 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0258C18C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C18C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0258C18C */ if (_t27) goto L_0258C190; else goto L_0258C198;
|
|
L_0258C190: ; // 0x258c190
|
|
/* 0258C190 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258C194 */ goto L_0258C1D0;
|
|
L_0258C198: ; // 0x258c198
|
|
/* 0258C198 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258C19C */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 0258C19C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258C19C */ cpu->r[10] = _t28;
|
|
/* 0258C1A0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258C1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258C1A8 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 0258C1AC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C1AC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0258C1AC */ if (_t30) goto L_0258C1B0; else goto L_0258C1C4;
|
|
L_0258C1B0: ; // 0x258c1b0
|
|
/* 0258C1B0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258C1B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258C1B8 */ cpu->r[9] = cpu->r[9] + 0x00002930u;
|
|
/* 0258C1BC */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0258C1BC */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0258C1C0 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 0258C1C0 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_0258C1C4: ; // 0x258c1c4
|
|
/* 0258C1C4 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0258C1C8 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0258C1CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0258C1D0: ; // 0x258c1d0
|
|
/* 0258C1D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0258C1D4: ; // 0x258c1d4
|
|
/* 0258C1D4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258C1D8 */ return;
|
|
}
|
|
|
|
// fn_0258C1DC @ 0x258c1dc
|
|
void Gambit_fn_0258C1DC(CPUState* cpu) {
|
|
L_0258C1DC: ; // 0x258c1dc
|
|
/* 0258C1DC */ cpu->r[3] = cpu->r[3] + 0x00000288u;
|
|
/* 0258C1E0 */ return;
|
|
}
|
|
|
|
// fn_0258C1E4 @ 0x258c1e4
|
|
void Gambit_fn_0258C1E4(CPUState* cpu) {
|
|
L_0258C1E4: ; // 0x258c1e4
|
|
/* 0258C1E4 */ return;
|
|
}
|
|
|
|
// fn_0258C1F0 @ 0x258c1f0
|
|
void Gambit_fn_0258C1F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0258C1F0: ; // 0x258c1f0
|
|
/* 0258C1F0 */ cpu->r[3] = cpu->r[3] + 0x0000024Cu;
|
|
/* 0258C1F4 */ goto L_0258C850;
|
|
L_0258C850: ; // 0x258c850
|
|
/* 0258C850 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C854 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C854 */ cpu->r[1] = _t0;
|
|
/* 0258C858 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C858 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C85C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C860 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C860 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C864 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0258C864 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C868 */ cpu->r[12] = 0x00000000u;
|
|
/* 0258C86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C870 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0258C870 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0258C874 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C874 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C874 */ if (_t6) goto L_0258C89C; else goto L_0258C878;
|
|
L_0258C878: ; // 0x258c878
|
|
/* 0258C878 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258C878 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0258C87C */ /* nop */
|
|
/* 0258C880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258C884 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C884 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258C884 */ if (_t9) goto L_0258C888; else goto L_0258C89C;
|
|
L_0258C888: ; // 0x258c888
|
|
/* 0258C888 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0258C888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258C88C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0258C88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C890 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C894 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258C89C: ; // 0x258c89c
|
|
/* 0258C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C8A0 */ Gambit_fn_0258C7C8(cpu);
|
|
/* 0258C8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C8A8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0258C8AC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258C8B0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C8B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258C8B4 */ cpu->lr = cpu->r[0];
|
|
/* 0258C8B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C8BC */ return;
|
|
}
|
|
|
|
// fn_0258C1F8 @ 0x258c1f8
|
|
void Gambit_fn_0258C1F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258C1F8: ; // 0x258c1f8
|
|
/* 0258C1F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C1FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C1FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C1FC */ cpu->r[1] = _t0;
|
|
/* 0258C200 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C200 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C204 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C204 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C208 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0258C208 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C20C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C210 */ /* nop */
|
|
/* 0258C214 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258C218 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C21C */ Gambit_fn_0258C6C8(cpu);
|
|
/* 0258C220 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258C224 */ cpu->lr = cpu->r[0];
|
|
/* 0258C228 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258C22C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C230 */ return;
|
|
}
|
|
|
|
// fn_0258C1FC @ 0x258c1fc
|
|
void Gambit_fn_0258C1FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258C1FC: ; // 0x258c1fc
|
|
/* 0258C1FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C1FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C1FC */ cpu->r[1] = _t0;
|
|
/* 0258C200 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C200 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C204 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C204 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C208 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0258C208 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C20C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C210 */ /* nop */
|
|
/* 0258C214 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258C218 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C21C */ Gambit_fn_0258C6C8(cpu);
|
|
/* 0258C220 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258C224 */ cpu->lr = cpu->r[0];
|
|
/* 0258C228 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258C22C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C230 */ return;
|
|
}
|
|
|
|
// fn_0258C234 @ 0x258c234
|
|
void Gambit_fn_0258C234(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258C234: ; // 0x258c234
|
|
/* 0258C234 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C238 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C238 */ cpu->r[1] = _t0;
|
|
/* 0258C23C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C23C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C240 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C244 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C244 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C248 */ _t3 = cpu->r[31] + 0x0000025Au;
|
|
/* 0258C248 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C24C */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258C250 */ /* nop */
|
|
/* 0258C254 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258C258 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258C25C */ Gambit_fn_0258C6C8(cpu);
|
|
/* 0258C260 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258C264 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258C268 */ cpu->lr = cpu->r[0];
|
|
/* 0258C26C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C270 */ return;
|
|
}
|
|
|
|
// fn_0258C238 @ 0x258c238
|
|
void Gambit_fn_0258C238(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258C238: ; // 0x258c238
|
|
/* 0258C238 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C238 */ cpu->r[1] = _t0;
|
|
/* 0258C23C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C23C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C240 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C244 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C244 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C248 */ _t3 = cpu->r[31] + 0x0000025Au;
|
|
/* 0258C248 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C24C */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258C250 */ /* nop */
|
|
/* 0258C254 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258C258 */ cpu->r[3] = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258C25C */ Gambit_fn_0258C6C8(cpu);
|
|
/* 0258C260 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258C264 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258C268 */ cpu->lr = cpu->r[0];
|
|
/* 0258C26C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C270 */ return;
|
|
}
|
|
|
|
// fn_0258C274 @ 0x258c274
|
|
void Gambit_fn_0258C274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258C274: ; // 0x258c274
|
|
/* 0258C274 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C278 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C278 */ cpu->r[1] = _t0;
|
|
/* 0258C27C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C27C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C280 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C280 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C284 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0258C284 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C288 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C28C */ /* nop */
|
|
/* 0258C290 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258C294 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C298 */ Gambit_fn_0258C8C0(cpu);
|
|
/* 0258C29C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258C2A0 */ cpu->lr = cpu->r[0];
|
|
/* 0258C2A4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C2A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258C2A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C2AC */ return;
|
|
}
|
|
|
|
// fn_0258C278 @ 0x258c278
|
|
void Gambit_fn_0258C278(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258C278: ; // 0x258c278
|
|
/* 0258C278 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C278 */ cpu->r[1] = _t0;
|
|
/* 0258C27C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C27C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C280 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C280 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C284 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0258C284 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C288 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C28C */ /* nop */
|
|
/* 0258C290 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258C294 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C298 */ Gambit_fn_0258C8C0(cpu);
|
|
/* 0258C29C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258C2A0 */ cpu->lr = cpu->r[0];
|
|
/* 0258C2A4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C2A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258C2A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C2AC */ return;
|
|
}
|
|
|
|
// fn_0258C2B0 @ 0x258c2b0
|
|
void Gambit_fn_0258C2B0(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_0258C2B0: ; // 0x258c2b0
|
|
/* 0258C2B0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0258C2B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C2B0 */ cpu->r[1] = _t0;
|
|
/* 0258C2B4 */ /* nop */
|
|
/* 0258C2B8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C2BC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0258C2BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258C2C0 */ cpu->r[29] = cpu->r[6];
|
|
/* 0258C2C4 */ cpu->r[28] = cpu->r[3];
|
|
/* 0258C2C8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0258C2CC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0258C2CC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0258C2D0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0258C2D4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0258C2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0258C2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258C2DC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258C2DC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0258C2E0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C2E0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C2E0 */ if (_t6) goto L_0258C324; else goto L_0258C2E4;
|
|
L_0258C2E4: ; // 0x258c2e4
|
|
/* 0258C2E4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258C2E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258C2E8 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258C2EC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C2EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258C2F0 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0258C2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258C2F4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C2F8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258C2FC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C300 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258C304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258C308 */ cpu->r[0] = cpu->r[27];
|
|
/* 0258C30C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258C30C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258C30C */ if (_t11) goto L_0258C314; else goto L_0258C310;
|
|
L_0258C310: ; // 0x258c310
|
|
/* 0258C310 */ cpu->r[0] = 0x00000001u;
|
|
L_0258C314: ; // 0x258c314
|
|
/* 0258C314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258C318 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C318 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258C318 */ if (_t13) goto L_0258C324; else goto L_0258C31C;
|
|
L_0258C31C: ; // 0x258c31c
|
|
/* 0258C31C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0258C31C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0258C320 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0258C320 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0258C324: ; // 0x258c324
|
|
/* 0258C324 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0258C324 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C328 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258C32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258C330 */ cpu->r[12] = cpu->r[0];
|
|
/* 0258C334 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258C334 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258C334 */ if (_t18) goto L_0258C338; else goto L_0258C35C;
|
|
L_0258C338: ; // 0x258c338
|
|
/* 0258C338 */ cpu->ctr = cpu->r[7];
|
|
/* 0258C33C */ cpu->r[10] = 0x00000000u;
|
|
L_0258C340: ; // 0x258c340
|
|
/* 0258C340 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0258C340 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258C344 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0258C344 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0258C348 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0258C34C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0258C34C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0258C350 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0258C354 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0258C354 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0258C358 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258C358 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258C358 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0258C358 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0258C358 */ if (_t25) goto L_0258C340; else goto L_0258C35C;
|
|
L_0258C35C: ; // 0x258c35c
|
|
/* 0258C35C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258C35C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0258C360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258C364 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C364 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0258C364 */ if (_t28) goto L_0258C3A8; else goto L_0258C368;
|
|
L_0258C368: ; // 0x258c368
|
|
/* 0258C368 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258C368 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258C36C */ Gambit_fn_02826F20(cpu);
|
|
/* 0258C370 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258C374 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0258C374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258C378 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C37C */ cpu->r[5] = 0x00000004u;
|
|
/* 0258C380 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C384 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258C388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258C38C */ cpu->r[11] = cpu->r[27];
|
|
/* 0258C390 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258C390 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0258C390 */ if (_t33) goto L_0258C398; else goto L_0258C394;
|
|
L_0258C394: ; // 0x258c394
|
|
/* 0258C394 */ cpu->r[11] = 0x00000001u;
|
|
L_0258C398: ; // 0x258c398
|
|
/* 0258C398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258C39C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C39C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0258C39C */ if (_t35) goto L_0258C3A8; else goto L_0258C3A0;
|
|
L_0258C3A0: ; // 0x258c3a0
|
|
/* 0258C3A0 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0258C3A0 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0258C3A4 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0258C3A4 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0258C3A8: ; // 0x258c3a8
|
|
/* 0258C3A8 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0258C3A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258C3AC */ cpu->r[0] = 0x00000000u;
|
|
/* 0258C3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0258C3B4 */ cpu->r[12] = cpu->r[0];
|
|
/* 0258C3B8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258C3B8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0258C3B8 */ if (_t40) goto L_0258C3BC; else goto L_0258C3E0;
|
|
L_0258C3BC: ; // 0x258c3bc
|
|
/* 0258C3BC */ cpu->ctr = cpu->r[6];
|
|
/* 0258C3C0 */ cpu->r[9] = 0x00000000u;
|
|
L_0258C3C4: ; // 0x258c3c4
|
|
/* 0258C3C4 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0258C3C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258C3C8 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0258C3C8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0258C3CC */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0258C3D0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0258C3D0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0258C3D4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0258C3D8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0258C3D8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0258C3DC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258C3DC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258C3DC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0258C3DC */ _t47 = _t46 & 0x00000001u;
|
|
/* 0258C3DC */ if (_t47) goto L_0258C3C4; else goto L_0258C3E0;
|
|
L_0258C3E0: ; // 0x258c3e0
|
|
/* 0258C3E0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258C3E0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0258C3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258C3E8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C3E8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0258C3E8 */ if (_t50) goto L_0258C42C; else goto L_0258C3EC;
|
|
L_0258C3EC: ; // 0x258c3ec
|
|
/* 0258C3EC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258C3EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0258C3F0 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258C3F4 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C3F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0258C3F8 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0258C3F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258C3FC */ cpu->ctr = cpu->r[0];
|
|
/* 0258C400 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258C404 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258C40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258C410 */ cpu->r[10] = cpu->r[27];
|
|
/* 0258C414 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258C414 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0258C414 */ if (_t55) goto L_0258C41C; else goto L_0258C418;
|
|
L_0258C418: ; // 0x258c418
|
|
/* 0258C418 */ cpu->r[10] = 0x00000001u;
|
|
L_0258C41C: ; // 0x258c41c
|
|
/* 0258C41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258C420 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C420 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0258C420 */ if (_t57) goto L_0258C42C; else goto L_0258C424;
|
|
L_0258C424: ; // 0x258c424
|
|
/* 0258C424 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0258C424 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0258C428 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0258C428 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0258C42C: ; // 0x258c42c
|
|
/* 0258C42C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0258C42C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258C430 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258C434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258C438 */ cpu->r[5] = cpu->r[0];
|
|
/* 0258C43C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258C43C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0258C43C */ if (_t62) goto L_0258C440; else goto L_0258C464;
|
|
L_0258C440: ; // 0x258c440
|
|
/* 0258C440 */ cpu->ctr = cpu->r[12];
|
|
/* 0258C444 */ cpu->r[8] = 0x00000000u;
|
|
L_0258C448: ; // 0x258c448
|
|
/* 0258C448 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0258C448 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258C44C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0258C44C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0258C450 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0258C454 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0258C454 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0258C458 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0258C45C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0258C45C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0258C460 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258C460 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258C460 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0258C460 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0258C460 */ if (_t69) goto L_0258C448; else goto L_0258C464;
|
|
L_0258C464: ; // 0x258c464
|
|
/* 0258C464 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0258C464 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0258C468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0258C46C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C46C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0258C46C */ if (_t72) goto L_0258C548; else goto L_0258C470;
|
|
L_0258C470: ; // 0x258c470
|
|
/* 0258C470 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258C470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0258C474 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258C478 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C478 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258C47C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0258C47C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258C480 */ cpu->ctr = cpu->r[12];
|
|
/* 0258C484 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258C488 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0258C48C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258C490 */ cpu->r[24] = cpu->r[3];
|
|
/* 0258C494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0258C498 */ cpu->r[30] = cpu->r[25];
|
|
/* 0258C49C */ cpu->r[7] = 0x00000000u;
|
|
/* 0258C4A0 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258C4A0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0258C4A0 */ if (_t77) goto L_0258C4A8; else goto L_0258C4A4;
|
|
L_0258C4A4: ; // 0x258c4a4
|
|
/* 0258C4A4 */ cpu->r[30] = 0x00000001u;
|
|
L_0258C4A8: ; // 0x258c4a8
|
|
/* 0258C4A8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0258C4AC */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0258C4B0 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0258C4B0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0258C4B4 */ cpu->r[23] = 0x00000018u;
|
|
L_0258C4B8: ; // 0x258c4b8
|
|
/* 0258C4B8 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0258C4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258C4BC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C4BC */ _t80 = _t79 & 0x00000001u;
|
|
/* 0258C4BC */ if (_t80) goto L_0258C52C; else goto L_0258C4C0;
|
|
L_0258C4C0: ; // 0x258c4c0
|
|
/* 0258C4C0 */ cpu->r[26] = cpu->r[27];
|
|
/* 0258C4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0258C4C4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C4C4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0258C4C4 */ if (_t82) goto L_0258C4C8; else goto L_0258C4D8;
|
|
L_0258C4C8: ; // 0x258c4c8
|
|
/* 0258C4C8 */ cpu->r[3] = 0x00000024u;
|
|
/* 0258C4CC */ Gambit_fn_02801A78(cpu);
|
|
/* 0258C4D0 */ cpu->r[26] = cpu->r[3];
|
|
/* 0258C4D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0258C4D4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C4D4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0258C4D4 */ if (_t84) goto L_0258C520; else goto L_0258C4D8;
|
|
L_0258C4D8: ; // 0x258c4d8
|
|
/* 0258C4D8 */ cpu->r[11] = cpu->r[26];
|
|
/* 0258C4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258C4DC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C4DC */ _t86 = _t85 & 0x00000001u;
|
|
/* 0258C4DC */ if (_t86) goto L_0258C4E0; else goto L_0258C4F0;
|
|
L_0258C4E0: ; // 0x258c4e0
|
|
/* 0258C4E0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0258C4E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258C4E8 */ cpu->r[11] = cpu->r[3];
|
|
/* 0258C4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258C4EC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C4EC */ _t88 = _t87 & 0x00000001u;
|
|
/* 0258C4EC */ if (_t88) goto L_0258C50C; else goto L_0258C4F0;
|
|
L_0258C4F0: ; // 0x258c4f0
|
|
/* 0258C4F0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258C4F4 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0258C4F4 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0258C4F8 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0258C4FC */ cpu->r[5] = cpu->r[5] + 0x00002958u;
|
|
/* 0258C500 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0258C500 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0258C504 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0258C504 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0258C508 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0258C508 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0258C50C: ; // 0x258c50c
|
|
/* 0258C50C */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258C510 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0258C510 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0258C514 */ cpu->r[6] = cpu->r[6] + 0x00002970u;
|
|
/* 0258C518 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0258C518 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0258C51C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0258C51C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0258C520: ; // 0x258c520
|
|
/* 0258C520 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258C524 */ cpu->r[0] = cpu->r[0] + 0x00002988u;
|
|
/* 0258C528 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0258C528 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0258C52C: ; // 0x258c52c
|
|
/* 0258C52C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0258C52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258C530 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0258C534 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C534 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0258C534 */ if (_t98) goto L_0258C538; else goto L_0258C4B8;
|
|
L_0258C538: ; // 0x258c538
|
|
/* 0258C538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0258C53C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C53C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0258C53C */ if (_t100) goto L_0258C548; else goto L_0258C540;
|
|
L_0258C540: ; // 0x258c540
|
|
/* 0258C540 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0258C540 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0258C544 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0258C544 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0258C548: ; // 0x258c548
|
|
/* 0258C548 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0258C548 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0258C54C */ /* nop */
|
|
/* 0258C550 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0258C550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0258C554 */ cpu->lr = cpu->r[0];
|
|
/* 0258C558 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0258C55C */ return;
|
|
}
|
|
|
|
// fn_0258C560 @ 0x258c560
|
|
void Gambit_fn_0258C560(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_0258C560: ; // 0x258c560
|
|
/* 0258C560 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0258C560 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258C564 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0258C564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258C568 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0258C568 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258C56C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0258C570 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0258C570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258C574 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C574 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258C574 */ if (_t5) goto L_0258C578; else goto L_0258C580;
|
|
L_0258C578: ; // 0x258c578
|
|
/* 0258C578 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C57C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0258C580: ; // 0x258c580
|
|
/* 0258C580 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0258C580 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258C584 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0258C584 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258C588 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0258C588 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0258C58C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0258C58C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0258C590 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0258C590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258C594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0258C598 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0258C598 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C59C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C59C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258C59C */ if (_t13) goto L_0258C5A0; else goto L_0258C5A8;
|
|
L_0258C5A0: ; // 0x258c5a0
|
|
/* 0258C5A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C5A4 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0258C5A8: ; // 0x258c5a8
|
|
/* 0258C5A8 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0258C5A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258C5AC */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0258C5AC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0258C5B0 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0258C5B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C5B4 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0258C5B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0258C5B8 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0258C5B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258C5BC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0258C5BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0258C5C0 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0258C5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258C5C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0258C5C8 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0258C5C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258C5CC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C5CC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258C5CC */ if (_t23) goto L_0258C5D0; else goto L_0258C5D8;
|
|
L_0258C5D0: ; // 0x258c5d0
|
|
/* 0258C5D0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C5D4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0258C5D8: ; // 0x258c5d8
|
|
/* 0258C5D8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0258C5D8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0258C5DC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0258C5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258C5E0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C5E0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0258C5E4 */ return;
|
|
}
|
|
|
|
// fn_0258C5E8 @ 0x258c5e8
|
|
void Gambit_fn_0258C5E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258C5E8: ; // 0x258c5e8
|
|
/* 0258C5E8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C5EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258C5F0 */ cpu->r[7] = 0x02590000u;
|
|
/* 0258C5F4 */ cpu->r[6] = 0x02590000u;
|
|
/* 0258C5F8 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0258C5FC */ cpu->r[7] = cpu->r[7] + 0xFFFFBF5Cu;
|
|
/* 0258C600 */ cpu->r[6] = cpu->r[6] + 0xFFFFBF5Cu;
|
|
/* 0258C604 */ cpu->r[10] = cpu->r[10] + 0x00006D38u;
|
|
/* 0258C608 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258C608 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258C60C */ cpu->r[0] = 0x101C0000u;
|
|
/* 0258C610 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C610 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258C610 */ cpu->r[1] = _t1;
|
|
/* 0258C614 */ cpu->r[0] = cpu->r[0] + 0x00006D34u;
|
|
/* 0258C618 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0258C618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258C61C */ cpu->r[8] = 0x00000000u;
|
|
/* 0258C620 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0258C620 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258C624 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C628 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C628 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0258C62C */ Gambit_fn_02791B10(cpu);
|
|
/* 0258C630 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258C634 */ cpu->lr = cpu->r[0];
|
|
/* 0258C638 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C63C */ return;
|
|
}
|
|
|
|
// fn_0258C610 @ 0x258c610
|
|
void Gambit_fn_0258C610(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0258C610: ; // 0x258c610
|
|
/* 0258C610 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C610 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C610 */ cpu->r[1] = _t0;
|
|
/* 0258C614 */ cpu->r[0] = cpu->r[0] + 0x00006D34u;
|
|
/* 0258C618 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0258C618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258C61C */ cpu->r[8] = 0x00000000u;
|
|
/* 0258C620 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258C620 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C624 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C628 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C628 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0258C62C */ Gambit_fn_02791B10(cpu);
|
|
/* 0258C630 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258C634 */ cpu->lr = cpu->r[0];
|
|
/* 0258C638 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C63C */ return;
|
|
}
|
|
|
|
// fn_0258C640 @ 0x258c640
|
|
void Gambit_fn_0258C640(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_0258C640: ; // 0x258c640
|
|
/* 0258C640 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C640 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258C644 */ /* nop */
|
|
/* 0258C648 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 0258C648 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258C64C */ cpu->r[7] = cpu->r[0];
|
|
/* 0258C650 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0258C654 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0258C654 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258C658 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C658 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258C658 */ if (_t4) goto L_0258C65C; else goto L_0258C674;
|
|
L_0258C65C: ; // 0x258c65c
|
|
/* 0258C65C */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C660 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0258C664 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258C664 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258C668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258C66C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C66C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258C66C */ if (_t7) goto L_0258C670; else goto L_0258C680;
|
|
L_0258C670: ; // 0x258c670
|
|
/* 0258C670 */ return;
|
|
L_0258C674: ; // 0x258c674
|
|
/* 0258C674 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C674 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258C678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258C67C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C67C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258C67C */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258C67C */ goto L_0258C680;
|
|
L_0258C680: ; // 0x258c680
|
|
/* 0258C680 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0258C684 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258C684 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C688 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C688 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258C688 */ if (_t13) goto L_0258C68C; else goto L_0258C694;
|
|
L_0258C68C: ; // 0x258c68c
|
|
/* 0258C68C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C690 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258C694: ; // 0x258c694
|
|
/* 0258C694 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C694 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258C698 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258C698 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258C69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258C6A0 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C6A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C6A4 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0258C6A8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C6A8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258C6A8 */ if (_t18) goto L_0258C6C0; else goto L_0258C6AC;
|
|
L_0258C6AC: ; // 0x258c6ac
|
|
/* 0258C6AC */ /* nop */
|
|
/* 0258C6B0 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258C6B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258C6B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C6B8 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0258C6BC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C6BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258C6C0: ; // 0x258c6c0
|
|
/* 0258C6C0 */ cpu->ctr = cpu->r[11];
|
|
/* 0258C6C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258C6C8 @ 0x258c6c8
|
|
void Gambit_fn_0258C6C8(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_0258C6C8: ; // 0x258c6c8
|
|
/* 0258C6C8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258C6CC */ /* nop */
|
|
/* 0258C6D0 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0258C6D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258C6D4 */ cpu->r[8] = cpu->r[0];
|
|
/* 0258C6D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0258C6DC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0258C6DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258C6E0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C6E0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258C6E0 */ if (_t4) goto L_0258C6E4; else goto L_0258C6FC;
|
|
L_0258C6E4: ; // 0x258c6e4
|
|
/* 0258C6E4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C6E8 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0258C6EC */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258C6EC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258C6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C6F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C6F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258C6F4 */ if (_t7) goto L_0258C6F8; else goto L_0258C708;
|
|
L_0258C6F8: ; // 0x258c6f8
|
|
/* 0258C6F8 */ return;
|
|
L_0258C6FC: ; // 0x258c6fc
|
|
/* 0258C6FC */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C6FC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258C700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C704 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C704 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258C704 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258C704 */ goto L_0258C708;
|
|
L_0258C708: ; // 0x258c708
|
|
/* 0258C708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0258C70C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258C70C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C710 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C710 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258C710 */ if (_t13) goto L_0258C714; else goto L_0258C71C;
|
|
L_0258C714: ; // 0x258c714
|
|
/* 0258C714 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C718 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258C71C: ; // 0x258c71c
|
|
/* 0258C71C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C71C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258C720 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258C720 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258C724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C728 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C728 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C72C */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0258C730 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C730 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258C730 */ if (_t18) goto L_0258C748; else goto L_0258C734;
|
|
L_0258C734: ; // 0x258c734
|
|
/* 0258C734 */ /* nop */
|
|
/* 0258C738 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258C738 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258C73C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C740 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0258C744 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258C748: ; // 0x258c748
|
|
/* 0258C748 */ cpu->ctr = cpu->r[11];
|
|
/* 0258C74C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258C750 @ 0x258c750
|
|
void Gambit_fn_0258C750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258C750: ; // 0x258c750
|
|
/* 0258C750 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C754 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C754 */ cpu->r[1] = _t0;
|
|
/* 0258C758 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258C758 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258C75C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C75C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258C760 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258C764 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C764 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258C768 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258C768 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258C76C */ /* nop */
|
|
/* 0258C770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0258C774 */ cpu->r[31] = cpu->r[4];
|
|
/* 0258C778 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C778 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C778 */ if (_t6) goto L_0258C77C; else goto L_0258C790;
|
|
L_0258C77C: ; // 0x258c77c
|
|
/* 0258C77C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0258C77C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258C780 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0258C780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258C784 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C788 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258C78C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258C790: ; // 0x258c790
|
|
/* 0258C790 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258C794 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258C798 */ Gambit_fn_0258C640(cpu);
|
|
/* 0258C79C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258C7A0 */ /* nop */
|
|
/* 0258C7A4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258C7A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258C7AC */ Gambit_fn_0258C6C8(cpu);
|
|
/* 0258C7B0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258C7B4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258C7B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258C7B8 */ cpu->lr = cpu->r[0];
|
|
/* 0258C7BC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C7BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C7C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C7C4 */ return;
|
|
}
|
|
|
|
// fn_0258C754 @ 0x258c754
|
|
void Gambit_fn_0258C754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258C754: ; // 0x258c754
|
|
/* 0258C754 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C754 */ cpu->r[1] = _t0;
|
|
/* 0258C758 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258C758 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258C75C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C75C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258C760 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258C764 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C764 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258C768 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258C768 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258C76C */ /* nop */
|
|
/* 0258C770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0258C774 */ cpu->r[31] = cpu->r[4];
|
|
/* 0258C778 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C778 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C778 */ if (_t6) goto L_0258C77C; else goto L_0258C790;
|
|
L_0258C77C: ; // 0x258c77c
|
|
/* 0258C77C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0258C77C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258C780 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0258C780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258C784 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C788 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258C78C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258C790: ; // 0x258c790
|
|
/* 0258C790 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258C794 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258C798 */ Gambit_fn_0258C640(cpu);
|
|
/* 0258C79C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258C7A0 */ /* nop */
|
|
/* 0258C7A4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258C7A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258C7AC */ Gambit_fn_0258C6C8(cpu);
|
|
/* 0258C7B0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258C7B4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258C7B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258C7B8 */ cpu->lr = cpu->r[0];
|
|
/* 0258C7BC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C7BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C7C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C7C4 */ return;
|
|
}
|
|
|
|
// fn_0258C7C8 @ 0x258c7c8
|
|
void Gambit_fn_0258C7C8(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_0258C7C8: ; // 0x258c7c8
|
|
/* 0258C7C8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C7C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258C7CC */ /* nop */
|
|
/* 0258C7D0 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0258C7D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258C7D4 */ cpu->r[8] = cpu->r[0];
|
|
/* 0258C7D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0258C7DC */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0258C7DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258C7E0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C7E0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258C7E0 */ if (_t4) goto L_0258C7E4; else goto L_0258C7FC;
|
|
L_0258C7E4: ; // 0x258c7e4
|
|
/* 0258C7E4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C7E8 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0258C7EC */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258C7EC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258C7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C7F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C7F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258C7F4 */ if (_t7) goto L_0258C7F8; else goto L_0258C808;
|
|
L_0258C7F8: ; // 0x258c7f8
|
|
/* 0258C7F8 */ return;
|
|
L_0258C7FC: ; // 0x258c7fc
|
|
/* 0258C7FC */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C7FC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258C800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C804 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C804 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258C804 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258C804 */ goto L_0258C808;
|
|
L_0258C808: ; // 0x258c808
|
|
/* 0258C808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0258C80C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258C80C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C810 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C810 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258C810 */ if (_t13) goto L_0258C814; else goto L_0258C81C;
|
|
L_0258C814: ; // 0x258c814
|
|
/* 0258C814 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C818 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258C81C: ; // 0x258c81c
|
|
/* 0258C81C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C81C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258C820 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258C820 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258C824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C828 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C828 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C82C */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0258C830 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C830 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258C830 */ if (_t18) goto L_0258C848; else goto L_0258C834;
|
|
L_0258C834: ; // 0x258c834
|
|
/* 0258C834 */ /* nop */
|
|
/* 0258C838 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258C838 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258C83C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C840 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0258C844 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C844 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258C848: ; // 0x258c848
|
|
/* 0258C848 */ cpu->ctr = cpu->r[11];
|
|
/* 0258C84C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258C850 @ 0x258c850
|
|
void Gambit_fn_0258C850(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0258C850: ; // 0x258c850
|
|
/* 0258C850 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C854 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C854 */ cpu->r[1] = _t0;
|
|
/* 0258C858 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C858 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C85C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C860 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C860 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C864 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0258C864 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C868 */ cpu->r[12] = 0x00000000u;
|
|
/* 0258C86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C870 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0258C870 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0258C874 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C874 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C874 */ if (_t6) goto L_0258C89C; else goto L_0258C878;
|
|
L_0258C878: ; // 0x258c878
|
|
/* 0258C878 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258C878 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0258C87C */ /* nop */
|
|
/* 0258C880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258C884 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C884 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258C884 */ if (_t9) goto L_0258C888; else goto L_0258C89C;
|
|
L_0258C888: ; // 0x258c888
|
|
/* 0258C888 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0258C888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258C88C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0258C88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C890 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C894 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258C89C: ; // 0x258c89c
|
|
/* 0258C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C8A0 */ Gambit_fn_0258C7C8(cpu);
|
|
/* 0258C8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C8A8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0258C8AC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258C8B0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C8B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258C8B4 */ cpu->lr = cpu->r[0];
|
|
/* 0258C8B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C8BC */ return;
|
|
}
|
|
|
|
// fn_0258C854 @ 0x258c854
|
|
void Gambit_fn_0258C854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0258C854: ; // 0x258c854
|
|
/* 0258C854 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C854 */ cpu->r[1] = _t0;
|
|
/* 0258C858 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C858 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C85C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C860 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C860 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C864 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0258C864 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C868 */ cpu->r[12] = 0x00000000u;
|
|
/* 0258C86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C870 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0258C870 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0258C874 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C874 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C874 */ if (_t6) goto L_0258C89C; else goto L_0258C878;
|
|
L_0258C878: ; // 0x258c878
|
|
/* 0258C878 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258C878 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0258C87C */ /* nop */
|
|
/* 0258C880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258C884 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C884 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258C884 */ if (_t9) goto L_0258C888; else goto L_0258C89C;
|
|
L_0258C888: ; // 0x258c888
|
|
/* 0258C888 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0258C888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258C88C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0258C88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C890 */ cpu->ctr = cpu->r[0];
|
|
/* 0258C894 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258C89C: ; // 0x258c89c
|
|
/* 0258C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C8A0 */ Gambit_fn_0258C7C8(cpu);
|
|
/* 0258C8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258C8A8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0258C8AC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258C8B0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C8B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258C8B4 */ cpu->lr = cpu->r[0];
|
|
/* 0258C8B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258C8BC */ return;
|
|
}
|
|
|
|
// fn_0258C8C0 @ 0x258c8c0
|
|
void Gambit_fn_0258C8C0(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_0258C8C0: ; // 0x258c8c0
|
|
/* 0258C8C0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C8C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258C8C4 */ /* nop */
|
|
/* 0258C8C8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0258C8C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258C8CC */ cpu->r[8] = cpu->r[0];
|
|
/* 0258C8D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0258C8D4 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0258C8D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258C8D8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C8D8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258C8D8 */ if (_t4) goto L_0258C8DC; else goto L_0258C8F4;
|
|
L_0258C8DC: ; // 0x258c8dc
|
|
/* 0258C8DC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C8E0 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0258C8E4 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258C8E4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258C8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C8EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C8EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258C8EC */ if (_t7) goto L_0258C8F0; else goto L_0258C900;
|
|
L_0258C8F0: ; // 0x258c8f0
|
|
/* 0258C8F0 */ return;
|
|
L_0258C8F4: ; // 0x258c8f4
|
|
/* 0258C8F4 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C8F4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258C8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C8FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C8FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258C8FC */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258C8FC */ goto L_0258C900;
|
|
L_0258C900: ; // 0x258c900
|
|
/* 0258C900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0258C904 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258C904 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C908 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C908 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258C908 */ if (_t13) goto L_0258C90C; else goto L_0258C914;
|
|
L_0258C90C: ; // 0x258c90c
|
|
/* 0258C90C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C910 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258C914: ; // 0x258c914
|
|
/* 0258C914 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C914 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258C918 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258C918 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258C91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C920 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C920 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C924 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0258C928 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C928 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258C928 */ if (_t18) goto L_0258C940; else goto L_0258C92C;
|
|
L_0258C92C: ; // 0x258c92c
|
|
/* 0258C92C */ /* nop */
|
|
/* 0258C930 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258C930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258C934 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C938 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0258C93C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C93C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258C940: ; // 0x258c940
|
|
/* 0258C940 */ cpu->ctr = cpu->r[11];
|
|
/* 0258C944 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258C948 @ 0x258c948
|
|
void Gambit_fn_0258C948(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_0258C948: ; // 0x258c948
|
|
/* 0258C948 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258C948 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258C94C */ /* nop */
|
|
/* 0258C950 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0258C950 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258C954 */ cpu->r[8] = cpu->r[0];
|
|
/* 0258C958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0258C95C */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0258C95C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258C960 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C960 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258C960 */ if (_t4) goto L_0258C964; else goto L_0258C97C;
|
|
L_0258C964: ; // 0x258c964
|
|
/* 0258C964 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C968 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0258C96C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258C96C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258C970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C974 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C974 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258C974 */ if (_t7) goto L_0258C978; else goto L_0258C988;
|
|
L_0258C978: ; // 0x258c978
|
|
/* 0258C978 */ return;
|
|
L_0258C97C: ; // 0x258c97c
|
|
/* 0258C97C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C97C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258C980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258C984 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C984 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258C984 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258C984 */ goto L_0258C988;
|
|
L_0258C988: ; // 0x258c988
|
|
/* 0258C988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0258C98C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258C98C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258C990 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C990 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258C990 */ if (_t13) goto L_0258C994; else goto L_0258C99C;
|
|
L_0258C994: ; // 0x258c994
|
|
/* 0258C994 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C998 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258C99C: ; // 0x258c99c
|
|
/* 0258C99C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258C99C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258C9A0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258C9A0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258C9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C9A8 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C9A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258C9AC */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0258C9B0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258C9B0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258C9B0 */ if (_t18) goto L_0258C9C8; else goto L_0258C9B4;
|
|
L_0258C9B4: ; // 0x258c9b4
|
|
/* 0258C9B4 */ /* nop */
|
|
/* 0258C9B8 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258C9B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258C9BC */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258C9C0 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0258C9C4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258C9C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258C9C8: ; // 0x258c9c8
|
|
/* 0258C9C8 */ cpu->ctr = cpu->r[11];
|
|
/* 0258C9CC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258C9D0 @ 0x258c9d0
|
|
void Gambit_fn_0258C9D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0258C9D0: ; // 0x258c9d0
|
|
/* 0258C9D0 */ cpu->r[0] = cpu->lr;
|
|
/* 0258C9D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C9D4 */ cpu->r[1] = _t0;
|
|
/* 0258C9D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C9D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C9DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C9E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C9E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C9E4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0258C9E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C9E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 0258C9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C9F0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0258C9F0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0258C9F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C9F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C9F4 */ if (_t6) goto L_0258CA1C; else goto L_0258C9F8;
|
|
L_0258C9F8: ; // 0x258c9f8
|
|
/* 0258C9F8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258C9F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0258C9FC */ /* nop */
|
|
/* 0258CA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258CA04 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CA04 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258CA04 */ if (_t9) goto L_0258CA08; else goto L_0258CA1C;
|
|
L_0258CA08: ; // 0x258ca08
|
|
/* 0258CA08 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0258CA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258CA0C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0258CA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258CA10 */ cpu->ctr = cpu->r[0];
|
|
/* 0258CA14 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258CA18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258CA1C: ; // 0x258ca1c
|
|
/* 0258CA1C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258CA20 */ Gambit_fn_0258C948(cpu);
|
|
/* 0258CA24 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258CA28 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0258CA2C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CA2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258CA30 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CA30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258CA34 */ cpu->lr = cpu->r[0];
|
|
/* 0258CA38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258CA3C */ return;
|
|
}
|
|
|
|
// fn_0258C9D4 @ 0x258c9d4
|
|
void Gambit_fn_0258C9D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0258C9D4: ; // 0x258c9d4
|
|
/* 0258C9D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258C9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258C9D4 */ cpu->r[1] = _t0;
|
|
/* 0258C9D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258C9D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258C9DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0258C9E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258C9E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258C9E4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0258C9E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258C9E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 0258C9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258C9F0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0258C9F0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0258C9F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258C9F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258C9F4 */ if (_t6) goto L_0258CA1C; else goto L_0258C9F8;
|
|
L_0258C9F8: ; // 0x258c9f8
|
|
/* 0258C9F8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258C9F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0258C9FC */ /* nop */
|
|
/* 0258CA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258CA04 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CA04 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258CA04 */ if (_t9) goto L_0258CA08; else goto L_0258CA1C;
|
|
L_0258CA08: ; // 0x258ca08
|
|
/* 0258CA08 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0258CA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258CA0C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0258CA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258CA10 */ cpu->ctr = cpu->r[0];
|
|
/* 0258CA14 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258CA18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258CA1C: ; // 0x258ca1c
|
|
/* 0258CA1C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258CA20 */ Gambit_fn_0258C948(cpu);
|
|
/* 0258CA24 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258CA28 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0258CA2C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CA2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258CA30 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CA30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258CA34 */ cpu->lr = cpu->r[0];
|
|
/* 0258CA38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258CA3C */ return;
|
|
}
|
|
|
|
// fn_0258CA40 @ 0x258ca40
|
|
void Gambit_fn_0258CA40(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_0258CA40: ; // 0x258ca40
|
|
/* 0258CA40 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258CA40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258CA44 */ /* nop */
|
|
/* 0258CA48 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 0258CA48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258CA4C */ cpu->r[7] = cpu->r[0];
|
|
/* 0258CA50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0258CA54 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0258CA54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258CA58 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258CA58 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258CA58 */ if (_t4) goto L_0258CA5C; else goto L_0258CA74;
|
|
L_0258CA5C: ; // 0x258ca5c
|
|
/* 0258CA5C */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258CA60 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0258CA64 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258CA64 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258CA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258CA6C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CA6C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258CA6C */ if (_t7) goto L_0258CA70; else goto L_0258CA80;
|
|
L_0258CA70: ; // 0x258ca70
|
|
/* 0258CA70 */ return;
|
|
L_0258CA74: ; // 0x258ca74
|
|
/* 0258CA74 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258CA74 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258CA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258CA7C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CA7C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258CA7C */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258CA7C */ goto L_0258CA80;
|
|
L_0258CA80: ; // 0x258ca80
|
|
/* 0258CA80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0258CA84 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258CA84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258CA88 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258CA88 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258CA88 */ if (_t13) goto L_0258CA8C; else goto L_0258CA94;
|
|
L_0258CA8C: ; // 0x258ca8c
|
|
/* 0258CA8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258CA90 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258CA94: ; // 0x258ca94
|
|
/* 0258CA94 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258CA94 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258CA98 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258CA98 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258CA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258CAA0 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258CAA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258CAA4 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0258CAA8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258CAA8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258CAA8 */ if (_t18) goto L_0258CAC0; else goto L_0258CAAC;
|
|
L_0258CAAC: ; // 0x258caac
|
|
/* 0258CAAC */ /* nop */
|
|
/* 0258CAB0 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258CAB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258CAB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258CAB8 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0258CABC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258CABC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258CAC0: ; // 0x258cac0
|
|
/* 0258CAC0 */ cpu->ctr = cpu->r[11];
|
|
/* 0258CAC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258CAC8 @ 0x258cac8
|
|
void Gambit_fn_0258CAC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258CAC8: ; // 0x258cac8
|
|
/* 0258CAC8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258CACC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258CACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258CACC */ cpu->r[1] = _t0;
|
|
/* 0258CAD0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CAD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258CAD4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CAD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258CAD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258CADC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CADC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258CAE0 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258CAE0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258CAE4 */ /* nop */
|
|
/* 0258CAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0258CAEC */ cpu->r[31] = cpu->r[4];
|
|
/* 0258CAF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CAF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258CAF0 */ if (_t6) goto L_0258CAF4; else goto L_0258CB08;
|
|
L_0258CAF4: ; // 0x258caf4
|
|
/* 0258CAF4 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0258CAF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258CAF8 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0258CAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258CAFC */ cpu->ctr = cpu->r[0];
|
|
/* 0258CB00 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258CB08: ; // 0x258cb08
|
|
/* 0258CB08 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB0C */ cpu->r[4] = cpu->r[31];
|
|
/* 0258CB10 */ Gambit_fn_0258CA40(cpu);
|
|
/* 0258CB14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB18 */ /* nop */
|
|
/* 0258CB1C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258CB20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB24 */ Gambit_fn_0258C8C0(cpu);
|
|
/* 0258CB28 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CB28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258CB2C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CB2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258CB30 */ cpu->lr = cpu->r[0];
|
|
/* 0258CB34 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CB34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258CB38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258CB3C */ return;
|
|
}
|
|
|
|
// fn_0258CACC @ 0x258cacc
|
|
void Gambit_fn_0258CACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258CACC: ; // 0x258cacc
|
|
/* 0258CACC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258CACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258CACC */ cpu->r[1] = _t0;
|
|
/* 0258CAD0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CAD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258CAD4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CAD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258CAD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258CADC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CADC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258CAE0 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258CAE0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258CAE4 */ /* nop */
|
|
/* 0258CAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0258CAEC */ cpu->r[31] = cpu->r[4];
|
|
/* 0258CAF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CAF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258CAF0 */ if (_t6) goto L_0258CAF4; else goto L_0258CB08;
|
|
L_0258CAF4: ; // 0x258caf4
|
|
/* 0258CAF4 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0258CAF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258CAF8 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0258CAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258CAFC */ cpu->ctr = cpu->r[0];
|
|
/* 0258CB00 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258CB08: ; // 0x258cb08
|
|
/* 0258CB08 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB0C */ cpu->r[4] = cpu->r[31];
|
|
/* 0258CB10 */ Gambit_fn_0258CA40(cpu);
|
|
/* 0258CB14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB18 */ /* nop */
|
|
/* 0258CB1C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258CB20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB24 */ Gambit_fn_0258C8C0(cpu);
|
|
/* 0258CB28 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CB28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258CB2C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CB2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258CB30 */ cpu->lr = cpu->r[0];
|
|
/* 0258CB34 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CB34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258CB38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258CB3C */ return;
|
|
}
|
|
|
|
// fn_0258CB40 @ 0x258cb40
|
|
void Gambit_fn_0258CB40(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_0258CB40: ; // 0x258cb40
|
|
/* 0258CB40 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0258CB40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258CB40 */ cpu->r[1] = _t0;
|
|
/* 0258CB44 */ cpu->r[0] = cpu->lr;
|
|
/* 0258CB48 */ /* nop */
|
|
/* 0258CB4C */ cpu->r[30] = cpu->r[5];
|
|
/* 0258CB50 */ cpu->r[26] = cpu->r[3];
|
|
/* 0258CB54 */ cpu->r[27] = cpu->r[7];
|
|
/* 0258CB58 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CB5C */ cpu->r[31] = cpu->r[6];
|
|
/* 0258CB60 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258CB60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258CB64 */ cpu->r[29] = cpu->r[4];
|
|
/* 0258CB68 */ cpu->r[4] = cpu->r[27];
|
|
/* 0258CB6C */ Gambit_fn_027DB318(cpu);
|
|
/* 0258CB70 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 0258CB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0258CB74 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CB74 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258CB74 */ if (_t3) goto L_0258CC08; else goto L_0258CB78;
|
|
L_0258CB78: ; // 0x258cb78
|
|
/* 0258CB78 */ cpu->r[5] = cpu->r[28];
|
|
/* 0258CB7C */ cpu->r[4] = cpu->r[29];
|
|
/* 0258CB80 */ cpu->r[3] = cpu->r[26];
|
|
/* 0258CB84 */ Gambit_fn_0258C5E8(cpu);
|
|
/* 0258CB88 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258CB88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258CB8C */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 0258CB8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258CB90 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 0258CB94 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0258CB98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0258CB9C */ cpu->r[25] = 0x00000000u;
|
|
/* 0258CBA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CBA0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258CBA0 */ if (_t7) goto L_0258CC08; else goto L_0258CBA4;
|
|
L_0258CBA4: ; // 0x258cba4
|
|
/* 0258CBA4 */ cpu->r[24] = 0x101C0000u;
|
|
L_0258CBA8: ; // 0x258cba8
|
|
/* 0258CBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258CBAC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CBAC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258CBAC */ if (_t9) goto L_0258CBC4; else goto L_0258CBB0;
|
|
L_0258CBB0: ; // 0x258cbb0
|
|
/* 0258CBB0 */ cpu->ctr = cpu->r[27];
|
|
/* 0258CBB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258CBB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258CBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258CBC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CBC0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258CBC0 */ if (_t11) goto L_0258CBF4; else goto L_0258CBC4;
|
|
L_0258CBC4: ; // 0x258cbc4
|
|
/* 0258CBC4 */ _t12 = cpu->r[24] + 0x00006D34u;
|
|
/* 0258CBC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258CBC8 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 0258CBCC */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 0258CBCC */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0258CBD0 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0258CBD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258CBD4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258CBD8 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0258CBD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258CBDC */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258CBE0 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 0258CBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258CBE4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258CBE8 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 0258CBE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258CBEC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0258CBF0 */ Gambit_fn_0258AD8C(cpu);
|
|
L_0258CBF4: ; // 0x258cbf4
|
|
/* 0258CBF4 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0258CBF8 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0258CBF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258CBFC */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0258CC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 0258CC04 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CC04 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258CC04 */ if (_t20) goto L_0258CC08; else goto L_0258CBA8;
|
|
L_0258CC08: ; // 0x258cc08
|
|
/* 0258CC08 */ cpu->r[3] = cpu->r[28];
|
|
/* 0258CC0C */ /* nop */
|
|
/* 0258CC10 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258CC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258CC14 */ cpu->lr = cpu->r[0];
|
|
/* 0258CC18 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0258CC1C */ return;
|
|
}
|
|
|
|
// fn_0258CC20 @ 0x258cc20
|
|
void Gambit_fn_0258CC20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258CC20: ; // 0x258cc20
|
|
/* 0258CC20 */ cpu->r[0] = cpu->lr;
|
|
/* 0258CC24 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258CC24 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258CC28 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CC2C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258CC2C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258CC2C */ cpu->r[1] = _t1;
|
|
/* 0258CC30 */ _t2 = cpu->r[12] + 0x00003468u;
|
|
/* 0258CC30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0258CC34 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258CC38 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0258CC38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258CC3C */ _t4 = cpu->r[12] + 0x00006338u;
|
|
/* 0258CC3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258CC3C */ cpu->r[12] = _t4;
|
|
/* 0258CC40 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 0258CC40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258CC44 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC44 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0258CC48 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CC48 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0258CC4C */ _t8 = cpu->r[12] + 0x00000008u;
|
|
/* 0258CC4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258CC50 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CC50 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0258CC54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC58 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CC58 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0258CC5C */ Gambit_fn_02981CB0(cpu);
|
|
/* 0258CC60 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258CC64 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC68 */ cpu->lr = cpu->r[0];
|
|
/* 0258CC6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258CC70 */ return;
|
|
}
|
|
|
|
// fn_0258CC2C @ 0x258cc2c
|
|
void Gambit_fn_0258CC2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0258CC2C: ; // 0x258cc2c
|
|
/* 0258CC2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258CC2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258CC2C */ cpu->r[1] = _t0;
|
|
/* 0258CC30 */ _t1 = cpu->r[12] + 0x00003468u;
|
|
/* 0258CC30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0258CC34 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258CC38 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 0258CC38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258CC3C */ _t3 = cpu->r[12] + 0x00006338u;
|
|
/* 0258CC3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258CC3C */ cpu->r[12] = _t3;
|
|
/* 0258CC40 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 0258CC40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258CC44 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC44 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 0258CC48 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CC48 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0258CC4C */ _t7 = cpu->r[12] + 0x00000008u;
|
|
/* 0258CC4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258CC50 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CC50 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 0258CC54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC58 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CC58 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0258CC5C */ Gambit_fn_02981CB0(cpu);
|
|
/* 0258CC60 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258CC64 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC68 */ cpu->lr = cpu->r[0];
|
|
/* 0258CC6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258CC70 */ return;
|
|
}
|
|
|
|
// fn_0258CC74 @ 0x258cc74
|
|
void Gambit_fn_0258CC74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258CC20: ; // 0x258cc20
|
|
/* 0258CC20 */ cpu->r[0] = cpu->lr;
|
|
/* 0258CC24 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258CC24 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258CC28 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CC2C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258CC2C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258CC2C */ cpu->r[1] = _t1;
|
|
/* 0258CC30 */ _t2 = cpu->r[12] + 0x00003468u;
|
|
/* 0258CC30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0258CC34 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258CC38 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0258CC38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258CC3C */ _t4 = cpu->r[12] + 0x00006338u;
|
|
/* 0258CC3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258CC3C */ cpu->r[12] = _t4;
|
|
/* 0258CC40 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 0258CC40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258CC44 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC44 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0258CC48 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CC48 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0258CC4C */ _t8 = cpu->r[12] + 0x00000008u;
|
|
/* 0258CC4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258CC50 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CC50 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0258CC54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC58 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CC58 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0258CC5C */ Gambit_fn_02981CB0(cpu);
|
|
/* 0258CC60 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258CC64 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258CC68 */ cpu->lr = cpu->r[0];
|
|
/* 0258CC6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258CC70 */ return;
|
|
L_0258CC74: ; // 0x258cc74
|
|
/* 0258CC74 */ cpu->r[3] = cpu->r[3] + 0xFFFFFDB4u;
|
|
/* 0258CC78 */ goto L_0258CC20;
|
|
}
|
|
|
|
// fn_0258CC7C @ 0x258cc7c
|
|
void Gambit_fn_0258CC7C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258CC7C: ; // 0x258cc7c
|
|
/* 0258CC7C */ cpu->r[3] = cpu->r[3] + 0xFFFFFDB4u;
|
|
/* 0258CC80 */ goto L_0258E4F0;
|
|
L_0258E4F0: ; // 0x258e4f0
|
|
/* 0258E4F0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258E4F4 */ _t0 = cpu->r[12] + 0x0000354Cu;
|
|
/* 0258E4F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0258E4F8 */ return;
|
|
}
|
|
|
|
// fn_0258CC84 @ 0x258cc84
|
|
void Gambit_fn_0258CC84(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, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
double _ft31, _ft32;
|
|
|
|
L_0258CC84: ; // 0x258cc84
|
|
/* 0258CC84 */ cpu->r[0] = cpu->lr;
|
|
/* 0258CC88 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0258CC88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258CC88 */ cpu->r[1] = _t0;
|
|
/* 0258CC8C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 0258CC8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258CC90 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0258CC90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258CC94 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258CC98 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258CC98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258CC9C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 0258CC9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258CCA0 */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 0258CCA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258CCA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258CCA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CCAC */ Gambit_fn_0261F774(cpu);
|
|
/* 0258CCB0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258CCB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CCB8 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258CCBC */ _t6 = cpu->r[3] + 0x00000244u;
|
|
/* 0258CCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258CCC0 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0258CCC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0258CCC4 */ _t8 = cpu->r[3] + 0x00000248u;
|
|
/* 0258CCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258CCC8 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0258CCC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0258CCCC */ _t10 = cpu->r[3] + 0x0000024Cu;
|
|
/* 0258CCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258CCD0 */ _t11 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258CCD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0258CCD4 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 0258CCD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0258CCD8 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0258CCD8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258CCDC */ /* nop */
|
|
/* 0258CCE0 */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 0258CCE4 */ /* nop */
|
|
/* 0258CCE8 */ /* nop */
|
|
/* 0258CCEC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CCEC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[10]);
|
|
/* 0258CCF0 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CCF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258CCF4 */ /* nop */
|
|
/* 0258CCF8 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 0258CCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258CCFC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CCFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258CD00 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CD00 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0258CD04 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CD04 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258CD08 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CD08 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0258CD0C */ cpu->f[0] = cpu->f[7] * cpu->f[7];
|
|
/* 0258CD10 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CD10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258CD14 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD14 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0258CD18 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[0]);
|
|
/* 0258CD1C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0258CD20 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258CD24 */ cpu->f[8] = fma(cpu->f[13], cpu->f[13], cpu->f[8]);
|
|
/* 0258CD28 */ _t24 = cpu->r[9] + 0x00003468u;
|
|
/* 0258CD28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0258CD2C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 0258CD30 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258CD30 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0258CD30 */ if (_t26) goto L_0258CD64; else goto L_0258CD34;
|
|
L_0258CD34: ; // 0x258cd34
|
|
/* 0258CD34 */ /* nop */
|
|
/* 0258CD38 */ /* nop */
|
|
/* 0258CD3C */ _t27 = cpu->r[31] + 0x00000070u;
|
|
/* 0258CD3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258CD40 */ /* nop */
|
|
/* 0258CD44 */ /* nop */
|
|
/* 0258CD48 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CD4C */ cpu->f[7] = fma(cpu->f[0], cpu->f[13], cpu->f[11]);
|
|
/* 0258CD50 */ _t28 = cpu->r[12] + 0x00003474u;
|
|
/* 0258CD50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0258CD54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[12]);
|
|
/* 0258CD58 */ /* nop */
|
|
/* 0258CD5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258CD60 */ goto L_0258CDC4;
|
|
L_0258CD64: ; // 0x258cd64
|
|
/* 0258CD64 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258CD68 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258CD6C */ _t29 = cpu->r[11] + 0x00003470u;
|
|
/* 0258CD6C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258CD70 */ _t30 = cpu->r[9] + 0x0000346Cu;
|
|
/* 0258CD70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0258CD74 */ _ft31 = sqrt(cpu->f[8]);
|
|
/* 0258CD74 */ _ft32 = (double)(int32_t)0x00000001u;
|
|
/* 0258CD74 */ cpu->f[9] = _ft32 / _ft31;
|
|
/* 0258CD78 */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 0258CD7C */ cpu->f[7] = cpu->f[9] * cpu->f[13];
|
|
/* 0258CD80 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[8], -(cpu->f[10]));
|
|
/* 0258CD84 */ cpu->f[9] = cpu->f[12] * cpu->f[7];
|
|
/* 0258CD88 */ /* nop */
|
|
/* 0258CD8C */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258CD90 */ /* nop */
|
|
/* 0258CD94 */ /* nop */
|
|
/* 0258CD98 */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 0258CD9C */ /* nop */
|
|
/* 0258CDA0 */ _t34 = cpu->r[31] + 0x00000070u;
|
|
/* 0258CDA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258CDA4 */ /* nop */
|
|
/* 0258CDA8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CDAC */ cpu->f[7] = fma(cpu->f[0], cpu->f[13], cpu->f[11]);
|
|
/* 0258CDB0 */ _t35 = cpu->r[12] + 0x00003474u;
|
|
/* 0258CDB0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258CDB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[12]);
|
|
/* 0258CDB8 */ /* nop */
|
|
/* 0258CDBC */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258CDC0 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CDC0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
L_0258CDC4: ; // 0x258cdc4
|
|
/* 0258CDC4 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258CDC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258CDC8 */ _t38 = cpu->r[1] + 0x00000030u;
|
|
/* 0258CDC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258CDCC */ cpu->lr = cpu->r[0];
|
|
/* 0258CDD0 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 0258CDD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258CDD4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0258CDD8 */ return;
|
|
}
|
|
|
|
// fn_0258CC88 @ 0x258cc88
|
|
void Gambit_fn_0258CC88(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, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
double _ft31, _ft32;
|
|
|
|
L_0258CC88: ; // 0x258cc88
|
|
/* 0258CC88 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0258CC88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258CC88 */ cpu->r[1] = _t0;
|
|
/* 0258CC8C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 0258CC8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258CC90 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0258CC90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258CC94 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258CC98 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258CC98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258CC9C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 0258CC9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258CCA0 */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 0258CCA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258CCA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258CCA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CCAC */ Gambit_fn_0261F774(cpu);
|
|
/* 0258CCB0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258CCB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CCB8 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258CCBC */ _t6 = cpu->r[3] + 0x00000244u;
|
|
/* 0258CCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258CCC0 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0258CCC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0258CCC4 */ _t8 = cpu->r[3] + 0x00000248u;
|
|
/* 0258CCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258CCC8 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0258CCC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0258CCCC */ _t10 = cpu->r[3] + 0x0000024Cu;
|
|
/* 0258CCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258CCD0 */ _t11 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258CCD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0258CCD4 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 0258CCD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0258CCD8 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0258CCD8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258CCDC */ /* nop */
|
|
/* 0258CCE0 */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 0258CCE4 */ /* nop */
|
|
/* 0258CCE8 */ /* nop */
|
|
/* 0258CCEC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CCEC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[10]);
|
|
/* 0258CCF0 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CCF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258CCF4 */ /* nop */
|
|
/* 0258CCF8 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 0258CCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258CCFC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CCFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258CD00 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CD00 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0258CD04 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CD04 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258CD08 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CD08 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0258CD0C */ cpu->f[0] = cpu->f[7] * cpu->f[7];
|
|
/* 0258CD10 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CD10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258CD14 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD14 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0258CD18 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[0]);
|
|
/* 0258CD1C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0258CD20 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258CD24 */ cpu->f[8] = fma(cpu->f[13], cpu->f[13], cpu->f[8]);
|
|
/* 0258CD28 */ _t24 = cpu->r[9] + 0x00003468u;
|
|
/* 0258CD28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0258CD2C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 0258CD30 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258CD30 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0258CD30 */ if (_t26) goto L_0258CD64; else goto L_0258CD34;
|
|
L_0258CD34: ; // 0x258cd34
|
|
/* 0258CD34 */ /* nop */
|
|
/* 0258CD38 */ /* nop */
|
|
/* 0258CD3C */ _t27 = cpu->r[31] + 0x00000070u;
|
|
/* 0258CD3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258CD40 */ /* nop */
|
|
/* 0258CD44 */ /* nop */
|
|
/* 0258CD48 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CD4C */ cpu->f[7] = fma(cpu->f[0], cpu->f[13], cpu->f[11]);
|
|
/* 0258CD50 */ _t28 = cpu->r[12] + 0x00003474u;
|
|
/* 0258CD50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0258CD54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[12]);
|
|
/* 0258CD58 */ /* nop */
|
|
/* 0258CD5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258CD60 */ goto L_0258CDC4;
|
|
L_0258CD64: ; // 0x258cd64
|
|
/* 0258CD64 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258CD68 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258CD6C */ _t29 = cpu->r[11] + 0x00003470u;
|
|
/* 0258CD6C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258CD70 */ _t30 = cpu->r[9] + 0x0000346Cu;
|
|
/* 0258CD70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0258CD74 */ _ft31 = sqrt(cpu->f[8]);
|
|
/* 0258CD74 */ _ft32 = (double)(int32_t)0x00000001u;
|
|
/* 0258CD74 */ cpu->f[9] = _ft32 / _ft31;
|
|
/* 0258CD78 */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 0258CD7C */ cpu->f[7] = cpu->f[9] * cpu->f[13];
|
|
/* 0258CD80 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[8], -(cpu->f[10]));
|
|
/* 0258CD84 */ cpu->f[9] = cpu->f[12] * cpu->f[7];
|
|
/* 0258CD88 */ /* nop */
|
|
/* 0258CD8C */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258CD90 */ /* nop */
|
|
/* 0258CD94 */ /* nop */
|
|
/* 0258CD98 */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 0258CD9C */ /* nop */
|
|
/* 0258CDA0 */ _t34 = cpu->r[31] + 0x00000070u;
|
|
/* 0258CDA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258CDA4 */ /* nop */
|
|
/* 0258CDA8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CDAC */ cpu->f[7] = fma(cpu->f[0], cpu->f[13], cpu->f[11]);
|
|
/* 0258CDB0 */ _t35 = cpu->r[12] + 0x00003474u;
|
|
/* 0258CDB0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258CDB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[12]);
|
|
/* 0258CDB8 */ /* nop */
|
|
/* 0258CDBC */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258CDC0 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CDC0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
L_0258CDC4: ; // 0x258cdc4
|
|
/* 0258CDC4 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258CDC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258CDC8 */ _t38 = cpu->r[1] + 0x00000030u;
|
|
/* 0258CDC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258CDCC */ cpu->lr = cpu->r[0];
|
|
/* 0258CDD0 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 0258CDD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258CDD4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0258CDD8 */ return;
|
|
}
|
|
|
|
// fn_0258CDDC @ 0x258cddc
|
|
void Gambit_fn_0258CDDC(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, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
double _ft31, _ft32;
|
|
|
|
L_0258CC84: ; // 0x258cc84
|
|
/* 0258CC84 */ cpu->r[0] = cpu->lr;
|
|
/* 0258CC88 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0258CC88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258CC88 */ cpu->r[1] = _t0;
|
|
/* 0258CC8C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 0258CC8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258CC90 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0258CC90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258CC94 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258CC98 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258CC98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258CC9C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 0258CC9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258CCA0 */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 0258CCA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258CCA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258CCA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CCAC */ Gambit_fn_0261F774(cpu);
|
|
/* 0258CCB0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258CCB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CCB8 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0258CCBC */ _t6 = cpu->r[3] + 0x00000244u;
|
|
/* 0258CCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258CCC0 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0258CCC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0258CCC4 */ _t8 = cpu->r[3] + 0x00000248u;
|
|
/* 0258CCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258CCC8 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0258CCC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0258CCCC */ _t10 = cpu->r[3] + 0x0000024Cu;
|
|
/* 0258CCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258CCD0 */ _t11 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258CCD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0258CCD4 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 0258CCD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0258CCD8 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0258CCD8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258CCDC */ /* nop */
|
|
/* 0258CCE0 */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 0258CCE4 */ /* nop */
|
|
/* 0258CCE8 */ /* nop */
|
|
/* 0258CCEC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CCEC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[10]);
|
|
/* 0258CCF0 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CCF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258CCF4 */ /* nop */
|
|
/* 0258CCF8 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 0258CCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258CCFC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0258CCFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258CD00 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CD00 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0258CD04 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258CD04 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258CD08 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CD08 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0258CD0C */ cpu->f[0] = cpu->f[7] * cpu->f[7];
|
|
/* 0258CD10 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CD10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258CD14 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD14 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0258CD18 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[0]);
|
|
/* 0258CD1C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0258CD20 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258CD24 */ cpu->f[8] = fma(cpu->f[13], cpu->f[13], cpu->f[8]);
|
|
/* 0258CD28 */ _t24 = cpu->r[9] + 0x00003468u;
|
|
/* 0258CD28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0258CD2C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 0258CD30 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258CD30 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0258CD30 */ if (_t26) goto L_0258CD64; else goto L_0258CD34;
|
|
L_0258CD34: ; // 0x258cd34
|
|
/* 0258CD34 */ /* nop */
|
|
/* 0258CD38 */ /* nop */
|
|
/* 0258CD3C */ _t27 = cpu->r[31] + 0x00000070u;
|
|
/* 0258CD3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258CD40 */ /* nop */
|
|
/* 0258CD44 */ /* nop */
|
|
/* 0258CD48 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CD4C */ cpu->f[7] = fma(cpu->f[0], cpu->f[13], cpu->f[11]);
|
|
/* 0258CD50 */ _t28 = cpu->r[12] + 0x00003474u;
|
|
/* 0258CD50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0258CD54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[12]);
|
|
/* 0258CD58 */ /* nop */
|
|
/* 0258CD5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258CD60 */ goto L_0258CDC4;
|
|
L_0258CD64: ; // 0x258cd64
|
|
/* 0258CD64 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258CD68 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258CD6C */ _t29 = cpu->r[11] + 0x00003470u;
|
|
/* 0258CD6C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258CD70 */ _t30 = cpu->r[9] + 0x0000346Cu;
|
|
/* 0258CD70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0258CD74 */ _ft31 = sqrt(cpu->f[8]);
|
|
/* 0258CD74 */ _ft32 = (double)(int32_t)0x00000001u;
|
|
/* 0258CD74 */ cpu->f[9] = _ft32 / _ft31;
|
|
/* 0258CD78 */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 0258CD7C */ cpu->f[7] = cpu->f[9] * cpu->f[13];
|
|
/* 0258CD80 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[8], -(cpu->f[10]));
|
|
/* 0258CD84 */ cpu->f[9] = cpu->f[12] * cpu->f[7];
|
|
/* 0258CD88 */ /* nop */
|
|
/* 0258CD8C */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CD8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258CD90 */ /* nop */
|
|
/* 0258CD94 */ /* nop */
|
|
/* 0258CD98 */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 0258CD9C */ /* nop */
|
|
/* 0258CDA0 */ _t34 = cpu->r[31] + 0x00000070u;
|
|
/* 0258CDA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258CDA4 */ /* nop */
|
|
/* 0258CDA8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CDAC */ cpu->f[7] = fma(cpu->f[0], cpu->f[13], cpu->f[11]);
|
|
/* 0258CDB0 */ _t35 = cpu->r[12] + 0x00003474u;
|
|
/* 0258CDB0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258CDB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[12]);
|
|
/* 0258CDB8 */ /* nop */
|
|
/* 0258CDBC */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258CDC0 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0258CDC0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
L_0258CDC4: ; // 0x258cdc4
|
|
/* 0258CDC4 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258CDC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258CDC8 */ _t38 = cpu->r[1] + 0x00000030u;
|
|
/* 0258CDC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258CDCC */ cpu->lr = cpu->r[0];
|
|
/* 0258CDD0 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 0258CDD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258CDD4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0258CDD8 */ return;
|
|
L_0258CDDC: ; // 0x258cddc
|
|
/* 0258CDDC */ cpu->r[3] = cpu->r[3] + 0xFFFFFDB4u;
|
|
/* 0258CDE0 */ goto L_0258CC84;
|
|
}
|
|
|
|
// fn_0258CDE4 @ 0x258cde4
|
|
void Gambit_fn_0258CDE4(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;
|
|
|
|
L_0258CDE4: ; // 0x258cde4
|
|
/* 0258CDE4 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0258CDE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258CDE4 */ cpu->r[1] = _t0;
|
|
/* 0258CDE8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258CDEC */ /* nop */
|
|
/* 0258CDF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258CDF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258CDF4 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258CDF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258CDF8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CDF8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258CDF8 */ if (_t3) goto L_0258CDFC; else goto L_0258CE0C;
|
|
L_0258CDFC: ; // 0x258cdfc
|
|
/* 0258CDFC */ cpu->r[3] = 0x000002D0u;
|
|
/* 0258CE00 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258CE04 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258CE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258CE08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CE08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258CE08 */ if (_t5) goto L_0258D160; else goto L_0258CE0C;
|
|
L_0258CE0C: ; // 0x258ce0c
|
|
/* 0258CE0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CE10 */ Gambit_fn_0258526C(cpu);
|
|
/* 0258CE14 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258CE18 */ cpu->r[28] = 0x00000000u;
|
|
/* 0258CE1C */ _t6 = cpu->r[12] + 0x00003478u;
|
|
/* 0258CE1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258CE20 */ cpu->r[6] = 0x02590000u;
|
|
/* 0258CE24 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258CE28 */ _t7 = cpu->r[30] + 0x00000250u;
|
|
/* 0258CE28 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[28]);
|
|
/* 0258CE2C */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258CE30 */ cpu->r[8] = cpu->r[8] + 0x000035A0u;
|
|
/* 0258CE34 */ _t8 = cpu->r[30] + 0x00000258u;
|
|
/* 0258CE34 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 0258CE38 */ cpu->r[10] = cpu->r[10] + 0x00003550u;
|
|
/* 0258CE3C */ cpu->r[6] = cpu->r[6] + 0xFFFFE530u;
|
|
/* 0258CE40 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 0258CE40 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0258CE44 */ cpu->r[5] = 0x00000010u;
|
|
/* 0258CE48 */ cpu->r[3] = cpu->r[30] + 0x0000025Cu;
|
|
/* 0258CE4C */ _t10 = cpu->r[30] + 0x0000024Cu;
|
|
/* 0258CE4C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0258CE50 */ cpu->r[4] = 0x00000003u;
|
|
/* 0258CE54 */ _t11 = cpu->r[30] + 0x00000254u;
|
|
/* 0258CE54 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 0258CE58 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0258CE5C */ cpu->r[0] = 0x00000003u;
|
|
/* 0258CE60 */ cpu->r[11] = cpu->r[30] + 0x0000024Cu;
|
|
/* 0258CE64 */ cpu->r[6] = 0x101F0000u;
|
|
/* 0258CE68 */ cpu->ctr = cpu->r[0];
|
|
/* 0258CE6C */ cpu->r[6] = cpu->r[6] + 0x00005BCCu;
|
|
L_0258CE70: ; // 0x258ce70
|
|
/* 0258CE70 */ _t12 = cpu->r[6] + 0x00000000u;
|
|
/* 0258CE70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258CE74 */ _t13 = cpu->r[11] + 0x00000010u;
|
|
/* 0258CE74 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0258CE74 */ cpu->r[11] = _t13;
|
|
/* 0258CE78 */ _t14 = cpu->r[6] + 0x00000004u;
|
|
/* 0258CE78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258CE7C */ _t15 = cpu->r[11] + 0x00000004u;
|
|
/* 0258CE7C */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 0258CE80 */ _t16 = cpu->r[6] + 0x00000008u;
|
|
/* 0258CE80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258CE84 */ _t17 = cpu->r[11] + 0x00000008u;
|
|
/* 0258CE84 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0258CE88 */ _t18 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0258CE88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258CE8C */ _t19 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0258CE8C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0258CE90 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258CE90 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258CE90 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 0258CE90 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258CE90 */ if (_t22) goto L_0258CE70; else goto L_0258CE94;
|
|
L_0258CE94: ; // 0x258ce94
|
|
/* 0258CE94 */ cpu->r[31] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0258CE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258CE98 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CE98 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0258CE98 */ if (_t24) goto L_0258CE9C; else goto L_0258CEAC;
|
|
L_0258CE9C: ; // 0x258ce9c
|
|
/* 0258CE9C */ cpu->r[3] = 0x00000038u;
|
|
/* 0258CEA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258CEA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258CEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258CEA8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CEA8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0258CEA8 */ if (_t26) goto L_0258CEDC; else goto L_0258CEAC;
|
|
L_0258CEAC: ; // 0x258ceac
|
|
/* 0258CEAC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258CEB0 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0258CEB4 */ cpu->r[10] = 0x10030000u;
|
|
/* 0258CEB8 */ cpu->r[10] = cpu->r[10] + 0xFFFF8038u;
|
|
/* 0258CEBC */ _t27 = cpu->r[31] + 0x00000004u;
|
|
/* 0258CEBC */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0258CEC0 */ _t28 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258CEC0 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 0258CEC4 */ _t29 = cpu->r[31] + 0x00000020u;
|
|
/* 0258CEC4 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]);
|
|
/* 0258CEC8 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 0258CEC8 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
/* 0258CECC */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 0258CECC */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
|
|
/* 0258CED0 */ _t32 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0258CED0 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 0258CED4 */ _t33 = cpu->r[31] + 0x00000030u;
|
|
/* 0258CED4 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 0258CED8 */ _t34 = cpu->r[31] + 0x00000034u;
|
|
/* 0258CED8 */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
L_0258CEDC: ; // 0x258cedc
|
|
/* 0258CEDC */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258CEE0 */ _t35 = cpu->r[10] + 0x00003468u;
|
|
/* 0258CEE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258CEE4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0258CEE8 */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0258CEEC */ cpu->r[0] = 0x00000001u;
|
|
/* 0258CEF0 */ _t36 = cpu->r[30] + 0x000002C4u;
|
|
/* 0258CEF0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 0258CEF4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0258CEF8 */ _t37 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258CEF8 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 0258CEFC */ cpu->r[6] = 0x00000000u;
|
|
/* 0258CF00 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CF00 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
|
|
/* 0258CF04 */ Gambit_fn_0258EEB0(cpu);
|
|
/* 0258CF08 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258CF0C */ cpu->r[4] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0258CF10 */ Gambit_fn_02000834(cpu);
|
|
/* 0258CF14 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258CF18 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258CF1C */ cpu->r[11] = cpu->r[11] + 0x00002DD0u;
|
|
/* 0258CF20 */ cpu->r[0] = cpu->r[0] + 0x00003488u;
|
|
/* 0258CF24 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CF24 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 0258CF28 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 0258CF28 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0258CF2C */ _t41 = cpu->r[30] + 0x000002A4u;
|
|
/* 0258CF2C */ cpu->r[26] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258CF30 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0258CF34 */ _t42 = cpu->r[26] + 0x00000000u;
|
|
/* 0258CF34 */ cpu->r[27] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258CF38 */ Gambit_fn_0258E4FC(cpu);
|
|
/* 0258CF3C */ cpu->r[31] = 0x10110000u;
|
|
/* 0258CF40 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 0258CF40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0258CF44 */ _t44 = cpu->r[31] + 0x00007399u;
|
|
/* 0258CF44 */ cpu->r[31] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0258CF48 */ _t45 = cpu->r[9] + 0x00000000u;
|
|
/* 0258CF48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 0258CF4C */ cpu->r[29] = 0x00000000u;
|
|
/* 0258CF50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0258CF54 */ cpu->r[0] = 0x00080000u;
|
|
/* 0258CF58 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CF58 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0258CF58 */ if (_t47) goto L_0258CF80; else goto L_0258CF5C;
|
|
L_0258CF5C: ; // 0x258cf5c
|
|
/* 0258CF5C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0258CF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0258CF64 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0258CF68 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258CF68 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0258CF68 */ if (_t49) goto L_0258CF7C; else goto L_0258CF6C;
|
|
L_0258CF6C: ; // 0x258cf6c
|
|
/* 0258CF6C */ _t50 = cpu->r[9] + 0x00000000u;
|
|
/* 0258CF6C */ cpu->r[6] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0258CF70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0258CF74 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258CF74 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0258CF74 */ if (_t52) goto L_0258CF78; else goto L_0258CF5C;
|
|
L_0258CF78: ; // 0x258cf78
|
|
/* 0258CF78 */ goto L_0258CF80;
|
|
L_0258CF7C: ; // 0x258cf7c
|
|
/* 0258CF7C */ cpu->r[29] = 0x00000000u;
|
|
L_0258CF80: ; // 0x258cf80
|
|
/* 0258CF80 */ _t53 = cpu->r[26] + 0x00000008u;
|
|
/* 0258CF80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258CF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 0258CF88 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258CF88 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0258CF88 */ if (_t55) goto L_0258CF90; else goto L_0258CF8C;
|
|
L_0258CF8C: ; // 0x258cf8c
|
|
/* 0258CF8C */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0258CF90: ; // 0x258cf90
|
|
/* 0258CF90 */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258CF90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0258CF94 */ _t57 = cpu->r[7] + 0x00000014u;
|
|
/* 0258CF94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0258CF98 */ cpu->ctr = cpu->r[8];
|
|
/* 0258CF9C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0258CFA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258CFA4 */ _t58 = cpu->r[1] + 0x00000018u;
|
|
/* 0258CFA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0258CFA8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0258CFAC */ cpu->r[5] = cpu->r[29];
|
|
/* 0258CFB0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258CFB4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0258CFB8 */ _t59 = cpu->r[27] + cpu->r[29];
|
|
/* 0258CFB8 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[31]);
|
|
/* 0258CFBC */ cpu->r[12] = 0x00000000u;
|
|
/* 0258CFC0 */ _t60 = cpu->r[1] + 0x00000034u;
|
|
/* 0258CFC0 */ rbrew_write32(cpu->mem, _t60, cpu->r[28]);
|
|
/* 0258CFC4 */ cpu->r[11] = 0x02590000u;
|
|
/* 0258CFC8 */ _t61 = cpu->r[1] + 0x00000032u;
|
|
/* 0258CFC8 */ rbrew_write16(cpu->mem, _t61, (uint16_t)cpu->r[28]);
|
|
/* 0258CFCC */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 0258CFD0 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 0258CFD0 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[12]);
|
|
/* 0258CFD4 */ cpu->r[11] = cpu->r[11] + 0xFFFFEA80u;
|
|
/* 0258CFD8 */ _t63 = cpu->r[1] + 0x00000030u;
|
|
/* 0258CFD8 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[28]);
|
|
/* 0258CFDC */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0258CFE0 */ _t64 = cpu->r[1] + 0x0000002Au;
|
|
/* 0258CFE0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[7]);
|
|
/* 0258CFE4 */ cpu->r[0] = 0x02590000u;
|
|
/* 0258CFE8 */ _t65 = cpu->r[1] + 0x00000028u;
|
|
/* 0258CFE8 */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[28]);
|
|
/* 0258CFEC */ cpu->r[0] = cpu->r[0] + 0xFFFFEA7Cu;
|
|
/* 0258CFF0 */ _t66 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258CFF0 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
/* 0258CFF4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0258CFF8 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 0258CFFC */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 0258CFFC */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 0258D000 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0258D004 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 0258D008 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D008 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[28]);
|
|
/* 0258D00C */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0258D010 */ _t69 = cpu->r[1] + 0x00000022u;
|
|
/* 0258D010 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[0]);
|
|
/* 0258D014 */ Gambit_fn_0258F160(cpu);
|
|
/* 0258D018 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258D01C */ cpu->r[3] = cpu->r[30] + 0x0000025Cu;
|
|
/* 0258D020 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258D024 */ _t70 = cpu->r[4] + 0x00001ED4u;
|
|
/* 0258D024 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0258D028 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D02C */ cpu->r[7] = cpu->r[6];
|
|
/* 0258D030 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D030 */ rbrew_write32(cpu->mem, _t71, cpu->r[28]);
|
|
/* 0258D034 */ Gambit_fn_02039EC4(cpu);
|
|
/* 0258D038 */ cpu->r[31] = 0x101C0000u;
|
|
/* 0258D03C */ _t72 = cpu->r[31] + 0x0000457Cu;
|
|
/* 0258D03C */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0258D03C */ cpu->r[31] = _t72;
|
|
/* 0258D040 */ _t73 = cpu->r[7] + 0x0000001Eu;
|
|
/* 0258D040 */ cpu->r[8] = rbrew_read8(cpu->mem, _t73);
|
|
/* 0258D044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258D048 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D048 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0258D048 */ if (_t75) goto L_0258D094; else goto L_0258D04C;
|
|
L_0258D04C: ; // 0x258d04c
|
|
/* 0258D04C */ _t76 = cpu->r[7] + 0x0000001Cu;
|
|
/* 0258D04C */ cpu->r[3] = rbrew_read16(cpu->mem, _t76);
|
|
/* 0258D050 */ Gambit_fn_0282A11C(cpu);
|
|
/* 0258D054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 0258D058 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D058 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0258D058 */ if (_t78) goto L_0258D05C; else goto L_0258D094;
|
|
L_0258D05C: ; // 0x258d05c
|
|
/* 0258D05C */ cpu->r[0] = 0x00000003u;
|
|
/* 0258D060 */ _t79 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0258D064 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D068 */ cpu->r[7] = cpu->r[12] + 0x00000428u;
|
|
/* 0258D06C */ cpu->r[8] = cpu->r[30] + 0x00000258u;
|
|
L_0258D070: ; // 0x258d070
|
|
/* 0258D070 */ _t80 = cpu->r[7] + 0x00000004u;
|
|
/* 0258D070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0258D074 */ _t81 = cpu->r[8] + 0x00000004u;
|
|
/* 0258D074 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 0258D078 */ _t82 = cpu->r[7] + 0x00000008u;
|
|
/* 0258D078 */ cpu->r[11] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0258D07C */ _t83 = cpu->r[8] + 0x00000008u;
|
|
/* 0258D07C */ rbrew_write32(cpu->mem, _t83, cpu->r[11]);
|
|
/* 0258D080 */ _t84 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0258D080 */ cpu->r[6] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0258D084 */ _t85 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0258D084 */ rbrew_write32(cpu->mem, _t85, cpu->r[6]);
|
|
/* 0258D088 */ _t86 = cpu->r[7] + 0x00000010u;
|
|
/* 0258D088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0258D088 */ cpu->r[7] = _t86;
|
|
/* 0258D08C */ _t87 = cpu->r[8] + 0x00000010u;
|
|
/* 0258D08C */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 0258D08C */ cpu->r[8] = _t87;
|
|
/* 0258D090 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258D090 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258D090 */ _t89 = _t88 >> (0x00000002u & 31u);
|
|
/* 0258D090 */ _t90 = _t89 & 0x00000001u;
|
|
/* 0258D090 */ if (_t90) goto L_0258D070; else goto L_0258D094;
|
|
L_0258D094: ; // 0x258d094
|
|
/* 0258D094 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258D098 */ cpu->r[12] = 0x00000006u;
|
|
/* 0258D09C */ _t91 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D09C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 0258D0A0 */ cpu->r[6] = 0x101F0000u;
|
|
/* 0258D0A4 */ cpu->ctr = cpu->r[12];
|
|
/* 0258D0A8 */ cpu->r[7] = cpu->r[7] + 0x00002F38u;
|
|
/* 0258D0AC */ cpu->r[6] = cpu->r[6] + 0xFFFFB6A4u;
|
|
L_0258D0B0: ; // 0x258d0b0
|
|
/* 0258D0B0 */ _t92 = cpu->r[6] + 0x00000004u;
|
|
/* 0258D0B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0258D0B0 */ cpu->r[6] = _t92;
|
|
/* 0258D0B4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258D0B8 */ _t93 = cpu->r[9] + 0x00003480u;
|
|
/* 0258D0B8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 0258D0BC */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258D0C0 */ cpu->r[12] = 0x43300000u;
|
|
/* 0258D0C4 */ _t94 = cpu->r[9] + cpu->r[7];
|
|
/* 0258D0C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0258D0C8 */ _t95 = cpu->r[1] + 0x00000010u;
|
|
/* 0258D0C8 */ rbrew_write32(cpu->mem, _t95, cpu->r[12]);
|
|
/* 0258D0CC */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 0258D0D0 */ _t96 = cpu->r[1] + 0x00000014u;
|
|
/* 0258D0D0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 0258D0D4 */ _t97 = cpu->r[1] + 0x00000010u;
|
|
/* 0258D0D4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 0258D0D8 */ cpu->f[12] = cpu->f[0] - cpu->f[12];
|
|
/* 0258D0DC */ cpu->f[0] = (double)(float)cpu->f[12];
|
|
/* 0258D0E0 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 0258D0E4 */ _t98 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D0E4 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[13]);
|
|
/* 0258D0E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258D0E8 */ _t99 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258D0E8 */ _t100 = _t99 >> (0x00000002u & 31u);
|
|
/* 0258D0E8 */ _t101 = _t100 & 0x00000001u;
|
|
/* 0258D0E8 */ if (_t101) goto L_0258D0B0; else goto L_0258D0EC;
|
|
L_0258D0EC: ; // 0x258d0ec
|
|
/* 0258D0EC */ cpu->r[31] = 0x00000000u;
|
|
/* 0258D0F0 */ cpu->r[28] = 0x02590000u;
|
|
/* 0258D0F4 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258D0F8 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 0258D0FC */ cpu->r[28] = cpu->r[28] + 0xFFFFE084u;
|
|
/* 0258D100 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258D104 */ cpu->r[27] = cpu->r[3];
|
|
/* 0258D104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258D108 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D108 */ _t103 = _t102 & 0x00000001u;
|
|
/* 0258D108 */ if (_t103) goto L_0258D15C; else goto L_0258D10C;
|
|
L_0258D10C: ; // 0x258d10c
|
|
/* 0258D10C */ _t104 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258D10C */ rbrew_write32(cpu->mem, _t104, cpu->r[28]);
|
|
/* 0258D110 */ cpu->r[3] = cpu->r[27];
|
|
/* 0258D110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D114 */ _t105 = cpu->r[1] + 0x00000038u;
|
|
/* 0258D114 */ rbrew_write16(cpu->mem, _t105, (uint16_t)cpu->r[31]);
|
|
/* 0258D118 */ _t106 = cpu->r[1] + 0x0000003Au;
|
|
/* 0258D118 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[29]);
|
|
/* 0258D11C */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D11C */ _t108 = _t107 & 0x00000001u;
|
|
/* 0258D11C */ if (_t108) goto L_0258D120; else goto L_0258D130;
|
|
L_0258D120: ; // 0x258d120
|
|
/* 0258D120 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258D124 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258D128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D12C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D12C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0258D12C */ if (_t110) goto L_0258D150; else goto L_0258D130;
|
|
L_0258D130: ; // 0x258d130
|
|
/* 0258D130 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258D134 */ _t111 = cpu->r[3] + 0x00000004u;
|
|
/* 0258D134 */ rbrew_write32(cpu->mem, _t111, cpu->r[30]);
|
|
/* 0258D138 */ cpu->r[0] = cpu->r[0] + 0x00002EF0u;
|
|
/* 0258D13C */ _t112 = cpu->r[3] + 0x00000000u;
|
|
/* 0258D13C */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 0258D140 */ _t113 = cpu->r[1] + 0x00000038u;
|
|
/* 0258D140 */ cpu->r[8] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0258D144 */ _t114 = cpu->r[3] + 0x00000008u;
|
|
/* 0258D144 */ rbrew_write32(cpu->mem, _t114, cpu->r[8]);
|
|
/* 0258D148 */ _t115 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258D148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0258D14C */ _t116 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258D14C */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
L_0258D150: ; // 0x258d150
|
|
/* 0258D150 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258D154 */ cpu->r[11] = cpu->r[11] + 0x00002F08u;
|
|
/* 0258D158 */ _t117 = cpu->r[27] + 0x00000000u;
|
|
/* 0258D158 */ rbrew_write32(cpu->mem, _t117, cpu->r[11]);
|
|
L_0258D15C: ; // 0x258d15c
|
|
/* 0258D15C */ _t118 = cpu->r[30] + 0x000002CCu;
|
|
/* 0258D15C */ rbrew_write32(cpu->mem, _t118, cpu->r[27]);
|
|
L_0258D160: ; // 0x258d160
|
|
/* 0258D160 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D164 */ /* nop */
|
|
/* 0258D168 */ _t119 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0258D16C */ cpu->lr = cpu->r[0];
|
|
/* 0258D170 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0258D174 */ return;
|
|
}
|
|
|
|
// fn_0258D178 @ 0x258d178
|
|
void Gambit_fn_0258D178(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258D178: ; // 0x258d178
|
|
/* 0258D178 */ _t0 = cpu->r[3] + 0x00000254u;
|
|
/* 0258D178 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0258D17C */ return;
|
|
}
|
|
|
|
// fn_0258D180 @ 0x258d180
|
|
void Gambit_fn_0258D180(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;
|
|
|
|
L_0258D180: ; // 0x258d180
|
|
/* 0258D180 */ cpu->r[0] = cpu->lr;
|
|
/* 0258D184 */ _t0 = cpu->r[1] + 0xFFFFFF10u;
|
|
/* 0258D184 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D184 */ cpu->r[1] = _t0;
|
|
/* 0258D188 */ _t1 = cpu->r[1] + 0x000000E0u;
|
|
/* 0258D188 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258D18C */ /* nop */
|
|
/* 0258D190 */ _t2 = cpu->r[1] + 0x000000DCu;
|
|
/* 0258D190 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258D194 */ _t3 = cpu->r[1] + 0x000000E8u;
|
|
/* 0258D194 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0258D198 */ _t4 = cpu->r[1] + 0x000000D8u;
|
|
/* 0258D198 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0258D19C */ _t5 = cpu->r[1] + 0x000000D4u;
|
|
/* 0258D19C */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0258D1A0 */ _t6 = cpu->r[1] + 0x000000F4u;
|
|
/* 0258D1A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258D1A4 */ _t7 = cpu->r[1] + 0x000000D0u;
|
|
/* 0258D1A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0258D1A8 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 0258D1A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258D1AC */ _t9 = cpu->r[12] + 0x0000025Cu;
|
|
/* 0258D1AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258D1B0 */ cpu->ctr = cpu->r[5];
|
|
/* 0258D1B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258D1B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D1BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D1C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D1C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258D1C4 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 0258D1C8 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0258D1C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 0258D1CC */ Gambit_fn_02982574(cpu);
|
|
/* 0258D1D0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258D1D4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258D1D8 */ _t12 = cpu->r[8] + 0xFFFF97D9u;
|
|
/* 0258D1D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0258D1DC */ _t13 = cpu->r[10] + 0xFFFF97D0u;
|
|
/* 0258D1DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258D1E0 */ _t14 = cpu->r[1] + 0x00000059u;
|
|
/* 0258D1E0 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 0258D1E4 */ cpu->r[8] = 0x00000001u;
|
|
/* 0258D1E8 */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 0258D1E8 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0258D1EC */ cpu->r[10] = 0x00000002u;
|
|
/* 0258D1F0 */ _t16 = cpu->r[1] + 0x00000058u;
|
|
/* 0258D1F0 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[8]);
|
|
/* 0258D1F4 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
|
|
/* 0258D1F8 */ _t17 = cpu->r[1] + 0x00000054u;
|
|
/* 0258D1F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0258D1FC */ Gambit_fn_02984F3C(cpu);
|
|
/* 0258D200 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 0258D200 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258D204 */ cpu->r[11] = 0x00000007u;
|
|
/* 0258D208 */ cpu->r[7] = 0x101C0000u;
|
|
/* 0258D20C */ _t19 = cpu->r[1] + 0x00000080u;
|
|
/* 0258D20C */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 0258D210 */ _t20 = cpu->r[12] + 0x00000254u;
|
|
/* 0258D210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258D214 */ _t21 = cpu->r[7] + 0x00006000u;
|
|
/* 0258D214 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258D218 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D21C */ _t22 = cpu->r[7] + 0x0000025Cu;
|
|
/* 0258D21C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258D220 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D224 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D228 */ _t23 = cpu->r[1] + 0x00000040u;
|
|
/* 0258D228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258D22C */ _t24 = cpu->r[1] + 0x00000050u;
|
|
/* 0258D22C */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258D230 */ _t25 = cpu->r[1] + 0x000000B4u;
|
|
/* 0258D230 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 0258D234 */ _t26 = cpu->r[1] + 0x000000C4u;
|
|
/* 0258D234 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 0258D238 */ _t27 = cpu->r[1] + 0x00000054u;
|
|
/* 0258D238 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0258D23C */ _t28 = cpu->r[1] + 0x00000048u;
|
|
/* 0258D23C */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258D240 */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0258D240 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258D244 */ _t30 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258D244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258D248 */ _t31 = cpu->r[1] + 0x00000084u;
|
|
/* 0258D248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258D24C */ _t32 = cpu->r[1] + 0x00000088u;
|
|
/* 0258D24C */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 0258D250 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 0258D250 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258D254 */ _t34 = cpu->r[1] + 0x00000058u;
|
|
/* 0258D254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258D258 */ _t35 = cpu->r[1] + 0x000000C8u;
|
|
/* 0258D258 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
|
|
/* 0258D25C */ cpu->r[29] = 0x100D0000u;
|
|
/* 0258D260 */ cpu->r[29] = cpu->r[29] + 0x00002DD0u;
|
|
/* 0258D264 */ _t36 = cpu->r[1] + 0x000000C0u;
|
|
/* 0258D264 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0258D268 */ _t37 = cpu->r[1] + 0x00000080u;
|
|
/* 0258D268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258D26C */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258D26C */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 0258D270 */ _t39 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258D270 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 0258D274 */ _t40 = cpu->r[1] + 0x000000B8u;
|
|
/* 0258D274 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 0258D278 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258D27C */ _t41 = cpu->r[1] + 0x00000090u;
|
|
/* 0258D27C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 0258D280 */ cpu->r[5] = cpu->r[5] + 0x000034A0u;
|
|
/* 0258D284 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 0258D284 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 0258D288 */ _t43 = cpu->r[1] + 0x000000CCu;
|
|
/* 0258D288 */ rbrew_write32(cpu->mem, _t43, cpu->r[7]);
|
|
/* 0258D28C */ cpu->r[9] = 0x00000004u;
|
|
/* 0258D290 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 0258D290 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 0258D294 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D298 */ cpu->r[31] = cpu->r[1] + 0x000000B4u;
|
|
/* 0258D29C */ _t45 = cpu->r[1] + 0x00000038u;
|
|
/* 0258D29C */ rbrew_write32(cpu->mem, _t45, cpu->r[5]);
|
|
/* 0258D2A0 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 0258D2A4 */ cpu->r[7] = cpu->r[31];
|
|
/* 0258D2A8 */ _t46 = cpu->r[1] + 0x000000BCu;
|
|
/* 0258D2A8 */ rbrew_write32(cpu->mem, _t46, cpu->r[4]);
|
|
/* 0258D2AC */ _t47 = cpu->r[28] + 0x00000008u;
|
|
/* 0258D2AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0258D2B0 */ cpu->r[8] = cpu->r[1] + 0x00000088u;
|
|
/* 0258D2B4 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 0258D2B8 */ Gambit_fn_020022D4(cpu);
|
|
/* 0258D2BC */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258D2C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D2C4 */ cpu->r[4] = cpu->r[4] + 0x00006D3Cu;
|
|
/* 0258D2C8 */ Gambit_fn_02002684(cpu);
|
|
/* 0258D2CC */ _t48 = cpu->r[30] + 0x00000004u;
|
|
/* 0258D2CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258D2D0 */ _t49 = cpu->r[5] + 0x0000025Cu;
|
|
/* 0258D2D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258D2D4 */ cpu->ctr = cpu->r[6];
|
|
/* 0258D2D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D2DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D2E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D2E4 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D2E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0258D2E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
|
|
/* 0258D2EC */ cpu->r[31] = cpu->r[30] + 0x0000025Cu;
|
|
/* 0258D2F0 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D2F0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0258D2F0 */ if (_t52) goto L_0258D2F4; else goto L_0258D380;
|
|
L_0258D2F4: ; // 0x258d2f4
|
|
/* 0258D2F4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0258D2F8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D2FC */ _t53 = cpu->r[31] + cpu->r[7];
|
|
/* 0258D2FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258D300 */ _t54 = cpu->r[12] + 0x00003498u;
|
|
/* 0258D300 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0258D304 */ cpu->r[8] = cpu->r[31] + cpu->r[7];
|
|
/* 0258D308 */ _t55 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D308 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 0258D30C */ _t56 = cpu->r[8] + 0x00000004u;
|
|
/* 0258D30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0258D310 */ _t57 = cpu->r[1] + 0x00000060u;
|
|
/* 0258D310 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 0258D314 */ _t58 = cpu->r[8] + 0x00000008u;
|
|
/* 0258D314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0258D318 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258D31C */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D320 */ _t59 = cpu->r[1] + 0x00000064u;
|
|
/* 0258D320 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 0258D324 */ _t60 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0258D324 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258D328 */ cpu->r[3] = cpu->r[4];
|
|
/* 0258D32C */ _t61 = cpu->r[1] + 0x00000068u;
|
|
/* 0258D32C */ rbrew_write32(cpu->mem, _t61, cpu->r[6]);
|
|
/* 0258D330 */ Gambit_fn_0281B5DC(cpu);
|
|
/* 0258D334 */ _t62 = cpu->r[30] + 0x00000004u;
|
|
/* 0258D334 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0258D338 */ _t63 = cpu->r[1] + 0x00000068u;
|
|
/* 0258D338 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258D33C */ _t64 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D33C */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0258D340 */ _t65 = cpu->r[1] + 0x000000A0u;
|
|
/* 0258D340 */ rbrew_write32(cpu->mem, _t65, cpu->r[7]);
|
|
/* 0258D344 */ _t66 = cpu->r[1] + 0x00000094u;
|
|
/* 0258D344 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
/* 0258D348 */ _t67 = cpu->r[1] + 0x00000060u;
|
|
/* 0258D348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0258D34C */ _t68 = cpu->r[1] + 0x00000064u;
|
|
/* 0258D34C */ cpu->r[6] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0258D350 */ _t69 = cpu->r[1] + 0x00000098u;
|
|
/* 0258D350 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 0258D354 */ _t70 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0258D354 */ rbrew_write32(cpu->mem, _t70, cpu->r[6]);
|
|
/* 0258D358 */ _t71 = cpu->r[8] + 0x0000025Cu;
|
|
/* 0258D358 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0258D35C */ cpu->ctr = cpu->r[9];
|
|
/* 0258D360 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0258D364 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D36C */ _t72 = cpu->r[1] + 0x00000024u;
|
|
/* 0258D36C */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0258D370 */ cpu->r[11] = 0x00000001u - cpu->r[10];
|
|
/* 0258D374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 0258D378 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D378 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0258D378 */ if (_t74) goto L_0258D400; else goto L_0258D37C;
|
|
L_0258D37C: ; // 0x258d37c
|
|
/* 0258D37C */ goto L_0258D408;
|
|
L_0258D380: ; // 0x258d380
|
|
/* 0258D380 */ _t75 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258D384 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D388 */ _t76 = cpu->r[12] + 0x00003498u;
|
|
/* 0258D388 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0258D38C */ _t77 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D38C */ rbrew_write32(cpu->mem, _t77, cpu->r[10]);
|
|
/* 0258D390 */ _t78 = cpu->r[31] + 0x00000004u;
|
|
/* 0258D390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0258D394 */ _t79 = cpu->r[1] + 0x00000060u;
|
|
/* 0258D394 */ rbrew_write32(cpu->mem, _t79, cpu->r[12]);
|
|
/* 0258D398 */ _t80 = cpu->r[31] + 0x00000008u;
|
|
/* 0258D398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0258D39C */ cpu->f[1] = cpu->f[31];
|
|
/* 0258D3A0 */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D3A4 */ _t81 = cpu->r[1] + 0x00000064u;
|
|
/* 0258D3A4 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 0258D3A8 */ _t82 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258D3A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0258D3AC */ cpu->r[3] = cpu->r[4];
|
|
/* 0258D3B0 */ _t83 = cpu->r[1] + 0x00000068u;
|
|
/* 0258D3B0 */ rbrew_write32(cpu->mem, _t83, cpu->r[6]);
|
|
/* 0258D3B4 */ Gambit_fn_0281B5DC(cpu);
|
|
/* 0258D3B8 */ _t84 = cpu->r[1] + 0x00000068u;
|
|
/* 0258D3B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0258D3BC */ _t85 = cpu->r[1] + 0x00000060u;
|
|
/* 0258D3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0258D3C0 */ _t86 = cpu->r[1] + 0x00000064u;
|
|
/* 0258D3C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0258D3C4 */ _t87 = cpu->r[1] + 0x00000098u;
|
|
/* 0258D3C4 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 0258D3C8 */ _t88 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0258D3C8 */ rbrew_write32(cpu->mem, _t88, cpu->r[6]);
|
|
/* 0258D3CC */ _t89 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D3CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0258D3D0 */ _t90 = cpu->r[30] + 0x00000004u;
|
|
/* 0258D3D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0258D3D4 */ _t91 = cpu->r[1] + 0x00000094u;
|
|
/* 0258D3D4 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]);
|
|
/* 0258D3D8 */ _t92 = cpu->r[1] + 0x000000A0u;
|
|
/* 0258D3D8 */ rbrew_write32(cpu->mem, _t92, cpu->r[7]);
|
|
/* 0258D3DC */ _t93 = cpu->r[8] + 0x0000025Cu;
|
|
/* 0258D3DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0258D3E0 */ cpu->ctr = cpu->r[9];
|
|
/* 0258D3E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D3E8 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0258D3EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D3F0 */ _t94 = cpu->r[1] + 0x00000024u;
|
|
/* 0258D3F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0258D3F4 */ cpu->r[11] = 0x00000001u - cpu->r[10];
|
|
/* 0258D3F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 0258D3FC */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D3FC */ _t96 = _t95 & 0x00000001u;
|
|
/* 0258D3FC */ if (_t96) goto L_0258D400; else goto L_0258D37C;
|
|
L_0258D400: ; // 0x258d400
|
|
/* 0258D400 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0258D404 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
|
|
L_0258D408: ; // 0x258d408
|
|
/* 0258D408 */ _t97 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0258D40C */ _t98 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258D40C */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 0258D410 */ _t99 = cpu->r[31] + 0x00000004u;
|
|
/* 0258D410 */ cpu->r[5] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0258D414 */ _t100 = cpu->r[1] + 0x00000070u;
|
|
/* 0258D414 */ rbrew_write32(cpu->mem, _t100, cpu->r[5]);
|
|
/* 0258D418 */ _t101 = cpu->r[31] + 0x00000008u;
|
|
/* 0258D418 */ cpu->r[6] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0258D41C */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258D420 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258D424 */ _t102 = cpu->r[1] + 0x00000074u;
|
|
/* 0258D424 */ rbrew_write32(cpu->mem, _t102, cpu->r[6]);
|
|
/* 0258D428 */ _t103 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258D428 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0258D42C */ cpu->r[4] = cpu->r[3];
|
|
/* 0258D430 */ _t104 = cpu->r[1] + 0x00000078u;
|
|
/* 0258D430 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]);
|
|
/* 0258D434 */ Gambit_fn_0281B5DC(cpu);
|
|
/* 0258D438 */ _t105 = cpu->r[1] + 0x00000070u;
|
|
/* 0258D438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0258D43C */ _t106 = cpu->r[1] + 0x00000074u;
|
|
/* 0258D43C */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0258D440 */ _t107 = cpu->r[1] + 0x000000A8u;
|
|
/* 0258D440 */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 0258D444 */ _t108 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258D444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0258D448 */ _t109 = cpu->r[1] + 0x00000078u;
|
|
/* 0258D448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0258D44C */ _t110 = cpu->r[30] + 0x00000008u;
|
|
/* 0258D44C */ cpu->r[3] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0258D450 */ _t111 = cpu->r[1] + 0x000000B0u;
|
|
/* 0258D450 */ rbrew_write32(cpu->mem, _t111, cpu->r[0]);
|
|
/* 0258D454 */ cpu->r[5] = cpu->r[1] + 0x000000A4u;
|
|
/* 0258D458 */ _t112 = cpu->r[1] + 0x000000A4u;
|
|
/* 0258D458 */ rbrew_write32(cpu->mem, _t112, cpu->r[10]);
|
|
/* 0258D45C */ cpu->r[4] = cpu->r[1] + 0x00000094u;
|
|
/* 0258D460 */ _t113 = cpu->r[1] + 0x000000ACu;
|
|
/* 0258D460 */ rbrew_write32(cpu->mem, _t113, cpu->r[12]);
|
|
/* 0258D464 */ Gambit_fn_023CA018(cpu);
|
|
/* 0258D468 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258D46C */ Gambit_fn_02043B8C(cpu);
|
|
/* 0258D470 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258D474 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258D478 */ _t114 = cpu->r[11] + 0x0000349Cu;
|
|
/* 0258D478 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 0258D47C */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258D480 */ _t115 = cpu->r[30] + 0x000001F0u;
|
|
/* 0258D480 */ rbrew_write32(cpu->mem, _t115, cpu->r[3]);
|
|
/* 0258D484 */ _t116 = cpu->r[12] + 0x000066E8u;
|
|
/* 0258D484 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0258D488 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D48C */ _t117 = cpu->r[1] + 0x00000010u;
|
|
/* 0258D48C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[13]);
|
|
/* 0258D490 */ cpu->r[8] = cpu->r[8] + 0x000034A4u;
|
|
/* 0258D494 */ _t118 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258D494 */ rbrew_write32(cpu->mem, _t118, cpu->r[29]);
|
|
/* 0258D498 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D49C */ _t119 = cpu->r[1] + 0x00000028u;
|
|
/* 0258D49C */ rbrew_write32(cpu->mem, _t119, cpu->r[8]);
|
|
/* 0258D4A0 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0258D4A4 */ _t120 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258D4A4 */ rbrew_write32(cpu->mem, _t120, cpu->r[12]);
|
|
/* 0258D4A8 */ cpu->r[31] = 0x00000001u;
|
|
/* 0258D4AC */ _t121 = cpu->r[9] + 0x0000346Cu;
|
|
/* 0258D4AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 0258D4B0 */ _t122 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D4B0 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[13]);
|
|
/* 0258D4B4 */ _t123 = cpu->r[1] + 0x0000001Bu;
|
|
/* 0258D4B4 */ rbrew_write8(cpu->mem, _t123, (uint8_t)cpu->r[31]);
|
|
/* 0258D4B8 */ _t124 = cpu->r[1] + 0x0000001Au;
|
|
/* 0258D4B8 */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[31]);
|
|
/* 0258D4BC */ cpu->r[6] = 0x00000000u;
|
|
/* 0258D4C0 */ _t125 = cpu->r[1] + 0x00000019u;
|
|
/* 0258D4C0 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[31]);
|
|
/* 0258D4C4 */ _t126 = cpu->r[1] + 0x00000018u;
|
|
/* 0258D4C4 */ rbrew_write8(cpu->mem, _t126, (uint8_t)cpu->r[6]);
|
|
/* 0258D4C8 */ _t127 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D4C8 */ rbrew_write32(cpu->mem, _t127, cpu->r[29]);
|
|
/* 0258D4CC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D4D0 */ _t128 = cpu->r[1] + 0x00000014u;
|
|
/* 0258D4D0 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[0]);
|
|
/* 0258D4D4 */ Gambit_fn_025857F0(cpu);
|
|
/* 0258D4D8 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258D4DC */ cpu->r[29] = 0x101C0000u;
|
|
/* 0258D4E0 */ _t129 = cpu->r[11] + 0x00007D3Cu;
|
|
/* 0258D4E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0258D4E4 */ _t130 = cpu->r[29] + 0x00007BA0u;
|
|
/* 0258D4E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0258D4E8 */ cpu->r[9] = cpu->r[7] + cpu->r[11];
|
|
/* 0258D4EC */ _t131 = cpu->r[9] + 0x00000104u;
|
|
/* 0258D4EC */ cpu->r[10] = rbrew_read8(cpu->mem, _t131);
|
|
/* 0258D4F0 */ _t132 = cpu->r[7] + 0x00000030u;
|
|
/* 0258D4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0258D4F4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258D4F8 */ _t133 = cpu->r[10] + cpu->r[0];
|
|
/* 0258D4F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0258D4FC */ _t134 = cpu->r[12] + 0x00000004u;
|
|
/* 0258D4FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0258D500 */ _t135 = cpu->r[5] + 0x00000000u;
|
|
/* 0258D500 */ cpu->r[3] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0258D504 */ cpu->r[4] = cpu->r[30] + 0x0000024Cu;
|
|
/* 0258D508 */ Gambit_fn_02650BF0(cpu);
|
|
/* 0258D50C */ _t136 = cpu->r[30] + 0x00000080u;
|
|
/* 0258D50C */ cpu->r[3] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0258D510 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258D514 */ Gambit_fn_02399370(cpu);
|
|
/* 0258D518 */ _t137 = cpu->r[29] + 0x00007BA0u;
|
|
/* 0258D518 */ cpu->r[7] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0258D51C */ _t138 = cpu->r[7] + 0x00000B34u;
|
|
/* 0258D51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0258D520 */ _t139 = cpu->r[7] + 0x00000B38u;
|
|
/* 0258D520 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0258D524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 0258D528 */ _t140 = cpu->r[30] + 0x000002CCu;
|
|
/* 0258D528 */ cpu->r[8] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0258D52C */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D52C */ _t142 = _t141 & 0x00000001u;
|
|
/* 0258D52C */ if (_t142) goto L_0258D530; else goto L_0258D548;
|
|
L_0258D530: ; // 0x258d530
|
|
/* 0258D530 */ _t143 = cpu->r[7] + 0x00000B3Cu;
|
|
/* 0258D530 */ cpu->r[5] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0258D534 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258D538 */ _t144 = cpu->r[12] + cpu->r[5];
|
|
/* 0258D538 */ rbrew_write32(cpu->mem, _t144, cpu->r[8]);
|
|
/* 0258D53C */ _t145 = cpu->r[7] + 0x00000B34u;
|
|
/* 0258D53C */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0258D540 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0258D544 */ _t146 = cpu->r[7] + 0x00000B34u;
|
|
/* 0258D544 */ rbrew_write32(cpu->mem, _t146, cpu->r[6]);
|
|
L_0258D548: ; // 0x258d548
|
|
/* 0258D548 */ _t147 = cpu->r[1] + 0x000000D0u;
|
|
/* 0258D548 */ cpu->r[28] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0258D54C */ _t148 = cpu->r[1] + 0x000000D4u;
|
|
/* 0258D54C */ cpu->r[29] = rbrew_read32(cpu->mem, _t148);
|
|
/* 0258D550 */ _t149 = cpu->r[1] + 0x000000E8u;
|
|
/* 0258D550 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 0258D554 */ _t150 = cpu->r[1] + 0x000000D8u;
|
|
/* 0258D554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0258D558 */ _t151 = cpu->r[1] + 0x000000E0u;
|
|
/* 0258D558 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t151);
|
|
/* 0258D55C */ _t152 = cpu->r[1] + 0x000000DCu;
|
|
/* 0258D55C */ cpu->r[31] = rbrew_read32(cpu->mem, _t152);
|
|
/* 0258D560 */ _t153 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D560 */ _t154 = _t153 & 0x00000001u;
|
|
/* 0258D560 */ if (_t154) goto L_0258D564; // else: addr-0 trap, fall-through
|
|
L_0258D564: ; // 0x258d564
|
|
/* 0258D564 */ _t155 = cpu->r[1] + 0x000000F4u;
|
|
/* 0258D564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0258D568 */ cpu->lr = cpu->r[0];
|
|
/* 0258D56C */ cpu->r[1] = cpu->r[1] + 0x000000F0u;
|
|
/* 0258D570 */ return;
|
|
}
|
|
|
|
// fn_0258D184 @ 0x258d184
|
|
void Gambit_fn_0258D184(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;
|
|
|
|
L_0258D184: ; // 0x258d184
|
|
/* 0258D184 */ _t0 = cpu->r[1] + 0xFFFFFF10u;
|
|
/* 0258D184 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D184 */ cpu->r[1] = _t0;
|
|
/* 0258D188 */ _t1 = cpu->r[1] + 0x000000E0u;
|
|
/* 0258D188 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258D18C */ /* nop */
|
|
/* 0258D190 */ _t2 = cpu->r[1] + 0x000000DCu;
|
|
/* 0258D190 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258D194 */ _t3 = cpu->r[1] + 0x000000E8u;
|
|
/* 0258D194 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0258D198 */ _t4 = cpu->r[1] + 0x000000D8u;
|
|
/* 0258D198 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0258D19C */ _t5 = cpu->r[1] + 0x000000D4u;
|
|
/* 0258D19C */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0258D1A0 */ _t6 = cpu->r[1] + 0x000000F4u;
|
|
/* 0258D1A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258D1A4 */ _t7 = cpu->r[1] + 0x000000D0u;
|
|
/* 0258D1A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0258D1A8 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 0258D1A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258D1AC */ _t9 = cpu->r[12] + 0x0000025Cu;
|
|
/* 0258D1AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258D1B0 */ cpu->ctr = cpu->r[5];
|
|
/* 0258D1B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258D1B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D1BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D1C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D1C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258D1C4 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 0258D1C8 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0258D1C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 0258D1CC */ Gambit_fn_02982574(cpu);
|
|
/* 0258D1D0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258D1D4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258D1D8 */ _t12 = cpu->r[8] + 0xFFFF97D9u;
|
|
/* 0258D1D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0258D1DC */ _t13 = cpu->r[10] + 0xFFFF97D0u;
|
|
/* 0258D1DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258D1E0 */ _t14 = cpu->r[1] + 0x00000059u;
|
|
/* 0258D1E0 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 0258D1E4 */ cpu->r[8] = 0x00000001u;
|
|
/* 0258D1E8 */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 0258D1E8 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0258D1EC */ cpu->r[10] = 0x00000002u;
|
|
/* 0258D1F0 */ _t16 = cpu->r[1] + 0x00000058u;
|
|
/* 0258D1F0 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[8]);
|
|
/* 0258D1F4 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
|
|
/* 0258D1F8 */ _t17 = cpu->r[1] + 0x00000054u;
|
|
/* 0258D1F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0258D1FC */ Gambit_fn_02984F3C(cpu);
|
|
/* 0258D200 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 0258D200 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258D204 */ cpu->r[11] = 0x00000007u;
|
|
/* 0258D208 */ cpu->r[7] = 0x101C0000u;
|
|
/* 0258D20C */ _t19 = cpu->r[1] + 0x00000080u;
|
|
/* 0258D20C */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 0258D210 */ _t20 = cpu->r[12] + 0x00000254u;
|
|
/* 0258D210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258D214 */ _t21 = cpu->r[7] + 0x00006000u;
|
|
/* 0258D214 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258D218 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D21C */ _t22 = cpu->r[7] + 0x0000025Cu;
|
|
/* 0258D21C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258D220 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D224 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D228 */ _t23 = cpu->r[1] + 0x00000040u;
|
|
/* 0258D228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258D22C */ _t24 = cpu->r[1] + 0x00000050u;
|
|
/* 0258D22C */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258D230 */ _t25 = cpu->r[1] + 0x000000B4u;
|
|
/* 0258D230 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 0258D234 */ _t26 = cpu->r[1] + 0x000000C4u;
|
|
/* 0258D234 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 0258D238 */ _t27 = cpu->r[1] + 0x00000054u;
|
|
/* 0258D238 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0258D23C */ _t28 = cpu->r[1] + 0x00000048u;
|
|
/* 0258D23C */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258D240 */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0258D240 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258D244 */ _t30 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258D244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258D248 */ _t31 = cpu->r[1] + 0x00000084u;
|
|
/* 0258D248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258D24C */ _t32 = cpu->r[1] + 0x00000088u;
|
|
/* 0258D24C */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 0258D250 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 0258D250 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258D254 */ _t34 = cpu->r[1] + 0x00000058u;
|
|
/* 0258D254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258D258 */ _t35 = cpu->r[1] + 0x000000C8u;
|
|
/* 0258D258 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
|
|
/* 0258D25C */ cpu->r[29] = 0x100D0000u;
|
|
/* 0258D260 */ cpu->r[29] = cpu->r[29] + 0x00002DD0u;
|
|
/* 0258D264 */ _t36 = cpu->r[1] + 0x000000C0u;
|
|
/* 0258D264 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0258D268 */ _t37 = cpu->r[1] + 0x00000080u;
|
|
/* 0258D268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258D26C */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258D26C */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 0258D270 */ _t39 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258D270 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 0258D274 */ _t40 = cpu->r[1] + 0x000000B8u;
|
|
/* 0258D274 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 0258D278 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258D27C */ _t41 = cpu->r[1] + 0x00000090u;
|
|
/* 0258D27C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 0258D280 */ cpu->r[5] = cpu->r[5] + 0x000034A0u;
|
|
/* 0258D284 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 0258D284 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 0258D288 */ _t43 = cpu->r[1] + 0x000000CCu;
|
|
/* 0258D288 */ rbrew_write32(cpu->mem, _t43, cpu->r[7]);
|
|
/* 0258D28C */ cpu->r[9] = 0x00000004u;
|
|
/* 0258D290 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 0258D290 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 0258D294 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D298 */ cpu->r[31] = cpu->r[1] + 0x000000B4u;
|
|
/* 0258D29C */ _t45 = cpu->r[1] + 0x00000038u;
|
|
/* 0258D29C */ rbrew_write32(cpu->mem, _t45, cpu->r[5]);
|
|
/* 0258D2A0 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 0258D2A4 */ cpu->r[7] = cpu->r[31];
|
|
/* 0258D2A8 */ _t46 = cpu->r[1] + 0x000000BCu;
|
|
/* 0258D2A8 */ rbrew_write32(cpu->mem, _t46, cpu->r[4]);
|
|
/* 0258D2AC */ _t47 = cpu->r[28] + 0x00000008u;
|
|
/* 0258D2AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0258D2B0 */ cpu->r[8] = cpu->r[1] + 0x00000088u;
|
|
/* 0258D2B4 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 0258D2B8 */ Gambit_fn_020022D4(cpu);
|
|
/* 0258D2BC */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258D2C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D2C4 */ cpu->r[4] = cpu->r[4] + 0x00006D3Cu;
|
|
/* 0258D2C8 */ Gambit_fn_02002684(cpu);
|
|
/* 0258D2CC */ _t48 = cpu->r[30] + 0x00000004u;
|
|
/* 0258D2CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258D2D0 */ _t49 = cpu->r[5] + 0x0000025Cu;
|
|
/* 0258D2D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258D2D4 */ cpu->ctr = cpu->r[6];
|
|
/* 0258D2D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D2DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D2E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D2E4 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D2E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0258D2E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
|
|
/* 0258D2EC */ cpu->r[31] = cpu->r[30] + 0x0000025Cu;
|
|
/* 0258D2F0 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D2F0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0258D2F0 */ if (_t52) goto L_0258D2F4; else goto L_0258D380;
|
|
L_0258D2F4: ; // 0x258d2f4
|
|
/* 0258D2F4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0258D2F8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D2FC */ _t53 = cpu->r[31] + cpu->r[7];
|
|
/* 0258D2FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258D300 */ _t54 = cpu->r[12] + 0x00003498u;
|
|
/* 0258D300 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0258D304 */ cpu->r[8] = cpu->r[31] + cpu->r[7];
|
|
/* 0258D308 */ _t55 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D308 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 0258D30C */ _t56 = cpu->r[8] + 0x00000004u;
|
|
/* 0258D30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0258D310 */ _t57 = cpu->r[1] + 0x00000060u;
|
|
/* 0258D310 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 0258D314 */ _t58 = cpu->r[8] + 0x00000008u;
|
|
/* 0258D314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0258D318 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258D31C */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D320 */ _t59 = cpu->r[1] + 0x00000064u;
|
|
/* 0258D320 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 0258D324 */ _t60 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0258D324 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258D328 */ cpu->r[3] = cpu->r[4];
|
|
/* 0258D32C */ _t61 = cpu->r[1] + 0x00000068u;
|
|
/* 0258D32C */ rbrew_write32(cpu->mem, _t61, cpu->r[6]);
|
|
/* 0258D330 */ Gambit_fn_0281B5DC(cpu);
|
|
/* 0258D334 */ _t62 = cpu->r[30] + 0x00000004u;
|
|
/* 0258D334 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0258D338 */ _t63 = cpu->r[1] + 0x00000068u;
|
|
/* 0258D338 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258D33C */ _t64 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D33C */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0258D340 */ _t65 = cpu->r[1] + 0x000000A0u;
|
|
/* 0258D340 */ rbrew_write32(cpu->mem, _t65, cpu->r[7]);
|
|
/* 0258D344 */ _t66 = cpu->r[1] + 0x00000094u;
|
|
/* 0258D344 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
/* 0258D348 */ _t67 = cpu->r[1] + 0x00000060u;
|
|
/* 0258D348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0258D34C */ _t68 = cpu->r[1] + 0x00000064u;
|
|
/* 0258D34C */ cpu->r[6] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0258D350 */ _t69 = cpu->r[1] + 0x00000098u;
|
|
/* 0258D350 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 0258D354 */ _t70 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0258D354 */ rbrew_write32(cpu->mem, _t70, cpu->r[6]);
|
|
/* 0258D358 */ _t71 = cpu->r[8] + 0x0000025Cu;
|
|
/* 0258D358 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0258D35C */ cpu->ctr = cpu->r[9];
|
|
/* 0258D360 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0258D364 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D36C */ _t72 = cpu->r[1] + 0x00000024u;
|
|
/* 0258D36C */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0258D370 */ cpu->r[11] = 0x00000001u - cpu->r[10];
|
|
/* 0258D374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 0258D378 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D378 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0258D378 */ if (_t74) goto L_0258D400; else goto L_0258D37C;
|
|
L_0258D37C: ; // 0x258d37c
|
|
/* 0258D37C */ goto L_0258D408;
|
|
L_0258D380: ; // 0x258d380
|
|
/* 0258D380 */ _t75 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258D384 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D388 */ _t76 = cpu->r[12] + 0x00003498u;
|
|
/* 0258D388 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0258D38C */ _t77 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D38C */ rbrew_write32(cpu->mem, _t77, cpu->r[10]);
|
|
/* 0258D390 */ _t78 = cpu->r[31] + 0x00000004u;
|
|
/* 0258D390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0258D394 */ _t79 = cpu->r[1] + 0x00000060u;
|
|
/* 0258D394 */ rbrew_write32(cpu->mem, _t79, cpu->r[12]);
|
|
/* 0258D398 */ _t80 = cpu->r[31] + 0x00000008u;
|
|
/* 0258D398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0258D39C */ cpu->f[1] = cpu->f[31];
|
|
/* 0258D3A0 */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D3A4 */ _t81 = cpu->r[1] + 0x00000064u;
|
|
/* 0258D3A4 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 0258D3A8 */ _t82 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258D3A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0258D3AC */ cpu->r[3] = cpu->r[4];
|
|
/* 0258D3B0 */ _t83 = cpu->r[1] + 0x00000068u;
|
|
/* 0258D3B0 */ rbrew_write32(cpu->mem, _t83, cpu->r[6]);
|
|
/* 0258D3B4 */ Gambit_fn_0281B5DC(cpu);
|
|
/* 0258D3B8 */ _t84 = cpu->r[1] + 0x00000068u;
|
|
/* 0258D3B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0258D3BC */ _t85 = cpu->r[1] + 0x00000060u;
|
|
/* 0258D3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0258D3C0 */ _t86 = cpu->r[1] + 0x00000064u;
|
|
/* 0258D3C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0258D3C4 */ _t87 = cpu->r[1] + 0x00000098u;
|
|
/* 0258D3C4 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 0258D3C8 */ _t88 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0258D3C8 */ rbrew_write32(cpu->mem, _t88, cpu->r[6]);
|
|
/* 0258D3CC */ _t89 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0258D3CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0258D3D0 */ _t90 = cpu->r[30] + 0x00000004u;
|
|
/* 0258D3D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0258D3D4 */ _t91 = cpu->r[1] + 0x00000094u;
|
|
/* 0258D3D4 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]);
|
|
/* 0258D3D8 */ _t92 = cpu->r[1] + 0x000000A0u;
|
|
/* 0258D3D8 */ rbrew_write32(cpu->mem, _t92, cpu->r[7]);
|
|
/* 0258D3DC */ _t93 = cpu->r[8] + 0x0000025Cu;
|
|
/* 0258D3DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0258D3E0 */ cpu->ctr = cpu->r[9];
|
|
/* 0258D3E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D3E8 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0258D3EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D3F0 */ _t94 = cpu->r[1] + 0x00000024u;
|
|
/* 0258D3F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0258D3F4 */ cpu->r[11] = 0x00000001u - cpu->r[10];
|
|
/* 0258D3F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 0258D3FC */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D3FC */ _t96 = _t95 & 0x00000001u;
|
|
/* 0258D3FC */ if (_t96) goto L_0258D400; else goto L_0258D37C;
|
|
L_0258D400: ; // 0x258d400
|
|
/* 0258D400 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0258D404 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
|
|
L_0258D408: ; // 0x258d408
|
|
/* 0258D408 */ _t97 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0258D40C */ _t98 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258D40C */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 0258D410 */ _t99 = cpu->r[31] + 0x00000004u;
|
|
/* 0258D410 */ cpu->r[5] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0258D414 */ _t100 = cpu->r[1] + 0x00000070u;
|
|
/* 0258D414 */ rbrew_write32(cpu->mem, _t100, cpu->r[5]);
|
|
/* 0258D418 */ _t101 = cpu->r[31] + 0x00000008u;
|
|
/* 0258D418 */ cpu->r[6] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0258D41C */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258D420 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258D424 */ _t102 = cpu->r[1] + 0x00000074u;
|
|
/* 0258D424 */ rbrew_write32(cpu->mem, _t102, cpu->r[6]);
|
|
/* 0258D428 */ _t103 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258D428 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0258D42C */ cpu->r[4] = cpu->r[3];
|
|
/* 0258D430 */ _t104 = cpu->r[1] + 0x00000078u;
|
|
/* 0258D430 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]);
|
|
/* 0258D434 */ Gambit_fn_0281B5DC(cpu);
|
|
/* 0258D438 */ _t105 = cpu->r[1] + 0x00000070u;
|
|
/* 0258D438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0258D43C */ _t106 = cpu->r[1] + 0x00000074u;
|
|
/* 0258D43C */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0258D440 */ _t107 = cpu->r[1] + 0x000000A8u;
|
|
/* 0258D440 */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 0258D444 */ _t108 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258D444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0258D448 */ _t109 = cpu->r[1] + 0x00000078u;
|
|
/* 0258D448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0258D44C */ _t110 = cpu->r[30] + 0x00000008u;
|
|
/* 0258D44C */ cpu->r[3] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0258D450 */ _t111 = cpu->r[1] + 0x000000B0u;
|
|
/* 0258D450 */ rbrew_write32(cpu->mem, _t111, cpu->r[0]);
|
|
/* 0258D454 */ cpu->r[5] = cpu->r[1] + 0x000000A4u;
|
|
/* 0258D458 */ _t112 = cpu->r[1] + 0x000000A4u;
|
|
/* 0258D458 */ rbrew_write32(cpu->mem, _t112, cpu->r[10]);
|
|
/* 0258D45C */ cpu->r[4] = cpu->r[1] + 0x00000094u;
|
|
/* 0258D460 */ _t113 = cpu->r[1] + 0x000000ACu;
|
|
/* 0258D460 */ rbrew_write32(cpu->mem, _t113, cpu->r[12]);
|
|
/* 0258D464 */ Gambit_fn_023CA018(cpu);
|
|
/* 0258D468 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258D46C */ Gambit_fn_02043B8C(cpu);
|
|
/* 0258D470 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258D474 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258D478 */ _t114 = cpu->r[11] + 0x0000349Cu;
|
|
/* 0258D478 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 0258D47C */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258D480 */ _t115 = cpu->r[30] + 0x000001F0u;
|
|
/* 0258D480 */ rbrew_write32(cpu->mem, _t115, cpu->r[3]);
|
|
/* 0258D484 */ _t116 = cpu->r[12] + 0x000066E8u;
|
|
/* 0258D484 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0258D488 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D48C */ _t117 = cpu->r[1] + 0x00000010u;
|
|
/* 0258D48C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[13]);
|
|
/* 0258D490 */ cpu->r[8] = cpu->r[8] + 0x000034A4u;
|
|
/* 0258D494 */ _t118 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258D494 */ rbrew_write32(cpu->mem, _t118, cpu->r[29]);
|
|
/* 0258D498 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D49C */ _t119 = cpu->r[1] + 0x00000028u;
|
|
/* 0258D49C */ rbrew_write32(cpu->mem, _t119, cpu->r[8]);
|
|
/* 0258D4A0 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0258D4A4 */ _t120 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258D4A4 */ rbrew_write32(cpu->mem, _t120, cpu->r[12]);
|
|
/* 0258D4A8 */ cpu->r[31] = 0x00000001u;
|
|
/* 0258D4AC */ _t121 = cpu->r[9] + 0x0000346Cu;
|
|
/* 0258D4AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 0258D4B0 */ _t122 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D4B0 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[13]);
|
|
/* 0258D4B4 */ _t123 = cpu->r[1] + 0x0000001Bu;
|
|
/* 0258D4B4 */ rbrew_write8(cpu->mem, _t123, (uint8_t)cpu->r[31]);
|
|
/* 0258D4B8 */ _t124 = cpu->r[1] + 0x0000001Au;
|
|
/* 0258D4B8 */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[31]);
|
|
/* 0258D4BC */ cpu->r[6] = 0x00000000u;
|
|
/* 0258D4C0 */ _t125 = cpu->r[1] + 0x00000019u;
|
|
/* 0258D4C0 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[31]);
|
|
/* 0258D4C4 */ _t126 = cpu->r[1] + 0x00000018u;
|
|
/* 0258D4C4 */ rbrew_write8(cpu->mem, _t126, (uint8_t)cpu->r[6]);
|
|
/* 0258D4C8 */ _t127 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D4C8 */ rbrew_write32(cpu->mem, _t127, cpu->r[29]);
|
|
/* 0258D4CC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D4D0 */ _t128 = cpu->r[1] + 0x00000014u;
|
|
/* 0258D4D0 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[0]);
|
|
/* 0258D4D4 */ Gambit_fn_025857F0(cpu);
|
|
/* 0258D4D8 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258D4DC */ cpu->r[29] = 0x101C0000u;
|
|
/* 0258D4E0 */ _t129 = cpu->r[11] + 0x00007D3Cu;
|
|
/* 0258D4E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0258D4E4 */ _t130 = cpu->r[29] + 0x00007BA0u;
|
|
/* 0258D4E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0258D4E8 */ cpu->r[9] = cpu->r[7] + cpu->r[11];
|
|
/* 0258D4EC */ _t131 = cpu->r[9] + 0x00000104u;
|
|
/* 0258D4EC */ cpu->r[10] = rbrew_read8(cpu->mem, _t131);
|
|
/* 0258D4F0 */ _t132 = cpu->r[7] + 0x00000030u;
|
|
/* 0258D4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0258D4F4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258D4F8 */ _t133 = cpu->r[10] + cpu->r[0];
|
|
/* 0258D4F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0258D4FC */ _t134 = cpu->r[12] + 0x00000004u;
|
|
/* 0258D4FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0258D500 */ _t135 = cpu->r[5] + 0x00000000u;
|
|
/* 0258D500 */ cpu->r[3] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0258D504 */ cpu->r[4] = cpu->r[30] + 0x0000024Cu;
|
|
/* 0258D508 */ Gambit_fn_02650BF0(cpu);
|
|
/* 0258D50C */ _t136 = cpu->r[30] + 0x00000080u;
|
|
/* 0258D50C */ cpu->r[3] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0258D510 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258D514 */ Gambit_fn_02399370(cpu);
|
|
/* 0258D518 */ _t137 = cpu->r[29] + 0x00007BA0u;
|
|
/* 0258D518 */ cpu->r[7] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0258D51C */ _t138 = cpu->r[7] + 0x00000B34u;
|
|
/* 0258D51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0258D520 */ _t139 = cpu->r[7] + 0x00000B38u;
|
|
/* 0258D520 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0258D524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 0258D528 */ _t140 = cpu->r[30] + 0x000002CCu;
|
|
/* 0258D528 */ cpu->r[8] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0258D52C */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D52C */ _t142 = _t141 & 0x00000001u;
|
|
/* 0258D52C */ if (_t142) goto L_0258D530; else goto L_0258D548;
|
|
L_0258D530: ; // 0x258d530
|
|
/* 0258D530 */ _t143 = cpu->r[7] + 0x00000B3Cu;
|
|
/* 0258D530 */ cpu->r[5] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0258D534 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258D538 */ _t144 = cpu->r[12] + cpu->r[5];
|
|
/* 0258D538 */ rbrew_write32(cpu->mem, _t144, cpu->r[8]);
|
|
/* 0258D53C */ _t145 = cpu->r[7] + 0x00000B34u;
|
|
/* 0258D53C */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0258D540 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0258D544 */ _t146 = cpu->r[7] + 0x00000B34u;
|
|
/* 0258D544 */ rbrew_write32(cpu->mem, _t146, cpu->r[6]);
|
|
L_0258D548: ; // 0x258d548
|
|
/* 0258D548 */ _t147 = cpu->r[1] + 0x000000D0u;
|
|
/* 0258D548 */ cpu->r[28] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0258D54C */ _t148 = cpu->r[1] + 0x000000D4u;
|
|
/* 0258D54C */ cpu->r[29] = rbrew_read32(cpu->mem, _t148);
|
|
/* 0258D550 */ _t149 = cpu->r[1] + 0x000000E8u;
|
|
/* 0258D550 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 0258D554 */ _t150 = cpu->r[1] + 0x000000D8u;
|
|
/* 0258D554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0258D558 */ _t151 = cpu->r[1] + 0x000000E0u;
|
|
/* 0258D558 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t151);
|
|
/* 0258D55C */ _t152 = cpu->r[1] + 0x000000DCu;
|
|
/* 0258D55C */ cpu->r[31] = rbrew_read32(cpu->mem, _t152);
|
|
/* 0258D560 */ _t153 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D560 */ _t154 = _t153 & 0x00000001u;
|
|
/* 0258D560 */ if (_t154) goto L_0258D564; // else: addr-0 trap, fall-through
|
|
L_0258D564: ; // 0x258d564
|
|
/* 0258D564 */ _t155 = cpu->r[1] + 0x000000F4u;
|
|
/* 0258D564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0258D568 */ cpu->lr = cpu->r[0];
|
|
/* 0258D56C */ cpu->r[1] = cpu->r[1] + 0x000000F0u;
|
|
/* 0258D570 */ return;
|
|
}
|
|
|
|
// fn_0258D574 @ 0x258d574
|
|
void Gambit_fn_0258D574(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_0258D574: ; // 0x258d574
|
|
/* 0258D574 */ cpu->r[0] = cpu->lr;
|
|
/* 0258D578 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0258D578 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D578 */ cpu->r[1] = _t0;
|
|
/* 0258D57C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D57C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258D580 */ /* nop */
|
|
/* 0258D584 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258D584 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258D588 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0258D588 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0258D58C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258D590 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0258D590 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0258D594 */ Gambit_fn_025855EC(cpu);
|
|
/* 0258D598 */ _t5 = cpu->r[31] + 0x00000254u;
|
|
/* 0258D598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258D59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258D5A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D5A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258D5A0 */ if (_t7) goto L_0258D618; else goto L_0258D5A4;
|
|
L_0258D5A4: ; // 0x258d5a4
|
|
/* 0258D5A4 */ _t8 = cpu->r[9] + 0x00000074u;
|
|
/* 0258D5A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258D5A8 */ _t9 = cpu->r[9] + 0x0000005Cu;
|
|
/* 0258D5A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0258D5AC */ _t10 = cpu->r[9] + 0x00000068u;
|
|
/* 0258D5AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0258D5B0 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 0258D5B0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 0258D5B4 */ _t12 = cpu->r[31] + 0x00000058u;
|
|
/* 0258D5B4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0258D5B8 */ _t13 = cpu->r[31] + 0x00000054u;
|
|
/* 0258D5B8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 0258D5BC */ _t14 = cpu->r[9] + 0x0000006Cu;
|
|
/* 0258D5BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258D5C0 */ _t15 = cpu->r[9] + 0x00000060u;
|
|
/* 0258D5C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258D5C4 */ _t16 = cpu->r[9] + 0x00000078u;
|
|
/* 0258D5C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0258D5C8 */ _t17 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258D5C8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 0258D5CC */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 0258D5CC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 0258D5D0 */ _t19 = cpu->r[31] + 0x00000064u;
|
|
/* 0258D5D0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 0258D5D4 */ _t20 = cpu->r[9] + 0x00000070u;
|
|
/* 0258D5D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258D5D8 */ _t21 = cpu->r[9] + 0x00000064u;
|
|
/* 0258D5D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258D5DC */ _t22 = cpu->r[9] + 0x0000007Cu;
|
|
/* 0258D5DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258D5E0 */ _t23 = cpu->r[31] + 0x00000068u;
|
|
/* 0258D5E0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 0258D5E4 */ _t24 = cpu->r[31] + 0x00000254u;
|
|
/* 0258D5E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258D5E8 */ _t25 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258D5E8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 0258D5EC */ _t26 = cpu->r[31] + 0x00000070u;
|
|
/* 0258D5EC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 0258D5F0 */ _t27 = cpu->r[3] + 0x000046BCu;
|
|
/* 0258D5F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0258D5F4 */ _t28 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0258D5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258D5F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D5FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D600 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 0258D600 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258D604 */ _t30 = cpu->r[31] + 0x00000074u;
|
|
/* 0258D604 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 0258D608 */ _t31 = cpu->r[3] + 0x00000004u;
|
|
/* 0258D608 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258D60C */ _t32 = cpu->r[31] + 0x00000078u;
|
|
/* 0258D60C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 0258D610 */ _t33 = cpu->r[3] + 0x00000008u;
|
|
/* 0258D610 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258D614 */ _t34 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258D614 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
L_0258D618: ; // 0x258d618
|
|
/* 0258D618 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D61C */ _t35 = cpu->r[8] + 0x00003478u;
|
|
/* 0258D61C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258D620 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258D624 */ _t36 = cpu->r[31] + 0x00000008u;
|
|
/* 0258D624 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258D628 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258D62C */ _t37 = cpu->r[31] + 0x00000258u;
|
|
/* 0258D62C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[31]);
|
|
/* 0258D630 */ _t38 = cpu->r[12] + 0x00001358u;
|
|
/* 0258D630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258D634 */ cpu->r[11] = cpu->r[11] + 0x00002DD0u;
|
|
/* 0258D638 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258D63C */ _t39 = cpu->r[8] + 0x000000A4u;
|
|
/* 0258D63C */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258D640 */ cpu->r[0] = cpu->r[0] + 0x000034B0u;
|
|
/* 0258D644 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 0258D644 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 0258D648 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D648 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 0258D64C */ _t42 = cpu->r[12] + 0x00000234u;
|
|
/* 0258D64C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258D650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258D654 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D654 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0258D654 */ if (_t44) goto L_0258D658; else goto L_0258D660;
|
|
L_0258D658: ; // 0x258d658
|
|
/* 0258D658 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258D65C */ _t45 = cpu->r[10] + 0x00003468u;
|
|
/* 0258D65C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t45);
|
|
L_0258D660: ; // 0x258d660
|
|
/* 0258D660 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258D664 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258D668 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D66C */ Gambit_fn_029843D4(cpu);
|
|
/* 0258D670 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 0258D670 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 0258D674 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258D678 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D67C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D67C */ rbrew_write32(cpu->mem, _t47, cpu->r[3]);
|
|
/* 0258D680 */ cpu->r[4] = 0x00000005u;
|
|
/* 0258D684 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258D688 */ Gambit_fn_02983FDC(cpu);
|
|
/* 0258D68C */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 0258D68C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0258D690 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258D690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258D694 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D694 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 0258D698 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D698 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0258D698 */ if (_t52) goto L_0258D69C; // else: addr-0 trap, fall-through
|
|
L_0258D69C: ; // 0x258d69c
|
|
/* 0258D69C */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 0258D69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258D6A0 */ cpu->lr = cpu->r[0];
|
|
/* 0258D6A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0258D6A8 */ return;
|
|
}
|
|
|
|
// fn_0258D578 @ 0x258d578
|
|
void Gambit_fn_0258D578(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_0258D578: ; // 0x258d578
|
|
/* 0258D578 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0258D578 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D578 */ cpu->r[1] = _t0;
|
|
/* 0258D57C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D57C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258D580 */ /* nop */
|
|
/* 0258D584 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258D584 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258D588 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0258D588 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0258D58C */ cpu->r[31] = cpu->r[3];
|
|
/* 0258D590 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0258D590 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0258D594 */ Gambit_fn_025855EC(cpu);
|
|
/* 0258D598 */ _t5 = cpu->r[31] + 0x00000254u;
|
|
/* 0258D598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258D59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258D5A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D5A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258D5A0 */ if (_t7) goto L_0258D618; else goto L_0258D5A4;
|
|
L_0258D5A4: ; // 0x258d5a4
|
|
/* 0258D5A4 */ _t8 = cpu->r[9] + 0x00000074u;
|
|
/* 0258D5A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258D5A8 */ _t9 = cpu->r[9] + 0x0000005Cu;
|
|
/* 0258D5A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0258D5AC */ _t10 = cpu->r[9] + 0x00000068u;
|
|
/* 0258D5AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0258D5B0 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 0258D5B0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 0258D5B4 */ _t12 = cpu->r[31] + 0x00000058u;
|
|
/* 0258D5B4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0258D5B8 */ _t13 = cpu->r[31] + 0x00000054u;
|
|
/* 0258D5B8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 0258D5BC */ _t14 = cpu->r[9] + 0x0000006Cu;
|
|
/* 0258D5BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258D5C0 */ _t15 = cpu->r[9] + 0x00000060u;
|
|
/* 0258D5C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258D5C4 */ _t16 = cpu->r[9] + 0x00000078u;
|
|
/* 0258D5C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0258D5C8 */ _t17 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258D5C8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 0258D5CC */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 0258D5CC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 0258D5D0 */ _t19 = cpu->r[31] + 0x00000064u;
|
|
/* 0258D5D0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 0258D5D4 */ _t20 = cpu->r[9] + 0x00000070u;
|
|
/* 0258D5D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258D5D8 */ _t21 = cpu->r[9] + 0x00000064u;
|
|
/* 0258D5D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258D5DC */ _t22 = cpu->r[9] + 0x0000007Cu;
|
|
/* 0258D5DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258D5E0 */ _t23 = cpu->r[31] + 0x00000068u;
|
|
/* 0258D5E0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 0258D5E4 */ _t24 = cpu->r[31] + 0x00000254u;
|
|
/* 0258D5E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258D5E8 */ _t25 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258D5E8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 0258D5EC */ _t26 = cpu->r[31] + 0x00000070u;
|
|
/* 0258D5EC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 0258D5F0 */ _t27 = cpu->r[3] + 0x000046BCu;
|
|
/* 0258D5F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0258D5F4 */ _t28 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0258D5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258D5F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D5FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D600 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 0258D600 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258D604 */ _t30 = cpu->r[31] + 0x00000074u;
|
|
/* 0258D604 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 0258D608 */ _t31 = cpu->r[3] + 0x00000004u;
|
|
/* 0258D608 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258D60C */ _t32 = cpu->r[31] + 0x00000078u;
|
|
/* 0258D60C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 0258D610 */ _t33 = cpu->r[3] + 0x00000008u;
|
|
/* 0258D610 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258D614 */ _t34 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258D614 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
L_0258D618: ; // 0x258d618
|
|
/* 0258D618 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D61C */ _t35 = cpu->r[8] + 0x00003478u;
|
|
/* 0258D61C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258D620 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258D624 */ _t36 = cpu->r[31] + 0x00000008u;
|
|
/* 0258D624 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258D628 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258D62C */ _t37 = cpu->r[31] + 0x00000258u;
|
|
/* 0258D62C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[31]);
|
|
/* 0258D630 */ _t38 = cpu->r[12] + 0x00001358u;
|
|
/* 0258D630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258D634 */ cpu->r[11] = cpu->r[11] + 0x00002DD0u;
|
|
/* 0258D638 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258D63C */ _t39 = cpu->r[8] + 0x000000A4u;
|
|
/* 0258D63C */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258D640 */ cpu->r[0] = cpu->r[0] + 0x000034B0u;
|
|
/* 0258D644 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 0258D644 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 0258D648 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D648 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 0258D64C */ _t42 = cpu->r[12] + 0x00000234u;
|
|
/* 0258D64C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258D650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258D654 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D654 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0258D654 */ if (_t44) goto L_0258D658; else goto L_0258D660;
|
|
L_0258D658: ; // 0x258d658
|
|
/* 0258D658 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258D65C */ _t45 = cpu->r[10] + 0x00003468u;
|
|
/* 0258D65C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t45);
|
|
L_0258D660: ; // 0x258d660
|
|
/* 0258D660 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258D664 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258D668 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D66C */ Gambit_fn_029843D4(cpu);
|
|
/* 0258D670 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 0258D670 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 0258D674 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258D678 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D67C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D67C */ rbrew_write32(cpu->mem, _t47, cpu->r[3]);
|
|
/* 0258D680 */ cpu->r[4] = 0x00000005u;
|
|
/* 0258D684 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258D688 */ Gambit_fn_02983FDC(cpu);
|
|
/* 0258D68C */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 0258D68C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0258D690 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258D690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258D694 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D694 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 0258D698 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D698 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0258D698 */ if (_t52) goto L_0258D69C; // else: addr-0 trap, fall-through
|
|
L_0258D69C: ; // 0x258d69c
|
|
/* 0258D69C */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 0258D69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258D6A0 */ cpu->lr = cpu->r[0];
|
|
/* 0258D6A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0258D6A8 */ return;
|
|
}
|
|
|
|
// fn_0258D6AC @ 0x258d6ac
|
|
void Gambit_fn_0258D6AC(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_02585704: ; // 0x2585704
|
|
/* 02585704 */ cpu->r[0] = cpu->lr;
|
|
/* 02585708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585708 */ cpu->r[1] = _t0;
|
|
/* 0258570C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258570C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02585710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02585714 */ cpu->r[10] = 0x10110000u;
|
|
/* 02585718 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02585718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258571C */ _t3 = cpu->r[31] + 0x000001DCu;
|
|
/* 0258571C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02585720 */ _t4 = cpu->r[10] + 0x00007399u;
|
|
/* 02585720 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02585724 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02585724 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02585728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0258572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258572C */ if (_t7) goto L_02585744; else goto L_02585730;
|
|
L_02585730: ; // 0x2585730
|
|
/* 02585730 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02585730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02585734 */ cpu->r[4] = cpu->r[31] + 0x000001DCu;
|
|
/* 02585738 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258573C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258573C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02585740 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02585740 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02585744: ; // 0x2585744
|
|
/* 02585744 */ _t11 = cpu->r[31] + 0x000001D9u;
|
|
/* 02585744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02585748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258574C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258574C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258574C */ if (_t13) goto L_02585790; else goto L_02585750;
|
|
L_02585750: ; // 0x2585750
|
|
/* 02585750 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02585750 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585758 */ _t15 = cpu->r[31] + 0x000001CCu;
|
|
/* 02585758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258575C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0258575C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585760 */ cpu->f[1] = cpu->f[0] - cpu->f[12];
|
|
/* 02585764 */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02585764 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02585768 */ cpu->f[2] = cpu->f[0] + cpu->f[12];
|
|
/* 0258576C */ _t18 = cpu->r[3] + 0x00005444u;
|
|
/* 0258576C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02585770 */ cpu->f[4] = cpu->f[13] + cpu->f[12];
|
|
/* 02585774 */ _t19 = cpu->r[31] + 0x00000210u;
|
|
/* 02585774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585778 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258577C */ cpu->f[3] = cpu->f[13] - cpu->f[12];
|
|
/* 02585780 */ _t20 = cpu->r[4] + 0x00006CB0u;
|
|
/* 02585780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585784 */ cpu->r[5] = cpu->r[31];
|
|
/* 02585788 */ Gambit_fn_02031B20(cpu);
|
|
/* 0258578C */ _t21 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0258578C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_02585790: ; // 0x2585790
|
|
/* 02585790 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02585790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585794 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02585798 */ cpu->lr = cpu->r[0];
|
|
/* 0258579C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857A0 */ return;
|
|
L_0258D6AC: ; // 0x258d6ac
|
|
/* 0258D6AC */ goto L_02585704;
|
|
}
|
|
|
|
// fn_0258D6B0 @ 0x258d6b0
|
|
void Gambit_fn_0258D6B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_025857A4: ; // 0x25857a4
|
|
/* 025857A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025857A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025857A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025857A8 */ cpu->r[1] = _t0;
|
|
/* 025857AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025857B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025857B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025857B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025857B8 */ _t3 = cpu->r[31] + 0x000001D9u;
|
|
/* 025857B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025857BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025857C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025857C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025857C0 */ if (_t5) goto L_025857DC; else goto L_025857C4;
|
|
L_025857C4: ; // 0x25857c4
|
|
/* 025857C4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 025857C8 */ _t6 = cpu->r[3] + 0x00001D14u;
|
|
/* 025857C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025857CC */ cpu->r[4] = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 025857D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 025857D8 */ _t7 = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_025857DC: ; // 0x25857dc
|
|
/* 025857DC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025857DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025857E0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025857E4 */ cpu->lr = cpu->r[0];
|
|
/* 025857E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857EC */ return;
|
|
L_0258D6B0: ; // 0x258d6b0
|
|
/* 0258D6B0 */ goto L_025857A4;
|
|
}
|
|
|
|
// fn_0258D6B4 @ 0x258d6b4
|
|
void Gambit_fn_0258D6B4(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;
|
|
|
|
L_02585844: ; // 0x2585844
|
|
/* 02585844 */ cpu->r[0] = cpu->lr;
|
|
/* 02585848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585848 */ cpu->r[1] = _t0;
|
|
/* 0258584C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258584C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02585850 */ cpu->r[30] = cpu->r[3];
|
|
/* 02585854 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585854 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02585858 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258585C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258585C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02585860 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 02585860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02585864 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02585864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02585868 */ _t6 = cpu->r[12] + 0x0000012Cu;
|
|
/* 02585868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258586C */ cpu->ctr = cpu->r[0];
|
|
/* 02585870 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02585870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02585874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02585878 */ _t8 = cpu->r[31] + 0x00000224u;
|
|
/* 02585878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258587C */ cpu->r[31] = cpu->r[3];
|
|
/* 02585880 */ cpu->ctr = cpu->r[0];
|
|
/* 02585884 */ cpu->r[3] = cpu->r[30];
|
|
/* 02585888 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258588C */ cpu->r[12] = cpu->r[31] + cpu->r[3];
|
|
/* 02585890 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02585890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02585894 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02585894 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02585894 */ if (_t10) goto L_02585898; else goto L_02585910;
|
|
L_02585898: ; // 0x2585898
|
|
/* 02585898 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258589C */ _t11 = cpu->r[3] + 0x00000E14u;
|
|
/* 0258589C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025858A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025858A4 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 025858A8 */ Gambit_fn_02014444(cpu);
|
|
/* 025858AC */ Gambit_fn_0200ED68(cpu);
|
|
/* 025858B0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858B4 */ _t12 = cpu->r[30] + 0x00000078u;
|
|
/* 025858B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025858B8 */ _t13 = cpu->r[12] + 0x00001BFCu;
|
|
/* 025858B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025858BC */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 025858C0 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 025858C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025858C4 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 025858C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858CC */ cpu->f[13] = fabs(cpu->f[13]);
|
|
/* 025858D0 */ _t15 = cpu->r[12] + 0x00001C00u;
|
|
/* 025858D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025858D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025858D8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025858D8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 025858D8 */ if (_t17) goto L_025858DC; else goto L_025858EC;
|
|
L_025858DC: ; // 0x25858dc
|
|
/* 025858DC */ cpu->r[12] = 0x100D0000u;
|
|
/* 025858E0 */ _t18 = cpu->r[12] + 0x00001BF4u;
|
|
/* 025858E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025858E4 */ _t19 = cpu->r[30] + 0x00000248u;
|
|
/* 025858E4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 025858E8 */ goto L_02585910;
|
|
L_025858EC: ; // 0x25858ec
|
|
/* 025858EC */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 025858EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 025858F0 */ _t21 = cpu->r[30] + 0x0000007Cu;
|
|
/* 025858F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 025858F4 */ _t22 = cpu->r[30] + 0x00000074u;
|
|
/* 025858F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025858F8 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 025858FC */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 025858FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02585900 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02585904 */ cpu->f[13] = cpu->f[12] * cpu->f[12];
|
|
/* 02585908 */ cpu->f[13] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 0258590C */ _t24 = cpu->r[30] + 0x00000248u;
|
|
/* 0258590C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
L_02585910: ; // 0x2585910
|
|
/* 02585910 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02585910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02585914 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02585914 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02585918 */ cpu->lr = cpu->r[0];
|
|
/* 0258591C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258591C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02585920 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02585924 */ return;
|
|
L_02585928: ; // 0x2585928
|
|
/* 02585928 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258592C */ _t28 = cpu->r[12] + 0x00001BF0u;
|
|
/* 0258592C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02585930 */ _t29 = cpu->r[3] + 0x00000208u;
|
|
/* 02585930 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 02585934 */ _t30 = cpu->r[3] + 0x00000200u;
|
|
/* 02585934 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02585938 */ _t31 = cpu->r[3] + 0x000001F4u;
|
|
/* 02585938 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 0258593C */ _t32 = cpu->r[3] + 0x000001F8u;
|
|
/* 0258593C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 02585940 */ _t33 = cpu->r[3] + 0x000001FCu;
|
|
/* 02585940 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02585944 */ _t34 = cpu->r[3] + 0x00000204u;
|
|
/* 02585944 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02585948 */ goto L_02585844;
|
|
L_0258D6B4: ; // 0x258d6b4
|
|
/* 0258D6B4 */ goto L_02585928;
|
|
}
|
|
|
|
// fn_0258D6B8 @ 0x258d6b8
|
|
void Gambit_fn_0258D6B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0258D6B8: ; // 0x258d6b8
|
|
/* 0258D6B8 */ cpu->f[1] = cpu->f[1] - cpu->f[3];
|
|
/* 0258D6BC */ cpu->f[2] = cpu->f[2] - cpu->f[3];
|
|
/* 0258D6C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258D6C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D6C0 */ cpu->r[1] = _t0;
|
|
/* 0258D6C4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D6C8 */ cpu->f[11] = cpu->f[1] / cpu->f[2];
|
|
/* 0258D6CC */ _t1 = cpu->r[12] + 0x00003468u;
|
|
/* 0258D6CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0258D6D0 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 0258D6D4 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D6D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 0258D6DC */ /* nop */
|
|
/* 0258D6E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D6E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258D6E4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D6E4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258D6E4 */ if (_t4) goto L_0258D6E8; else goto L_0258D71C;
|
|
L_0258D6E8: ; // 0x258d6e8
|
|
/* 0258D6E8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D6EC */ cpu->r[0] = 0x00000001u - cpu->r[11];
|
|
/* 0258D6F0 */ cpu->r[11] = 0x43300000u;
|
|
/* 0258D6F4 */ _t5 = cpu->r[12] + 0x00003480u;
|
|
/* 0258D6F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 0258D6F8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 0258D6FC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D6FC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0258D700 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D700 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0258D704 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D704 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 0258D708 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 0258D70C */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 0258D710 */ cpu->f[1] = fma(cpu->f[2], cpu->f[12], cpu->f[1]);
|
|
/* 0258D714 */ cpu->f[1] = cpu->f[1] + cpu->f[3];
|
|
/* 0258D718 */ goto L_0258D750;
|
|
L_0258D71C: ; // 0x258d71c
|
|
/* 0258D71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258D720 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258D720 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258D720 */ if (_t10) goto L_0258D724; else goto L_0258D74C;
|
|
L_0258D724: ; // 0x258d724
|
|
/* 0258D724 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D728 */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 0258D72C */ _t11 = cpu->r[12] + 0x00003480u;
|
|
/* 0258D72C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 0258D730 */ cpu->r[12] = 0x43300000u;
|
|
/* 0258D734 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D734 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0258D738 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D738 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0258D73C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D73C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0258D740 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 0258D744 */ cpu->f[13] = (double)(float)cpu->f[13];
|
|
/* 0258D748 */ cpu->f[1] = -fma(cpu->f[2], cpu->f[13], -(cpu->f[1]));
|
|
L_0258D74C: ; // 0x258d74c
|
|
/* 0258D74C */ cpu->f[1] = cpu->f[1] + cpu->f[3];
|
|
L_0258D750: ; // 0x258d750
|
|
/* 0258D750 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258D754 */ return;
|
|
}
|
|
|
|
// fn_0258D6C0 @ 0x258d6c0
|
|
void Gambit_fn_0258D6C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0258D6C0: ; // 0x258d6c0
|
|
/* 0258D6C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258D6C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D6C0 */ cpu->r[1] = _t0;
|
|
/* 0258D6C4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D6C8 */ cpu->f[11] = cpu->f[1] / cpu->f[2];
|
|
/* 0258D6CC */ _t1 = cpu->r[12] + 0x00003468u;
|
|
/* 0258D6CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0258D6D0 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 0258D6D4 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D6D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 0258D6DC */ /* nop */
|
|
/* 0258D6E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D6E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258D6E4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D6E4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258D6E4 */ if (_t4) goto L_0258D6E8; else goto L_0258D71C;
|
|
L_0258D6E8: ; // 0x258d6e8
|
|
/* 0258D6E8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D6EC */ cpu->r[0] = 0x00000001u - cpu->r[11];
|
|
/* 0258D6F0 */ cpu->r[11] = 0x43300000u;
|
|
/* 0258D6F4 */ _t5 = cpu->r[12] + 0x00003480u;
|
|
/* 0258D6F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 0258D6F8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 0258D6FC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D6FC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0258D700 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D700 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0258D704 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D704 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 0258D708 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 0258D70C */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 0258D710 */ cpu->f[1] = fma(cpu->f[2], cpu->f[12], cpu->f[1]);
|
|
/* 0258D714 */ cpu->f[1] = cpu->f[1] + cpu->f[3];
|
|
/* 0258D718 */ goto L_0258D750;
|
|
L_0258D71C: ; // 0x258d71c
|
|
/* 0258D71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258D720 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258D720 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258D720 */ if (_t10) goto L_0258D724; else goto L_0258D74C;
|
|
L_0258D724: ; // 0x258d724
|
|
/* 0258D724 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D728 */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 0258D72C */ _t11 = cpu->r[12] + 0x00003480u;
|
|
/* 0258D72C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 0258D730 */ cpu->r[12] = 0x43300000u;
|
|
/* 0258D734 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D734 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0258D738 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D738 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0258D73C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D73C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0258D740 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 0258D744 */ cpu->f[13] = (double)(float)cpu->f[13];
|
|
/* 0258D748 */ cpu->f[1] = -fma(cpu->f[2], cpu->f[13], -(cpu->f[1]));
|
|
L_0258D74C: ; // 0x258d74c
|
|
/* 0258D74C */ cpu->f[1] = cpu->f[1] + cpu->f[3];
|
|
L_0258D750: ; // 0x258d750
|
|
/* 0258D750 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258D754 */ return;
|
|
}
|
|
|
|
// fn_0258D758 @ 0x258d758
|
|
void Gambit_fn_0258D758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258D758: ; // 0x258d758
|
|
/* 0258D758 */ cpu->r[0] = cpu->lr;
|
|
/* 0258D75C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258D75C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258D760 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258D760 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258D760 */ cpu->r[1] = _t1;
|
|
/* 0258D764 */ _t2 = cpu->r[3] + 0x000002C8u;
|
|
/* 0258D764 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0258D768 */ cpu->f[1] = cpu->f[2] - cpu->f[1];
|
|
/* 0258D76C */ cpu->f[2] = cpu->f[10];
|
|
/* 0258D770 */ Gambit_fn_0258D6B8(cpu);
|
|
/* 0258D774 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[10]);
|
|
/* 0258D778 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D778 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258D778 */ if (_t4) goto L_0258D780; else goto L_0258D77C;
|
|
L_0258D77C: ; // 0x258d77c
|
|
/* 0258D77C */ cpu->f[1] = cpu->f[1] - cpu->f[10];
|
|
L_0258D780: ; // 0x258d780
|
|
/* 0258D780 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258D784 */ cpu->lr = cpu->r[0];
|
|
/* 0258D788 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D78C */ return;
|
|
}
|
|
|
|
// fn_0258D760 @ 0x258d760
|
|
void Gambit_fn_0258D760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0258D760: ; // 0x258d760
|
|
/* 0258D760 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258D760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D760 */ cpu->r[1] = _t0;
|
|
/* 0258D764 */ _t1 = cpu->r[3] + 0x000002C8u;
|
|
/* 0258D764 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0258D768 */ cpu->f[1] = cpu->f[2] - cpu->f[1];
|
|
/* 0258D76C */ cpu->f[2] = cpu->f[10];
|
|
/* 0258D770 */ Gambit_fn_0258D6B8(cpu);
|
|
/* 0258D774 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[10]);
|
|
/* 0258D778 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D778 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258D778 */ if (_t3) goto L_0258D780; else goto L_0258D77C;
|
|
L_0258D77C: ; // 0x258d77c
|
|
/* 0258D77C */ cpu->f[1] = cpu->f[1] - cpu->f[10];
|
|
L_0258D780: ; // 0x258d780
|
|
/* 0258D780 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258D784 */ cpu->lr = cpu->r[0];
|
|
/* 0258D788 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258D78C */ return;
|
|
}
|
|
|
|
// fn_0258D790 @ 0x258d790
|
|
void Gambit_fn_0258D790(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;
|
|
|
|
L_0258D790: ; // 0x258d790
|
|
/* 0258D790 */ cpu->r[0] = cpu->lr;
|
|
/* 0258D794 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0258D794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D794 */ cpu->r[1] = _t0;
|
|
/* 0258D798 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D798 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0258D79C */ /* nop */
|
|
/* 0258D7A0 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 0258D7A0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0258D7A4 */ /* nop */
|
|
/* 0258D7A8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0258D7A8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0258D7AC */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 0258D7AC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0258D7B0 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 0258D7B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258D7B4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0258D7B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 0258D7B8 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0258D7B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0258D7BC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258D7BC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0258D7C0 */ cpu->r[31] = 0x101C0000u;
|
|
/* 0258D7C4 */ _t9 = cpu->r[31] + 0x00007BA0u;
|
|
/* 0258D7C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258D7C4 */ cpu->r[31] = _t9;
|
|
/* 0258D7C8 */ _t10 = cpu->r[10] + 0x00000250u;
|
|
/* 0258D7C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258D7CC */ cpu->r[30] = cpu->r[3];
|
|
/* 0258D7D0 */ _t11 = cpu->r[11] + 0x00000254u;
|
|
/* 0258D7D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258D7D4 */ _t12 = cpu->r[3] + 0x000000E0u;
|
|
/* 0258D7D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258D7D8 */ _t13 = cpu->r[11] + 0x000001E4u;
|
|
/* 0258D7D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258D7DC */ cpu->ctr = cpu->r[5];
|
|
/* 0258D7E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D7E8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D7E8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0258D7E8 */ if (_t15) goto L_0258D7EC; else goto L_0258DAA0;
|
|
L_0258D7EC: ; // 0x258d7ec
|
|
/* 0258D7EC */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D7EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258D7F0 */ _t17 = cpu->r[12] + 0x00000250u;
|
|
/* 0258D7F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258D7F4 */ _t18 = cpu->r[11] + 0x00000254u;
|
|
/* 0258D7F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258D7F8 */ _t19 = cpu->r[3] + 0x000000E0u;
|
|
/* 0258D7F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258D7FC */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258D800 */ _t20 = cpu->r[8] + 0x000001E4u;
|
|
/* 0258D800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258D804 */ _t21 = cpu->r[5] + 0x00003478u;
|
|
/* 0258D804 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258D808 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D80C */ _t22 = cpu->r[12] + 0x00000490u;
|
|
/* 0258D80C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258D810 */ cpu->f[30] = cpu->f[10] + cpu->f[0];
|
|
/* 0258D814 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D818 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D820 */ _t23 = cpu->r[12] + 0x000034BCu;
|
|
/* 0258D820 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0258D824 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D824 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0258D824 */ if (_t25) goto L_0258D860; else goto L_0258D828;
|
|
L_0258D828: ; // 0x258d828
|
|
/* 0258D828 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D82C */ _t26 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D82C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0258D830 */ _t27 = cpu->r[12] + 0x0000346Cu;
|
|
/* 0258D830 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258D834 */ cpu->f[11] = cpu->f[8] * cpu->f[12];
|
|
/* 0258D838 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[11]);
|
|
/* 0258D83C */ /* nop */
|
|
/* 0258D840 */ _t28 = cpu->r[30] + 0x00000250u;
|
|
/* 0258D840 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0258D844 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D848 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258D84C */ _t29 = cpu->r[8] + 0x00003468u;
|
|
/* 0258D84C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258D850 */ cpu->r[0] = cpu->r[0] | cpu->r[10];
|
|
/* 0258D850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258D854 */ _t30 = cpu->r[30] + 0x00000250u;
|
|
/* 0258D854 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 0258D858 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D858 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0258D858 */ if (_t32) goto L_0258D968; else goto L_0258D85C;
|
|
L_0258D85C: ; // 0x258d85c
|
|
/* 0258D85C */ goto L_0258D8F4;
|
|
L_0258D860: ; // 0x258d860
|
|
/* 0258D860 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258D864 */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 0258D864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258D868 */ _t35 = cpu->r[11] + 0x0000012Cu;
|
|
/* 0258D868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258D86C */ cpu->ctr = cpu->r[7];
|
|
/* 0258D870 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D874 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D878 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D878 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0258D87C */ cpu->r[0] = 0x43300000u;
|
|
/* 0258D880 */ _t37 = cpu->r[8] + 0x000034C0u;
|
|
/* 0258D880 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 0258D884 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D884 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0258D888 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D888 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 0258D88C */ cpu->f[13] = cpu->f[12] - cpu->f[11];
|
|
/* 0258D890 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258D894 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 0258D898 */ _t40 = cpu->r[6] + 0x000034C8u;
|
|
/* 0258D898 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 0258D89C */ cpu->f[10] = cpu->f[12] / cpu->f[13];
|
|
/* 0258D8A0 */ cpu->f[30] = cpu->f[10] + cpu->f[31];
|
|
/* 0258D8A4 */ _t41 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D8A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0258D8A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[8]);
|
|
/* 0258D8AC */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D8AC */ _t43 = _t42 & 0x00000001u;
|
|
/* 0258D8AC */ if (_t43) goto L_0258D8C4; else goto L_0258D8B0;
|
|
L_0258D8B0: ; // 0x258d8b0
|
|
/* 0258D8B0 */ cpu->f[11] = cpu->f[8];
|
|
/* 0258D8B4 */ cpu->f[10] = cpu->f[8] - cpu->f[31];
|
|
L_0258D8B8: ; // 0x258d8b8
|
|
/* 0258D8B8 */ cpu->f[30] = cpu->f[30] - cpu->f[10];
|
|
/* 0258D8BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[11]);
|
|
/* 0258D8C0 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D8C0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0258D8C0 */ if (_t45) goto L_0258D8C4; else goto L_0258D8B8;
|
|
L_0258D8C4: ; // 0x258d8c4
|
|
/* 0258D8C4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D8C8 */ _t46 = cpu->r[12] + 0x0000346Cu;
|
|
/* 0258D8C8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0258D8CC */ cpu->f[11] = cpu->f[8] * cpu->f[12];
|
|
/* 0258D8D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[11]);
|
|
/* 0258D8D4 */ /* nop */
|
|
/* 0258D8D8 */ _t47 = cpu->r[30] + 0x00000250u;
|
|
/* 0258D8D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0258D8DC */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D8E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258D8E4 */ _t48 = cpu->r[8] + 0x00003468u;
|
|
/* 0258D8E4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0258D8E8 */ cpu->r[0] = cpu->r[0] | cpu->r[10];
|
|
/* 0258D8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258D8EC */ _t49 = cpu->r[30] + 0x00000250u;
|
|
/* 0258D8EC */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
|
|
/* 0258D8F0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D8F0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0258D8F0 */ if (_t51) goto L_0258D968; else goto L_0258D8F4;
|
|
L_0258D8F4: ; // 0x258d8f4
|
|
/* 0258D8F4 */ _t52 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D8F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0258D8F8 */ Gambit_fn_0263BA84(cpu);
|
|
/* 0258D8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D900 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D900 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0258D900 */ if (_t54) goto L_0258D904; else goto L_0258D964;
|
|
L_0258D904: ; // 0x258d904
|
|
/* 0258D904 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258D908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D90C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D90C */ _t56 = _t55 & 0x00000001u;
|
|
/* 0258D90C */ if (_t56) goto L_0258D964; else goto L_0258D910;
|
|
L_0258D910: ; // 0x258d910
|
|
/* 0258D910 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258D914 */ _t57 = cpu->r[12] + 0x00006000u;
|
|
/* 0258D914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0258D918 */ _t58 = cpu->r[12] + 0x00000250u;
|
|
/* 0258D918 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0258D91C */ _t59 = cpu->r[5] + 0x00000254u;
|
|
/* 0258D91C */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0258D920 */ _t60 = cpu->r[3] + 0x000000E0u;
|
|
/* 0258D920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258D924 */ _t61 = cpu->r[6] + 0x00000174u;
|
|
/* 0258D924 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0258D928 */ cpu->ctr = cpu->r[7];
|
|
/* 0258D92C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D930 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D930 */ rbrew_write32(cpu->mem, _t62, cpu->r[3]);
|
|
/* 0258D934 */ cpu->r[8] = 0x43300000u;
|
|
/* 0258D938 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258D93C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D93C */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 0258D940 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D940 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 0258D944 */ _t65 = cpu->r[6] + 0x000034C0u;
|
|
/* 0258D944 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 0258D948 */ _t66 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D948 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 0258D94C */ cpu->f[13] = cpu->f[11] - cpu->f[10];
|
|
/* 0258D950 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[8]);
|
|
/* 0258D954 */ cpu->f[3] = (double)(float)cpu->f[13];
|
|
/* 0258D958 */ _t67 = cpu->r[30] + 0x000002C4u;
|
|
/* 0258D958 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0258D95C */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258D95C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0258D95C */ if (_t69) goto L_0258D960; else goto L_0258D980;
|
|
L_0258D960: ; // 0x258d960
|
|
/* 0258D960 */ goto L_0258D978;
|
|
L_0258D964: ; // 0x258d964
|
|
/* 0258D964 */ cpu->f[3] = cpu->f[31];
|
|
L_0258D968: ; // 0x258d968
|
|
/* 0258D968 */ _t70 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D968 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 0258D96C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[8]);
|
|
/* 0258D970 */ _t71 = cpu->r[30] + 0x000002C4u;
|
|
/* 0258D970 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 0258D974 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258D974 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0258D974 */ if (_t73) goto L_0258D978; else goto L_0258D980;
|
|
L_0258D978: ; // 0x258d978
|
|
/* 0258D978 */ cpu->f[0] = cpu->f[30] - cpu->f[8];
|
|
/* 0258D97C */ cpu->f[30] = cpu->f[0] + cpu->f[3];
|
|
L_0258D980: ; // 0x258d980
|
|
/* 0258D980 */ cpu->f[2] = cpu->f[30];
|
|
/* 0258D984 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D988 */ cpu->f[1] = cpu->f[9];
|
|
/* 0258D98C */ Gambit_fn_0258D758(cpu);
|
|
/* 0258D990 */ cpu->f[1] = cpu->f[9] + cpu->f[1];
|
|
/* 0258D994 */ cpu->f[2] = cpu->f[8];
|
|
/* 0258D998 */ Gambit_fn_0258D6B8(cpu);
|
|
/* 0258D99C */ cpu->r[31] = 0x100D0000u;
|
|
/* 0258D9A0 */ cpu->f[31] = cpu->f[1];
|
|
/* 0258D9A4 */ cpu->r[0] = 0x00000006u;
|
|
/* 0258D9A8 */ cpu->r[31] = cpu->r[31] + 0x00002F38u;
|
|
/* 0258D9AC */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258D9B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D9B4 */ _t74 = cpu->r[11] + 0xFFFFB6A8u;
|
|
/* 0258D9B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258D9B4 */ cpu->r[11] = _t74;
|
|
/* 0258D9B8 */ cpu->r[4] = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 0258D9BC */ cpu->r[10] = 0x00000001u;
|
|
L_0258D9C0: ; // 0x258d9c0
|
|
/* 0258D9C0 */ _t75 = cpu->r[4] + 0x00000004u;
|
|
/* 0258D9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258D9C0 */ cpu->r[4] = _t75;
|
|
/* 0258D9C4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258D9C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D9CC */ _t76 = cpu->r[5] + cpu->r[31];
|
|
/* 0258D9CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0258D9D0 */ cpu->r[8] = 0x43300000u;
|
|
/* 0258D9D4 */ _t77 = cpu->r[12] + 0x00003480u;
|
|
/* 0258D9D4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t77);
|
|
/* 0258D9D8 */ cpu->r[0] = cpu->r[7] ^ 0x80000000u;
|
|
/* 0258D9DC */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D9DC */ rbrew_write32(cpu->mem, _t78, cpu->r[8]);
|
|
/* 0258D9E0 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D9E0 */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 0258D9E4 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D9E4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 0258D9E8 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 0258D9EC */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 0258D9F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 0258D9F4 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258D9F4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0258D9F4 */ if (_t82) goto L_0258DA4C; else goto L_0258D9F8;
|
|
L_0258D9F8: ; // 0x258d9f8
|
|
/* 0258D9F8 */ _t83 = cpu->r[4] + 0x00000000u;
|
|
/* 0258D9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0258D9FC */ cpu->r[7] = 0x43300000u;
|
|
/* 0258DA00 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00005556u);
|
|
/* 0258DA04 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DA08 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DA08 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 0258DA0C */ _t85 = cpu->r[12] + cpu->r[31];
|
|
/* 0258DA0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0258DA10 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258DA14 */ _t86 = cpu->r[9] + 0x00003480u;
|
|
/* 0258DA14 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 0258DA18 */ cpu->r[9] = cpu->r[6] ^ 0x80000000u;
|
|
/* 0258DA1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000000Fu, 0x00000011u, 0x0000001Fu);
|
|
/* 0258DA20 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258DA20 */ rbrew_write32(cpu->mem, _t87, cpu->r[9]);
|
|
/* 0258DA24 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DA24 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 0258DA28 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000006u);
|
|
/* 0258DA2C */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 0258DA30 */ cpu->r[9] = cpu->r[10] - cpu->r[0];
|
|
/* 0258DA34 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 0258DA38 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DA3C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0258DA40 */ _t89 = cpu->r[11] + cpu->r[8];
|
|
/* 0258DA40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0258DA44 */ cpu->f[31] = cpu->f[31] - cpu->f[0];
|
|
/* 0258DA48 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258DA48 */ _t90 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258DA48 */ _t91 = _t90 >> (0x00000002u & 31u);
|
|
/* 0258DA48 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0258DA48 */ if (_t92) goto L_0258D9C0; else goto L_0258DA4C;
|
|
L_0258DA4C: ; // 0x258da4c
|
|
/* 0258DA4C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258DA50 */ cpu->r[4] = cpu->r[29];
|
|
/* 0258DA54 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258DA58 */ Gambit_fn_02002728(cpu);
|
|
/* 0258DA5C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258DA60 */ Gambit_fn_02002C1C(cpu);
|
|
/* 0258DA64 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DA68 */ cpu->r[0] = 0x43300000u;
|
|
/* 0258DA6C */ _t93 = cpu->r[7] + cpu->r[31];
|
|
/* 0258DA6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0258DA70 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258DA74 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DA74 */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
/* 0258DA78 */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 0258DA7C */ _t95 = cpu->r[8] + 0x00003480u;
|
|
/* 0258DA7C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 0258DA80 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258DA80 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 0258DA84 */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DA84 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 0258DA88 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 0258DA8C */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 0258DA90 */ cpu->f[11] = cpu->f[1] / cpu->f[0];
|
|
/* 0258DA94 */ cpu->f[1] = cpu->f[11] * cpu->f[31];
|
|
/* 0258DA98 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258DA9C */ Gambit_fn_02002BD4(cpu);
|
|
L_0258DAA0: ; // 0x258daa0
|
|
/* 0258DAA0 */ _t98 = cpu->r[1] + 0x00000014u;
|
|
/* 0258DAA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0258DAA4 */ _t99 = cpu->r[1] + 0x00000038u;
|
|
/* 0258DAA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 0258DAA8 */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 0258DAA8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 0258DAAC */ _t101 = cpu->r[1] + 0x00000030u;
|
|
/* 0258DAAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 0258DAB0 */ _t102 = cpu->r[1] + 0x00000020u;
|
|
/* 0258DAB0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 0258DAB4 */ _t103 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258DAB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0258DAB8 */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 0258DAB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0258DABC */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DABC */ _t106 = _t105 & 0x00000001u;
|
|
/* 0258DABC */ if (_t106) goto L_0258DAC0; // else: addr-0 trap, fall-through
|
|
L_0258DAC0: ; // 0x258dac0
|
|
/* 0258DAC0 */ _t107 = cpu->r[1] + 0x00000044u;
|
|
/* 0258DAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0258DAC4 */ cpu->lr = cpu->r[0];
|
|
/* 0258DAC8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0258DACC */ return;
|
|
}
|
|
|
|
// fn_0258D794 @ 0x258d794
|
|
void Gambit_fn_0258D794(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;
|
|
|
|
L_0258D794: ; // 0x258d794
|
|
/* 0258D794 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0258D794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258D794 */ cpu->r[1] = _t0;
|
|
/* 0258D798 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0258D798 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0258D79C */ /* nop */
|
|
/* 0258D7A0 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 0258D7A0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0258D7A4 */ /* nop */
|
|
/* 0258D7A8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0258D7A8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0258D7AC */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 0258D7AC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0258D7B0 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 0258D7B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258D7B4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0258D7B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 0258D7B8 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0258D7B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0258D7BC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258D7BC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0258D7C0 */ cpu->r[31] = 0x101C0000u;
|
|
/* 0258D7C4 */ _t9 = cpu->r[31] + 0x00007BA0u;
|
|
/* 0258D7C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258D7C4 */ cpu->r[31] = _t9;
|
|
/* 0258D7C8 */ _t10 = cpu->r[10] + 0x00000250u;
|
|
/* 0258D7C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258D7CC */ cpu->r[30] = cpu->r[3];
|
|
/* 0258D7D0 */ _t11 = cpu->r[11] + 0x00000254u;
|
|
/* 0258D7D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258D7D4 */ _t12 = cpu->r[3] + 0x000000E0u;
|
|
/* 0258D7D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258D7D8 */ _t13 = cpu->r[11] + 0x000001E4u;
|
|
/* 0258D7D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258D7DC */ cpu->ctr = cpu->r[5];
|
|
/* 0258D7E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D7E8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D7E8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0258D7E8 */ if (_t15) goto L_0258D7EC; else goto L_0258DAA0;
|
|
L_0258D7EC: ; // 0x258d7ec
|
|
/* 0258D7EC */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D7EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258D7F0 */ _t17 = cpu->r[12] + 0x00000250u;
|
|
/* 0258D7F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258D7F4 */ _t18 = cpu->r[11] + 0x00000254u;
|
|
/* 0258D7F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258D7F8 */ _t19 = cpu->r[3] + 0x000000E0u;
|
|
/* 0258D7F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258D7FC */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258D800 */ _t20 = cpu->r[8] + 0x000001E4u;
|
|
/* 0258D800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258D804 */ _t21 = cpu->r[5] + 0x00003478u;
|
|
/* 0258D804 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258D808 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D80C */ _t22 = cpu->r[12] + 0x00000490u;
|
|
/* 0258D80C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258D810 */ cpu->f[30] = cpu->f[10] + cpu->f[0];
|
|
/* 0258D814 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D818 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D820 */ _t23 = cpu->r[12] + 0x000034BCu;
|
|
/* 0258D820 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0258D824 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D824 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0258D824 */ if (_t25) goto L_0258D860; else goto L_0258D828;
|
|
L_0258D828: ; // 0x258d828
|
|
/* 0258D828 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D82C */ _t26 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D82C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0258D830 */ _t27 = cpu->r[12] + 0x0000346Cu;
|
|
/* 0258D830 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258D834 */ cpu->f[11] = cpu->f[8] * cpu->f[12];
|
|
/* 0258D838 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[11]);
|
|
/* 0258D83C */ /* nop */
|
|
/* 0258D840 */ _t28 = cpu->r[30] + 0x00000250u;
|
|
/* 0258D840 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0258D844 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D848 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258D84C */ _t29 = cpu->r[8] + 0x00003468u;
|
|
/* 0258D84C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258D850 */ cpu->r[0] = cpu->r[0] | cpu->r[10];
|
|
/* 0258D850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258D854 */ _t30 = cpu->r[30] + 0x00000250u;
|
|
/* 0258D854 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 0258D858 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D858 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0258D858 */ if (_t32) goto L_0258D968; else goto L_0258D85C;
|
|
L_0258D85C: ; // 0x258d85c
|
|
/* 0258D85C */ goto L_0258D8F4;
|
|
L_0258D860: ; // 0x258d860
|
|
/* 0258D860 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258D864 */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 0258D864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0258D868 */ _t35 = cpu->r[11] + 0x0000012Cu;
|
|
/* 0258D868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258D86C */ cpu->ctr = cpu->r[7];
|
|
/* 0258D870 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D874 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D878 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D878 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0258D87C */ cpu->r[0] = 0x43300000u;
|
|
/* 0258D880 */ _t37 = cpu->r[8] + 0x000034C0u;
|
|
/* 0258D880 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 0258D884 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D884 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0258D888 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D888 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 0258D88C */ cpu->f[13] = cpu->f[12] - cpu->f[11];
|
|
/* 0258D890 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258D894 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 0258D898 */ _t40 = cpu->r[6] + 0x000034C8u;
|
|
/* 0258D898 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 0258D89C */ cpu->f[10] = cpu->f[12] / cpu->f[13];
|
|
/* 0258D8A0 */ cpu->f[30] = cpu->f[10] + cpu->f[31];
|
|
/* 0258D8A4 */ _t41 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D8A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0258D8A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[8]);
|
|
/* 0258D8AC */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D8AC */ _t43 = _t42 & 0x00000001u;
|
|
/* 0258D8AC */ if (_t43) goto L_0258D8C4; else goto L_0258D8B0;
|
|
L_0258D8B0: ; // 0x258d8b0
|
|
/* 0258D8B0 */ cpu->f[11] = cpu->f[8];
|
|
/* 0258D8B4 */ cpu->f[10] = cpu->f[8] - cpu->f[31];
|
|
L_0258D8B8: ; // 0x258d8b8
|
|
/* 0258D8B8 */ cpu->f[30] = cpu->f[30] - cpu->f[10];
|
|
/* 0258D8BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[11]);
|
|
/* 0258D8C0 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258D8C0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0258D8C0 */ if (_t45) goto L_0258D8C4; else goto L_0258D8B8;
|
|
L_0258D8C4: ; // 0x258d8c4
|
|
/* 0258D8C4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D8C8 */ _t46 = cpu->r[12] + 0x0000346Cu;
|
|
/* 0258D8C8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0258D8CC */ cpu->f[11] = cpu->f[8] * cpu->f[12];
|
|
/* 0258D8D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[11]);
|
|
/* 0258D8D4 */ /* nop */
|
|
/* 0258D8D8 */ _t47 = cpu->r[30] + 0x00000250u;
|
|
/* 0258D8D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0258D8DC */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258D8E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258D8E4 */ _t48 = cpu->r[8] + 0x00003468u;
|
|
/* 0258D8E4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0258D8E8 */ cpu->r[0] = cpu->r[0] | cpu->r[10];
|
|
/* 0258D8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258D8EC */ _t49 = cpu->r[30] + 0x00000250u;
|
|
/* 0258D8EC */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
|
|
/* 0258D8F0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D8F0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0258D8F0 */ if (_t51) goto L_0258D968; else goto L_0258D8F4;
|
|
L_0258D8F4: ; // 0x258d8f4
|
|
/* 0258D8F4 */ _t52 = cpu->r[31] + 0x00000000u;
|
|
/* 0258D8F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0258D8F8 */ Gambit_fn_0263BA84(cpu);
|
|
/* 0258D8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D900 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D900 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0258D900 */ if (_t54) goto L_0258D904; else goto L_0258D964;
|
|
L_0258D904: ; // 0x258d904
|
|
/* 0258D904 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258D908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258D90C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258D90C */ _t56 = _t55 & 0x00000001u;
|
|
/* 0258D90C */ if (_t56) goto L_0258D964; else goto L_0258D910;
|
|
L_0258D910: ; // 0x258d910
|
|
/* 0258D910 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258D914 */ _t57 = cpu->r[12] + 0x00006000u;
|
|
/* 0258D914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0258D918 */ _t58 = cpu->r[12] + 0x00000250u;
|
|
/* 0258D918 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0258D91C */ _t59 = cpu->r[5] + 0x00000254u;
|
|
/* 0258D91C */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0258D920 */ _t60 = cpu->r[3] + 0x000000E0u;
|
|
/* 0258D920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258D924 */ _t61 = cpu->r[6] + 0x00000174u;
|
|
/* 0258D924 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0258D928 */ cpu->ctr = cpu->r[7];
|
|
/* 0258D92C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258D930 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D930 */ rbrew_write32(cpu->mem, _t62, cpu->r[3]);
|
|
/* 0258D934 */ cpu->r[8] = 0x43300000u;
|
|
/* 0258D938 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258D93C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D93C */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 0258D940 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D940 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 0258D944 */ _t65 = cpu->r[6] + 0x000034C0u;
|
|
/* 0258D944 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 0258D948 */ _t66 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D948 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 0258D94C */ cpu->f[13] = cpu->f[11] - cpu->f[10];
|
|
/* 0258D950 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[8]);
|
|
/* 0258D954 */ cpu->f[3] = (double)(float)cpu->f[13];
|
|
/* 0258D958 */ _t67 = cpu->r[30] + 0x000002C4u;
|
|
/* 0258D958 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0258D95C */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258D95C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0258D95C */ if (_t69) goto L_0258D960; else goto L_0258D980;
|
|
L_0258D960: ; // 0x258d960
|
|
/* 0258D960 */ goto L_0258D978;
|
|
L_0258D964: ; // 0x258d964
|
|
/* 0258D964 */ cpu->f[3] = cpu->f[31];
|
|
L_0258D968: ; // 0x258d968
|
|
/* 0258D968 */ _t70 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258D968 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 0258D96C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[8]);
|
|
/* 0258D970 */ _t71 = cpu->r[30] + 0x000002C4u;
|
|
/* 0258D970 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 0258D974 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258D974 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0258D974 */ if (_t73) goto L_0258D978; else goto L_0258D980;
|
|
L_0258D978: ; // 0x258d978
|
|
/* 0258D978 */ cpu->f[0] = cpu->f[30] - cpu->f[8];
|
|
/* 0258D97C */ cpu->f[30] = cpu->f[0] + cpu->f[3];
|
|
L_0258D980: ; // 0x258d980
|
|
/* 0258D980 */ cpu->f[2] = cpu->f[30];
|
|
/* 0258D984 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258D988 */ cpu->f[1] = cpu->f[9];
|
|
/* 0258D98C */ Gambit_fn_0258D758(cpu);
|
|
/* 0258D990 */ cpu->f[1] = cpu->f[9] + cpu->f[1];
|
|
/* 0258D994 */ cpu->f[2] = cpu->f[8];
|
|
/* 0258D998 */ Gambit_fn_0258D6B8(cpu);
|
|
/* 0258D99C */ cpu->r[31] = 0x100D0000u;
|
|
/* 0258D9A0 */ cpu->f[31] = cpu->f[1];
|
|
/* 0258D9A4 */ cpu->r[0] = 0x00000006u;
|
|
/* 0258D9A8 */ cpu->r[31] = cpu->r[31] + 0x00002F38u;
|
|
/* 0258D9AC */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258D9B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0258D9B4 */ _t74 = cpu->r[11] + 0xFFFFB6A8u;
|
|
/* 0258D9B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258D9B4 */ cpu->r[11] = _t74;
|
|
/* 0258D9B8 */ cpu->r[4] = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 0258D9BC */ cpu->r[10] = 0x00000001u;
|
|
L_0258D9C0: ; // 0x258d9c0
|
|
/* 0258D9C0 */ _t75 = cpu->r[4] + 0x00000004u;
|
|
/* 0258D9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258D9C0 */ cpu->r[4] = _t75;
|
|
/* 0258D9C4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258D9C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258D9CC */ _t76 = cpu->r[5] + cpu->r[31];
|
|
/* 0258D9CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0258D9D0 */ cpu->r[8] = 0x43300000u;
|
|
/* 0258D9D4 */ _t77 = cpu->r[12] + 0x00003480u;
|
|
/* 0258D9D4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t77);
|
|
/* 0258D9D8 */ cpu->r[0] = cpu->r[7] ^ 0x80000000u;
|
|
/* 0258D9DC */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D9DC */ rbrew_write32(cpu->mem, _t78, cpu->r[8]);
|
|
/* 0258D9E0 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258D9E0 */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 0258D9E4 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 0258D9E4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 0258D9E8 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 0258D9EC */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 0258D9F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 0258D9F4 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258D9F4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0258D9F4 */ if (_t82) goto L_0258DA4C; else goto L_0258D9F8;
|
|
L_0258D9F8: ; // 0x258d9f8
|
|
/* 0258D9F8 */ _t83 = cpu->r[4] + 0x00000000u;
|
|
/* 0258D9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0258D9FC */ cpu->r[7] = 0x43300000u;
|
|
/* 0258DA00 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00005556u);
|
|
/* 0258DA04 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DA08 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DA08 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 0258DA0C */ _t85 = cpu->r[12] + cpu->r[31];
|
|
/* 0258DA0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0258DA10 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258DA14 */ _t86 = cpu->r[9] + 0x00003480u;
|
|
/* 0258DA14 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 0258DA18 */ cpu->r[9] = cpu->r[6] ^ 0x80000000u;
|
|
/* 0258DA1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000000Fu, 0x00000011u, 0x0000001Fu);
|
|
/* 0258DA20 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258DA20 */ rbrew_write32(cpu->mem, _t87, cpu->r[9]);
|
|
/* 0258DA24 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DA24 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 0258DA28 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000006u);
|
|
/* 0258DA2C */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 0258DA30 */ cpu->r[9] = cpu->r[10] - cpu->r[0];
|
|
/* 0258DA34 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 0258DA38 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DA3C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0258DA40 */ _t89 = cpu->r[11] + cpu->r[8];
|
|
/* 0258DA40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0258DA44 */ cpu->f[31] = cpu->f[31] - cpu->f[0];
|
|
/* 0258DA48 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258DA48 */ _t90 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258DA48 */ _t91 = _t90 >> (0x00000002u & 31u);
|
|
/* 0258DA48 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0258DA48 */ if (_t92) goto L_0258D9C0; else goto L_0258DA4C;
|
|
L_0258DA4C: ; // 0x258da4c
|
|
/* 0258DA4C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258DA50 */ cpu->r[4] = cpu->r[29];
|
|
/* 0258DA54 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258DA58 */ Gambit_fn_02002728(cpu);
|
|
/* 0258DA5C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258DA60 */ Gambit_fn_02002C1C(cpu);
|
|
/* 0258DA64 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DA68 */ cpu->r[0] = 0x43300000u;
|
|
/* 0258DA6C */ _t93 = cpu->r[7] + cpu->r[31];
|
|
/* 0258DA6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0258DA70 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258DA74 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DA74 */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
/* 0258DA78 */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 0258DA7C */ _t95 = cpu->r[8] + 0x00003480u;
|
|
/* 0258DA7C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 0258DA80 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258DA80 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 0258DA84 */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DA84 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 0258DA88 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 0258DA8C */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 0258DA90 */ cpu->f[11] = cpu->f[1] / cpu->f[0];
|
|
/* 0258DA94 */ cpu->f[1] = cpu->f[11] * cpu->f[31];
|
|
/* 0258DA98 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258DA9C */ Gambit_fn_02002BD4(cpu);
|
|
L_0258DAA0: ; // 0x258daa0
|
|
/* 0258DAA0 */ _t98 = cpu->r[1] + 0x00000014u;
|
|
/* 0258DAA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0258DAA4 */ _t99 = cpu->r[1] + 0x00000038u;
|
|
/* 0258DAA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 0258DAA8 */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 0258DAA8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 0258DAAC */ _t101 = cpu->r[1] + 0x00000030u;
|
|
/* 0258DAAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 0258DAB0 */ _t102 = cpu->r[1] + 0x00000020u;
|
|
/* 0258DAB0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 0258DAB4 */ _t103 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258DAB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0258DAB8 */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 0258DAB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0258DABC */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DABC */ _t106 = _t105 & 0x00000001u;
|
|
/* 0258DABC */ if (_t106) goto L_0258DAC0; // else: addr-0 trap, fall-through
|
|
L_0258DAC0: ; // 0x258dac0
|
|
/* 0258DAC0 */ _t107 = cpu->r[1] + 0x00000044u;
|
|
/* 0258DAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0258DAC4 */ cpu->lr = cpu->r[0];
|
|
/* 0258DAC8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0258DACC */ return;
|
|
}
|
|
|
|
// fn_0258DAD0 @ 0x258dad0
|
|
void Gambit_fn_0258DAD0(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;
|
|
|
|
L_0258DAD0: ; // 0x258dad0
|
|
/* 0258DAD0 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 0258DAD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258DAD0 */ cpu->r[1] = _t0;
|
|
/* 0258DAD4 */ /* nop */
|
|
/* 0258DAD8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258DADC */ cpu->r[27] = 0x100D0000u;
|
|
/* 0258DAE0 */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 0258DAE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258DAE4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258DAE8 */ cpu->r[27] = cpu->r[27] + 0x00002DD0u;
|
|
/* 0258DAEC */ cpu->r[0] = cpu->r[0] + 0x000034D8u;
|
|
/* 0258DAF0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258DAF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[27]);
|
|
/* 0258DAF4 */ _t3 = cpu->r[1] + 0x00000070u;
|
|
/* 0258DAF4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0258DAF8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258DAF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[27]);
|
|
/* 0258DAFC */ /* nop */
|
|
/* 0258DB00 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258DB04 */ _t5 = cpu->r[1] + 0x00000078u;
|
|
/* 0258DB04 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 0258DB08 */ cpu->r[7] = cpu->r[7] + 0x000034D0u;
|
|
/* 0258DB0C */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 0258DB0C */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 0258DB10 */ cpu->r[24] = cpu->r[3];
|
|
/* 0258DB14 */ _t7 = cpu->r[24] + 0x00000008u;
|
|
/* 0258DB14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258DB18 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0258DB1C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DB20 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DB20 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0258DB24 */ Gambit_fn_02980A18(cpu);
|
|
/* 0258DB28 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0258DB2C */ _t9 = cpu->r[1] + 0x00000040u;
|
|
/* 0258DB2C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 0258DB30 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0258DB34 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0258DB34 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0258DB38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DB3C */ Gambit_fn_02980AB0(cpu);
|
|
/* 0258DB40 */ _t11 = cpu->r[1] + 0x00000030u;
|
|
/* 0258DB40 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 0258DB44 */ _t12 = cpu->r[1] + 0x00000030u;
|
|
/* 0258DB44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258DB48 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 0258DB48 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 0258DB4C */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 0258DB4C */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 0258DB50 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 0258DB50 */ cpu->r[30] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258DB54 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 0258DB54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258DB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFFFFFFu);
|
|
/* 0258DB5C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 0258DB5C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0258DB60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DB60 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0258DB60 */ if (_t19) goto L_0258DE14; else goto L_0258DB64;
|
|
L_0258DB64: ; // 0x258db64
|
|
/* 0258DB64 */ _t20 = cpu->r[1] + 0x00000022u;
|
|
/* 0258DB64 */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t20);
|
|
/* 0258DB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0xFFFFFFFFu);
|
|
/* 0258DB6C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DB6C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258DB6C */ if (_t22) goto L_0258DE14; else goto L_0258DB70;
|
|
L_0258DB70: ; // 0x258db70
|
|
/* 0258DB70 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 0258DB70 */ cpu->r[25] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t23);
|
|
/* 0258DB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0xFFFFFFFFu);
|
|
/* 0258DB78 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DB78 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0258DB78 */ if (_t25) goto L_0258DE14; else goto L_0258DB7C;
|
|
L_0258DB7C: ; // 0x258db7c
|
|
/* 0258DB7C */ _t26 = cpu->r[24] + 0x00000008u;
|
|
/* 0258DB7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258DB80 */ _t27 = cpu->r[6] + 0x000000A4u;
|
|
/* 0258DB80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0258DB84 */ _t28 = cpu->r[28] + 0x00000030u;
|
|
/* 0258DB84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258DB88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
|
|
/* 0258DB8C */ _t29 = cpu->r[28] + 0x00000034u;
|
|
/* 0258DB8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258DB90 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258DB90 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0258DB90 */ if (_t31) goto L_0258DB94; else goto L_0258DBAC;
|
|
L_0258DB94: ; // 0x258db94
|
|
/* 0258DB94 */ _t32 = cpu->r[10] + 0x000000A8u;
|
|
/* 0258DB94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0258DB98 */ /* nop */
|
|
/* 0258DB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258DBA0 */ cpu->r[31] = 0x00000001u;
|
|
/* 0258DBA4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DBA4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0258DBA4 */ if (_t34) goto L_0258DBA8; else goto L_0258DBC0;
|
|
L_0258DBA8: ; // 0x258dba8
|
|
/* 0258DBA8 */ goto L_0258DC3C;
|
|
L_0258DBAC: ; // 0x258dbac
|
|
/* 0258DBAC */ _t35 = cpu->r[10] + 0x00000000u;
|
|
/* 0258DBAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258DBB0 */ /* nop */
|
|
/* 0258DBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258DBB8 */ cpu->r[31] = 0x00000001u;
|
|
/* 0258DBBC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DBBC */ _t37 = _t36 & 0x00000001u;
|
|
/* 0258DBBC */ if (_t37) goto L_0258DC3C; else goto L_0258DBC0;
|
|
L_0258DBC0: ; // 0x258dbc0
|
|
/* 0258DBC0 */ /* nop */
|
|
/* 0258DBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258DBC8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DBC8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0258DBC8 */ if (_t39) goto L_0258DC3C; else goto L_0258DBCC;
|
|
L_0258DBCC: ; // 0x258dbcc
|
|
/* 0258DBCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
|
|
/* 0258DBD0 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258DBD0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0258DBD0 */ if (_t41) goto L_0258DBD4; else goto L_0258DBD8;
|
|
L_0258DBD4: ; // 0x258dbd4
|
|
/* 0258DBD4 */ cpu->r[10] = cpu->r[10] + 0x000000A8u;
|
|
L_0258DBD8: ; // 0x258dbd8
|
|
/* 0258DBD8 */ _t42 = cpu->r[10] + 0x00000000u;
|
|
/* 0258DBD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258DBDC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0258DBE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0258DBE4 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 0258DBE4 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
|
|
/* 0258DBE8 */ Gambit_fn_0298415C(cpu);
|
|
/* 0258DBEC */ _t44 = cpu->r[28] + 0x00000030u;
|
|
/* 0258DBEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0258DBF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000006u);
|
|
/* 0258DBF4 */ _t45 = cpu->r[28] + 0x00000034u;
|
|
/* 0258DBF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0258DBF8 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258DBF8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0258DBF8 */ if (_t47) goto L_0258DBFC; else goto L_0258DC00;
|
|
L_0258DBFC: ; // 0x258dbfc
|
|
/* 0258DBFC */ cpu->r[9] = cpu->r[9] + 0x000000A8u;
|
|
L_0258DC00: ; // 0x258dc00
|
|
/* 0258DC00 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 0258DC04 */ _t48 = cpu->r[9] + 0x00000008u;
|
|
/* 0258DC04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258DC08 */ cpu->r[7] = 0x43300000u;
|
|
/* 0258DC0C */ _t49 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258DC0C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0258DC10 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258DC14 */ _t50 = cpu->r[1] + 0x00000038u;
|
|
/* 0258DC14 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 0258DC18 */ _t51 = cpu->r[1] + 0x00000038u;
|
|
/* 0258DC18 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 0258DC1C */ _t52 = cpu->r[8] + 0x00003480u;
|
|
/* 0258DC1C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 0258DC20 */ _t53 = cpu->r[10] + 0x00000000u;
|
|
/* 0258DC20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258DC24 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 0258DC28 */ _t54 = cpu->r[11] + 0x00000000u;
|
|
/* 0258DC28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 0258DC2C */ cpu->f[13] = (double)(float)cpu->f[13];
|
|
/* 0258DC30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0258DC34 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258DC34 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0258DC34 */ if (_t56) goto L_0258DC38; else goto L_0258DC3C;
|
|
L_0258DC38: ; // 0x258dc38
|
|
/* 0258DC38 */ cpu->r[31] = 0x00000000u;
|
|
L_0258DC3C: ; // 0x258dc3c
|
|
/* 0258DC3C */ _t57 = cpu->r[24] + 0x00000004u;
|
|
/* 0258DC3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0258DC40 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258DC44 */ _t58 = cpu->r[12] + 0x00007BA0u;
|
|
/* 0258DC44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0258DC48 */ _t59 = cpu->r[6] + 0x0000025Cu;
|
|
/* 0258DC48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0258DC4C */ _t60 = cpu->r[12] + 0x00000250u;
|
|
/* 0258DC4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258DC50 */ cpu->ctr = cpu->r[0];
|
|
/* 0258DC54 */ _t61 = cpu->r[12] + 0x00000254u;
|
|
/* 0258DC54 */ cpu->r[23] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0258DC58 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0258DC5C */ _t62 = cpu->r[23] + 0x000000E0u;
|
|
/* 0258DC5C */ cpu->r[22] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0258DC60 */ cpu->r[3] = cpu->r[24];
|
|
/* 0258DC64 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258DC68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258DC6C */ _t63 = cpu->r[22] + 0x00000164u;
|
|
/* 0258DC6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258DC70 */ cpu->ctr = cpu->r[10];
|
|
/* 0258DC74 */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 0258DC74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0258DC78 */ cpu->r[3] = cpu->r[23];
|
|
/* 0258DC7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258DC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258DC84 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DC84 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0258DC84 */ if (_t66) goto L_0258DCE4; else goto L_0258DC88;
|
|
L_0258DC88: ; // 0x258dc88
|
|
/* 0258DC88 */ _t67 = cpu->r[24] + 0x00000008u;
|
|
/* 0258DC88 */ cpu->r[24] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0258DC8C */ cpu->r[4] = cpu->r[30];
|
|
/* 0258DC90 */ cpu->r[3] = cpu->r[24];
|
|
/* 0258DC94 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0258DC98 */ _t68 = cpu->r[24] + 0x0000001Cu;
|
|
/* 0258DC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0258DC9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0258DCA0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0258DCA4 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DCA4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0258DCA4 */ if (_t70) goto L_0258DCA8; else goto L_0258DCB4;
|
|
L_0258DCA8: ; // 0x258dca8
|
|
/* 0258DCA8 */ _t71 = cpu->r[24] + 0x00000024u;
|
|
/* 0258DCA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0258DCAC */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DCB0 */ _t72 = cpu->r[12] + cpu->r[5];
|
|
/* 0258DCB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
|
|
L_0258DCB4: ; // 0x258dcb4
|
|
/* 0258DCB4 */ _t73 = cpu->r[5] + 0x00000000u;
|
|
/* 0258DCB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0258DCB8 */ _t74 = cpu->r[3] + 0x00000088u;
|
|
/* 0258DCB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258DCBC */ _t75 = cpu->r[6] + 0x0000012Cu;
|
|
/* 0258DCBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258DCC0 */ cpu->ctr = cpu->r[7];
|
|
/* 0258DCC4 */ cpu->r[5] = cpu->r[25];
|
|
/* 0258DCC8 */ cpu->r[4] = cpu->r[26];
|
|
/* 0258DCCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258DCD0 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258DCD4 */ _t76 = cpu->r[3] + 0x00000000u;
|
|
/* 0258DCD4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0258DCD8 */ _t77 = cpu->r[6] + 0x000034CCu;
|
|
/* 0258DCD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 0258DCDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0258DCE0 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DCE0 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0258DCE0 */ if (_t79) goto L_0258DD28; else goto L_0258DCE4;
|
|
L_0258DCE4: ; // 0x258dce4
|
|
/* 0258DCE4 */ /* nop */
|
|
/* 0258DCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFFFu);
|
|
/* 0258DCEC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DCEC */ _t81 = _t80 & 0x00000001u;
|
|
/* 0258DCEC */ if (_t81) goto L_0258DE14; else goto L_0258DCF0;
|
|
L_0258DCF0: ; // 0x258dcf0
|
|
/* 0258DCF0 */ /* nop */
|
|
/* 0258DCF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0xFFFFFFFFu);
|
|
/* 0258DCF8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DCF8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0258DCF8 */ if (_t83) goto L_0258DE14; else goto L_0258DCFC;
|
|
L_0258DCFC: ; // 0x258dcfc
|
|
/* 0258DCFC */ cpu->r[3] = cpu->r[28];
|
|
/* 0258DD00 */ cpu->r[4] = 0x00000006u;
|
|
/* 0258DD04 */ Gambit_fn_02983E9C(cpu);
|
|
/* 0258DD08 */ /* nop */
|
|
/* 0258DD0C */ _t84 = cpu->r[1] + 0x00000078u;
|
|
/* 0258DD0C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 0258DD10 */ _t85 = cpu->r[1] + 0x00000070u;
|
|
/* 0258DD10 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 0258DD14 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DD14 */ _t87 = _t86 & 0x00000001u;
|
|
/* 0258DD14 */ if (_t87) goto L_0258DD18; // else: addr-0 trap, fall-through
|
|
L_0258DD18: ; // 0x258dd18
|
|
/* 0258DD18 */ _t88 = cpu->r[1] + 0x00000084u;
|
|
/* 0258DD18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0258DD1C */ cpu->lr = cpu->r[0];
|
|
/* 0258DD20 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 0258DD24 */ return;
|
|
L_0258DD28: ; // 0x258dd28
|
|
/* 0258DD28 */ /* nop */
|
|
/* 0258DD2C */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258DD30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258DD34 */ _t89 = cpu->r[11] + 0x00003468u;
|
|
/* 0258DD34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 0258DD38 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DD38 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0258DD38 */ if (_t91) goto L_0258DDD8; else goto L_0258DD3C;
|
|
L_0258DD3C: ; // 0x258dd3c
|
|
/* 0258DD3C */ /* nop */
|
|
/* 0258DD40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0xFFFFFFFFu);
|
|
/* 0258DD44 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DD44 */ _t93 = _t92 & 0x00000001u;
|
|
/* 0258DD44 */ if (_t93) goto L_0258DDD8; else goto L_0258DD48;
|
|
L_0258DD48: ; // 0x258dd48
|
|
/* 0258DD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258DD4C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DD4C */ _t95 = _t94 & 0x00000001u;
|
|
/* 0258DD4C */ if (_t95) goto L_0258DD80; else goto L_0258DD50;
|
|
L_0258DD50: ; // 0x258dd50
|
|
/* 0258DD50 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258DD54 */ cpu->r[4] = 0x00000006u;
|
|
/* 0258DD58 */ cpu->r[3] = cpu->r[28];
|
|
/* 0258DD5C */ Gambit_fn_02983EEC(cpu);
|
|
/* 0258DD60 */ /* nop */
|
|
/* 0258DD64 */ _t96 = cpu->r[1] + 0x00000078u;
|
|
/* 0258DD64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0258DD68 */ _t97 = cpu->r[1] + 0x00000070u;
|
|
/* 0258DD68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 0258DD6C */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DD6C */ _t99 = _t98 & 0x00000001u;
|
|
/* 0258DD6C */ if (_t99) goto L_0258DD70; // else: addr-0 trap, fall-through
|
|
L_0258DD70: ; // 0x258dd70
|
|
/* 0258DD70 */ _t100 = cpu->r[1] + 0x00000084u;
|
|
/* 0258DD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0258DD74 */ cpu->lr = cpu->r[0];
|
|
/* 0258DD78 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 0258DD7C */ return;
|
|
L_0258DD80: ; // 0x258dd80
|
|
/* 0258DD80 */ _t101 = cpu->r[28] + 0x00000030u;
|
|
/* 0258DD80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0258DD84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000006u);
|
|
/* 0258DD88 */ _t102 = cpu->r[28] + 0x00000034u;
|
|
/* 0258DD88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0258DD8C */ _t103 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258DD8C */ _t104 = _t103 & 0x00000001u;
|
|
/* 0258DD8C */ if (_t104) goto L_0258DD90; else goto L_0258DD94;
|
|
L_0258DD90: ; // 0x258dd90
|
|
/* 0258DD90 */ cpu->r[11] = cpu->r[11] + 0x000000A8u;
|
|
L_0258DD94: ; // 0x258dd94
|
|
/* 0258DD94 */ _t105 = cpu->r[11] + 0x00000008u;
|
|
/* 0258DD94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0258DD98 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258DD9C */ _t106 = cpu->r[8] + 0x00000000u;
|
|
/* 0258DD9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0258DDA0 */ _t107 = cpu->r[10] + 0x00003478u;
|
|
/* 0258DDA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 0258DDA4 */ _t108 = cpu->r[9] + 0x00000000u;
|
|
/* 0258DDA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 0258DDA8 */ cpu->f[1] = cpu->f[0] + cpu->f[13];
|
|
/* 0258DDAC */ cpu->r[4] = 0x00000006u;
|
|
/* 0258DDB0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0258DDB4 */ Gambit_fn_02983EEC(cpu);
|
|
/* 0258DDB8 */ /* nop */
|
|
/* 0258DDBC */ _t109 = cpu->r[1] + 0x00000078u;
|
|
/* 0258DDBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 0258DDC0 */ _t110 = cpu->r[1] + 0x00000070u;
|
|
/* 0258DDC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 0258DDC4 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DDC4 */ _t112 = _t111 & 0x00000001u;
|
|
/* 0258DDC4 */ if (_t112) goto L_0258DDC8; // else: addr-0 trap, fall-through
|
|
L_0258DDC8: ; // 0x258ddc8
|
|
/* 0258DDC8 */ _t113 = cpu->r[1] + 0x00000084u;
|
|
/* 0258DDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0258DDCC */ cpu->lr = cpu->r[0];
|
|
/* 0258DDD0 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 0258DDD4 */ return;
|
|
L_0258DDD8: ; // 0x258ddd8
|
|
/* 0258DDD8 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258DDDC */ _t114 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258DDDC */ rbrew_write32(cpu->mem, _t114, cpu->r[27]);
|
|
/* 0258DDE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0258DDE4 */ cpu->r[10] = cpu->r[10] + 0x000034ECu;
|
|
/* 0258DDE8 */ cpu->r[4] = 0x00000004u;
|
|
/* 0258DDEC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0258DDF0 */ _t115 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DDF0 */ rbrew_write32(cpu->mem, _t115, cpu->r[10]);
|
|
/* 0258DDF4 */ Gambit_fn_029843D4(cpu);
|
|
/* 0258DDF8 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258DDFC */ _t116 = cpu->r[1] + 0x00000044u;
|
|
/* 0258DDFC */ rbrew_write32(cpu->mem, _t116, cpu->r[3]);
|
|
/* 0258DE00 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258DE04 */ cpu->r[4] = 0x00000006u;
|
|
/* 0258DE08 */ _t117 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258DE08 */ rbrew_write32(cpu->mem, _t117, cpu->r[3]);
|
|
/* 0258DE0C */ cpu->r[3] = cpu->r[28];
|
|
/* 0258DE10 */ Gambit_fn_02983FDC(cpu);
|
|
L_0258DE14: ; // 0x258de14
|
|
/* 0258DE14 */ /* nop */
|
|
/* 0258DE18 */ _t118 = cpu->r[1] + 0x00000078u;
|
|
/* 0258DE18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 0258DE1C */ _t119 = cpu->r[1] + 0x00000070u;
|
|
/* 0258DE1C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t119);
|
|
/* 0258DE20 */ _t120 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DE20 */ _t121 = _t120 & 0x00000001u;
|
|
/* 0258DE20 */ if (_t121) goto L_0258DE24; // else: addr-0 trap, fall-through
|
|
L_0258DE24: ; // 0x258de24
|
|
/* 0258DE24 */ _t122 = cpu->r[1] + 0x00000084u;
|
|
/* 0258DE24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0258DE28 */ cpu->lr = cpu->r[0];
|
|
/* 0258DE2C */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 0258DE30 */ return;
|
|
}
|
|
|
|
// fn_0258DE34 @ 0x258de34
|
|
void Gambit_fn_0258DE34(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_0258DE34: ; // 0x258de34
|
|
/* 0258DE34 */ cpu->r[0] = cpu->lr;
|
|
/* 0258DE38 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0258DE38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258DE38 */ cpu->r[1] = _t0;
|
|
/* 0258DE3C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0258DE3C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258DE40 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0258DE40 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0258DE44 */ /* nop */
|
|
/* 0258DE48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258DE48 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0258DE4C */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0258DE4C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0258DE50 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258DE54 */ cpu->r[31] = 0x00000000u;
|
|
/* 0258DE58 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258DE58 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258DE5C */ Gambit_fn_025856D4(cpu);
|
|
/* 0258DE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258DE64 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DE64 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258DE64 */ if (_t7) goto L_0258DE68; else goto L_0258DE88;
|
|
L_0258DE68: ; // 0x258de68
|
|
/* 0258DE68 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258DE6C */ _t8 = cpu->r[3] + 0x00007BA0u;
|
|
/* 0258DE6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258DE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258DE74 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DE74 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258DE74 */ if (_t10) goto L_0258DE84; else goto L_0258DE78;
|
|
L_0258DE78: ; // 0x258de78
|
|
/* 0258DE78 */ Gambit_fn_0263D6B8(cpu);
|
|
/* 0258DE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258DE80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DE80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258DE80 */ if (_t12) goto L_0258DE84; else goto L_0258DE88;
|
|
L_0258DE84: ; // 0x258de84
|
|
/* 0258DE84 */ cpu->r[31] = 0x00000001u;
|
|
L_0258DE88: ; // 0x258de88
|
|
/* 0258DE88 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258DE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258DE8C */ _t13 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DE8C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258DE90 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DE90 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0258DE90 */ if (_t15) goto L_0258DEB4; else goto L_0258DE94;
|
|
L_0258DE94: ; // 0x258de94
|
|
/* 0258DE94 */ Gambit_fn_02586918(cpu);
|
|
/* 0258DE98 */ _t16 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DE98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0258DE9C */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258DEA0 */ cpu->f[9] = cpu->f[10] + cpu->f[1];
|
|
/* 0258DEA4 */ _t17 = cpu->r[12] + 0x00003468u;
|
|
/* 0258DEA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258DEA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0258DEAC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DEAC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0258DEAC */ if (_t19) goto L_0258DED0; else goto L_0258DEB0;
|
|
L_0258DEB0: ; // 0x258deb0
|
|
/* 0258DEB0 */ goto L_0258DEE4;
|
|
L_0258DEB4: ; // 0x258deb4
|
|
/* 0258DEB4 */ Gambit_fn_02586918(cpu);
|
|
/* 0258DEB8 */ _t20 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DEB8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258DEBC */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258DEC0 */ cpu->f[9] = cpu->f[10] - cpu->f[1];
|
|
/* 0258DEC4 */ _t21 = cpu->r[12] + 0x00003468u;
|
|
/* 0258DEC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258DEC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0258DECC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DECC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258DECC */ if (_t23) goto L_0258DED0; else goto L_0258DEE4;
|
|
L_0258DED0: ; // 0x258ded0
|
|
/* 0258DED0 */ cpu->f[1] = cpu->f[0];
|
|
/* 0258DED4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 0258DED8 */ _t24 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DED8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[1]);
|
|
/* 0258DEDC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DEDC */ _t26 = _t25 & 0x00000001u;
|
|
/* 0258DEDC */ if (_t26) goto L_0258DEE0; else goto L_0258DF08;
|
|
L_0258DEE0: ; // 0x258dee0
|
|
/* 0258DEE0 */ goto L_0258DF48;
|
|
L_0258DEE4: ; // 0x258dee4
|
|
/* 0258DEE4 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258DEE8 */ _t27 = cpu->r[11] + 0x00003478u;
|
|
/* 0258DEE8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258DEEC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 0258DEF0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258DEF0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0258DEF0 */ if (_t29) goto L_0258DEF4; else goto L_0258DEF8;
|
|
L_0258DEF4: ; // 0x258def4
|
|
/* 0258DEF4 */ cpu->f[9] = cpu->f[13];
|
|
L_0258DEF8: ; // 0x258def8
|
|
/* 0258DEF8 */ cpu->f[1] = cpu->f[9];
|
|
/* 0258DEFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 0258DF00 */ _t30 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DF00 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[1]);
|
|
/* 0258DF04 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DF04 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0258DF04 */ if (_t32) goto L_0258DF48; else goto L_0258DF08;
|
|
L_0258DF08: ; // 0x258df08
|
|
/* 0258DF08 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 0258DF0C */ _t33 = cpu->r[30] + 0x00000008u;
|
|
/* 0258DF0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258DF10 */ cpu->r[0] = cpu->r[0] | 0xFFFF0000u;
|
|
/* 0258DF14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258DF18 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0258DF1C */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DF1C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 0258DF20 */ Gambit_fn_02981258(cpu);
|
|
/* 0258DF24 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258DF28 */ _t35 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DF28 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258DF2C */ _t36 = cpu->r[9] + 0x000034CCu;
|
|
/* 0258DF2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0258DF30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 0258DF34 */ /* nop */
|
|
/* 0258DF38 */ _t37 = cpu->r[30] + 0x00000008u;
|
|
/* 0258DF38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258DF3C */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0258DF40 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258DF44 */ Gambit_fn_0298137C(cpu);
|
|
L_0258DF48: ; // 0x258df48
|
|
/* 0258DF48 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 0258DF48 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0258DF4C */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0258DF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258DF50 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 0258DF50 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 0258DF54 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0258DF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258DF58 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DF58 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0258DF58 */ if (_t43) goto L_0258DF5C; // else: addr-0 trap, fall-through
|
|
L_0258DF5C: ; // 0x258df5c
|
|
/* 0258DF5C */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258DF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0258DF60 */ cpu->lr = cpu->r[0];
|
|
/* 0258DF64 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0258DF68 */ return;
|
|
}
|
|
|
|
// fn_0258DE38 @ 0x258de38
|
|
void Gambit_fn_0258DE38(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_0258DE38: ; // 0x258de38
|
|
/* 0258DE38 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0258DE38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258DE38 */ cpu->r[1] = _t0;
|
|
/* 0258DE3C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0258DE3C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258DE40 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0258DE40 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0258DE44 */ /* nop */
|
|
/* 0258DE48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258DE48 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0258DE4C */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0258DE4C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0258DE50 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258DE54 */ cpu->r[31] = 0x00000000u;
|
|
/* 0258DE58 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258DE58 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258DE5C */ Gambit_fn_025856D4(cpu);
|
|
/* 0258DE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258DE64 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DE64 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258DE64 */ if (_t7) goto L_0258DE68; else goto L_0258DE88;
|
|
L_0258DE68: ; // 0x258de68
|
|
/* 0258DE68 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258DE6C */ _t8 = cpu->r[3] + 0x00007BA0u;
|
|
/* 0258DE6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258DE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258DE74 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DE74 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258DE74 */ if (_t10) goto L_0258DE84; else goto L_0258DE78;
|
|
L_0258DE78: ; // 0x258de78
|
|
/* 0258DE78 */ Gambit_fn_0263D6B8(cpu);
|
|
/* 0258DE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258DE80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DE80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258DE80 */ if (_t12) goto L_0258DE84; else goto L_0258DE88;
|
|
L_0258DE84: ; // 0x258de84
|
|
/* 0258DE84 */ cpu->r[31] = 0x00000001u;
|
|
L_0258DE88: ; // 0x258de88
|
|
/* 0258DE88 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258DE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258DE8C */ _t13 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DE8C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258DE90 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DE90 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0258DE90 */ if (_t15) goto L_0258DEB4; else goto L_0258DE94;
|
|
L_0258DE94: ; // 0x258de94
|
|
/* 0258DE94 */ Gambit_fn_02586918(cpu);
|
|
/* 0258DE98 */ _t16 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DE98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0258DE9C */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258DEA0 */ cpu->f[9] = cpu->f[10] + cpu->f[1];
|
|
/* 0258DEA4 */ _t17 = cpu->r[12] + 0x00003468u;
|
|
/* 0258DEA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258DEA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0258DEAC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DEAC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0258DEAC */ if (_t19) goto L_0258DED0; else goto L_0258DEB0;
|
|
L_0258DEB0: ; // 0x258deb0
|
|
/* 0258DEB0 */ goto L_0258DEE4;
|
|
L_0258DEB4: ; // 0x258deb4
|
|
/* 0258DEB4 */ Gambit_fn_02586918(cpu);
|
|
/* 0258DEB8 */ _t20 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DEB8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258DEBC */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258DEC0 */ cpu->f[9] = cpu->f[10] - cpu->f[1];
|
|
/* 0258DEC4 */ _t21 = cpu->r[12] + 0x00003468u;
|
|
/* 0258DEC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0258DEC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 0258DECC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DECC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258DECC */ if (_t23) goto L_0258DED0; else goto L_0258DEE4;
|
|
L_0258DED0: ; // 0x258ded0
|
|
/* 0258DED0 */ cpu->f[1] = cpu->f[0];
|
|
/* 0258DED4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 0258DED8 */ _t24 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DED8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[1]);
|
|
/* 0258DEDC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DEDC */ _t26 = _t25 & 0x00000001u;
|
|
/* 0258DEDC */ if (_t26) goto L_0258DEE0; else goto L_0258DF08;
|
|
L_0258DEE0: ; // 0x258dee0
|
|
/* 0258DEE0 */ goto L_0258DF48;
|
|
L_0258DEE4: ; // 0x258dee4
|
|
/* 0258DEE4 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258DEE8 */ _t27 = cpu->r[11] + 0x00003478u;
|
|
/* 0258DEE8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258DEEC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 0258DEF0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258DEF0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0258DEF0 */ if (_t29) goto L_0258DEF4; else goto L_0258DEF8;
|
|
L_0258DEF4: ; // 0x258def4
|
|
/* 0258DEF4 */ cpu->f[9] = cpu->f[13];
|
|
L_0258DEF8: ; // 0x258def8
|
|
/* 0258DEF8 */ cpu->f[1] = cpu->f[9];
|
|
/* 0258DEFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 0258DF00 */ _t30 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DF00 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[1]);
|
|
/* 0258DF04 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DF04 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0258DF04 */ if (_t32) goto L_0258DF48; else goto L_0258DF08;
|
|
L_0258DF08: ; // 0x258df08
|
|
/* 0258DF08 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 0258DF0C */ _t33 = cpu->r[30] + 0x00000008u;
|
|
/* 0258DF0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258DF10 */ cpu->r[0] = cpu->r[0] | 0xFFFF0000u;
|
|
/* 0258DF14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258DF18 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0258DF1C */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DF1C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 0258DF20 */ Gambit_fn_02981258(cpu);
|
|
/* 0258DF24 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258DF28 */ _t35 = cpu->r[30] + 0x00000258u;
|
|
/* 0258DF28 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 0258DF2C */ _t36 = cpu->r[9] + 0x000034CCu;
|
|
/* 0258DF2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0258DF30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 0258DF34 */ /* nop */
|
|
/* 0258DF38 */ _t37 = cpu->r[30] + 0x00000008u;
|
|
/* 0258DF38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258DF3C */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0258DF40 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258DF44 */ Gambit_fn_0298137C(cpu);
|
|
L_0258DF48: ; // 0x258df48
|
|
/* 0258DF48 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 0258DF48 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0258DF4C */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0258DF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0258DF50 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 0258DF50 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 0258DF54 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0258DF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258DF58 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258DF58 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0258DF58 */ if (_t43) goto L_0258DF5C; // else: addr-0 trap, fall-through
|
|
L_0258DF5C: ; // 0x258df5c
|
|
/* 0258DF5C */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258DF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0258DF60 */ cpu->lr = cpu->r[0];
|
|
/* 0258DF64 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0258DF68 */ return;
|
|
}
|
|
|
|
// fn_0258DF6C @ 0x258df6c
|
|
void Gambit_fn_0258DF6C(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;
|
|
|
|
L_0258DF6C: ; // 0x258df6c
|
|
/* 0258DF6C */ cpu->r[0] = cpu->lr;
|
|
/* 0258DF70 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0258DF70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258DF70 */ cpu->r[1] = _t0;
|
|
/* 0258DF74 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258DF74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258DF78 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258DF7C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 0258DF7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258DF80 */ Gambit_fn_0258594C(cpu);
|
|
/* 0258DF84 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DF88 */ Gambit_fn_02586088(cpu);
|
|
/* 0258DF8C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DF90 */ Gambit_fn_02585C18(cpu);
|
|
/* 0258DF94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DF98 */ Gambit_fn_0258D790(cpu);
|
|
/* 0258DF9C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DFA0 */ Gambit_fn_0258DAD0(cpu);
|
|
/* 0258DFA4 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258DFA8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258DFAC */ _t3 = cpu->r[11] + 0x00007BA0u;
|
|
/* 0258DFAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258DFB0 */ _t4 = cpu->r[12] + 0x00007F10u;
|
|
/* 0258DFB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258DFB4 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
/* 0258DFB8 */ _t5 = cpu->r[10] + 0x00000104u;
|
|
/* 0258DFB8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0258DFBC */ _t6 = cpu->r[11] + 0x00000030u;
|
|
/* 0258DFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258DFC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DFC4 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 0258DFC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258DFC8 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0258DFC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258DFCC */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0258DFCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258DFD0 */ _t10 = cpu->r[10] + 0x000001D8u;
|
|
/* 0258DFD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0258DFD4 */ /* nop */
|
|
/* 0258DFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0258DFDC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DFDC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258DFDC */ if (_t12) goto L_0258DFEC; else goto L_0258DFE0;
|
|
L_0258DFE0: ; // 0x258dfe0
|
|
/* 0258DFE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DFE4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258DFE8 */ Gambit_fn_0200300C(cpu);
|
|
L_0258DFEC: ; // 0x258dfec
|
|
/* 0258DFEC */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258DFEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258DFF0 */ _t14 = cpu->r[31] + 0x00000050u;
|
|
/* 0258DFF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258DFF4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258DFF4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 0258DFF8 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DFF8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 0258DFFC */ _t17 = cpu->r[31] + 0x00000068u;
|
|
/* 0258DFFC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258E000 */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 0258E000 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258E004 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0258E004 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 0258E008 */ _t20 = cpu->r[31] + 0x00000054u;
|
|
/* 0258E008 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258E00C */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E00C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 0258E010 */ _t22 = cpu->r[31] + 0x00000078u;
|
|
/* 0258E010 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258E014 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 0258E014 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 0258E018 */ _t24 = cpu->r[31] + 0x00000074u;
|
|
/* 0258E018 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0258E01C */ _t25 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258E01C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0258E020 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E020 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[12]);
|
|
/* 0258E024 */ _t27 = cpu->r[31] + 0x00000058u;
|
|
/* 0258E024 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258E028 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 0258E028 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 0258E02C */ _t29 = cpu->r[31] + 0x00000064u;
|
|
/* 0258E02C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258E030 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258E030 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 0258E034 */ _t31 = cpu->r[31] + 0x00000070u;
|
|
/* 0258E034 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258E038 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 0258E038 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 0258E03C */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 0258E03C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 0258E040 */ _t34 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258E040 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258E044 */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 0258E044 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258E048 */ _t36 = cpu->r[1] + 0x00000034u;
|
|
/* 0258E048 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 0258E04C */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 0258E04C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 0258E050 */ _t38 = cpu->r[11] + 0x0000007Cu;
|
|
/* 0258E050 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0258E054 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258E058 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0258E05C */ cpu->r[4] = cpu->r[11] + 0x00000034u;
|
|
/* 0258E060 */ _t39 = cpu->r[11] + 0x0000007Cu;
|
|
/* 0258E060 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 0258E064 */ Gambit_fn_02C69510(cpu);
|
|
/* 0258E068 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E06C */ Gambit_fn_0258DE34(cpu);
|
|
/* 0258E070 */ _t40 = cpu->r[1] + 0x00000044u;
|
|
/* 0258E070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0258E074 */ _t41 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258E074 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258E078 */ cpu->lr = cpu->r[0];
|
|
/* 0258E07C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0258E080 */ return;
|
|
}
|
|
|
|
// fn_0258DF70 @ 0x258df70
|
|
void Gambit_fn_0258DF70(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;
|
|
|
|
L_0258DF70: ; // 0x258df70
|
|
/* 0258DF70 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0258DF70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258DF70 */ cpu->r[1] = _t0;
|
|
/* 0258DF74 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258DF74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258DF78 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258DF7C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 0258DF7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258DF80 */ Gambit_fn_0258594C(cpu);
|
|
/* 0258DF84 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DF88 */ Gambit_fn_02586088(cpu);
|
|
/* 0258DF8C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DF90 */ Gambit_fn_02585C18(cpu);
|
|
/* 0258DF94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DF98 */ Gambit_fn_0258D790(cpu);
|
|
/* 0258DF9C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DFA0 */ Gambit_fn_0258DAD0(cpu);
|
|
/* 0258DFA4 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258DFA8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258DFAC */ _t3 = cpu->r[11] + 0x00007BA0u;
|
|
/* 0258DFAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258DFB0 */ _t4 = cpu->r[12] + 0x00007F10u;
|
|
/* 0258DFB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258DFB4 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
/* 0258DFB8 */ _t5 = cpu->r[10] + 0x00000104u;
|
|
/* 0258DFB8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0258DFBC */ _t6 = cpu->r[11] + 0x00000030u;
|
|
/* 0258DFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258DFC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258DFC4 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 0258DFC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258DFC8 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0258DFC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258DFCC */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0258DFCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258DFD0 */ _t10 = cpu->r[10] + 0x000001D8u;
|
|
/* 0258DFD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0258DFD4 */ /* nop */
|
|
/* 0258DFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0258DFDC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258DFDC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0258DFDC */ if (_t12) goto L_0258DFEC; else goto L_0258DFE0;
|
|
L_0258DFE0: ; // 0x258dfe0
|
|
/* 0258DFE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258DFE4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258DFE8 */ Gambit_fn_0200300C(cpu);
|
|
L_0258DFEC: ; // 0x258dfec
|
|
/* 0258DFEC */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258DFEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258DFF0 */ _t14 = cpu->r[31] + 0x00000050u;
|
|
/* 0258DFF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258DFF4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258DFF4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 0258DFF8 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0258DFF8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 0258DFFC */ _t17 = cpu->r[31] + 0x00000068u;
|
|
/* 0258DFFC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0258E000 */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 0258E000 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258E004 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0258E004 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 0258E008 */ _t20 = cpu->r[31] + 0x00000054u;
|
|
/* 0258E008 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258E00C */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E00C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 0258E010 */ _t22 = cpu->r[31] + 0x00000078u;
|
|
/* 0258E010 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0258E014 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 0258E014 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 0258E018 */ _t24 = cpu->r[31] + 0x00000074u;
|
|
/* 0258E018 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0258E01C */ _t25 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258E01C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0258E020 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E020 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[12]);
|
|
/* 0258E024 */ _t27 = cpu->r[31] + 0x00000058u;
|
|
/* 0258E024 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258E028 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 0258E028 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 0258E02C */ _t29 = cpu->r[31] + 0x00000064u;
|
|
/* 0258E02C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258E030 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258E030 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 0258E034 */ _t31 = cpu->r[31] + 0x00000070u;
|
|
/* 0258E034 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258E038 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 0258E038 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 0258E03C */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 0258E03C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 0258E040 */ _t34 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258E040 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0258E044 */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 0258E044 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258E048 */ _t36 = cpu->r[1] + 0x00000034u;
|
|
/* 0258E048 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 0258E04C */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 0258E04C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 0258E050 */ _t38 = cpu->r[11] + 0x0000007Cu;
|
|
/* 0258E050 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0258E054 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258E058 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0258E05C */ cpu->r[4] = cpu->r[11] + 0x00000034u;
|
|
/* 0258E060 */ _t39 = cpu->r[11] + 0x0000007Cu;
|
|
/* 0258E060 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 0258E064 */ Gambit_fn_02C69510(cpu);
|
|
/* 0258E068 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E06C */ Gambit_fn_0258DE34(cpu);
|
|
/* 0258E070 */ _t40 = cpu->r[1] + 0x00000044u;
|
|
/* 0258E070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0258E074 */ _t41 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258E074 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258E078 */ cpu->lr = cpu->r[0];
|
|
/* 0258E07C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0258E080 */ return;
|
|
}
|
|
|
|
// fn_0258E084 @ 0x258e084
|
|
void Gambit_fn_0258E084(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_0258E084: ; // 0x258e084
|
|
/* 0258E084 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0258E084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E084 */ cpu->r[1] = _t0;
|
|
/* 0258E088 */ cpu->r[0] = cpu->lr;
|
|
/* 0258E08C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0258E08C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0258E090 */ /* nop */
|
|
/* 0258E094 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 0258E094 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0258E098 */ /* nop */
|
|
/* 0258E09C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0258E09C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0258E0A0 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 0258E0A0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0258E0A4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258E0A8 */ _t5 = cpu->r[9] + 0x0000346Cu;
|
|
/* 0258E0A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0258E0AC */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 0258E0AC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258E0B0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E0B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0258E0B4 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258E0B8 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 0258E0B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0258E0BC */ cpu->r[30] = cpu->r[3];
|
|
/* 0258E0C0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E0C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0258E0C4 */ _t10 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258E0C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0258E0C8 */ _t11 = cpu->r[8] + 0x00003478u;
|
|
/* 0258E0C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0258E0CC */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 0258E0D0 */ cpu->f[30] = cpu->f[1] + cpu->f[11];
|
|
/* 0258E0D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[13]);
|
|
/* 0258E0D8 */ /* nop */
|
|
/* 0258E0DC */ _t12 = cpu->r[30] + 0x00000250u;
|
|
/* 0258E0DC */ cpu->r[9] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0258E0E0 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258E0E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E0E8 */ _t13 = cpu->r[7] + 0x00003468u;
|
|
/* 0258E0E8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258E0EC */ cpu->r[9] = cpu->r[9] | cpu->r[0];
|
|
/* 0258E0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258E0F0 */ cpu->f[31] = cpu->f[2];
|
|
/* 0258E0F4 */ _t14 = cpu->r[30] + 0x00000250u;
|
|
/* 0258E0F4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[9]);
|
|
/* 0258E0F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E0F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258E0F8 */ if (_t16) goto L_0258E178; else goto L_0258E0FC;
|
|
L_0258E0FC: ; // 0x258e0fc
|
|
/* 0258E0FC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258E100 */ _t17 = cpu->r[3] + 0x00007BA0u;
|
|
/* 0258E100 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258E104 */ Gambit_fn_0263BA84(cpu);
|
|
/* 0258E108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E10C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E10C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0258E10C */ if (_t19) goto L_0258E110; else goto L_0258E170;
|
|
L_0258E110: ; // 0x258e110
|
|
/* 0258E110 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258E114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E118 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E118 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0258E118 */ if (_t21) goto L_0258E170; else goto L_0258E11C;
|
|
L_0258E11C: ; // 0x258e11c
|
|
/* 0258E11C */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258E120 */ _t22 = cpu->r[12] + 0x00006000u;
|
|
/* 0258E120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258E124 */ _t23 = cpu->r[12] + 0x00000250u;
|
|
/* 0258E124 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258E128 */ _t24 = cpu->r[10] + 0x00000254u;
|
|
/* 0258E128 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258E12C */ _t25 = cpu->r[3] + 0x000000E0u;
|
|
/* 0258E12C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258E130 */ _t26 = cpu->r[10] + 0x00000174u;
|
|
/* 0258E130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258E134 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E138 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258E13C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E13C */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 0258E140 */ cpu->r[0] = 0x43300000u;
|
|
/* 0258E144 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258E148 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E148 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0258E14C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E14C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 0258E150 */ _t30 = cpu->r[11] + 0x000034C0u;
|
|
/* 0258E150 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 0258E154 */ _t31 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258E154 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258E158 */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 0258E15C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[8]);
|
|
/* 0258E160 */ cpu->f[3] = (double)(float)cpu->f[11];
|
|
/* 0258E164 */ _t32 = cpu->r[30] + 0x000002C4u;
|
|
/* 0258E164 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0258E168 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258E168 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0258E168 */ if (_t34) goto L_0258E16C; else goto L_0258E190;
|
|
L_0258E16C: ; // 0x258e16c
|
|
/* 0258E16C */ goto L_0258E188;
|
|
L_0258E170: ; // 0x258e170
|
|
/* 0258E170 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258E174 */ _t35 = cpu->r[9] + 0x000034BCu;
|
|
/* 0258E174 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t35);
|
|
L_0258E178: ; // 0x258e178
|
|
/* 0258E178 */ _t36 = cpu->r[30] + 0x000002C8u;
|
|
/* 0258E178 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0258E17C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[8]);
|
|
/* 0258E180 */ _t37 = cpu->r[30] + 0x000002C4u;
|
|
/* 0258E180 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0258E184 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258E184 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0258E184 */ if (_t39) goto L_0258E188; else goto L_0258E190;
|
|
L_0258E188: ; // 0x258e188
|
|
/* 0258E188 */ cpu->f[12] = cpu->f[30] - cpu->f[8];
|
|
/* 0258E18C */ cpu->f[30] = cpu->f[12] + cpu->f[3];
|
|
L_0258E190: ; // 0x258e190
|
|
/* 0258E190 */ cpu->f[2] = cpu->f[30];
|
|
/* 0258E194 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258E198 */ cpu->f[1] = cpu->f[9];
|
|
/* 0258E19C */ Gambit_fn_0258D758(cpu);
|
|
/* 0258E1A0 */ cpu->f[1] = cpu->f[9] + cpu->f[1];
|
|
/* 0258E1A4 */ cpu->f[2] = cpu->f[8];
|
|
/* 0258E1A8 */ Gambit_fn_0258D6B8(cpu);
|
|
/* 0258E1AC */ cpu->r[31] = 0x100D0000u;
|
|
/* 0258E1B0 */ cpu->f[30] = cpu->f[1];
|
|
/* 0258E1B4 */ cpu->r[0] = 0x00000006u;
|
|
/* 0258E1B8 */ cpu->r[31] = cpu->r[31] + 0x00002F38u;
|
|
/* 0258E1BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258E1C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E1C4 */ _t40 = cpu->r[12] + 0xFFFFB6A8u;
|
|
/* 0258E1C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0258E1C4 */ cpu->r[12] = _t40;
|
|
/* 0258E1C8 */ cpu->r[4] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 0258E1CC */ cpu->r[9] = 0x00000001u;
|
|
L_0258E1D0: ; // 0x258e1d0
|
|
/* 0258E1D0 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258E1D4 */ _t41 = cpu->r[7] + 0x00003480u;
|
|
/* 0258E1D4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 0258E1D8 */ _t42 = cpu->r[4] + 0x00000004u;
|
|
/* 0258E1D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0258E1D8 */ cpu->r[4] = _t42;
|
|
/* 0258E1DC */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258E1E0 */ cpu->r[10] = 0x43300000u;
|
|
/* 0258E1E4 */ _t43 = cpu->r[6] + cpu->r[31];
|
|
/* 0258E1E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0258E1E8 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E1E8 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 0258E1EC */ cpu->r[11] = cpu->r[8] ^ 0x80000000u;
|
|
/* 0258E1F0 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E1F0 */ rbrew_write32(cpu->mem, _t45, cpu->r[11]);
|
|
/* 0258E1F4 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E1F4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 0258E1F8 */ cpu->f[12] = cpu->f[11] - cpu->f[10];
|
|
/* 0258E1FC */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 0258E200 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[30]);
|
|
/* 0258E204 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258E204 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0258E204 */ if (_t48) goto L_0258E25C; else goto L_0258E208;
|
|
L_0258E208: ; // 0x258e208
|
|
/* 0258E208 */ _t49 = cpu->r[4] + 0x00000000u;
|
|
/* 0258E208 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258E20C */ cpu->r[11] = 0x43300000u;
|
|
/* 0258E210 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00005556u);
|
|
/* 0258E214 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258E218 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E218 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0258E21C */ _t51 = cpu->r[5] + cpu->r[31];
|
|
/* 0258E21C */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0258E220 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258E224 */ _t52 = cpu->r[6] + 0x00003480u;
|
|
/* 0258E224 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 0258E228 */ cpu->r[8] = cpu->r[8] ^ 0x80000000u;
|
|
/* 0258E22C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Fu, 0x00000011u, 0x0000001Fu);
|
|
/* 0258E230 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E230 */ rbrew_write32(cpu->mem, _t53, cpu->r[8]);
|
|
/* 0258E234 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E234 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 0258E238 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000006u);
|
|
/* 0258E23C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0258E240 */ cpu->r[10] = cpu->r[9] - cpu->r[0];
|
|
/* 0258E244 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0258E248 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258E24C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0258E250 */ _t55 = cpu->r[12] + cpu->r[5];
|
|
/* 0258E250 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0258E254 */ cpu->f[30] = cpu->f[30] - cpu->f[13];
|
|
/* 0258E258 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258E258 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258E258 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 0258E258 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0258E258 */ if (_t58) goto L_0258E1D0; else goto L_0258E25C;
|
|
L_0258E25C: ; // 0x258e25c
|
|
/* 0258E25C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258E260 */ cpu->r[4] = cpu->r[29];
|
|
/* 0258E264 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258E268 */ Gambit_fn_02002728(cpu);
|
|
/* 0258E26C */ cpu->r[3] = cpu->r[30];
|
|
/* 0258E270 */ Gambit_fn_02002C1C(cpu);
|
|
/* 0258E274 */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258E278 */ cpu->r[0] = 0x43300000u;
|
|
/* 0258E27C */ _t59 = cpu->r[10] + cpu->r[31];
|
|
/* 0258E27C */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0258E280 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258E284 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E284 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 0258E288 */ cpu->r[6] = cpu->r[12] ^ 0x80000000u;
|
|
/* 0258E28C */ _t61 = cpu->r[11] + 0x00003480u;
|
|
/* 0258E28C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 0258E290 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E290 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]);
|
|
/* 0258E294 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E294 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 0258E298 */ cpu->f[0] = cpu->f[13] - cpu->f[12];
|
|
/* 0258E29C */ cpu->f[10] = (double)(float)cpu->f[0];
|
|
/* 0258E2A0 */ cpu->f[10] = cpu->f[1] / cpu->f[10];
|
|
/* 0258E2A4 */ cpu->f[1] = cpu->f[10] * cpu->f[30];
|
|
/* 0258E2A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258E2AC */ Gambit_fn_02002BD4(cpu);
|
|
/* 0258E2B0 */ cpu->f[1] = cpu->f[31];
|
|
/* 0258E2B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258E2B8 */ Gambit_fn_02002D48(cpu);
|
|
/* 0258E2BC */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E2BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0258E2C0 */ _t65 = cpu->r[1] + 0x00000038u;
|
|
/* 0258E2C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 0258E2C4 */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 0258E2C4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 0258E2C8 */ _t67 = cpu->r[1] + 0x00000030u;
|
|
/* 0258E2C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t67);
|
|
/* 0258E2CC */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 0258E2CC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 0258E2D0 */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E2D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0258E2D4 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 0258E2D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0258E2D8 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258E2D8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0258E2D8 */ if (_t72) goto L_0258E2DC; // else: addr-0 trap, fall-through
|
|
L_0258E2DC: ; // 0x258e2dc
|
|
/* 0258E2DC */ _t73 = cpu->r[1] + 0x00000044u;
|
|
/* 0258E2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0258E2E0 */ cpu->lr = cpu->r[0];
|
|
/* 0258E2E4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0258E2E8 */ return;
|
|
}
|
|
|
|
// fn_0258E2EC @ 0x258e2ec
|
|
void Gambit_fn_0258E2EC(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;
|
|
|
|
L_0258E2EC: ; // 0x258e2ec
|
|
/* 0258E2EC */ cpu->r[0] = cpu->lr;
|
|
/* 0258E2F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258E2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E2F0 */ cpu->r[1] = _t0;
|
|
/* 0258E2F4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0258E2F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258E2F8 */ cpu->r[30] = 0x00000002u;
|
|
/* 0258E2FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0258E300 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258E304 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E304 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0258E308 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0258E30C */ cpu->r[6] = 0x101F0000u;
|
|
/* 0258E310 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E310 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0258E314 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E314 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258E318 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0258E31C */ cpu->r[11] = 0xFFFFFFFEu;
|
|
/* 0258E320 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E320 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258E324 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0258E328 */ _t7 = cpu->r[6] + 0xFFFFB684u;
|
|
/* 0258E328 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0258E328 */ cpu->r[6] = _t7;
|
|
/* 0258E32C */ _t8 = cpu->r[6] + 0x00000004u;
|
|
/* 0258E32C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0258E330 */ cpu->r[29] = 0x100D0000u;
|
|
/* 0258E334 */ _t9 = cpu->r[12] + 0xFFFFB68Cu;
|
|
/* 0258E334 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0258E334 */ cpu->r[12] = _t9;
|
|
/* 0258E338 */ cpu->r[29] = cpu->r[29] + 0x00002DD0u;
|
|
/* 0258E33C */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258E340 */ _t10 = cpu->r[10] + 0xFFFFB694u;
|
|
/* 0258E340 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 0258E340 */ cpu->r[10] = _t10;
|
|
/* 0258E344 */ cpu->r[11] = cpu->r[11] + 0xFFFFB69Cu;
|
|
/* 0258E348 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 0258E348 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0258E34C */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258E350 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 0258E350 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0258E354 */ cpu->r[4] = cpu->r[4] + 0x00006D3Cu;
|
|
/* 0258E358 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 0258E358 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0258E35C */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258E360 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258E364 */ _t14 = cpu->r[4] + 0x00000004u;
|
|
/* 0258E364 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0258E368 */ cpu->r[12] = cpu->r[12] + 0x00003540u;
|
|
/* 0258E36C */ _t15 = cpu->r[8] + 0xFFFFB67Cu;
|
|
/* 0258E36C */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0258E36C */ cpu->r[8] = _t15;
|
|
/* 0258E370 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258E374 */ _t16 = cpu->r[8] + 0x00000004u;
|
|
/* 0258E374 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0258E378 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258E37C */ _t17 = cpu->r[4] + 0x00000000u;
|
|
/* 0258E37C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 0258E380 */ cpu->r[0] = cpu->r[0] + 0x000034FCu;
|
|
/* 0258E384 */ _t18 = cpu->r[4] + 0x00000010u;
|
|
/* 0258E384 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0258E388 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258E38C */ _t19 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0258E38C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0258E390 */ cpu->r[6] = cpu->r[6] + 0x00003504u;
|
|
/* 0258E394 */ _t20 = cpu->r[4] + 0x0000001Cu;
|
|
/* 0258E394 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 0258E398 */ cpu->r[8] = cpu->r[8] + 0x0000350Cu;
|
|
/* 0258E39C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258E3A0 */ _t21 = cpu->r[4] + 0x00000018u;
|
|
/* 0258E3A0 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 0258E3A4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258E3A8 */ _t22 = cpu->r[4] + 0x00000028u;
|
|
/* 0258E3A8 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 0258E3AC */ _t23 = cpu->r[11] + 0x00000000u;
|
|
/* 0258E3AC */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 0258E3B0 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258E3B4 */ _t24 = cpu->r[4] + 0x00000024u;
|
|
/* 0258E3B4 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 0258E3B8 */ cpu->r[9] = cpu->r[9] + 0x0000351Cu;
|
|
/* 0258E3BC */ _t25 = cpu->r[4] + 0x00000034u;
|
|
/* 0258E3BC */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 0258E3C0 */ cpu->r[3] = cpu->r[3] + 0x00006D84u;
|
|
/* 0258E3C4 */ _t26 = cpu->r[4] + 0x00000030u;
|
|
/* 0258E3C4 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 0258E3C8 */ cpu->r[10] = cpu->r[10] + 0x00003514u;
|
|
/* 0258E3CC */ _t27 = cpu->r[4] + 0x00000040u;
|
|
/* 0258E3CC */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 0258E3D0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258E3D4 */ cpu->r[0] = 0x00000004u;
|
|
/* 0258E3D8 */ _t28 = cpu->r[4] + 0x0000003Cu;
|
|
/* 0258E3D8 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 0258E3DC */ cpu->r[31] = 0x00000001u;
|
|
/* 0258E3E0 */ _t29 = cpu->r[11] + 0xFFFFB6A4u;
|
|
/* 0258E3E0 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0258E3E4 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258E3E8 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258E3EC */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258E3F0 */ cpu->r[7] = cpu->r[7] + 0x00003528u;
|
|
/* 0258E3F4 */ cpu->r[3] = cpu->r[3] + 0xFFFFB6C0u;
|
|
/* 0258E3F8 */ cpu->r[11] = 0x00000000u;
|
|
/* 0258E3FC */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258E3FC */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 0258E400 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258E404 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 0258E404 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 0258E408 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258E40C */ _t32 = cpu->r[8] + 0xFFFFB6A8u;
|
|
/* 0258E40C */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 0258E40C */ cpu->r[8] = _t32;
|
|
/* 0258E410 */ cpu->r[0] = 0x02590000u;
|
|
/* 0258E414 */ _t33 = cpu->r[8] + 0x00000004u;
|
|
/* 0258E414 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 0258E418 */ cpu->r[9] = cpu->r[9] + 0x00002F68u;
|
|
/* 0258E41C */ _t34 = cpu->r[8] + 0x00000008u;
|
|
/* 0258E41C */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 0258E420 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E420 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 0258E424 */ cpu->r[10] = 0x00000003u;
|
|
/* 0258E428 */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E428 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 0258E42C */ cpu->r[6] = 0x00000005u;
|
|
/* 0258E430 */ cpu->r[12] = 0x00000004u;
|
|
/* 0258E434 */ _t37 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0258E434 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 0258E438 */ _t38 = cpu->r[8] + 0x00000010u;
|
|
/* 0258E438 */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 0258E43C */ cpu->r[0] = cpu->r[0] + 0xFFFFF518u;
|
|
/* 0258E440 */ _t39 = cpu->r[8] + 0x00000014u;
|
|
/* 0258E440 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 0258E444 */ _t40 = cpu->r[3] + 0x00000010u;
|
|
/* 0258E444 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0258E448 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0258E44C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258E450 */ cpu->r[3] = cpu->r[3] + 0x00006D90u;
|
|
/* 0258E454 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258E458 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258E45C */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258E460 */ cpu->r[3] = cpu->r[3] + 0xFFFFB6D4u;
|
|
/* 0258E464 */ cpu->r[0] = 0x02590000u;
|
|
/* 0258E468 */ _t41 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258E468 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
/* 0258E46C */ cpu->r[0] = cpu->r[0] + 0xFFFFF604u;
|
|
/* 0258E470 */ cpu->r[7] = cpu->r[7] + 0x00002F74u;
|
|
/* 0258E474 */ _t42 = cpu->r[3] + 0x00000010u;
|
|
/* 0258E474 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 0258E478 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258E47C */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E47C */ rbrew_write32(cpu->mem, _t43, cpu->r[29]);
|
|
/* 0258E480 */ cpu->r[0] = cpu->r[0] + 0x00003534u;
|
|
/* 0258E484 */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E484 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 0258E488 */ _t45 = cpu->r[3] + 0x00000000u;
|
|
/* 0258E488 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 0258E48C */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0258E490 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258E494 */ cpu->r[3] = cpu->r[3] + 0x00006D9Cu;
|
|
/* 0258E498 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258E49C */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E49C */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0258E4A0 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0258E4A4 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0258E4A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258E4A8 */ cpu->lr = cpu->r[0];
|
|
/* 0258E4AC */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E4AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258E4B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258E4B4 */ return;
|
|
}
|
|
|
|
// fn_0258E2F0 @ 0x258e2f0
|
|
void Gambit_fn_0258E2F0(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;
|
|
|
|
L_0258E2F0: ; // 0x258e2f0
|
|
/* 0258E2F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258E2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E2F0 */ cpu->r[1] = _t0;
|
|
/* 0258E2F4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0258E2F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258E2F8 */ cpu->r[30] = 0x00000002u;
|
|
/* 0258E2FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0258E300 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258E304 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E304 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0258E308 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0258E30C */ cpu->r[6] = 0x101F0000u;
|
|
/* 0258E310 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E310 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0258E314 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E314 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258E318 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0258E31C */ cpu->r[11] = 0xFFFFFFFEu;
|
|
/* 0258E320 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E320 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258E324 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0258E328 */ _t7 = cpu->r[6] + 0xFFFFB684u;
|
|
/* 0258E328 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0258E328 */ cpu->r[6] = _t7;
|
|
/* 0258E32C */ _t8 = cpu->r[6] + 0x00000004u;
|
|
/* 0258E32C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0258E330 */ cpu->r[29] = 0x100D0000u;
|
|
/* 0258E334 */ _t9 = cpu->r[12] + 0xFFFFB68Cu;
|
|
/* 0258E334 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0258E334 */ cpu->r[12] = _t9;
|
|
/* 0258E338 */ cpu->r[29] = cpu->r[29] + 0x00002DD0u;
|
|
/* 0258E33C */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258E340 */ _t10 = cpu->r[10] + 0xFFFFB694u;
|
|
/* 0258E340 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 0258E340 */ cpu->r[10] = _t10;
|
|
/* 0258E344 */ cpu->r[11] = cpu->r[11] + 0xFFFFB69Cu;
|
|
/* 0258E348 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 0258E348 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0258E34C */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258E350 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 0258E350 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0258E354 */ cpu->r[4] = cpu->r[4] + 0x00006D3Cu;
|
|
/* 0258E358 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 0258E358 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0258E35C */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258E360 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258E364 */ _t14 = cpu->r[4] + 0x00000004u;
|
|
/* 0258E364 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0258E368 */ cpu->r[12] = cpu->r[12] + 0x00003540u;
|
|
/* 0258E36C */ _t15 = cpu->r[8] + 0xFFFFB67Cu;
|
|
/* 0258E36C */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0258E36C */ cpu->r[8] = _t15;
|
|
/* 0258E370 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258E374 */ _t16 = cpu->r[8] + 0x00000004u;
|
|
/* 0258E374 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0258E378 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258E37C */ _t17 = cpu->r[4] + 0x00000000u;
|
|
/* 0258E37C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 0258E380 */ cpu->r[0] = cpu->r[0] + 0x000034FCu;
|
|
/* 0258E384 */ _t18 = cpu->r[4] + 0x00000010u;
|
|
/* 0258E384 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0258E388 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258E38C */ _t19 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0258E38C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0258E390 */ cpu->r[6] = cpu->r[6] + 0x00003504u;
|
|
/* 0258E394 */ _t20 = cpu->r[4] + 0x0000001Cu;
|
|
/* 0258E394 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 0258E398 */ cpu->r[8] = cpu->r[8] + 0x0000350Cu;
|
|
/* 0258E39C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258E3A0 */ _t21 = cpu->r[4] + 0x00000018u;
|
|
/* 0258E3A0 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 0258E3A4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258E3A8 */ _t22 = cpu->r[4] + 0x00000028u;
|
|
/* 0258E3A8 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 0258E3AC */ _t23 = cpu->r[11] + 0x00000000u;
|
|
/* 0258E3AC */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 0258E3B0 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258E3B4 */ _t24 = cpu->r[4] + 0x00000024u;
|
|
/* 0258E3B4 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 0258E3B8 */ cpu->r[9] = cpu->r[9] + 0x0000351Cu;
|
|
/* 0258E3BC */ _t25 = cpu->r[4] + 0x00000034u;
|
|
/* 0258E3BC */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 0258E3C0 */ cpu->r[3] = cpu->r[3] + 0x00006D84u;
|
|
/* 0258E3C4 */ _t26 = cpu->r[4] + 0x00000030u;
|
|
/* 0258E3C4 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 0258E3C8 */ cpu->r[10] = cpu->r[10] + 0x00003514u;
|
|
/* 0258E3CC */ _t27 = cpu->r[4] + 0x00000040u;
|
|
/* 0258E3CC */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 0258E3D0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0258E3D4 */ cpu->r[0] = 0x00000004u;
|
|
/* 0258E3D8 */ _t28 = cpu->r[4] + 0x0000003Cu;
|
|
/* 0258E3D8 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 0258E3DC */ cpu->r[31] = 0x00000001u;
|
|
/* 0258E3E0 */ _t29 = cpu->r[11] + 0xFFFFB6A4u;
|
|
/* 0258E3E0 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0258E3E4 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258E3E8 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258E3EC */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258E3F0 */ cpu->r[7] = cpu->r[7] + 0x00003528u;
|
|
/* 0258E3F4 */ cpu->r[3] = cpu->r[3] + 0xFFFFB6C0u;
|
|
/* 0258E3F8 */ cpu->r[11] = 0x00000000u;
|
|
/* 0258E3FC */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258E3FC */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 0258E400 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258E404 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 0258E404 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 0258E408 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258E40C */ _t32 = cpu->r[8] + 0xFFFFB6A8u;
|
|
/* 0258E40C */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 0258E40C */ cpu->r[8] = _t32;
|
|
/* 0258E410 */ cpu->r[0] = 0x02590000u;
|
|
/* 0258E414 */ _t33 = cpu->r[8] + 0x00000004u;
|
|
/* 0258E414 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 0258E418 */ cpu->r[9] = cpu->r[9] + 0x00002F68u;
|
|
/* 0258E41C */ _t34 = cpu->r[8] + 0x00000008u;
|
|
/* 0258E41C */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 0258E420 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E420 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 0258E424 */ cpu->r[10] = 0x00000003u;
|
|
/* 0258E428 */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E428 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 0258E42C */ cpu->r[6] = 0x00000005u;
|
|
/* 0258E430 */ cpu->r[12] = 0x00000004u;
|
|
/* 0258E434 */ _t37 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0258E434 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 0258E438 */ _t38 = cpu->r[8] + 0x00000010u;
|
|
/* 0258E438 */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 0258E43C */ cpu->r[0] = cpu->r[0] + 0xFFFFF518u;
|
|
/* 0258E440 */ _t39 = cpu->r[8] + 0x00000014u;
|
|
/* 0258E440 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 0258E444 */ _t40 = cpu->r[3] + 0x00000010u;
|
|
/* 0258E444 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0258E448 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0258E44C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258E450 */ cpu->r[3] = cpu->r[3] + 0x00006D90u;
|
|
/* 0258E454 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258E458 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0258E45C */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258E460 */ cpu->r[3] = cpu->r[3] + 0xFFFFB6D4u;
|
|
/* 0258E464 */ cpu->r[0] = 0x02590000u;
|
|
/* 0258E468 */ _t41 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258E468 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
/* 0258E46C */ cpu->r[0] = cpu->r[0] + 0xFFFFF604u;
|
|
/* 0258E470 */ cpu->r[7] = cpu->r[7] + 0x00002F74u;
|
|
/* 0258E474 */ _t42 = cpu->r[3] + 0x00000010u;
|
|
/* 0258E474 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 0258E478 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258E47C */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E47C */ rbrew_write32(cpu->mem, _t43, cpu->r[29]);
|
|
/* 0258E480 */ cpu->r[0] = cpu->r[0] + 0x00003534u;
|
|
/* 0258E484 */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E484 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 0258E488 */ _t45 = cpu->r[3] + 0x00000000u;
|
|
/* 0258E488 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 0258E48C */ Gambit_fn_027DB2F8(cpu);
|
|
/* 0258E490 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258E494 */ cpu->r[3] = cpu->r[3] + 0x00006D9Cu;
|
|
/* 0258E498 */ Gambit_fn_02C83090(cpu);
|
|
/* 0258E49C */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E49C */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0258E4A0 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0258E4A4 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0258E4A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258E4A8 */ cpu->lr = cpu->r[0];
|
|
/* 0258E4AC */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E4AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258E4B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258E4B4 */ return;
|
|
}
|
|
|
|
// fn_0258E4B8 @ 0x258e4b8
|
|
void Gambit_fn_0258E4B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0258E4B8: ; // 0x258e4b8
|
|
/* 0258E4B8 */ cpu->r[6] = 0x02590000u;
|
|
/* 0258E4BC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258E4C0 */ cpu->r[7] = 0x00000000u;
|
|
/* 0258E4C4 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 0258E4C8 */ cpu->r[4] = 0x00000006u;
|
|
/* 0258E4CC */ cpu->r[8] = cpu->r[7];
|
|
/* 0258E4D0 */ cpu->r[3] = cpu->r[3] + 0x00006D3Cu;
|
|
/* 0258E4D4 */ cpu->r[6] = cpu->r[6] + 0xFFFFE8F0u;
|
|
/* 0258E4D8 */ goto L_02C82F38;
|
|
L_02C82F38: ; // 0x2c82f38
|
|
/* 02C82F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82F3C */ cpu->r[8] = cpu->r[7];
|
|
/* 02C82F40 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C82F48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82F4C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C82F50 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82F50 */ cpu->r[1] = _t1;
|
|
/* 02C82F54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82F54 */ if (_t3) goto L_02C82F58; else goto L_02C82F60;
|
|
L_02C82F58: ; // 0x2c82f58
|
|
/* 02C82F58 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82F5C */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82F5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C82F60: ; // 0x2c82f60
|
|
/* 02C82F60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C82F64 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82F68 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82F6C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82F6C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C82F70 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82F74 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82F78 */ cpu->lr = cpu->r[0];
|
|
/* 02C82F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82F80 */ return;
|
|
}
|
|
|
|
// fn_0258E4DC @ 0x258e4dc
|
|
void Gambit_fn_0258E4DC(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_0258E4DC: ; // 0x258e4dc
|
|
/* 0258E4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E4E0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E4E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E4E0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E4E0 */ goto L_0258E4E4;
|
|
L_0258E4E4: ; // 0x258e4e4
|
|
/* 0258E4E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E4E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E4E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E4E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E4E8 */ goto L_0258E4EC;
|
|
L_0258E4EC: ; // 0x258e4ec
|
|
/* 0258E4EC */ 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_0258E4F0 @ 0x258e4f0
|
|
void Gambit_fn_0258E4F0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258E4F0: ; // 0x258e4f0
|
|
/* 0258E4F0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258E4F4 */ _t0 = cpu->r[12] + 0x0000354Cu;
|
|
/* 0258E4F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0258E4F8 */ return;
|
|
}
|
|
|
|
// fn_0258E4FC @ 0x258e4fc
|
|
void Gambit_fn_0258E4FC(CPUState* cpu) {
|
|
L_0258E4FC: ; // 0x258e4fc
|
|
/* 0258E4FC */ return;
|
|
}
|
|
|
|
// fn_0258E500 @ 0x258e500
|
|
void Gambit_fn_0258E500(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_0258E500: ; // 0x258e500
|
|
/* 0258E500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E504 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E504 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E504 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E504 */ goto L_0258E508;
|
|
L_0258E508: ; // 0x258e508
|
|
/* 0258E508 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E50C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E50C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E50C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E50C */ goto L_0258E510;
|
|
L_0258E510: ; // 0x258e510
|
|
/* 0258E510 */ 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_0258E514 @ 0x258e514
|
|
void Gambit_fn_0258E514(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0258E514: ; // 0x258e514
|
|
/* 0258E514 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0258E514 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E518 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E518 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258E51C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0258E520 */ cpu->r[11] = 0x10110000u;
|
|
/* 0258E524 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0258E524 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0258E528 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0258E528 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0258E52C */ return;
|
|
}
|
|
|
|
// fn_0258E53C @ 0x258e53c
|
|
void Gambit_fn_0258E53C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258E53C: ; // 0x258e53c
|
|
/* 0258E53C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258E53C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E53C */ cpu->r[1] = _t0;
|
|
/* 0258E540 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E540 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258E540 */ if (_t2) goto L_0258E544; else goto L_0258E554;
|
|
L_0258E544: ; // 0x258e544
|
|
/* 0258E544 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258E548 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258E54C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E550 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E550 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258E550 */ if (_t4) goto L_0258E574; else goto L_0258E554;
|
|
L_0258E554: ; // 0x258e554
|
|
/* 0258E554 */ cpu->r[12] = 0x10110000u;
|
|
/* 0258E558 */ _t5 = cpu->r[12] + 0x00004468u;
|
|
/* 0258E558 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0258E55C */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E55C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 0258E560 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0258E560 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 0258E564 */ cpu->r[12] = 0x10110000u;
|
|
/* 0258E568 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E568 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 0258E56C */ _t9 = cpu->r[12] + 0x00004464u;
|
|
/* 0258E56C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0258E570 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258E570 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
L_0258E574: ; // 0x258e574
|
|
/* 0258E574 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258E578 */ cpu->lr = cpu->r[0];
|
|
/* 0258E57C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258E580 */ return;
|
|
}
|
|
|
|
// fn_0258E584 @ 0x258e584
|
|
void Gambit_fn_0258E584(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_0258E584: ; // 0x258e584
|
|
/* 0258E584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E588 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E588 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E588 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E588 */ goto L_0258E58C;
|
|
L_0258E58C: ; // 0x258e58c
|
|
/* 0258E58C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E590 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E590 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E590 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E590 */ goto L_0258E594;
|
|
L_0258E594: ; // 0x258e594
|
|
/* 0258E594 */ 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_0258E598 @ 0x258e598
|
|
void Gambit_fn_0258E598(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_0258E598: ; // 0x258e598
|
|
/* 0258E598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E59C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E59C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E59C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E59C */ goto L_0258E5A0;
|
|
L_0258E5A0: ; // 0x258e5a0
|
|
/* 0258E5A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E5A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E5A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E5A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E5A4 */ goto L_0258E5A8;
|
|
L_0258E5A8: ; // 0x258e5a8
|
|
/* 0258E5A8 */ 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_0258E5AC @ 0x258e5ac
|
|
void Gambit_fn_0258E5AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0258E5AC: ; // 0x258e5ac
|
|
/* 0258E5AC */ cpu->r[12] = cpu->r[3];
|
|
/* 0258E5B0 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0258E5B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258E5B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E5B8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258E5B8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E5B8 */ goto L_0258E5BC;
|
|
L_0258E5BC: ; // 0x258e5bc
|
|
/* 0258E5BC */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 0258E5BC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 0258E5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E5C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E5C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258E5C4 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E5C4 */ goto L_0258E5C8;
|
|
L_0258E5C8: ; // 0x258e5c8
|
|
/* 0258E5C8 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 0258E5C8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 0258E5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E5D0 */ cpu->r[3] = cpu->r[9] + cpu->r[11];
|
|
/* 0258E5D4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258E5D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0258E5D4 */ if (_t8) goto L_0258E5D8; else goto L_0258E5E4;
|
|
L_0258E5D8: ; // 0x258e5d8
|
|
/* 0258E5D8 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0258E5D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258E5DC */ cpu->ctr = cpu->r[10];
|
|
/* 0258E5E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0258E5E4: ; // 0x258e5e4
|
|
/* 0258E5E4 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 0258E5E4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 0258E5E8 */ _t11 = cpu->r[3] + cpu->r[8];
|
|
/* 0258E5E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258E5EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258E5F0 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 0258E5F4 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 0258E5F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258E5F8 */ cpu->ctr = cpu->r[10];
|
|
/* 0258E5FC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258E600 @ 0x258e600
|
|
void Gambit_fn_0258E600(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_0258E600: ; // 0x258e600
|
|
/* 0258E600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E604 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E604 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E604 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E604 */ goto L_0258E608;
|
|
L_0258E608: ; // 0x258e608
|
|
/* 0258E608 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E60C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E60C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E60C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E60C */ goto L_0258E610;
|
|
L_0258E610: ; // 0x258e610
|
|
/* 0258E610 */ 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_0258E614 @ 0x258e614
|
|
void Gambit_fn_0258E614(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_0258E614: ; // 0x258e614
|
|
/* 0258E614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E618 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E618 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E618 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E618 */ goto L_0258E61C;
|
|
L_0258E61C: ; // 0x258e61c
|
|
/* 0258E61C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E620 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E620 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E620 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E620 */ goto L_0258E624;
|
|
L_0258E624: ; // 0x258e624
|
|
/* 0258E624 */ 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_0258E628 @ 0x258e628
|
|
void Gambit_fn_0258E628(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_0258E628: ; // 0x258e628
|
|
/* 0258E628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E62C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E62C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E62C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E62C */ goto L_0258E630;
|
|
L_0258E630: ; // 0x258e630
|
|
/* 0258E630 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E634 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E634 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E634 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E634 */ goto L_0258E638;
|
|
L_0258E638: ; // 0x258e638
|
|
/* 0258E638 */ 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_0258E63C @ 0x258e63c
|
|
void Gambit_fn_0258E63C(CPUState* cpu) {
|
|
L_0258E63C: ; // 0x258e63c
|
|
/* 0258E63C */ return;
|
|
}
|
|
|
|
// fn_0258E640 @ 0x258e640
|
|
void Gambit_fn_0258E640(CPUState* cpu) {
|
|
L_0258E640: ; // 0x258e640
|
|
/* 0258E640 */ return;
|
|
}
|
|
|
|
// fn_0258E644 @ 0x258e644
|
|
void Gambit_fn_0258E644(CPUState* cpu) {
|
|
L_0258E644: ; // 0x258e644
|
|
/* 0258E644 */ return;
|
|
}
|
|
|
|
// fn_0258E648 @ 0x258e648
|
|
void Gambit_fn_0258E648(CPUState* cpu) {
|
|
L_0258E648: ; // 0x258e648
|
|
/* 0258E648 */ return;
|
|
}
|
|
|
|
// fn_0258E64C @ 0x258e64c
|
|
void Gambit_fn_0258E64C(CPUState* cpu) {
|
|
L_0258E64C: ; // 0x258e64c
|
|
/* 0258E64C */ return;
|
|
}
|
|
|
|
// fn_0258E650 @ 0x258e650
|
|
void Gambit_fn_0258E650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0258E650: ; // 0x258e650
|
|
/* 0258E650 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258E658 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E658 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258E658 */ if (_t2) goto L_0258E664; else goto L_0258E65C;
|
|
L_0258E65C: ; // 0x258e65c
|
|
/* 0258E65C */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0258E660 */ return;
|
|
L_0258E664: ; // 0x258e664
|
|
/* 0258E664 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258E668 */ return;
|
|
}
|
|
|
|
// fn_0258E66C @ 0x258e66c
|
|
void Gambit_fn_0258E66C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0258E66C: ; // 0x258e66c
|
|
/* 0258E66C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E66C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258E674 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E674 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258E674 */ if (_t2) goto L_0258E680; else goto L_0258E678;
|
|
L_0258E678: ; // 0x258e678
|
|
/* 0258E678 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0258E67C */ return;
|
|
L_0258E680: ; // 0x258e680
|
|
/* 0258E680 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258E684 */ return;
|
|
}
|
|
|
|
// fn_0258E688 @ 0x258e688
|
|
void Gambit_fn_0258E688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258E688: ; // 0x258e688
|
|
/* 0258E688 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258E688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E68C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258E690 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E690 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258E690 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258E690 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E690 */ goto L_0258E694;
|
|
L_0258E694: ; // 0x258e694
|
|
/* 0258E694 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E694 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258E698 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0258E698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258E69C */ cpu->ctr = cpu->r[0];
|
|
/* 0258E6A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258E6A4 @ 0x258e6a4
|
|
void Gambit_fn_0258E6A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258E6A4: ; // 0x258e6a4
|
|
/* 0258E6A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258E6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E6A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258E6AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E6AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258E6AC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258E6AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E6AC */ goto L_0258E6B0;
|
|
L_0258E6B0: ; // 0x258e6b0
|
|
/* 0258E6B0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E6B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258E6B4 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0258E6B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258E6B8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E6BC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258E6C0 @ 0x258e6c0
|
|
void Gambit_fn_0258E6C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258E6C0: ; // 0x258e6c0
|
|
/* 0258E6C0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258E6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E6C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258E6C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E6C8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258E6C8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0258E6C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E6C8 */ goto L_0258E6CC;
|
|
L_0258E6CC: ; // 0x258e6cc
|
|
/* 0258E6CC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E6CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258E6D0 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0258E6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258E6D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E6D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258E6DC @ 0x258e6dc
|
|
void Gambit_fn_0258E6DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258E6DC: ; // 0x258e6dc
|
|
/* 0258E6DC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E6DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E6E0 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258E6E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258E6E4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E6E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258E6EC @ 0x258e6ec
|
|
void Gambit_fn_0258E6EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0258E6EC: ; // 0x258e6ec
|
|
/* 0258E6EC */ cpu->r[0] = cpu->lr;
|
|
/* 0258E6F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258E6F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E6F0 */ cpu->r[1] = _t0;
|
|
/* 0258E6F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E6F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258E6F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258E6FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E6FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258E700 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258E700 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258E704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0258E708 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E708 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258E708 */ if (_t5) goto L_0258E70C; else goto L_0258E728;
|
|
L_0258E70C: ; // 0x258e70c
|
|
/* 0258E70C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0258E70C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258E710 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0258E710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258E714 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E718 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E71C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258E720 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258E724 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258E724 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0258E728: ; // 0x258e728
|
|
/* 0258E728 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258E72C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E72C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258E730 */ cpu->lr = cpu->r[0];
|
|
/* 0258E734 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258E738 */ return;
|
|
}
|
|
|
|
// fn_0258E6F0 @ 0x258e6f0
|
|
void Gambit_fn_0258E6F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0258E6F0: ; // 0x258e6f0
|
|
/* 0258E6F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258E6F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E6F0 */ cpu->r[1] = _t0;
|
|
/* 0258E6F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E6F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258E6F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258E6FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E6FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258E700 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258E700 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258E704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0258E708 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E708 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258E708 */ if (_t5) goto L_0258E70C; else goto L_0258E728;
|
|
L_0258E70C: ; // 0x258e70c
|
|
/* 0258E70C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0258E70C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258E710 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0258E710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258E714 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E718 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E71C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258E720 */ cpu->r[0] = 0x00000002u;
|
|
/* 0258E724 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258E724 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0258E728: ; // 0x258e728
|
|
/* 0258E728 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258E72C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E72C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258E730 */ cpu->lr = cpu->r[0];
|
|
/* 0258E734 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258E738 */ return;
|
|
}
|
|
|
|
// fn_0258E740 @ 0x258e740
|
|
void Gambit_fn_0258E740(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0258E740: ; // 0x258e740
|
|
/* 0258E740 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258E740 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E740 */ cpu->r[1] = _t0;
|
|
/* 0258E744 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E744 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258E748 */ cpu->r[3] = 0x000002D0u;
|
|
/* 0258E74C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E74C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258E750 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258E754 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258E754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258E758 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E758 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258E758 */ if (_t4) goto L_0258E77C; else goto L_0258E75C;
|
|
L_0258E75C: ; // 0x258e75c
|
|
/* 0258E75C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E760 */ Gambit_fn_0258CDE4(cpu);
|
|
/* 0258E764 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258E768 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258E76C */ cpu->r[0] = cpu->r[0] + 0x00002F98u;
|
|
/* 0258E770 */ cpu->r[12] = cpu->r[12] + 0x00002EA0u;
|
|
/* 0258E774 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 0258E774 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258E778 */ _t6 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258E778 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_0258E77C: ; // 0x258e77c
|
|
/* 0258E77C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258E780 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E784 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E784 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258E788 */ cpu->lr = cpu->r[0];
|
|
/* 0258E78C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258E790 */ return;
|
|
}
|
|
|
|
// fn_0258E798 @ 0x258e798
|
|
void Gambit_fn_0258E798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0258E798: ; // 0x258e798
|
|
/* 0258E798 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258E798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E798 */ cpu->r[1] = _t0;
|
|
/* 0258E79C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E79C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258E7A0 */ cpu->r[3] = 0x000002D0u;
|
|
/* 0258E7A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E7A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258E7A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258E7AC */ cpu->r[31] = cpu->r[3];
|
|
/* 0258E7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258E7B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E7B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258E7B0 */ if (_t4) goto L_0258E7D4; else goto L_0258E7B4;
|
|
L_0258E7B4: ; // 0x258e7b4
|
|
/* 0258E7B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E7B8 */ Gambit_fn_0258CDE4(cpu);
|
|
/* 0258E7BC */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258E7C0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258E7C4 */ cpu->r[0] = cpu->r[0] + 0x00003200u;
|
|
/* 0258E7C8 */ cpu->r[12] = cpu->r[12] + 0x00002ED0u;
|
|
/* 0258E7CC */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 0258E7CC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258E7D0 */ _t6 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258E7D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_0258E7D4: ; // 0x258e7d4
|
|
/* 0258E7D4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E7D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258E7D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E7DC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E7DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258E7E0 */ cpu->lr = cpu->r[0];
|
|
/* 0258E7E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258E7E8 */ return;
|
|
}
|
|
|
|
// fn_0258E7EC @ 0x258e7ec
|
|
void Gambit_fn_0258E7EC(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_0258E7EC: ; // 0x258e7ec
|
|
/* 0258E7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E7F0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E7F0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E7F0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E7F0 */ goto L_0258E7F4;
|
|
L_0258E7F4: ; // 0x258e7f4
|
|
/* 0258E7F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E7F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E7F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E7F8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E7F8 */ goto L_0258E7FC;
|
|
L_0258E7FC: ; // 0x258e7fc
|
|
/* 0258E7FC */ 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_0258E800 @ 0x258e800
|
|
void Gambit_fn_0258E800(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_0258E800: ; // 0x258e800
|
|
/* 0258E800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258E804 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E804 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0258E804 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E804 */ goto L_0258E808;
|
|
L_0258E808: ; // 0x258e808
|
|
/* 0258E808 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0258E808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E80C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E80C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258E80C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258E80C */ goto L_0258E810;
|
|
L_0258E810: ; // 0x258e810
|
|
/* 0258E810 */ 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_0258E814 @ 0x258e814
|
|
void Gambit_fn_0258E814(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258E814: ; // 0x258e814
|
|
/* 0258E814 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E818 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0258E818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258E81C */ cpu->ctr = cpu->r[0];
|
|
/* 0258E820 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258E824 @ 0x258e824
|
|
void Gambit_fn_0258E824(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258E824: ; // 0x258e824
|
|
/* 0258E824 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E824 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E828 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0258E828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258E82C */ cpu->ctr = cpu->r[0];
|
|
/* 0258E830 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258E834 @ 0x258e834
|
|
void Gambit_fn_0258E834(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0258E834: ; // 0x258e834
|
|
/* 0258E834 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0258E834 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E838 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0258E838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258E83C */ cpu->ctr = cpu->r[0];
|
|
/* 0258E840 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258E844 @ 0x258e844
|
|
void Gambit_fn_0258E844(CPUState* cpu) {
|
|
L_0258E844: ; // 0x258e844
|
|
/* 0258E844 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258E848 */ return;
|
|
}
|
|
|
|
// fn_0258E84C @ 0x258e84c
|
|
void Gambit_fn_0258E84C(CPUState* cpu) {
|
|
L_0258E84C: ; // 0x258e84c
|
|
/* 0258E84C */ return;
|
|
}
|
|
|
|
// fn_0258E850 @ 0x258e850
|
|
void Gambit_fn_0258E850(CPUState* cpu) {
|
|
L_0258E850: ; // 0x258e850
|
|
/* 0258E850 */ return;
|
|
}
|
|
|
|
// fn_0258E854 @ 0x258e854
|
|
void Gambit_fn_0258E854(CPUState* cpu) {
|
|
L_0258E854: ; // 0x258e854
|
|
/* 0258E854 */ return;
|
|
}
|
|
|
|
// fn_0258E858 @ 0x258e858
|
|
void Gambit_fn_0258E858(CPUState* cpu) {
|
|
L_0258E858: ; // 0x258e858
|
|
/* 0258E858 */ return;
|
|
}
|
|
|
|
// fn_0258E85C @ 0x258e85c
|
|
void Gambit_fn_0258E85C(CPUState* cpu) {
|
|
L_0258E85C: ; // 0x258e85c
|
|
/* 0258E85C */ return;
|
|
}
|
|
|
|
// fn_0258E860 @ 0x258e860
|
|
void Gambit_fn_0258E860(CPUState* cpu) {
|
|
L_0258E860: ; // 0x258e860
|
|
/* 0258E860 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258E864 */ return;
|
|
}
|
|
|
|
// fn_0258E868 @ 0x258e868
|
|
void Gambit_fn_0258E868(CPUState* cpu) {
|
|
L_0258E868: ; // 0x258e868
|
|
/* 0258E868 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258E86C */ return;
|
|
}
|
|
|
|
// fn_0258E870 @ 0x258e870
|
|
void Gambit_fn_0258E870(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0258E870: ; // 0x258e870
|
|
/* 0258E870 */ cpu->r[0] = cpu->lr;
|
|
/* 0258E874 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258E874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E874 */ cpu->r[1] = _t0;
|
|
/* 0258E878 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E878 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258E87C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E87C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258E880 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E880 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258E884 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258E888 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E88C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0258E890 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258E890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258E894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E898 */ cpu->r[11] = 0x00000000u;
|
|
/* 0258E89C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E89C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258E89C */ if (_t6) goto L_0258E8A8; else goto L_0258E8A0;
|
|
L_0258E8A0: ; // 0x258e8a0
|
|
/* 0258E8A0 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 0258E8A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258E8A4 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 0258E8A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0258E8A8: ; // 0x258e8a8
|
|
/* 0258E8A8 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0258E8A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258E8AC */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 0258E8AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258E8B0 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258E8B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258E8B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E8B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258E8BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258E8C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E8C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258E8C4 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 0258E8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258E8C8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E8CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258E8D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258E8D4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258E8D8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E8D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258E8DC */ cpu->lr = cpu->r[0];
|
|
/* 0258E8E0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E8E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258E8E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258E8E8 */ return;
|
|
}
|
|
|
|
// fn_0258E874 @ 0x258e874
|
|
void Gambit_fn_0258E874(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0258E874: ; // 0x258e874
|
|
/* 0258E874 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258E874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258E874 */ cpu->r[1] = _t0;
|
|
/* 0258E878 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E878 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258E87C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E87C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258E880 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0258E880 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258E884 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258E888 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258E88C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 0258E890 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0258E890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258E894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258E898 */ cpu->r[11] = 0x00000000u;
|
|
/* 0258E89C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E89C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258E89C */ if (_t6) goto L_0258E8A8; else goto L_0258E8A0;
|
|
L_0258E8A0: ; // 0x258e8a0
|
|
/* 0258E8A0 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 0258E8A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258E8A4 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 0258E8A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0258E8A8: ; // 0x258e8a8
|
|
/* 0258E8A8 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0258E8A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258E8AC */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 0258E8AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258E8B0 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0258E8B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258E8B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E8B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258E8BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258E8C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258E8C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258E8C4 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 0258E8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258E8C8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258E8CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0258E8D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258E8D4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258E8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258E8D8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0258E8D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258E8DC */ cpu->lr = cpu->r[0];
|
|
/* 0258E8E0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0258E8E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258E8E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258E8E8 */ return;
|
|
}
|
|
|
|
// fn_0258E8EC @ 0x258e8ec
|
|
void Gambit_fn_0258E8EC(CPUState* cpu) {
|
|
L_0258E8EC: ; // 0x258e8ec
|
|
/* 0258E8EC */ return;
|
|
}
|
|
|
|
// fn_0258E904 @ 0x258e904
|
|
void Gambit_fn_0258E904(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258E904: ; // 0x258e904
|
|
/* 0258E904 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258E908 */ _t0 = cpu->r[12] + 0x00003468u;
|
|
/* 0258E908 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0258E90C */ return;
|
|
}
|
|
|
|
// fn_0258E910 @ 0x258e910
|
|
void Gambit_fn_0258E910(CPUState* cpu) {
|
|
L_0258E910: ; // 0x258e910
|
|
/* 0258E910 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258E914 */ return;
|
|
}
|
|
|
|
// fn_0258E918 @ 0x258e918
|
|
void Gambit_fn_0258E918(CPUState* cpu) {
|
|
L_0258E918: ; // 0x258e918
|
|
/* 0258E918 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258E91C */ return;
|
|
}
|
|
|
|
// fn_0258E920 @ 0x258e920
|
|
void Gambit_fn_0258E920(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258E920: ; // 0x258e920
|
|
/* 0258E920 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0258E920 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E924 */ return;
|
|
}
|
|
|
|
// fn_0258E928 @ 0x258e928
|
|
void Gambit_fn_0258E928(CPUState* cpu) {
|
|
L_0258E928: ; // 0x258e928
|
|
/* 0258E928 */ return;
|
|
}
|
|
|
|
// fn_0258E92C @ 0x258e92c
|
|
void Gambit_fn_0258E92C(CPUState* cpu) {
|
|
L_0258E92C: ; // 0x258e92c
|
|
/* 0258E92C */ cpu->r[3] = 0x100D0000u;
|
|
/* 0258E930 */ cpu->r[3] = cpu->r[3] + 0x00002DB8u;
|
|
/* 0258E934 */ return;
|
|
}
|
|
|
|
// fn_0258E938 @ 0x258e938
|
|
void Gambit_fn_0258E938(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_0258E938: ; // 0x258e938
|
|
/* 0258E938 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258E93C */ _t0 = cpu->r[10] + 0xFFFFF994u;
|
|
/* 0258E93C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258E940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258E944 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258E948 */ cpu->r[10] = cpu->r[10] + 0x00000B04u;
|
|
/* 0258E94C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E94C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258E94C */ if (_t2) goto L_0258E950; else goto L_0258E968;
|
|
L_0258E950: ; // 0x258e950
|
|
/* 0258E950 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258E954 */ cpu->r[9] = 0x00000001u;
|
|
/* 0258E958 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258E95C */ cpu->r[0] = cpu->r[0] + 0x00002E90u;
|
|
/* 0258E960 */ _t3 = cpu->r[11] + 0xFFFFF994u;
|
|
/* 0258E960 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0258E964 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 0258E964 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0258E968: ; // 0x258e968
|
|
/* 0258E968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0258E96C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E96C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258E96C */ if (_t6) goto L_0258E970; else goto L_0258E978;
|
|
L_0258E970: ; // 0x258e970
|
|
/* 0258E970 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258E974 */ return;
|
|
L_0258E978: ; // 0x258e978
|
|
/* 0258E978 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258E97C */ _t7 = cpu->r[9] + 0xFFFFF98Cu;
|
|
/* 0258E97C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258E980 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258E984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258E988 */ cpu->r[11] = cpu->r[11] + 0x00000AE0u;
|
|
/* 0258E98C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E98C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258E98C */ if (_t9) goto L_0258E990; else goto L_0258E9A8;
|
|
L_0258E990: ; // 0x258e990
|
|
/* 0258E990 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258E994 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258E998 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258E99C */ cpu->r[9] = cpu->r[9] + 0x00002E80u;
|
|
/* 0258E9A0 */ _t10 = cpu->r[10] + 0xFFFFF98Cu;
|
|
/* 0258E9A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0258E9A4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0258E9A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_0258E9A8: ; // 0x258e9a8
|
|
/* 0258E9A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0258E9AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E9AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258E9AC */ if (_t13) goto L_0258E9B0; else goto L_0258E9B8;
|
|
L_0258E9B0: ; // 0x258e9b0
|
|
/* 0258E9B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258E9B4 */ goto L_0258EA70;
|
|
L_0258E9B8: ; // 0x258e9b8
|
|
/* 0258E9B8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258E9BC */ _t14 = cpu->r[11] + 0xFFFFDB24u;
|
|
/* 0258E9BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258E9C0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258E9C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258E9C8 */ cpu->r[9] = cpu->r[9] + 0xFFFFDB28u;
|
|
/* 0258E9CC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E9CC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258E9CC */ if (_t16) goto L_0258E9D0; else goto L_0258E9E8;
|
|
L_0258E9D0: ; // 0x258e9d0
|
|
/* 0258E9D0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258E9D4 */ cpu->r[10] = 0x00000001u;
|
|
/* 0258E9D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258E9DC */ cpu->r[11] = cpu->r[11] + 0x00002E70u;
|
|
/* 0258E9E0 */ _t17 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 0258E9E0 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0258E9E4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 0258E9E4 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_0258E9E8: ; // 0x258e9e8
|
|
/* 0258E9E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 0258E9EC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258E9EC */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258E9EC */ if (_t20) goto L_0258E9F0; else goto L_0258E9F8;
|
|
L_0258E9F0: ; // 0x258e9f0
|
|
/* 0258E9F0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258E9F4 */ goto L_0258EA6C;
|
|
L_0258E9F8: ; // 0x258e9f8
|
|
/* 0258E9F8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258E9FC */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 0258E9FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258E9FC */ cpu->r[9] = _t21;
|
|
/* 0258EA00 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258EA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258EA08 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 0258EA0C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EA0C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258EA0C */ if (_t23) goto L_0258EA10; else goto L_0258EA24;
|
|
L_0258EA10: ; // 0x258ea10
|
|
/* 0258EA10 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258EA14 */ cpu->r[11] = 0x00000001u;
|
|
/* 0258EA18 */ cpu->r[0] = cpu->r[0] + 0x00002E60u;
|
|
/* 0258EA1C */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0258EA1C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0258EA20 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0258EA20 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_0258EA24: ; // 0x258ea24
|
|
/* 0258EA24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0258EA28 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EA28 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0258EA28 */ if (_t27) goto L_0258EA2C; else goto L_0258EA34;
|
|
L_0258EA2C: ; // 0x258ea2c
|
|
/* 0258EA2C */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EA30 */ goto L_0258EA6C;
|
|
L_0258EA34: ; // 0x258ea34
|
|
/* 0258EA34 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258EA38 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 0258EA38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258EA38 */ cpu->r[10] = _t28;
|
|
/* 0258EA3C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258EA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0258EA44 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 0258EA48 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EA48 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0258EA48 */ if (_t30) goto L_0258EA4C; else goto L_0258EA60;
|
|
L_0258EA4C: ; // 0x258ea4c
|
|
/* 0258EA4C */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258EA50 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EA54 */ cpu->r[9] = cpu->r[9] + 0x00002DC0u;
|
|
/* 0258EA58 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0258EA58 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0258EA5C */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 0258EA5C */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_0258EA60: ; // 0x258ea60
|
|
/* 0258EA60 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0258EA64 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0258EA68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0258EA6C: ; // 0x258ea6c
|
|
/* 0258EA6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0258EA70: ; // 0x258ea70
|
|
/* 0258EA70 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258EA74 */ return;
|
|
}
|
|
|
|
// fn_0258EA78 @ 0x258ea78
|
|
void Gambit_fn_0258EA78(CPUState* cpu) {
|
|
L_0258EA78: ; // 0x258ea78
|
|
/* 0258EA78 */ return;
|
|
}
|
|
|
|
// fn_0258EA84 @ 0x258ea84
|
|
void Gambit_fn_0258EA84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021A84C0: ; // 0x21a84c0
|
|
/* 021A84C0 */ cpu->r[0] = cpu->lr;
|
|
/* 021A84C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021A84C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021A84C4 */ cpu->r[1] = _t0;
|
|
/* 021A84C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021A84C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021A84CC */ cpu->r[31] = cpu->r[3];
|
|
/* 021A84D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021A84D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021A84D4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 021A84D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 021A84D8 */ cpu->r[12] = 0x00000000u;
|
|
/* 021A84DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021A84E0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 021A84E0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 021A84E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021A84E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021A84E4 */ if (_t6) goto L_021A850C; else goto L_021A84E8;
|
|
L_021A84E8: ; // 0x21a84e8
|
|
/* 021A84E8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021A84E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 021A84EC */ /* nop */
|
|
/* 021A84F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 021A84F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021A84F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021A84F4 */ if (_t9) goto L_021A84F8; else goto L_021A850C;
|
|
L_021A84F8: ; // 0x21a84f8
|
|
/* 021A84F8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 021A84F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021A84FC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 021A84FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021A8500 */ cpu->ctr = cpu->r[0];
|
|
/* 021A8504 */ cpu->r[3] = cpu->r[31];
|
|
/* 021A8508 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021A850C: ; // 0x21a850c
|
|
/* 021A850C */ cpu->r[3] = cpu->r[31];
|
|
/* 021A8510 */ Gambit_fn_021A8438(cpu);
|
|
/* 021A8514 */ cpu->r[3] = cpu->r[31];
|
|
/* 021A8518 */ Gambit_fn_027FC37C(cpu);
|
|
/* 021A851C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021A851C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021A8520 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021A8520 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021A8524 */ cpu->lr = cpu->r[0];
|
|
/* 021A8528 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021A852C */ return;
|
|
L_0258EA84: ; // 0x258ea84
|
|
/* 0258EA84 */ cpu->r[3] = cpu->r[3] + 0x0000028Cu;
|
|
/* 0258EA88 */ goto L_021A84C0;
|
|
}
|
|
|
|
// fn_0258EA8C @ 0x258ea8c
|
|
void Gambit_fn_0258EA8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258EA8C: ; // 0x258ea8c
|
|
/* 0258EA8C */ cpu->r[0] = cpu->lr;
|
|
/* 0258EA90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258EA90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258EA90 */ cpu->r[1] = _t0;
|
|
/* 0258EA94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EA94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258EA98 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258EA9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258EA9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258EAA0 */ _t3 = cpu->r[31] + 0x0000029Au;
|
|
/* 0258EAA0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258EAA4 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 0258EAA8 */ /* nop */
|
|
/* 0258EAAC */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258EAB0 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 0258EAB4 */ Gambit_fn_021A8530(cpu);
|
|
/* 0258EAB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258EABC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258EAC0 */ cpu->lr = cpu->r[0];
|
|
/* 0258EAC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258EAC8 */ return;
|
|
}
|
|
|
|
// fn_0258EA90 @ 0x258ea90
|
|
void Gambit_fn_0258EA90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258EA90: ; // 0x258ea90
|
|
/* 0258EA90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258EA90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258EA90 */ cpu->r[1] = _t0;
|
|
/* 0258EA94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EA94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258EA98 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258EA9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258EA9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258EAA0 */ _t3 = cpu->r[31] + 0x0000029Au;
|
|
/* 0258EAA0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258EAA4 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 0258EAA8 */ /* nop */
|
|
/* 0258EAAC */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258EAB0 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 0258EAB4 */ Gambit_fn_021A8530(cpu);
|
|
/* 0258EAB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258EABC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258EAC0 */ cpu->lr = cpu->r[0];
|
|
/* 0258EAC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258EAC8 */ return;
|
|
}
|
|
|
|
// fn_0258EACC @ 0x258eacc
|
|
void Gambit_fn_0258EACC(CPUState* cpu) {
|
|
L_0258EACC: ; // 0x258eacc
|
|
/* 0258EACC */ cpu->r[3] = 0x100D0000u;
|
|
/* 0258EAD0 */ cpu->r[3] = cpu->r[3] + 0x00002F80u;
|
|
/* 0258EAD4 */ return;
|
|
}
|
|
|
|
// fn_0258EAD8 @ 0x258ead8
|
|
void Gambit_fn_0258EAD8(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_0258EAD8: ; // 0x258ead8
|
|
/* 0258EAD8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258EADC */ _t0 = cpu->r[8] + 0xFFFFF9A0u;
|
|
/* 0258EADC */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258EAE0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0258EAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258EAE8 */ cpu->r[6] = cpu->r[6] + 0x00000B08u;
|
|
/* 0258EAEC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EAEC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258EAEC */ if (_t2) goto L_0258EAF0; else goto L_0258EB08;
|
|
L_0258EAF0: ; // 0x258eaf0
|
|
/* 0258EAF0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258EAF4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EAF8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258EAFC */ cpu->r[5] = cpu->r[5] + 0x00002EC0u;
|
|
/* 0258EB00 */ _t3 = cpu->r[8] + 0xFFFFF9A0u;
|
|
/* 0258EB00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258EB04 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 0258EB04 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_0258EB08: ; // 0x258eb08
|
|
/* 0258EB08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 0258EB0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EB0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258EB0C */ if (_t6) goto L_0258EB10; else goto L_0258EB18;
|
|
L_0258EB10: ; // 0x258eb10
|
|
/* 0258EB10 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258EB14 */ return;
|
|
L_0258EB18: ; // 0x258eb18
|
|
/* 0258EB18 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258EB1C */ _t7 = cpu->r[10] + 0xFFFFF994u;
|
|
/* 0258EB1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258EB20 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258EB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258EB28 */ cpu->r[8] = cpu->r[8] + 0x00000B04u;
|
|
/* 0258EB2C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EB2C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258EB2C */ if (_t9) goto L_0258EB30; else goto L_0258EB48;
|
|
L_0258EB30: ; // 0x258eb30
|
|
/* 0258EB30 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258EB34 */ cpu->r[7] = 0x00000001u;
|
|
/* 0258EB38 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0258EB3C */ cpu->r[0] = cpu->r[0] + 0x00002E90u;
|
|
/* 0258EB40 */ _t10 = cpu->r[6] + 0xFFFFF994u;
|
|
/* 0258EB40 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0258EB44 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 0258EB44 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0258EB48: ; // 0x258eb48
|
|
/* 0258EB48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 0258EB4C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EB4C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258EB4C */ if (_t13) goto L_0258EB50; else goto L_0258EB58;
|
|
L_0258EB50: ; // 0x258eb50
|
|
/* 0258EB50 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EB54 */ goto L_0258EC50;
|
|
L_0258EB58: ; // 0x258eb58
|
|
/* 0258EB58 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258EB5C */ _t14 = cpu->r[12] + 0xFFFFF98Cu;
|
|
/* 0258EB5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258EB60 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258EB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258EB68 */ cpu->r[10] = cpu->r[10] + 0x00000AE0u;
|
|
/* 0258EB6C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EB6C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258EB6C */ if (_t16) goto L_0258EB70; else goto L_0258EB88;
|
|
L_0258EB70: ; // 0x258eb70
|
|
/* 0258EB70 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258EB74 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258EB78 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258EB7C */ cpu->r[7] = cpu->r[7] + 0x00002E80u;
|
|
/* 0258EB80 */ _t17 = cpu->r[12] + 0xFFFFF98Cu;
|
|
/* 0258EB80 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0258EB84 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0258EB84 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_0258EB88: ; // 0x258eb88
|
|
/* 0258EB88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0258EB8C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EB8C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258EB8C */ if (_t20) goto L_0258EB90; else goto L_0258EB98;
|
|
L_0258EB90: ; // 0x258eb90
|
|
/* 0258EB90 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EB94 */ goto L_0258EC50;
|
|
L_0258EB98: ; // 0x258eb98
|
|
/* 0258EB98 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258EB9C */ _t21 = cpu->r[11] + 0xFFFFDB24u;
|
|
/* 0258EB9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258EBA0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258EBA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258EBA8 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB28u;
|
|
/* 0258EBAC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EBAC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258EBAC */ if (_t23) goto L_0258EBB0; else goto L_0258EBC8;
|
|
L_0258EBB0: ; // 0x258ebb0
|
|
/* 0258EBB0 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258EBB4 */ cpu->r[9] = 0x00000001u;
|
|
/* 0258EBB8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258EBBC */ cpu->r[10] = cpu->r[10] + 0x00002E70u;
|
|
/* 0258EBC0 */ _t24 = cpu->r[8] + 0xFFFFDB24u;
|
|
/* 0258EBC0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0258EBC4 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0258EBC4 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_0258EBC8: ; // 0x258ebc8
|
|
/* 0258EBC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0258EBCC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EBCC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0258EBCC */ if (_t27) goto L_0258EBD0; else goto L_0258EBD8;
|
|
L_0258EBD0: ; // 0x258ebd0
|
|
/* 0258EBD0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EBD4 */ goto L_0258EC4C;
|
|
L_0258EBD8: ; // 0x258ebd8
|
|
/* 0258EBD8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258EBDC */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 0258EBDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258EBDC */ cpu->r[10] = _t28;
|
|
/* 0258EBE0 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0258EBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258EBE8 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 0258EBEC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EBEC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0258EBEC */ if (_t30) goto L_0258EBF0; else goto L_0258EC04;
|
|
L_0258EBF0: ; // 0x258ebf0
|
|
/* 0258EBF0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258EBF4 */ cpu->r[12] = 0x00000001u;
|
|
/* 0258EBF8 */ cpu->r[0] = cpu->r[0] + 0x00002E60u;
|
|
/* 0258EBFC */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0258EBFC */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0258EC00 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0258EC00 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0258EC04: ; // 0x258ec04
|
|
/* 0258EC04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0258EC08 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EC08 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0258EC08 */ if (_t34) goto L_0258EC0C; else goto L_0258EC14;
|
|
L_0258EC0C: ; // 0x258ec0c
|
|
/* 0258EC0C */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EC10 */ goto L_0258EC4C;
|
|
L_0258EC14: ; // 0x258ec14
|
|
/* 0258EC14 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258EC18 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 0258EC18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258EC18 */ cpu->r[8] = _t35;
|
|
/* 0258EC1C */ cpu->r[6] = 0x101D0000u;
|
|
/* 0258EC20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0258EC24 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 0258EC28 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EC28 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0258EC28 */ if (_t37) goto L_0258EC2C; else goto L_0258EC40;
|
|
L_0258EC2C: ; // 0x258ec2c
|
|
/* 0258EC2C */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258EC30 */ cpu->r[7] = 0x00000001u;
|
|
/* 0258EC34 */ cpu->r[9] = cpu->r[9] + 0x00002DC0u;
|
|
/* 0258EC38 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0258EC38 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0258EC3C */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 0258EC3C */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0258EC40: ; // 0x258ec40
|
|
/* 0258EC40 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 0258EC44 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 0258EC48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0258EC4C: ; // 0x258ec4c
|
|
/* 0258EC4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0258EC50: ; // 0x258ec50
|
|
/* 0258EC50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258EC54 */ return;
|
|
}
|
|
|
|
// fn_0258EC58 @ 0x258ec58
|
|
void Gambit_fn_0258EC58(CPUState* cpu) {
|
|
L_0258EC58: ; // 0x258ec58
|
|
/* 0258EC58 */ cpu->r[3] = 0x100D0000u;
|
|
/* 0258EC5C */ cpu->r[3] = cpu->r[3] + 0x00002F50u;
|
|
/* 0258EC60 */ return;
|
|
}
|
|
|
|
// fn_0258EC64 @ 0x258ec64
|
|
void Gambit_fn_0258EC64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0258EC64: ; // 0x258ec64
|
|
/* 0258EC64 */ cpu->r[0] = cpu->lr;
|
|
/* 0258EC68 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258EC68 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258EC6C */ cpu->r[3] = cpu->r[4];
|
|
/* 0258EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258EC70 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258EC70 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258EC70 */ cpu->r[1] = _t1;
|
|
/* 0258EC74 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EC74 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258EC74 */ if (_t3) goto L_0258EC78; else goto L_0258EC88;
|
|
L_0258EC78: ; // 0x258ec78
|
|
/* 0258EC78 */ cpu->r[3] = 0x00000004u;
|
|
/* 0258EC7C */ Gambit_fn_02801A78(cpu);
|
|
/* 0258EC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258EC84 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EC84 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258EC84 */ if (_t5) goto L_0258EC90; else goto L_0258EC88;
|
|
L_0258EC88: ; // 0x258ec88
|
|
/* 0258EC88 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258EC8C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0258EC8C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_0258EC90: ; // 0x258ec90
|
|
/* 0258EC90 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258EC94 */ cpu->lr = cpu->r[0];
|
|
/* 0258EC98 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258EC9C */ return;
|
|
}
|
|
|
|
// fn_0258EC70 @ 0x258ec70
|
|
void Gambit_fn_0258EC70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0258EC70: ; // 0x258ec70
|
|
/* 0258EC70 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258EC70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258EC70 */ cpu->r[1] = _t0;
|
|
/* 0258EC74 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EC74 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258EC74 */ if (_t2) goto L_0258EC78; else goto L_0258EC88;
|
|
L_0258EC78: ; // 0x258ec78
|
|
/* 0258EC78 */ cpu->r[3] = 0x00000004u;
|
|
/* 0258EC7C */ Gambit_fn_02801A78(cpu);
|
|
/* 0258EC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258EC84 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EC84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258EC84 */ if (_t4) goto L_0258EC90; else goto L_0258EC88;
|
|
L_0258EC88: ; // 0x258ec88
|
|
/* 0258EC88 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258EC8C */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0258EC8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_0258EC90: ; // 0x258ec90
|
|
/* 0258EC90 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258EC94 */ cpu->lr = cpu->r[0];
|
|
/* 0258EC98 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258EC9C */ return;
|
|
}
|
|
|
|
// fn_0258ECA0 @ 0x258eca0
|
|
void Gambit_fn_0258ECA0(CPUState* cpu) {
|
|
L_0258ECA0: ; // 0x258eca0
|
|
/* 0258ECA0 */ cpu->r[3] = 0x100D0000u;
|
|
/* 0258ECA4 */ cpu->r[3] = cpu->r[3] + 0x00002F8Cu;
|
|
/* 0258ECA8 */ return;
|
|
}
|
|
|
|
// fn_0258ECAC @ 0x258ecac
|
|
void Gambit_fn_0258ECAC(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_0258ECAC: ; // 0x258ecac
|
|
/* 0258ECAC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258ECB0 */ _t0 = cpu->r[8] + 0xFFFFF9A4u;
|
|
/* 0258ECB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258ECB4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0258ECB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258ECBC */ cpu->r[6] = cpu->r[6] + 0x00000B0Cu;
|
|
/* 0258ECC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ECC0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258ECC0 */ if (_t2) goto L_0258ECC4; else goto L_0258ECDC;
|
|
L_0258ECC4: ; // 0x258ecc4
|
|
/* 0258ECC4 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258ECC8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258ECCC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258ECD0 */ cpu->r[5] = cpu->r[5] + 0x00002EC0u;
|
|
/* 0258ECD4 */ _t3 = cpu->r[8] + 0xFFFFF9A4u;
|
|
/* 0258ECD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258ECD8 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 0258ECD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_0258ECDC: ; // 0x258ecdc
|
|
/* 0258ECDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 0258ECE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ECE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258ECE0 */ if (_t6) goto L_0258ECE4; else goto L_0258ECEC;
|
|
L_0258ECE4: ; // 0x258ece4
|
|
/* 0258ECE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0258ECE8 */ return;
|
|
L_0258ECEC: ; // 0x258ecec
|
|
/* 0258ECEC */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258ECF0 */ _t7 = cpu->r[10] + 0xFFFFF994u;
|
|
/* 0258ECF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258ECF4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258ECF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258ECFC */ cpu->r[8] = cpu->r[8] + 0x00000B04u;
|
|
/* 0258ED00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ED00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258ED00 */ if (_t9) goto L_0258ED04; else goto L_0258ED1C;
|
|
L_0258ED04: ; // 0x258ed04
|
|
/* 0258ED04 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258ED08 */ cpu->r[7] = 0x00000001u;
|
|
/* 0258ED0C */ cpu->r[6] = 0x101D0000u;
|
|
/* 0258ED10 */ cpu->r[0] = cpu->r[0] + 0x00002E90u;
|
|
/* 0258ED14 */ _t10 = cpu->r[6] + 0xFFFFF994u;
|
|
/* 0258ED14 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0258ED18 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 0258ED18 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0258ED1C: ; // 0x258ed1c
|
|
/* 0258ED1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 0258ED20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ED20 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258ED20 */ if (_t13) goto L_0258ED24; else goto L_0258ED2C;
|
|
L_0258ED24: ; // 0x258ed24
|
|
/* 0258ED24 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258ED28 */ goto L_0258EE24;
|
|
L_0258ED2C: ; // 0x258ed2c
|
|
/* 0258ED2C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258ED30 */ _t14 = cpu->r[12] + 0xFFFFF98Cu;
|
|
/* 0258ED30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258ED34 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258ED38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258ED3C */ cpu->r[10] = cpu->r[10] + 0x00000AE0u;
|
|
/* 0258ED40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ED40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0258ED40 */ if (_t16) goto L_0258ED44; else goto L_0258ED5C;
|
|
L_0258ED44: ; // 0x258ed44
|
|
/* 0258ED44 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258ED48 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258ED4C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258ED50 */ cpu->r[7] = cpu->r[7] + 0x00002E80u;
|
|
/* 0258ED54 */ _t17 = cpu->r[12] + 0xFFFFF98Cu;
|
|
/* 0258ED54 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0258ED58 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0258ED58 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_0258ED5C: ; // 0x258ed5c
|
|
/* 0258ED5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0258ED60 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ED60 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0258ED60 */ if (_t20) goto L_0258ED64; else goto L_0258ED6C;
|
|
L_0258ED64: ; // 0x258ed64
|
|
/* 0258ED64 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258ED68 */ goto L_0258EE24;
|
|
L_0258ED6C: ; // 0x258ed6c
|
|
/* 0258ED6C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0258ED70 */ _t21 = cpu->r[11] + 0xFFFFDB24u;
|
|
/* 0258ED70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258ED74 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258ED78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258ED7C */ cpu->r[12] = cpu->r[12] + 0xFFFFDB28u;
|
|
/* 0258ED80 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258ED80 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258ED80 */ if (_t23) goto L_0258ED84; else goto L_0258ED9C;
|
|
L_0258ED84: ; // 0x258ed84
|
|
/* 0258ED84 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0258ED88 */ cpu->r[9] = 0x00000001u;
|
|
/* 0258ED8C */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258ED90 */ cpu->r[10] = cpu->r[10] + 0x00002E70u;
|
|
/* 0258ED94 */ _t24 = cpu->r[8] + 0xFFFFDB24u;
|
|
/* 0258ED94 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0258ED98 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0258ED98 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_0258ED9C: ; // 0x258ed9c
|
|
/* 0258ED9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0258EDA0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EDA0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0258EDA0 */ if (_t27) goto L_0258EDA4; else goto L_0258EDAC;
|
|
L_0258EDA4: ; // 0x258eda4
|
|
/* 0258EDA4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EDA8 */ goto L_0258EE20;
|
|
L_0258EDAC: ; // 0x258edac
|
|
/* 0258EDAC */ cpu->r[10] = 0x101D0000u;
|
|
/* 0258EDB0 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 0258EDB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258EDB0 */ cpu->r[10] = _t28;
|
|
/* 0258EDB4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0258EDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258EDBC */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 0258EDC0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EDC0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0258EDC0 */ if (_t30) goto L_0258EDC4; else goto L_0258EDD8;
|
|
L_0258EDC4: ; // 0x258edc4
|
|
/* 0258EDC4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258EDC8 */ cpu->r[12] = 0x00000001u;
|
|
/* 0258EDCC */ cpu->r[0] = cpu->r[0] + 0x00002E60u;
|
|
/* 0258EDD0 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0258EDD0 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0258EDD4 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0258EDD4 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0258EDD8: ; // 0x258edd8
|
|
/* 0258EDD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0258EDDC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EDDC */ _t34 = _t33 & 0x00000001u;
|
|
/* 0258EDDC */ if (_t34) goto L_0258EDE0; else goto L_0258EDE8;
|
|
L_0258EDE0: ; // 0x258ede0
|
|
/* 0258EDE0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EDE4 */ goto L_0258EE20;
|
|
L_0258EDE8: ; // 0x258ede8
|
|
/* 0258EDE8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0258EDEC */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 0258EDEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258EDEC */ cpu->r[8] = _t35;
|
|
/* 0258EDF0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0258EDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0258EDF8 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 0258EDFC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EDFC */ _t37 = _t36 & 0x00000001u;
|
|
/* 0258EDFC */ if (_t37) goto L_0258EE00; else goto L_0258EE14;
|
|
L_0258EE00: ; // 0x258ee00
|
|
/* 0258EE00 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258EE04 */ cpu->r[7] = 0x00000001u;
|
|
/* 0258EE08 */ cpu->r[9] = cpu->r[9] + 0x00002DC0u;
|
|
/* 0258EE0C */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0258EE0C */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0258EE10 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 0258EE10 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0258EE14: ; // 0x258ee14
|
|
/* 0258EE14 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 0258EE18 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 0258EE1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0258EE20: ; // 0x258ee20
|
|
/* 0258EE20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0258EE24: ; // 0x258ee24
|
|
/* 0258EE24 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0258EE28 */ return;
|
|
}
|
|
|
|
// fn_0258EE2C @ 0x258ee2c
|
|
void Gambit_fn_0258EE2C(CPUState* cpu) {
|
|
L_0258EE2C: ; // 0x258ee2c
|
|
/* 0258EE2C */ cpu->r[3] = 0x100D0000u;
|
|
/* 0258EE30 */ cpu->r[3] = cpu->r[3] + 0x00002F5Cu;
|
|
/* 0258EE34 */ return;
|
|
}
|
|
|
|
// fn_0258EE38 @ 0x258ee38
|
|
void Gambit_fn_0258EE38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0258EE38: ; // 0x258ee38
|
|
/* 0258EE38 */ cpu->r[0] = cpu->lr;
|
|
/* 0258EE3C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258EE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258EE40 */ cpu->r[3] = cpu->r[4];
|
|
/* 0258EE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258EE44 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258EE44 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258EE44 */ cpu->r[1] = _t1;
|
|
/* 0258EE48 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EE48 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258EE48 */ if (_t3) goto L_0258EE4C; else goto L_0258EE5C;
|
|
L_0258EE4C: ; // 0x258ee4c
|
|
/* 0258EE4C */ cpu->r[3] = 0x00000004u;
|
|
/* 0258EE50 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258EE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258EE58 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EE58 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258EE58 */ if (_t5) goto L_0258EE64; else goto L_0258EE5C;
|
|
L_0258EE5C: ; // 0x258ee5c
|
|
/* 0258EE5C */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EE60 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0258EE60 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_0258EE64: ; // 0x258ee64
|
|
/* 0258EE64 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EE64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258EE68 */ cpu->lr = cpu->r[0];
|
|
/* 0258EE6C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258EE70 */ return;
|
|
}
|
|
|
|
// fn_0258EE44 @ 0x258ee44
|
|
void Gambit_fn_0258EE44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0258EE44: ; // 0x258ee44
|
|
/* 0258EE44 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0258EE44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258EE44 */ cpu->r[1] = _t0;
|
|
/* 0258EE48 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EE48 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258EE48 */ if (_t2) goto L_0258EE4C; else goto L_0258EE5C;
|
|
L_0258EE4C: ; // 0x258ee4c
|
|
/* 0258EE4C */ cpu->r[3] = 0x00000004u;
|
|
/* 0258EE50 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258EE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258EE58 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EE58 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258EE58 */ if (_t4) goto L_0258EE64; else goto L_0258EE5C;
|
|
L_0258EE5C: ; // 0x258ee5c
|
|
/* 0258EE5C */ cpu->r[0] = 0x00000001u;
|
|
/* 0258EE60 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0258EE60 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_0258EE64: ; // 0x258ee64
|
|
/* 0258EE64 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EE64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0258EE68 */ cpu->lr = cpu->r[0];
|
|
/* 0258EE6C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0258EE70 */ return;
|
|
}
|
|
|
|
// fn_0258EE74 @ 0x258ee74
|
|
void Gambit_fn_0258EE74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258EE74: ; // 0x258ee74
|
|
/* 0258EE74 */ cpu->r[0] = cpu->lr;
|
|
/* 0258EE78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258EE78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258EE78 */ cpu->r[1] = _t0;
|
|
/* 0258EE7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EE7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258EE80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258EE80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258EE84 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0258EE84 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258EE88 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258EE8C */ /* nop */
|
|
/* 0258EE90 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258EE94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258EE98 */ Gambit_fn_0258F298(cpu);
|
|
/* 0258EE9C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258EE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258EEA0 */ cpu->lr = cpu->r[0];
|
|
/* 0258EEA4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EEA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258EEA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258EEAC */ return;
|
|
}
|
|
|
|
// fn_0258EE78 @ 0x258ee78
|
|
void Gambit_fn_0258EE78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258EE78: ; // 0x258ee78
|
|
/* 0258EE78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258EE78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258EE78 */ cpu->r[1] = _t0;
|
|
/* 0258EE7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EE7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258EE80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258EE80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258EE84 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0258EE84 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258EE88 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258EE8C */ /* nop */
|
|
/* 0258EE90 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258EE94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258EE98 */ Gambit_fn_0258F298(cpu);
|
|
/* 0258EE9C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258EE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258EEA0 */ cpu->lr = cpu->r[0];
|
|
/* 0258EEA4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258EEA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258EEA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258EEAC */ return;
|
|
}
|
|
|
|
// fn_0258EEB0 @ 0x258eeb0
|
|
void Gambit_fn_0258EEB0(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_0258EEB0: ; // 0x258eeb0
|
|
/* 0258EEB0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0258EEB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258EEB0 */ cpu->r[1] = _t0;
|
|
/* 0258EEB4 */ /* nop */
|
|
/* 0258EEB8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258EEBC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0258EEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258EEC0 */ cpu->r[29] = cpu->r[6];
|
|
/* 0258EEC4 */ cpu->r[28] = cpu->r[3];
|
|
/* 0258EEC8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0258EECC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0258EECC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0258EED0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0258EED4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0258EED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0258EED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258EEDC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258EEDC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0258EEE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EEE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258EEE0 */ if (_t6) goto L_0258EF24; else goto L_0258EEE4;
|
|
L_0258EEE4: ; // 0x258eee4
|
|
/* 0258EEE4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258EEE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258EEE8 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258EEEC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258EEEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258EEF0 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0258EEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258EEF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258EEF8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258EEFC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258EF00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258EF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258EF08 */ cpu->r[0] = cpu->r[27];
|
|
/* 0258EF0C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258EF0C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258EF0C */ if (_t11) goto L_0258EF14; else goto L_0258EF10;
|
|
L_0258EF10: ; // 0x258ef10
|
|
/* 0258EF10 */ cpu->r[0] = 0x00000001u;
|
|
L_0258EF14: ; // 0x258ef14
|
|
/* 0258EF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258EF18 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EF18 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258EF18 */ if (_t13) goto L_0258EF24; else goto L_0258EF1C;
|
|
L_0258EF1C: ; // 0x258ef1c
|
|
/* 0258EF1C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0258EF1C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0258EF20 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0258EF20 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0258EF24: ; // 0x258ef24
|
|
/* 0258EF24 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0258EF24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258EF28 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258EF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258EF30 */ cpu->r[12] = cpu->r[0];
|
|
/* 0258EF34 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258EF34 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258EF34 */ if (_t18) goto L_0258EF38; else goto L_0258EF5C;
|
|
L_0258EF38: ; // 0x258ef38
|
|
/* 0258EF38 */ cpu->ctr = cpu->r[7];
|
|
/* 0258EF3C */ cpu->r[10] = 0x00000000u;
|
|
L_0258EF40: ; // 0x258ef40
|
|
/* 0258EF40 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0258EF40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258EF44 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0258EF44 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0258EF48 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0258EF4C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0258EF4C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0258EF50 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0258EF54 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0258EF54 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0258EF58 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258EF58 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258EF58 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0258EF58 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0258EF58 */ if (_t25) goto L_0258EF40; else goto L_0258EF5C;
|
|
L_0258EF5C: ; // 0x258ef5c
|
|
/* 0258EF5C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258EF5C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0258EF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258EF64 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EF64 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0258EF64 */ if (_t28) goto L_0258EFA8; else goto L_0258EF68;
|
|
L_0258EF68: ; // 0x258ef68
|
|
/* 0258EF68 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258EF68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0258EF6C */ Gambit_fn_02826F20(cpu);
|
|
/* 0258EF70 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258EF70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258EF74 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0258EF74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258EF78 */ cpu->ctr = cpu->r[0];
|
|
/* 0258EF7C */ cpu->r[5] = 0x00000004u;
|
|
/* 0258EF80 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258EF84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258EF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258EF8C */ cpu->r[11] = cpu->r[27];
|
|
/* 0258EF90 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258EF90 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0258EF90 */ if (_t33) goto L_0258EF98; else goto L_0258EF94;
|
|
L_0258EF94: ; // 0x258ef94
|
|
/* 0258EF94 */ cpu->r[11] = 0x00000001u;
|
|
L_0258EF98: ; // 0x258ef98
|
|
/* 0258EF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258EF9C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EF9C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0258EF9C */ if (_t35) goto L_0258EFA8; else goto L_0258EFA0;
|
|
L_0258EFA0: ; // 0x258efa0
|
|
/* 0258EFA0 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0258EFA0 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0258EFA4 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0258EFA4 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0258EFA8: ; // 0x258efa8
|
|
/* 0258EFA8 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0258EFA8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258EFAC */ cpu->r[0] = 0x00000000u;
|
|
/* 0258EFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0258EFB4 */ cpu->r[12] = cpu->r[0];
|
|
/* 0258EFB8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258EFB8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0258EFB8 */ if (_t40) goto L_0258EFBC; else goto L_0258EFE0;
|
|
L_0258EFBC: ; // 0x258efbc
|
|
/* 0258EFBC */ cpu->ctr = cpu->r[6];
|
|
/* 0258EFC0 */ cpu->r[9] = 0x00000000u;
|
|
L_0258EFC4: ; // 0x258efc4
|
|
/* 0258EFC4 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0258EFC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258EFC8 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0258EFC8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0258EFCC */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0258EFD0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0258EFD0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0258EFD4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0258EFD8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0258EFD8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0258EFDC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258EFDC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258EFDC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0258EFDC */ _t47 = _t46 & 0x00000001u;
|
|
/* 0258EFDC */ if (_t47) goto L_0258EFC4; else goto L_0258EFE0;
|
|
L_0258EFE0: ; // 0x258efe0
|
|
/* 0258EFE0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0258EFE0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0258EFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258EFE8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258EFE8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0258EFE8 */ if (_t50) goto L_0258F02C; else goto L_0258EFEC;
|
|
L_0258EFEC: ; // 0x258efec
|
|
/* 0258EFEC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258EFEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0258EFF0 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258EFF4 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258EFF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0258EFF8 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0258EFF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0258EFFC */ cpu->ctr = cpu->r[0];
|
|
/* 0258F000 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258F004 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F008 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258F00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258F010 */ cpu->r[10] = cpu->r[27];
|
|
/* 0258F014 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258F014 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0258F014 */ if (_t55) goto L_0258F01C; else goto L_0258F018;
|
|
L_0258F018: ; // 0x258f018
|
|
/* 0258F018 */ cpu->r[10] = 0x00000001u;
|
|
L_0258F01C: ; // 0x258f01c
|
|
/* 0258F01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258F020 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F020 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0258F020 */ if (_t57) goto L_0258F02C; else goto L_0258F024;
|
|
L_0258F024: ; // 0x258f024
|
|
/* 0258F024 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0258F024 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0258F028 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0258F028 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0258F02C: ; // 0x258f02c
|
|
/* 0258F02C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0258F02C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0258F030 */ cpu->r[0] = 0x00000000u;
|
|
/* 0258F034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258F038 */ cpu->r[5] = cpu->r[0];
|
|
/* 0258F03C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258F03C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0258F03C */ if (_t62) goto L_0258F040; else goto L_0258F064;
|
|
L_0258F040: ; // 0x258f040
|
|
/* 0258F040 */ cpu->ctr = cpu->r[12];
|
|
/* 0258F044 */ cpu->r[8] = 0x00000000u;
|
|
L_0258F048: ; // 0x258f048
|
|
/* 0258F048 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0258F048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258F04C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0258F04C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0258F050 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0258F054 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0258F054 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0258F058 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0258F05C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0258F05C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0258F060 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0258F060 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0258F060 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0258F060 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0258F060 */ if (_t69) goto L_0258F048; else goto L_0258F064;
|
|
L_0258F064: ; // 0x258f064
|
|
/* 0258F064 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0258F064 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0258F068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0258F06C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F06C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0258F06C */ if (_t72) goto L_0258F148; else goto L_0258F070;
|
|
L_0258F070: ; // 0x258f070
|
|
/* 0258F070 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0258F070 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0258F074 */ Gambit_fn_02826F20(cpu);
|
|
/* 0258F078 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258F078 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258F07C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0258F07C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258F080 */ cpu->ctr = cpu->r[12];
|
|
/* 0258F084 */ cpu->r[5] = 0x00000004u;
|
|
/* 0258F088 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0258F08C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258F090 */ cpu->r[24] = cpu->r[3];
|
|
/* 0258F094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0258F098 */ cpu->r[30] = cpu->r[25];
|
|
/* 0258F09C */ cpu->r[7] = 0x00000000u;
|
|
/* 0258F0A0 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258F0A0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0258F0A0 */ if (_t77) goto L_0258F0A8; else goto L_0258F0A4;
|
|
L_0258F0A4: ; // 0x258f0a4
|
|
/* 0258F0A4 */ cpu->r[30] = 0x00000001u;
|
|
L_0258F0A8: ; // 0x258f0a8
|
|
/* 0258F0A8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0258F0AC */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0258F0B0 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0258F0B0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0258F0B4 */ cpu->r[23] = 0x00000018u;
|
|
L_0258F0B8: ; // 0x258f0b8
|
|
/* 0258F0B8 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0258F0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258F0BC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F0BC */ _t80 = _t79 & 0x00000001u;
|
|
/* 0258F0BC */ if (_t80) goto L_0258F12C; else goto L_0258F0C0;
|
|
L_0258F0C0: ; // 0x258f0c0
|
|
/* 0258F0C0 */ cpu->r[26] = cpu->r[27];
|
|
/* 0258F0C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0258F0C4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F0C4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0258F0C4 */ if (_t82) goto L_0258F0C8; else goto L_0258F0D8;
|
|
L_0258F0C8: ; // 0x258f0c8
|
|
/* 0258F0C8 */ cpu->r[3] = 0x00000024u;
|
|
/* 0258F0CC */ Gambit_fn_02801A78(cpu);
|
|
/* 0258F0D0 */ cpu->r[26] = cpu->r[3];
|
|
/* 0258F0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0258F0D4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F0D4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0258F0D4 */ if (_t84) goto L_0258F120; else goto L_0258F0D8;
|
|
L_0258F0D8: ; // 0x258f0d8
|
|
/* 0258F0D8 */ cpu->r[11] = cpu->r[26];
|
|
/* 0258F0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258F0DC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F0DC */ _t86 = _t85 & 0x00000001u;
|
|
/* 0258F0DC */ if (_t86) goto L_0258F0E0; else goto L_0258F0F0;
|
|
L_0258F0E0: ; // 0x258f0e0
|
|
/* 0258F0E0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0258F0E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258F0E8 */ cpu->r[11] = cpu->r[3];
|
|
/* 0258F0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258F0EC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F0EC */ _t88 = _t87 & 0x00000001u;
|
|
/* 0258F0EC */ if (_t88) goto L_0258F10C; else goto L_0258F0F0;
|
|
L_0258F0F0: ; // 0x258f0f0
|
|
/* 0258F0F0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258F0F4 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0258F0F4 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0258F0F8 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0258F0FC */ cpu->r[5] = cpu->r[5] + 0x00002DE8u;
|
|
/* 0258F100 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0258F100 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0258F104 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0258F104 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0258F108 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0258F108 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0258F10C: ; // 0x258f10c
|
|
/* 0258F10C */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258F110 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0258F110 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0258F114 */ cpu->r[6] = cpu->r[6] + 0x00002E30u;
|
|
/* 0258F118 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0258F118 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0258F11C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0258F11C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0258F120: ; // 0x258f120
|
|
/* 0258F120 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258F124 */ cpu->r[0] = cpu->r[0] + 0x00002E48u;
|
|
/* 0258F128 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0258F128 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0258F12C: ; // 0x258f12c
|
|
/* 0258F12C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0258F12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258F130 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0258F134 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F134 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0258F134 */ if (_t98) goto L_0258F138; else goto L_0258F0B8;
|
|
L_0258F138: ; // 0x258f138
|
|
/* 0258F138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0258F13C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F13C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0258F13C */ if (_t100) goto L_0258F148; else goto L_0258F140;
|
|
L_0258F140: ; // 0x258f140
|
|
/* 0258F140 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0258F140 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0258F144 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0258F144 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0258F148: ; // 0x258f148
|
|
/* 0258F148 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0258F148 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0258F14C */ /* nop */
|
|
/* 0258F150 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0258F150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0258F154 */ cpu->lr = cpu->r[0];
|
|
/* 0258F158 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0258F15C */ return;
|
|
}
|
|
|
|
// fn_0258F160 @ 0x258f160
|
|
void Gambit_fn_0258F160(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_0258F160: ; // 0x258f160
|
|
/* 0258F160 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0258F160 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258F164 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0258F164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258F168 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0258F168 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258F16C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0258F170 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0258F170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258F174 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F174 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258F174 */ if (_t5) goto L_0258F178; else goto L_0258F180;
|
|
L_0258F178: ; // 0x258f178
|
|
/* 0258F178 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F17C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0258F180: ; // 0x258f180
|
|
/* 0258F180 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0258F180 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0258F184 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0258F184 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258F188 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0258F188 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0258F18C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0258F18C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0258F190 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0258F190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258F194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0258F198 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0258F198 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258F19C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F19C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258F19C */ if (_t13) goto L_0258F1A0; else goto L_0258F1A8;
|
|
L_0258F1A0: ; // 0x258f1a0
|
|
/* 0258F1A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F1A4 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0258F1A8: ; // 0x258f1a8
|
|
/* 0258F1A8 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0258F1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258F1AC */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0258F1AC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0258F1B0 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0258F1B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258F1B4 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0258F1B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0258F1B8 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0258F1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258F1BC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0258F1BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0258F1C0 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0258F1C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258F1C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0258F1C8 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0258F1C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258F1CC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F1CC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0258F1CC */ if (_t23) goto L_0258F1D0; else goto L_0258F1D8;
|
|
L_0258F1D0: ; // 0x258f1d0
|
|
/* 0258F1D0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F1D4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0258F1D8: ; // 0x258f1d8
|
|
/* 0258F1D8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0258F1D8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0258F1DC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0258F1DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258F1E0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F1E0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0258F1E4 */ return;
|
|
}
|
|
|
|
// fn_0258F1E8 @ 0x258f1e8
|
|
void Gambit_fn_0258F1E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258F1E8: ; // 0x258f1e8
|
|
/* 0258F1E8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258F1EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258F1F0 */ cpu->r[7] = 0x02590000u;
|
|
/* 0258F1F4 */ cpu->r[6] = 0x02590000u;
|
|
/* 0258F1F8 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0258F1FC */ cpu->r[7] = cpu->r[7] + 0xFFFFE73Cu;
|
|
/* 0258F200 */ cpu->r[6] = cpu->r[6] + 0xFFFFE73Cu;
|
|
/* 0258F204 */ cpu->r[10] = cpu->r[10] + 0x00006DACu;
|
|
/* 0258F208 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258F208 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258F20C */ cpu->r[0] = 0x101C0000u;
|
|
/* 0258F210 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258F210 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258F210 */ cpu->r[1] = _t1;
|
|
/* 0258F214 */ cpu->r[0] = cpu->r[0] + 0x00006DA8u;
|
|
/* 0258F218 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0258F218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258F21C */ cpu->r[8] = 0x00000000u;
|
|
/* 0258F220 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F220 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258F224 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F228 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F228 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0258F22C */ Gambit_fn_02791B10(cpu);
|
|
/* 0258F230 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258F234 */ cpu->lr = cpu->r[0];
|
|
/* 0258F238 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258F23C */ return;
|
|
}
|
|
|
|
// fn_0258F210 @ 0x258f210
|
|
void Gambit_fn_0258F210(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0258F210: ; // 0x258f210
|
|
/* 0258F210 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258F210 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F210 */ cpu->r[1] = _t0;
|
|
/* 0258F214 */ cpu->r[0] = cpu->r[0] + 0x00006DA8u;
|
|
/* 0258F218 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0258F218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258F21C */ cpu->r[8] = 0x00000000u;
|
|
/* 0258F220 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F220 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258F224 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F228 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F228 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0258F22C */ Gambit_fn_02791B10(cpu);
|
|
/* 0258F230 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258F234 */ cpu->lr = cpu->r[0];
|
|
/* 0258F238 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258F23C */ return;
|
|
}
|
|
|
|
// fn_0258F240 @ 0x258f240
|
|
void Gambit_fn_0258F240(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0258F240: ; // 0x258f240
|
|
/* 0258F240 */ cpu->r[0] = cpu->lr;
|
|
/* 0258F244 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258F248 */ cpu->r[7] = 0x02590000u;
|
|
/* 0258F24C */ cpu->r[6] = 0x02590000u;
|
|
/* 0258F250 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0258F254 */ cpu->r[7] = cpu->r[7] + 0xFFFFE794u;
|
|
/* 0258F258 */ cpu->r[6] = cpu->r[6] + 0xFFFFE794u;
|
|
/* 0258F25C */ cpu->r[10] = cpu->r[10] + 0x00006DB4u;
|
|
/* 0258F260 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0258F260 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0258F264 */ cpu->r[0] = 0x101C0000u;
|
|
/* 0258F268 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258F268 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0258F268 */ cpu->r[1] = _t1;
|
|
/* 0258F26C */ cpu->r[0] = cpu->r[0] + 0x00006DB0u;
|
|
/* 0258F270 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0258F270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258F274 */ cpu->r[8] = 0x00000000u;
|
|
/* 0258F278 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F278 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258F27C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F280 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F280 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0258F284 */ Gambit_fn_02791B10(cpu);
|
|
/* 0258F288 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258F28C */ cpu->lr = cpu->r[0];
|
|
/* 0258F290 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258F294 */ return;
|
|
}
|
|
|
|
// fn_0258F268 @ 0x258f268
|
|
void Gambit_fn_0258F268(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0258F268: ; // 0x258f268
|
|
/* 0258F268 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258F268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F268 */ cpu->r[1] = _t0;
|
|
/* 0258F26C */ cpu->r[0] = cpu->r[0] + 0x00006DB0u;
|
|
/* 0258F270 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0258F270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258F274 */ cpu->r[8] = 0x00000000u;
|
|
/* 0258F278 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F278 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258F27C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F280 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F280 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0258F284 */ Gambit_fn_02791B10(cpu);
|
|
/* 0258F288 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258F28C */ cpu->lr = cpu->r[0];
|
|
/* 0258F290 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258F294 */ return;
|
|
}
|
|
|
|
// fn_0258F298 @ 0x258f298
|
|
void Gambit_fn_0258F298(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_0258F298: ; // 0x258f298
|
|
/* 0258F298 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258F298 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258F29C */ /* nop */
|
|
/* 0258F2A0 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0258F2A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258F2A4 */ cpu->r[8] = cpu->r[0];
|
|
/* 0258F2A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0258F2AC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0258F2AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258F2B0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F2B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258F2B0 */ if (_t4) goto L_0258F2B4; else goto L_0258F2CC;
|
|
L_0258F2B4: ; // 0x258f2b4
|
|
/* 0258F2B4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F2B8 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0258F2BC */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258F2BC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258F2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258F2C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F2C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258F2C4 */ if (_t7) goto L_0258F2C8; else goto L_0258F2D8;
|
|
L_0258F2C8: ; // 0x258f2c8
|
|
/* 0258F2C8 */ return;
|
|
L_0258F2CC: ; // 0x258f2cc
|
|
/* 0258F2CC */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258F2CC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258F2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258F2D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F2D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258F2D4 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258F2D4 */ goto L_0258F2D8;
|
|
L_0258F2D8: ; // 0x258f2d8
|
|
/* 0258F2D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0258F2DC */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258F2DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258F2E0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F2E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258F2E0 */ if (_t13) goto L_0258F2E4; else goto L_0258F2EC;
|
|
L_0258F2E4: ; // 0x258f2e4
|
|
/* 0258F2E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F2E8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258F2EC: ; // 0x258f2ec
|
|
/* 0258F2EC */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258F2EC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258F2F0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258F2F0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258F2F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258F2F8 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F2F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258F2FC */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0258F300 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F300 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258F300 */ if (_t18) goto L_0258F318; else goto L_0258F304;
|
|
L_0258F304: ; // 0x258f304
|
|
/* 0258F304 */ /* nop */
|
|
/* 0258F308 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258F308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258F30C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F310 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0258F314 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F314 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258F318: ; // 0x258f318
|
|
/* 0258F318 */ cpu->ctr = cpu->r[11];
|
|
/* 0258F31C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258F320 @ 0x258f320
|
|
void Gambit_fn_0258F320(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_0258F320: ; // 0x258f320
|
|
/* 0258F320 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258F320 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258F324 */ /* nop */
|
|
/* 0258F328 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0258F328 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258F32C */ cpu->r[8] = cpu->r[0];
|
|
/* 0258F330 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0258F334 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0258F334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258F338 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F338 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258F338 */ if (_t4) goto L_0258F33C; else goto L_0258F354;
|
|
L_0258F33C: ; // 0x258f33c
|
|
/* 0258F33C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F340 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0258F344 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258F344 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258F348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258F34C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F34C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258F34C */ if (_t7) goto L_0258F350; else goto L_0258F360;
|
|
L_0258F350: ; // 0x258f350
|
|
/* 0258F350 */ return;
|
|
L_0258F354: ; // 0x258f354
|
|
/* 0258F354 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258F354 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258F358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0258F35C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F35C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258F35C */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258F35C */ goto L_0258F360;
|
|
L_0258F360: ; // 0x258f360
|
|
/* 0258F360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0258F364 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258F364 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258F368 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F368 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258F368 */ if (_t13) goto L_0258F36C; else goto L_0258F374;
|
|
L_0258F36C: ; // 0x258f36c
|
|
/* 0258F36C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F370 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258F374: ; // 0x258f374
|
|
/* 0258F374 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258F374 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258F378 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258F378 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258F37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258F380 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258F384 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0258F388 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F388 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258F388 */ if (_t18) goto L_0258F3A0; else goto L_0258F38C;
|
|
L_0258F38C: ; // 0x258f38c
|
|
/* 0258F38C */ /* nop */
|
|
/* 0258F390 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258F390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258F394 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F398 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0258F39C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F39C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258F3A0: ; // 0x258f3a0
|
|
/* 0258F3A0 */ cpu->ctr = cpu->r[11];
|
|
/* 0258F3A4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258F3A8 @ 0x258f3a8
|
|
void Gambit_fn_0258F3A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0258F3A8: ; // 0x258f3a8
|
|
/* 0258F3A8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258F3AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258F3AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F3AC */ cpu->r[1] = _t0;
|
|
/* 0258F3B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F3B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258F3B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258F3B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F3B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258F3BC */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0258F3BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258F3C0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0258F3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258F3C8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0258F3C8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0258F3CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F3CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258F3CC */ if (_t6) goto L_0258F3F4; else goto L_0258F3D0;
|
|
L_0258F3D0: ; // 0x258f3d0
|
|
/* 0258F3D0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258F3D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0258F3D4 */ /* nop */
|
|
/* 0258F3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258F3DC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F3DC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258F3DC */ if (_t9) goto L_0258F3E0; else goto L_0258F3F4;
|
|
L_0258F3E0: ; // 0x258f3e0
|
|
/* 0258F3E0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0258F3E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258F3E4 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0258F3E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258F3E8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258F3EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F3F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258F3F4: ; // 0x258f3f4
|
|
/* 0258F3F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F3F8 */ Gambit_fn_0258F320(cpu);
|
|
/* 0258F3FC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F400 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0258F404 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258F408 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F408 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258F40C */ cpu->lr = cpu->r[0];
|
|
/* 0258F410 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258F414 */ return;
|
|
}
|
|
|
|
// fn_0258F3AC @ 0x258f3ac
|
|
void Gambit_fn_0258F3AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0258F3AC: ; // 0x258f3ac
|
|
/* 0258F3AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258F3AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F3AC */ cpu->r[1] = _t0;
|
|
/* 0258F3B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F3B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258F3B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258F3B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F3B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258F3BC */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0258F3BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258F3C0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0258F3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258F3C8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0258F3C8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0258F3CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F3CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258F3CC */ if (_t6) goto L_0258F3F4; else goto L_0258F3D0;
|
|
L_0258F3D0: ; // 0x258f3d0
|
|
/* 0258F3D0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0258F3D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0258F3D4 */ /* nop */
|
|
/* 0258F3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258F3DC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F3DC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258F3DC */ if (_t9) goto L_0258F3E0; else goto L_0258F3F4;
|
|
L_0258F3E0: ; // 0x258f3e0
|
|
/* 0258F3E0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0258F3E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258F3E4 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0258F3E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258F3E8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258F3EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F3F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258F3F4: ; // 0x258f3f4
|
|
/* 0258F3F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F3F8 */ Gambit_fn_0258F320(cpu);
|
|
/* 0258F3FC */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F400 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0258F404 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258F408 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F408 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258F40C */ cpu->lr = cpu->r[0];
|
|
/* 0258F410 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258F414 */ return;
|
|
}
|
|
|
|
// fn_0258F418 @ 0x258f418
|
|
void Gambit_fn_0258F418(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_0258F418: ; // 0x258f418
|
|
/* 0258F418 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258F418 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0258F41C */ /* nop */
|
|
/* 0258F420 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 0258F420 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0258F424 */ cpu->r[7] = cpu->r[0];
|
|
/* 0258F428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0258F42C */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0258F42C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0258F430 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F430 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258F430 */ if (_t4) goto L_0258F434; else goto L_0258F44C;
|
|
L_0258F434: ; // 0x258f434
|
|
/* 0258F434 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F438 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0258F43C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0258F43C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0258F440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258F444 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F444 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258F444 */ if (_t7) goto L_0258F448; else goto L_0258F458;
|
|
L_0258F448: ; // 0x258f448
|
|
/* 0258F448 */ return;
|
|
L_0258F44C: ; // 0x258f44c
|
|
/* 0258F44C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0258F44C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0258F450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0258F454 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F454 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0258F454 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0258F454 */ goto L_0258F458;
|
|
L_0258F458: ; // 0x258f458
|
|
/* 0258F458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0258F45C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0258F45C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258F460 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F460 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258F460 */ if (_t13) goto L_0258F464; else goto L_0258F46C;
|
|
L_0258F464: ; // 0x258f464
|
|
/* 0258F464 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F468 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0258F46C: ; // 0x258f46c
|
|
/* 0258F46C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0258F46C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0258F470 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0258F470 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0258F474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0258F478 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F478 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258F47C */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0258F480 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F480 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0258F480 */ if (_t18) goto L_0258F498; else goto L_0258F484;
|
|
L_0258F484: ; // 0x258f484
|
|
/* 0258F484 */ /* nop */
|
|
/* 0258F488 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0258F488 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258F48C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F490 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0258F494 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F494 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0258F498: ; // 0x258f498
|
|
/* 0258F498 */ cpu->ctr = cpu->r[11];
|
|
/* 0258F49C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0258F4A0 @ 0x258f4a0
|
|
void Gambit_fn_0258F4A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258F4A0: ; // 0x258f4a0
|
|
/* 0258F4A0 */ cpu->r[0] = cpu->lr;
|
|
/* 0258F4A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258F4A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F4A4 */ cpu->r[1] = _t0;
|
|
/* 0258F4A8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F4A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258F4AC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F4AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258F4B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258F4B4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F4B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258F4B8 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258F4B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258F4BC */ /* nop */
|
|
/* 0258F4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0258F4C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0258F4C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F4C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258F4C8 */ if (_t6) goto L_0258F4CC; else goto L_0258F4E0;
|
|
L_0258F4CC: ; // 0x258f4cc
|
|
/* 0258F4CC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0258F4CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258F4D0 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0258F4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258F4D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258F4D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F4DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258F4E0: ; // 0x258f4e0
|
|
/* 0258F4E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F4E4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258F4E8 */ Gambit_fn_0258F418(cpu);
|
|
/* 0258F4EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F4F0 */ /* nop */
|
|
/* 0258F4F4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258F4F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F4FC */ Gambit_fn_0258F298(cpu);
|
|
/* 0258F500 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258F504 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258F508 */ cpu->lr = cpu->r[0];
|
|
/* 0258F50C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258F510 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258F514 */ return;
|
|
}
|
|
|
|
// fn_0258F4A4 @ 0x258f4a4
|
|
void Gambit_fn_0258F4A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0258F4A4: ; // 0x258f4a4
|
|
/* 0258F4A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0258F4A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F4A4 */ cpu->r[1] = _t0;
|
|
/* 0258F4A8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F4A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0258F4AC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F4AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258F4B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0258F4B4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F4B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0258F4B8 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0258F4B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0258F4BC */ /* nop */
|
|
/* 0258F4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0258F4C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0258F4C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F4C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0258F4C8 */ if (_t6) goto L_0258F4CC; else goto L_0258F4E0;
|
|
L_0258F4CC: ; // 0x258f4cc
|
|
/* 0258F4CC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0258F4CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0258F4D0 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0258F4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258F4D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258F4D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F4DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258F4E0: ; // 0x258f4e0
|
|
/* 0258F4E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F4E4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258F4E8 */ Gambit_fn_0258F418(cpu);
|
|
/* 0258F4EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F4F0 */ /* nop */
|
|
/* 0258F4F4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0258F4F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F4FC */ Gambit_fn_0258F298(cpu);
|
|
/* 0258F500 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0258F504 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258F508 */ cpu->lr = cpu->r[0];
|
|
/* 0258F50C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258F510 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0258F514 */ return;
|
|
}
|
|
|
|
// fn_0258F518 @ 0x258f518
|
|
void Gambit_fn_0258F518(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_0258F518: ; // 0x258f518
|
|
/* 0258F518 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0258F518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F518 */ cpu->r[1] = _t0;
|
|
/* 0258F51C */ cpu->r[0] = cpu->lr;
|
|
/* 0258F520 */ /* nop */
|
|
/* 0258F524 */ cpu->r[28] = cpu->r[5];
|
|
/* 0258F528 */ cpu->r[26] = cpu->r[3];
|
|
/* 0258F52C */ cpu->r[27] = cpu->r[7];
|
|
/* 0258F530 */ cpu->r[3] = cpu->r[28];
|
|
/* 0258F534 */ cpu->r[31] = cpu->r[6];
|
|
/* 0258F538 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258F538 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258F53C */ cpu->r[29] = cpu->r[4];
|
|
/* 0258F540 */ cpu->r[4] = cpu->r[27];
|
|
/* 0258F544 */ Gambit_fn_027DB318(cpu);
|
|
/* 0258F548 */ cpu->r[30] = cpu->r[3] + cpu->r[31];
|
|
/* 0258F548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258F54C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F54C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258F54C */ if (_t3) goto L_0258F5EC; else goto L_0258F550;
|
|
L_0258F550: ; // 0x258f550
|
|
/* 0258F550 */ cpu->r[5] = cpu->r[30];
|
|
/* 0258F554 */ cpu->r[4] = cpu->r[29];
|
|
/* 0258F558 */ cpu->r[3] = cpu->r[26];
|
|
/* 0258F55C */ Gambit_fn_0258F1E8(cpu);
|
|
/* 0258F560 */ _t4 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0258F560 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258F564 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 0258F564 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258F568 */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 0258F56C */ cpu->r[31] = cpu->r[5] - cpu->r[29];
|
|
/* 0258F570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 0258F574 */ cpu->r[25] = 0x00000000u;
|
|
/* 0258F578 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F578 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258F578 */ if (_t7) goto L_0258F5EC; else goto L_0258F57C;
|
|
L_0258F57C: ; // 0x258f57c
|
|
/* 0258F57C */ cpu->r[24] = 0x101C0000u;
|
|
L_0258F580: ; // 0x258f580
|
|
/* 0258F580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258F584 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F584 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258F584 */ if (_t9) goto L_0258F59C; else goto L_0258F588;
|
|
L_0258F588: ; // 0x258f588
|
|
/* 0258F588 */ cpu->ctr = cpu->r[27];
|
|
/* 0258F58C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F590 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258F594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258F598 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F598 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258F598 */ if (_t11) goto L_0258F5D8; else goto L_0258F59C;
|
|
L_0258F59C: ; // 0x258f59c
|
|
/* 0258F59C */ _t12 = cpu->r[24] + 0x00006DA8u;
|
|
/* 0258F59C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258F5A0 */ cpu->r[7] = cpu->r[26] + cpu->r[8];
|
|
/* 0258F5A4 */ _t13 = cpu->r[7] + 0x00000104u;
|
|
/* 0258F5A4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0258F5A8 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0258F5A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258F5AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258F5B0 */ _t15 = cpu->r[10] + cpu->r[0];
|
|
/* 0258F5B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258F5B4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F5B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258F5B8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258F5BC */ _t17 = cpu->r[9] + cpu->r[7];
|
|
/* 0258F5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258F5C0 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 0258F5C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258F5C4 */ _t19 = cpu->r[8] + 0x00000234u;
|
|
/* 0258F5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258F5C8 */ cpu->ctr = cpu->r[0];
|
|
/* 0258F5CC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0258F5D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0258F5D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258F5D8: ; // 0x258f5d8
|
|
/* 0258F5D8 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0258F5DC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258F5E0 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0258F5E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 0258F5E8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F5E8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258F5E8 */ if (_t22) goto L_0258F5EC; else goto L_0258F580;
|
|
L_0258F5EC: ; // 0x258f5ec
|
|
/* 0258F5EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F5F0 */ /* nop */
|
|
/* 0258F5F4 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258F5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258F5F8 */ cpu->lr = cpu->r[0];
|
|
/* 0258F5FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0258F600 */ return;
|
|
}
|
|
|
|
// fn_0258F604 @ 0x258f604
|
|
void Gambit_fn_0258F604(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_0258F604: ; // 0x258f604
|
|
/* 0258F604 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0258F604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F604 */ cpu->r[1] = _t0;
|
|
/* 0258F608 */ cpu->r[0] = cpu->lr;
|
|
/* 0258F60C */ /* nop */
|
|
/* 0258F610 */ cpu->r[28] = cpu->r[5];
|
|
/* 0258F614 */ cpu->r[26] = cpu->r[3];
|
|
/* 0258F618 */ cpu->r[27] = cpu->r[7];
|
|
/* 0258F61C */ cpu->r[3] = cpu->r[28];
|
|
/* 0258F620 */ cpu->r[31] = cpu->r[6];
|
|
/* 0258F624 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258F624 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258F628 */ cpu->r[29] = cpu->r[4];
|
|
/* 0258F62C */ cpu->r[4] = cpu->r[27];
|
|
/* 0258F630 */ Gambit_fn_027DB318(cpu);
|
|
/* 0258F634 */ cpu->r[30] = cpu->r[3] + cpu->r[31];
|
|
/* 0258F634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0258F638 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F638 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258F638 */ if (_t3) goto L_0258F6D8; else goto L_0258F63C;
|
|
L_0258F63C: ; // 0x258f63c
|
|
/* 0258F63C */ cpu->r[5] = cpu->r[30];
|
|
/* 0258F640 */ cpu->r[4] = cpu->r[29];
|
|
/* 0258F644 */ cpu->r[3] = cpu->r[26];
|
|
/* 0258F648 */ Gambit_fn_0258F240(cpu);
|
|
/* 0258F64C */ _t4 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0258F64C */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0258F650 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 0258F650 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258F654 */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 0258F658 */ cpu->r[31] = cpu->r[5] - cpu->r[29];
|
|
/* 0258F65C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 0258F660 */ cpu->r[25] = 0x00000000u;
|
|
/* 0258F664 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F664 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258F664 */ if (_t7) goto L_0258F6D8; else goto L_0258F668;
|
|
L_0258F668: ; // 0x258f668
|
|
/* 0258F668 */ cpu->r[24] = 0x101C0000u;
|
|
L_0258F66C: ; // 0x258f66c
|
|
/* 0258F66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258F670 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F670 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258F670 */ if (_t9) goto L_0258F688; else goto L_0258F674;
|
|
L_0258F674: ; // 0x258f674
|
|
/* 0258F674 */ cpu->ctr = cpu->r[27];
|
|
/* 0258F678 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F67C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258F680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258F684 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F684 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258F684 */ if (_t11) goto L_0258F6C4; else goto L_0258F688;
|
|
L_0258F688: ; // 0x258f688
|
|
/* 0258F688 */ _t12 = cpu->r[24] + 0x00006DB0u;
|
|
/* 0258F688 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258F68C */ cpu->r[7] = cpu->r[26] + cpu->r[8];
|
|
/* 0258F690 */ _t13 = cpu->r[7] + 0x00000104u;
|
|
/* 0258F690 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0258F694 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0258F694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258F698 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258F69C */ _t15 = cpu->r[10] + cpu->r[0];
|
|
/* 0258F69C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258F6A0 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F6A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0258F6A4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258F6A8 */ _t17 = cpu->r[9] + cpu->r[7];
|
|
/* 0258F6A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258F6AC */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 0258F6AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258F6B0 */ _t19 = cpu->r[8] + 0x00000234u;
|
|
/* 0258F6B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0258F6B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0258F6B8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0258F6BC */ cpu->r[4] = cpu->r[31];
|
|
/* 0258F6C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0258F6C4: ; // 0x258f6c4
|
|
/* 0258F6C4 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0258F6C8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0258F6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258F6CC */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0258F6D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 0258F6D4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F6D4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0258F6D4 */ if (_t22) goto L_0258F6D8; else goto L_0258F66C;
|
|
L_0258F6D8: ; // 0x258f6d8
|
|
/* 0258F6D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0258F6DC */ /* nop */
|
|
/* 0258F6E0 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258F6E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258F6E4 */ cpu->lr = cpu->r[0];
|
|
/* 0258F6E8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0258F6EC */ return;
|
|
}
|
|
|
|
// fn_0258F6F0 @ 0x258f6f0
|
|
void Gambit_fn_0258F6F0(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;
|
|
|
|
L_0258F6F0: ; // 0x258f6f0
|
|
/* 0258F6F0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0258F6F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258F6F0 */ cpu->r[1] = _t0;
|
|
/* 0258F6F4 */ cpu->r[0] = cpu->lr;
|
|
/* 0258F6F8 */ /* nop */
|
|
/* 0258F6FC */ cpu->r[31] = cpu->r[3];
|
|
/* 0258F6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258F700 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0258F700 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0258F704 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F704 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0258F704 */ if (_t3) goto L_0258F708; else goto L_0258F718;
|
|
L_0258F708: ; // 0x258f708
|
|
/* 0258F708 */ cpu->r[3] = 0x000002D8u;
|
|
/* 0258F70C */ Gambit_fn_02801A78(cpu);
|
|
/* 0258F710 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258F710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0258F714 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F714 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258F714 */ if (_t5) goto L_0258F994; else goto L_0258F718;
|
|
L_0258F718: ; // 0x258f718
|
|
/* 0258F718 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F71C */ Gambit_fn_0258526C(cpu);
|
|
/* 0258F720 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258F724 */ cpu->r[30] = 0x00000000u;
|
|
/* 0258F728 */ cpu->r[0] = cpu->r[0] + 0x000039B0u;
|
|
/* 0258F72C */ _t6 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258F72C */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 0258F730 */ cpu->r[5] = cpu->r[31] + 0x00000250u;
|
|
/* 0258F730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0258F734 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 0258F734 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0258F738 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F738 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0258F738 */ if (_t9) goto L_0258F73C; else goto L_0258F744;
|
|
L_0258F73C: ; // 0x258f73c
|
|
/* 0258F73C */ cpu->r[3] = 0x00000030u;
|
|
/* 0258F740 */ Gambit_fn_02801A78(cpu);
|
|
L_0258F744: ; // 0x258f744
|
|
/* 0258F744 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258F748 */ _t10 = cpu->r[8] + 0x000038FCu;
|
|
/* 0258F748 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0258F74C */ cpu->r[29] = cpu->r[31] + 0x00000284u;
|
|
/* 0258F74C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0258F750 */ _t11 = cpu->r[31] + 0x00000280u;
|
|
/* 0258F750 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0258F754 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F754 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258F754 */ if (_t13) goto L_0258F758; else goto L_0258F768;
|
|
L_0258F758: ; // 0x258f758
|
|
/* 0258F758 */ cpu->r[3] = 0x00000038u;
|
|
/* 0258F75C */ Gambit_fn_02801A78(cpu);
|
|
/* 0258F760 */ cpu->r[29] = cpu->r[3];
|
|
/* 0258F760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0258F764 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F764 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0258F764 */ if (_t15) goto L_0258F798; else goto L_0258F768;
|
|
L_0258F768: ; // 0x258f768
|
|
/* 0258F768 */ cpu->r[3] = cpu->r[29];
|
|
/* 0258F76C */ Gambit_fn_027FC29C(cpu);
|
|
/* 0258F770 */ cpu->r[7] = 0x100C0000u;
|
|
/* 0258F774 */ _t16 = cpu->r[29] + 0x00000030u;
|
|
/* 0258F774 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 0258F778 */ cpu->r[7] = cpu->r[7] + 0xFFFFA1F8u;
|
|
/* 0258F77C */ _t17 = cpu->r[29] + 0x00000034u;
|
|
/* 0258F77C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0258F780 */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 0258F780 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 0258F784 */ _t19 = cpu->r[29] + 0x00000024u;
|
|
/* 0258F784 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 0258F788 */ _t20 = cpu->r[29] + 0x00000028u;
|
|
/* 0258F788 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0258F78C */ _t21 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0258F78C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0258F790 */ _t22 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0258F790 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 0258F794 */ _t23 = cpu->r[29] + 0x00000020u;
|
|
/* 0258F794 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_0258F798: ; // 0x258f798
|
|
/* 0258F798 */ _t24 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258F798 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 0258F79C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0258F7A0 */ _t25 = cpu->r[31] + 0x000002C0u;
|
|
/* 0258F7A0 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 0258F7A4 */ cpu->r[6] = 0x100D0000u;
|
|
/* 0258F7A8 */ _t26 = cpu->r[31] + 0x000002CCu;
|
|
/* 0258F7A8 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 0258F7AC */ cpu->r[4] = cpu->r[31];
|
|
/* 0258F7B0 */ _t27 = cpu->r[31] + 0x000002C8u;
|
|
/* 0258F7B0 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[30]);
|
|
/* 0258F7B4 */ cpu->r[3] = cpu->r[31] + 0x00000284u;
|
|
/* 0258F7B8 */ _t28 = cpu->r[31] + 0x000002D2u;
|
|
/* 0258F7B8 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[10]);
|
|
/* 0258F7BC */ _t29 = cpu->r[6] + 0x00003900u;
|
|
/* 0258F7BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258F7C0 */ _t30 = cpu->r[31] + 0x000002D0u;
|
|
/* 0258F7C0 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[10]);
|
|
/* 0258F7C4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0258F7C8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0258F7CC */ _t31 = cpu->r[31] + 0x000002C4u;
|
|
/* 0258F7CC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 0258F7D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258F7D4 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F7D4 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 0258F7D8 */ Gambit_fn_02590970(cpu);
|
|
/* 0258F7DC */ cpu->r[4] = cpu->r[31] + 0x00000284u;
|
|
/* 0258F7E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F7E4 */ Gambit_fn_02000834(cpu);
|
|
/* 0258F7E8 */ cpu->r[27] = 0x100D0000u;
|
|
/* 0258F7EC */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258F7F0 */ cpu->r[27] = cpu->r[27] + 0x00003814u;
|
|
/* 0258F7F4 */ cpu->r[9] = cpu->r[9] + 0x00003904u;
|
|
/* 0258F7F8 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 0258F7F8 */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
/* 0258F7FC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F7FC */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 0258F800 */ _t35 = cpu->r[31] + 0x0000029Cu;
|
|
/* 0258F800 */ cpu->r[25] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258F804 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F808 */ _t36 = cpu->r[25] + 0x00000000u;
|
|
/* 0258F808 */ cpu->r[26] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0258F80C */ Gambit_fn_02590504(cpu);
|
|
/* 0258F810 */ cpu->r[29] = 0x10110000u;
|
|
/* 0258F814 */ _t37 = cpu->r[29] + 0x00007399u;
|
|
/* 0258F814 */ cpu->r[29] = rbrew_read8(cpu->mem, _t37);
|
|
/* 0258F818 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F818 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258F81C */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 0258F81C */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0258F820 */ cpu->r[28] = 0x00000000u;
|
|
/* 0258F824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0258F828 */ cpu->r[12] = 0x00080000u;
|
|
/* 0258F82C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F82C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0258F82C */ if (_t41) goto L_0258F854; else goto L_0258F830;
|
|
L_0258F830: ; // 0x258f830
|
|
/* 0258F830 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0258F834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 0258F838 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0258F83C */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0258F83C */ _t43 = _t42 & 0x00000001u;
|
|
/* 0258F83C */ if (_t43) goto L_0258F850; else goto L_0258F840;
|
|
L_0258F840: ; // 0x258f840
|
|
/* 0258F840 */ _t44 = cpu->r[10] + 0x00000000u;
|
|
/* 0258F840 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0258F844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0258F848 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F848 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0258F848 */ if (_t46) goto L_0258F84C; else goto L_0258F830;
|
|
L_0258F84C: ; // 0x258f84c
|
|
/* 0258F84C */ goto L_0258F854;
|
|
L_0258F850: ; // 0x258f850
|
|
/* 0258F850 */ cpu->r[28] = 0x00000000u;
|
|
L_0258F854: ; // 0x258f854
|
|
/* 0258F854 */ _t47 = cpu->r[25] + 0x00000008u;
|
|
/* 0258F854 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0258F858 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0258F858 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0258F85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]);
|
|
/* 0258F860 */ _t49 = cpu->r[6] + 0x00000014u;
|
|
/* 0258F860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0258F864 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F864 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0258F864 */ if (_t51) goto L_0258F86C; else goto L_0258F868;
|
|
L_0258F868: ; // 0x258f868
|
|
/* 0258F868 */ cpu->r[28] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0258F86C: ; // 0x258f86c
|
|
/* 0258F86C */ cpu->ctr = cpu->r[0];
|
|
/* 0258F870 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258F878 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F878 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0258F87C */ cpu->r[3] = cpu->r[26];
|
|
/* 0258F880 */ cpu->r[5] = cpu->r[28];
|
|
/* 0258F884 */ cpu->r[6] = 0x00000000u;
|
|
/* 0258F888 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0258F88C */ _t53 = cpu->r[26] + cpu->r[28];
|
|
/* 0258F88C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[29]);
|
|
/* 0258F890 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0258F894 */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 0258F894 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[30]);
|
|
/* 0258F898 */ cpu->r[0] = 0x02590000u;
|
|
/* 0258F89C */ _t55 = cpu->r[1] + 0x00000026u;
|
|
/* 0258F89C */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[30]);
|
|
/* 0258F8A0 */ cpu->r[0] = cpu->r[0] + 0x00000274u;
|
|
/* 0258F8A4 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 0258F8A4 */ rbrew_write32(cpu->mem, _t56, cpu->r[30]);
|
|
/* 0258F8A8 */ _t57 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0258F8A8 */ rbrew_write16(cpu->mem, _t57, (uint16_t)cpu->r[9]);
|
|
/* 0258F8AC */ cpu->r[11] = 0x02590000u;
|
|
/* 0258F8B0 */ cpu->r[11] = cpu->r[11] + 0x00000358u;
|
|
/* 0258F8B4 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 0258F8B4 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[30]);
|
|
/* 0258F8B8 */ cpu->r[3] = cpu->r[31] + 0x00000284u;
|
|
/* 0258F8BC */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 0258F8BC */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 0258F8C0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0258F8C4 */ _t60 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258F8C4 */ rbrew_write16(cpu->mem, _t60, (uint16_t)cpu->r[30]);
|
|
/* 0258F8C8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0258F8CC */ _t61 = cpu->r[1] + 0x00000018u;
|
|
/* 0258F8CC */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 0258F8D0 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258F8D4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0258F8D8 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 0258F8D8 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[30]);
|
|
/* 0258F8DC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0258F8E0 */ _t63 = cpu->r[1] + 0x00000016u;
|
|
/* 0258F8E0 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[9]);
|
|
/* 0258F8E4 */ Gambit_fn_02590C20(cpu);
|
|
/* 0258F8E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0258F8EC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F8F0 */ _t64 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0258F8F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0258F8F4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258F8F8 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 0258F8F8 */ rbrew_write32(cpu->mem, _t65, cpu->r[27]);
|
|
/* 0258F8FC */ cpu->r[0] = cpu->r[0] + 0x00003914u;
|
|
/* 0258F900 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258F904 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258F904 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 0258F908 */ Gambit_fn_028095AC(cpu);
|
|
/* 0258F90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258F910 */ cpu->r[12] = cpu->r[30];
|
|
/* 0258F914 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F914 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0258F914 */ if (_t68) goto L_0258F91C; else goto L_0258F918;
|
|
L_0258F918: ; // 0x258f918
|
|
/* 0258F918 */ _t69 = cpu->r[3] + 0x00000000u;
|
|
/* 0258F918 */ cpu->r[12] = rbrew_read8(cpu->mem, _t69);
|
|
L_0258F91C: ; // 0x258f91c
|
|
/* 0258F91C */ cpu->r[30] = 0x00000000u;
|
|
/* 0258F920 */ cpu->r[28] = 0x02590000u;
|
|
/* 0258F924 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258F928 */ _t70 = cpu->r[31] + 0x000002C8u;
|
|
/* 0258F928 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[12]);
|
|
/* 0258F92C */ cpu->r[28] = cpu->r[28] + 0xFFFFFC0Cu;
|
|
/* 0258F930 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 0258F934 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258F938 */ cpu->r[27] = cpu->r[3];
|
|
/* 0258F938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0258F93C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F93C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0258F93C */ if (_t72) goto L_0258F990; else goto L_0258F940;
|
|
L_0258F940: ; // 0x258f940
|
|
/* 0258F940 */ _t73 = cpu->r[1] + 0x00000030u;
|
|
/* 0258F940 */ rbrew_write32(cpu->mem, _t73, cpu->r[28]);
|
|
/* 0258F944 */ cpu->r[3] = cpu->r[27];
|
|
/* 0258F944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258F948 */ _t74 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258F948 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[30]);
|
|
/* 0258F94C */ _t75 = cpu->r[1] + 0x0000002Eu;
|
|
/* 0258F94C */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[29]);
|
|
/* 0258F950 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F950 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0258F950 */ if (_t77) goto L_0258F954; else goto L_0258F964;
|
|
L_0258F954: ; // 0x258f954
|
|
/* 0258F954 */ cpu->r[3] = 0x00000010u;
|
|
/* 0258F958 */ Gambit_fn_02801A78(cpu);
|
|
/* 0258F95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258F960 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F960 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0258F960 */ if (_t79) goto L_0258F984; else goto L_0258F964;
|
|
L_0258F964: ; // 0x258f964
|
|
/* 0258F964 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258F968 */ _t80 = cpu->r[3] + 0x00000004u;
|
|
/* 0258F968 */ rbrew_write32(cpu->mem, _t80, cpu->r[31]);
|
|
/* 0258F96C */ cpu->r[8] = cpu->r[8] + 0x000038B4u;
|
|
/* 0258F970 */ _t81 = cpu->r[3] + 0x00000000u;
|
|
/* 0258F970 */ rbrew_write32(cpu->mem, _t81, cpu->r[8]);
|
|
/* 0258F974 */ _t82 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258F974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0258F978 */ _t83 = cpu->r[3] + 0x00000008u;
|
|
/* 0258F978 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 0258F97C */ _t84 = cpu->r[1] + 0x00000030u;
|
|
/* 0258F97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0258F980 */ _t85 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0258F980 */ rbrew_write32(cpu->mem, _t85, cpu->r[5]);
|
|
L_0258F984: ; // 0x258f984
|
|
/* 0258F984 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258F988 */ cpu->r[0] = cpu->r[0] + 0x000038CCu;
|
|
/* 0258F98C */ _t86 = cpu->r[27] + 0x00000000u;
|
|
/* 0258F98C */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
L_0258F990: ; // 0x258f990
|
|
/* 0258F990 */ _t87 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258F990 */ rbrew_write32(cpu->mem, _t87, cpu->r[27]);
|
|
L_0258F994: ; // 0x258f994
|
|
/* 0258F994 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258F998 */ /* nop */
|
|
/* 0258F99C */ _t88 = cpu->r[1] + 0x00000054u;
|
|
/* 0258F99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0258F9A0 */ cpu->lr = cpu->r[0];
|
|
/* 0258F9A4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0258F9A8 */ return;
|
|
}
|
|
|
|
// fn_0258F9AC @ 0x258f9ac
|
|
void Gambit_fn_0258F9AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258F9AC: ; // 0x258f9ac
|
|
/* 0258F9AC */ _t0 = cpu->r[3] + 0x0000024Cu;
|
|
/* 0258F9AC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0258F9B0 */ return;
|
|
}
|
|
|
|
// fn_0258F9B4 @ 0x258f9b4
|
|
void Gambit_fn_0258F9B4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0258F9B4: ; // 0x258f9b4
|
|
/* 0258F9B4 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 0258F9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258F9B8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0258F9BC */ cpu->r[12] = cpu->r[12] + 0xFFFFB714u;
|
|
/* 0258F9C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0258F9C4 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 0258F9C8 */ return;
|
|
}
|
|
|
|
// fn_0258F9CC @ 0x258f9cc
|
|
void Gambit_fn_0258F9CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0258F9CC: ; // 0x258f9cc
|
|
/* 0258F9CC */ _t0 = cpu->r[3] + 0x000002BCu;
|
|
/* 0258F9CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0258F9D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0258F9D4 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258F9D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0258F9D4 */ if (_t2) goto L_0258F9E4; else goto L_0258F9D8;
|
|
L_0258F9D8: ; // 0x258f9d8
|
|
/* 0258F9D8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258F9D8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0258F9D8 */ if (_t4) goto L_0258F9F0; else goto L_0258F9DC;
|
|
L_0258F9DC: ; // 0x258f9dc
|
|
/* 0258F9DC */ cpu->r[3] = 0x00000000u;
|
|
/* 0258F9E0 */ return;
|
|
L_0258F9E4: ; // 0x258f9e4
|
|
/* 0258F9E4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258F9E8 */ cpu->r[3] = cpu->r[3] + 0x00006DB8u;
|
|
/* 0258F9EC */ return;
|
|
L_0258F9F0: ; // 0x258f9f0
|
|
/* 0258F9F0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0258F9F4 */ cpu->r[3] = cpu->r[3] + 0x00006DC4u;
|
|
/* 0258F9F8 */ return;
|
|
}
|
|
|
|
// fn_0258F9FC @ 0x258f9fc
|
|
void Gambit_fn_0258F9FC(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;
|
|
|
|
L_0258F9FC: ; // 0x258f9fc
|
|
/* 0258F9FC */ cpu->r[0] = cpu->lr;
|
|
/* 0258FA00 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 0258FA00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258FA00 */ cpu->r[1] = _t0;
|
|
/* 0258FA04 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258FA04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258FA08 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258FA0C */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 0258FA0C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0258FA10 */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 0258FA10 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0258FA14 */ _t4 = cpu->r[1] + 0x00000088u;
|
|
/* 0258FA14 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0258FA18 */ _t5 = cpu->r[1] + 0x00000094u;
|
|
/* 0258FA18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258FA1C */ cpu->r[29] = 0x00000002u;
|
|
/* 0258FA20 */ _t6 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0258FA20 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 0258FA24 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258FA28 */ _t7 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FA28 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0258FA2C */ _t8 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FA2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258FA30 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0258FA34 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258FA34 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0258FA38 */ Gambit_fn_02982574(cpu);
|
|
/* 0258FA3C */ _t10 = cpu->r[1] + 0x00000038u;
|
|
/* 0258FA3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258FA40 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258FA44 */ _t11 = cpu->r[1] + 0x00000044u;
|
|
/* 0258FA44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258FA48 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258FA4C */ _t12 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 0258FA4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258FA50 */ _t13 = cpu->r[9] + 0xFFFF97D9u;
|
|
/* 0258FA50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0258FA54 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258FA54 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0258FA58 */ _t15 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258FA58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258FA5C */ cpu->r[9] = 0x101C0000u;
|
|
/* 0258FA60 */ _t16 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258FA60 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 0258FA64 */ _t17 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258FA64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258FA68 */ cpu->r[30] = 0x00000001u;
|
|
/* 0258FA6C */ _t18 = cpu->r[9] + 0x00006000u;
|
|
/* 0258FA6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258FA70 */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 0258FA70 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 0258FA74 */ _t20 = cpu->r[1] + 0x00000051u;
|
|
/* 0258FA74 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 0258FA78 */ _t21 = cpu->r[9] + 0x0000025Cu;
|
|
/* 0258FA78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258FA7C */ _t22 = cpu->r[1] + 0x00000060u;
|
|
/* 0258FA7C */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0258FA80 */ _t23 = cpu->r[1] + 0x00000050u;
|
|
/* 0258FA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258FA84 */ _t24 = cpu->r[1] + 0x00000074u;
|
|
/* 0258FA84 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 0258FA88 */ _t25 = cpu->r[1] + 0x00000040u;
|
|
/* 0258FA88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258FA8C */ _t26 = cpu->r[1] + 0x00000064u;
|
|
/* 0258FA8C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 0258FA90 */ _t27 = cpu->r[1] + 0x00000068u;
|
|
/* 0258FA90 */ rbrew_write32(cpu->mem, _t27, cpu->r[5]);
|
|
/* 0258FA94 */ _t28 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FA94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258FA98 */ _t29 = cpu->r[1] + 0x00000078u;
|
|
/* 0258FA98 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0258FA9C */ cpu->r[29] = 0x100D0000u;
|
|
/* 0258FAA0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258FAA4 */ cpu->r[29] = cpu->r[29] + 0x00003814u;
|
|
/* 0258FAA8 */ cpu->r[0] = cpu->r[0] + 0x00003930u;
|
|
/* 0258FAAC */ _t30 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258FAAC */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 0258FAB0 */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 0258FAB0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0258FAB4 */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 0258FAB4 */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 0258FAB8 */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 0258FAB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258FABC */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 0258FABC */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 0258FAC0 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 0258FAC4 */ _t35 = cpu->r[1] + 0x00000070u;
|
|
/* 0258FAC4 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 0258FAC8 */ Gambit_fn_02984F3C(cpu);
|
|
/* 0258FACC */ cpu->r[11] = 0x00000006u;
|
|
/* 0258FAD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FAD4 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0258FAD8 */ _t36 = cpu->r[1] + 0x00000058u;
|
|
/* 0258FAD8 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 0258FADC */ Gambit_fn_0258F9B4(cpu);
|
|
/* 0258FAE0 */ cpu->r[5] = cpu->r[3];
|
|
/* 0258FAE4 */ _t37 = cpu->r[28] + 0x00000008u;
|
|
/* 0258FAE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258FAE8 */ cpu->r[9] = 0x00000003u;
|
|
/* 0258FAEC */ cpu->r[8] = cpu->r[1] + 0x00000054u;
|
|
/* 0258FAF0 */ cpu->r[7] = cpu->r[1] + 0x00000060u;
|
|
/* 0258FAF4 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 0258FAF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FAFC */ Gambit_fn_020022D4(cpu);
|
|
/* 0258FB00 */ _t38 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FB00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258FB04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FB08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258FB0C */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 0258FB0C */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 0258FB10 */ Gambit_fn_0258F9CC(cpu);
|
|
/* 0258FB14 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258FB18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FB1C */ Gambit_fn_02002684(cpu);
|
|
/* 0258FB20 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258FB24 */ Gambit_fn_02043B8C(cpu);
|
|
/* 0258FB28 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258FB2C */ _t40 = cpu->r[31] + 0x000001F0u;
|
|
/* 0258FB2C */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 0258FB30 */ _t41 = cpu->r[8] + 0x000066E8u;
|
|
/* 0258FB30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258FB34 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258FB38 */ _t42 = cpu->r[1] + 0x0000001Bu;
|
|
/* 0258FB38 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[30]);
|
|
/* 0258FB3C */ _t43 = cpu->r[5] + 0x00003924u;
|
|
/* 0258FB3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0258FB40 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258FB44 */ _t44 = cpu->r[1] + 0x0000001Au;
|
|
/* 0258FB44 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[30]);
|
|
/* 0258FB48 */ _t45 = cpu->r[5] + 0x00003928u;
|
|
/* 0258FB48 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0258FB4C */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 0258FB4C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 0258FB50 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FB50 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 0258FB54 */ _t48 = cpu->r[1] + 0x00000019u;
|
|
/* 0258FB54 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[30]);
|
|
/* 0258FB58 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FB58 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 0258FB5C */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FB5C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 0258FB60 */ _t51 = cpu->r[31] + 0x00000008u;
|
|
/* 0258FB60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0258FB64 */ _t52 = cpu->r[1] + 0x00000018u;
|
|
/* 0258FB64 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[30]);
|
|
/* 0258FB68 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258FB6C */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 0258FB6C */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 0258FB70 */ _t54 = cpu->r[10] + 0x0000007Cu;
|
|
/* 0258FB70 */ cpu->r[9] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0258FB74 */ _t55 = cpu->r[8] + 0x0000392Cu;
|
|
/* 0258FB74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 0258FB78 */ cpu->r[9] = cpu->r[9] | 0x00000001u;
|
|
/* 0258FB7C */ _t56 = cpu->r[10] + 0x0000007Cu;
|
|
/* 0258FB7C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[9]);
|
|
/* 0258FB80 */ _t57 = cpu->r[10] + 0x0000006Cu;
|
|
/* 0258FB80 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
|
|
/* 0258FB84 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258FB88 */ _t58 = cpu->r[10] + 0x00000068u;
|
|
/* 0258FB88 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[0]);
|
|
/* 0258FB8C */ cpu->r[0] = cpu->r[0] + 0x00003934u;
|
|
/* 0258FB90 */ _t59 = cpu->r[10] + 0x00000064u;
|
|
/* 0258FB90 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 0258FB94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FB98 */ _t60 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258FB98 */ rbrew_write32(cpu->mem, _t60, cpu->r[29]);
|
|
/* 0258FB9C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0258FBA0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FBA4 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 0258FBA4 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 0258FBA8 */ Gambit_fn_025857F0(cpu);
|
|
/* 0258FBAC */ _t62 = cpu->r[31] + 0x00000080u;
|
|
/* 0258FBAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0258FBB0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0258FBB4 */ Gambit_fn_02399370(cpu);
|
|
/* 0258FBB8 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258FBBC */ _t63 = cpu->r[11] + 0x00007BA0u;
|
|
/* 0258FBBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258FBC0 */ _t64 = cpu->r[11] + 0x00000B34u;
|
|
/* 0258FBC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0258FBC4 */ _t65 = cpu->r[11] + 0x00000B38u;
|
|
/* 0258FBC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0258FBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]);
|
|
/* 0258FBCC */ _t66 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258FBCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0258FBD0 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258FBD0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0258FBD0 */ if (_t68) goto L_0258FBD4; else goto L_0258FBEC;
|
|
L_0258FBD4: ; // 0x258fbd4
|
|
/* 0258FBD4 */ _t69 = cpu->r[11] + 0x00000B3Cu;
|
|
/* 0258FBD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0258FBD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258FBDC */ _t70 = cpu->r[10] + cpu->r[0];
|
|
/* 0258FBDC */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 0258FBE0 */ _t71 = cpu->r[11] + 0x00000B34u;
|
|
/* 0258FBE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0258FBE4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0258FBE8 */ _t72 = cpu->r[11] + 0x00000B34u;
|
|
/* 0258FBE8 */ rbrew_write32(cpu->mem, _t72, cpu->r[7]);
|
|
L_0258FBEC: ; // 0x258fbec
|
|
/* 0258FBEC */ _t73 = cpu->r[1] + 0x00000080u;
|
|
/* 0258FBEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0258FBF0 */ _t74 = cpu->r[1] + 0x00000084u;
|
|
/* 0258FBF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258FBF4 */ _t75 = cpu->r[1] + 0x00000094u;
|
|
/* 0258FBF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258FBF8 */ _t76 = cpu->r[1] + 0x00000088u;
|
|
/* 0258FBF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0258FBFC */ cpu->lr = cpu->r[0];
|
|
/* 0258FC00 */ _t77 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258FC00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0258FC04 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0258FC08 */ return;
|
|
}
|
|
|
|
// fn_0258FA00 @ 0x258fa00
|
|
void Gambit_fn_0258FA00(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;
|
|
|
|
L_0258FA00: ; // 0x258fa00
|
|
/* 0258FA00 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 0258FA00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258FA00 */ cpu->r[1] = _t0;
|
|
/* 0258FA04 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258FA04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258FA08 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258FA0C */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 0258FA0C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0258FA10 */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 0258FA10 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0258FA14 */ _t4 = cpu->r[1] + 0x00000088u;
|
|
/* 0258FA14 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0258FA18 */ _t5 = cpu->r[1] + 0x00000094u;
|
|
/* 0258FA18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0258FA1C */ cpu->r[29] = 0x00000002u;
|
|
/* 0258FA20 */ _t6 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0258FA20 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 0258FA24 */ Gambit_fn_027F69F8(cpu);
|
|
/* 0258FA28 */ _t7 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FA28 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0258FA2C */ _t8 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FA2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0258FA30 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0258FA34 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258FA34 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0258FA38 */ Gambit_fn_02982574(cpu);
|
|
/* 0258FA3C */ _t10 = cpu->r[1] + 0x00000038u;
|
|
/* 0258FA3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258FA40 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0258FA44 */ _t11 = cpu->r[1] + 0x00000044u;
|
|
/* 0258FA44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258FA48 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0258FA4C */ _t12 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 0258FA4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258FA50 */ _t13 = cpu->r[9] + 0xFFFF97D9u;
|
|
/* 0258FA50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0258FA54 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258FA54 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0258FA58 */ _t15 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0258FA58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258FA5C */ cpu->r[9] = 0x101C0000u;
|
|
/* 0258FA60 */ _t16 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258FA60 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 0258FA64 */ _t17 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0258FA64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0258FA68 */ cpu->r[30] = 0x00000001u;
|
|
/* 0258FA6C */ _t18 = cpu->r[9] + 0x00006000u;
|
|
/* 0258FA6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258FA70 */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 0258FA70 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 0258FA74 */ _t20 = cpu->r[1] + 0x00000051u;
|
|
/* 0258FA74 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 0258FA78 */ _t21 = cpu->r[9] + 0x0000025Cu;
|
|
/* 0258FA78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258FA7C */ _t22 = cpu->r[1] + 0x00000060u;
|
|
/* 0258FA7C */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0258FA80 */ _t23 = cpu->r[1] + 0x00000050u;
|
|
/* 0258FA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258FA84 */ _t24 = cpu->r[1] + 0x00000074u;
|
|
/* 0258FA84 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 0258FA88 */ _t25 = cpu->r[1] + 0x00000040u;
|
|
/* 0258FA88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258FA8C */ _t26 = cpu->r[1] + 0x00000064u;
|
|
/* 0258FA8C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 0258FA90 */ _t27 = cpu->r[1] + 0x00000068u;
|
|
/* 0258FA90 */ rbrew_write32(cpu->mem, _t27, cpu->r[5]);
|
|
/* 0258FA94 */ _t28 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FA94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0258FA98 */ _t29 = cpu->r[1] + 0x00000078u;
|
|
/* 0258FA98 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0258FA9C */ cpu->r[29] = 0x100D0000u;
|
|
/* 0258FAA0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258FAA4 */ cpu->r[29] = cpu->r[29] + 0x00003814u;
|
|
/* 0258FAA8 */ cpu->r[0] = cpu->r[0] + 0x00003930u;
|
|
/* 0258FAAC */ _t30 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0258FAAC */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 0258FAB0 */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 0258FAB0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0258FAB4 */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 0258FAB4 */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 0258FAB8 */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 0258FAB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0258FABC */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 0258FABC */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 0258FAC0 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 0258FAC4 */ _t35 = cpu->r[1] + 0x00000070u;
|
|
/* 0258FAC4 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 0258FAC8 */ Gambit_fn_02984F3C(cpu);
|
|
/* 0258FACC */ cpu->r[11] = 0x00000006u;
|
|
/* 0258FAD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FAD4 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0258FAD8 */ _t36 = cpu->r[1] + 0x00000058u;
|
|
/* 0258FAD8 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 0258FADC */ Gambit_fn_0258F9B4(cpu);
|
|
/* 0258FAE0 */ cpu->r[5] = cpu->r[3];
|
|
/* 0258FAE4 */ _t37 = cpu->r[28] + 0x00000008u;
|
|
/* 0258FAE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0258FAE8 */ cpu->r[9] = 0x00000003u;
|
|
/* 0258FAEC */ cpu->r[8] = cpu->r[1] + 0x00000054u;
|
|
/* 0258FAF0 */ cpu->r[7] = cpu->r[1] + 0x00000060u;
|
|
/* 0258FAF4 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 0258FAF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FAFC */ Gambit_fn_020022D4(cpu);
|
|
/* 0258FB00 */ _t38 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FB00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0258FB04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FB08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258FB0C */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 0258FB0C */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 0258FB10 */ Gambit_fn_0258F9CC(cpu);
|
|
/* 0258FB14 */ cpu->r[4] = cpu->r[3];
|
|
/* 0258FB18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FB1C */ Gambit_fn_02002684(cpu);
|
|
/* 0258FB20 */ cpu->r[3] = 0x00000000u;
|
|
/* 0258FB24 */ Gambit_fn_02043B8C(cpu);
|
|
/* 0258FB28 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0258FB2C */ _t40 = cpu->r[31] + 0x000001F0u;
|
|
/* 0258FB2C */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 0258FB30 */ _t41 = cpu->r[8] + 0x000066E8u;
|
|
/* 0258FB30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0258FB34 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258FB38 */ _t42 = cpu->r[1] + 0x0000001Bu;
|
|
/* 0258FB38 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[30]);
|
|
/* 0258FB3C */ _t43 = cpu->r[5] + 0x00003924u;
|
|
/* 0258FB3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0258FB40 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258FB44 */ _t44 = cpu->r[1] + 0x0000001Au;
|
|
/* 0258FB44 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[30]);
|
|
/* 0258FB48 */ _t45 = cpu->r[5] + 0x00003928u;
|
|
/* 0258FB48 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0258FB4C */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 0258FB4C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 0258FB50 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FB50 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 0258FB54 */ _t48 = cpu->r[1] + 0x00000019u;
|
|
/* 0258FB54 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[30]);
|
|
/* 0258FB58 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FB58 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 0258FB5C */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FB5C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 0258FB60 */ _t51 = cpu->r[31] + 0x00000008u;
|
|
/* 0258FB60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0258FB64 */ _t52 = cpu->r[1] + 0x00000018u;
|
|
/* 0258FB64 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[30]);
|
|
/* 0258FB68 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0258FB6C */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 0258FB6C */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 0258FB70 */ _t54 = cpu->r[10] + 0x0000007Cu;
|
|
/* 0258FB70 */ cpu->r[9] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0258FB74 */ _t55 = cpu->r[8] + 0x0000392Cu;
|
|
/* 0258FB74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 0258FB78 */ cpu->r[9] = cpu->r[9] | 0x00000001u;
|
|
/* 0258FB7C */ _t56 = cpu->r[10] + 0x0000007Cu;
|
|
/* 0258FB7C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[9]);
|
|
/* 0258FB80 */ _t57 = cpu->r[10] + 0x0000006Cu;
|
|
/* 0258FB80 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
|
|
/* 0258FB84 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258FB88 */ _t58 = cpu->r[10] + 0x00000068u;
|
|
/* 0258FB88 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[0]);
|
|
/* 0258FB8C */ cpu->r[0] = cpu->r[0] + 0x00003934u;
|
|
/* 0258FB90 */ _t59 = cpu->r[10] + 0x00000064u;
|
|
/* 0258FB90 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 0258FB94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FB98 */ _t60 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0258FB98 */ rbrew_write32(cpu->mem, _t60, cpu->r[29]);
|
|
/* 0258FB9C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0258FBA0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FBA4 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 0258FBA4 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 0258FBA8 */ Gambit_fn_025857F0(cpu);
|
|
/* 0258FBAC */ _t62 = cpu->r[31] + 0x00000080u;
|
|
/* 0258FBAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0258FBB0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0258FBB4 */ Gambit_fn_02399370(cpu);
|
|
/* 0258FBB8 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258FBBC */ _t63 = cpu->r[11] + 0x00007BA0u;
|
|
/* 0258FBBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0258FBC0 */ _t64 = cpu->r[11] + 0x00000B34u;
|
|
/* 0258FBC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0258FBC4 */ _t65 = cpu->r[11] + 0x00000B38u;
|
|
/* 0258FBC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0258FBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]);
|
|
/* 0258FBCC */ _t66 = cpu->r[31] + 0x000002D4u;
|
|
/* 0258FBCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0258FBD0 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258FBD0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0258FBD0 */ if (_t68) goto L_0258FBD4; else goto L_0258FBEC;
|
|
L_0258FBD4: ; // 0x258fbd4
|
|
/* 0258FBD4 */ _t69 = cpu->r[11] + 0x00000B3Cu;
|
|
/* 0258FBD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0258FBD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258FBDC */ _t70 = cpu->r[10] + cpu->r[0];
|
|
/* 0258FBDC */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 0258FBE0 */ _t71 = cpu->r[11] + 0x00000B34u;
|
|
/* 0258FBE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0258FBE4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0258FBE8 */ _t72 = cpu->r[11] + 0x00000B34u;
|
|
/* 0258FBE8 */ rbrew_write32(cpu->mem, _t72, cpu->r[7]);
|
|
L_0258FBEC: ; // 0x258fbec
|
|
/* 0258FBEC */ _t73 = cpu->r[1] + 0x00000080u;
|
|
/* 0258FBEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0258FBF0 */ _t74 = cpu->r[1] + 0x00000084u;
|
|
/* 0258FBF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0258FBF4 */ _t75 = cpu->r[1] + 0x00000094u;
|
|
/* 0258FBF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0258FBF8 */ _t76 = cpu->r[1] + 0x00000088u;
|
|
/* 0258FBF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0258FBFC */ cpu->lr = cpu->r[0];
|
|
/* 0258FC00 */ _t77 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0258FC00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0258FC04 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0258FC08 */ return;
|
|
}
|
|
|
|
// fn_0258FC0C @ 0x258fc0c
|
|
void Gambit_fn_0258FC0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0258FC0C: ; // 0x258fc0c
|
|
/* 0258FC0C */ cpu->r[0] = cpu->lr;
|
|
/* 0258FC10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0258FC10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258FC10 */ cpu->r[1] = _t0;
|
|
/* 0258FC14 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0258FC14 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258FC18 */ /* nop */
|
|
/* 0258FC1C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FC1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258FC20 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0258FC20 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0258FC24 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258FC28 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0258FC28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0258FC2C */ _t5 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258FC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0258FC34 */ cpu->f[31] = cpu->f[2];
|
|
/* 0258FC38 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FC38 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258FC38 */ if (_t7) goto L_0258FC3C; else goto L_0258FC88;
|
|
L_0258FC3C: ; // 0x258fc3c
|
|
/* 0258FC3C */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258FC40 */ _t8 = cpu->r[31] + 0x000002C4u;
|
|
/* 0258FC40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258FC44 */ _t9 = cpu->r[12] + 0x00003940u;
|
|
/* 0258FC44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0258FC48 */ cpu->f[1] = fma(cpu->f[1], cpu->f[0], cpu->f[13]);
|
|
/* 0258FC4C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FC50 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258FC54 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258FC58 */ Gambit_fn_02002ABC(cpu);
|
|
/* 0258FC5C */ cpu->f[1] = cpu->f[31];
|
|
/* 0258FC60 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FC64 */ Gambit_fn_02002D48(cpu);
|
|
/* 0258FC68 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258FC6C */ _t10 = cpu->r[31] + 0x000002C0u;
|
|
/* 0258FC6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258FC70 */ _t11 = cpu->r[12] + 0x00006DFCu;
|
|
/* 0258FC70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258FC74 */ cpu->r[0] = cpu->r[8] + 0x00000001u;
|
|
/* 0258FC78 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] / (int32_t)cpu->r[12]);
|
|
/* 0258FC7C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[12]);
|
|
/* 0258FC80 */ cpu->r[9] = cpu->r[0] - cpu->r[10];
|
|
/* 0258FC84 */ _t12 = cpu->r[31] + 0x000002C0u;
|
|
/* 0258FC84 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
L_0258FC88: ; // 0x258fc88
|
|
/* 0258FC88 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 0258FC88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258FC8C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258FC90 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0258FC90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 0258FC94 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258FC94 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258FC94 */ if (_t17) goto L_0258FC98; // else: addr-0 trap, fall-through
|
|
L_0258FC98: ; // 0x258fc98
|
|
/* 0258FC98 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 0258FC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258FC9C */ cpu->lr = cpu->r[0];
|
|
/* 0258FCA0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0258FCA4 */ return;
|
|
}
|
|
|
|
// fn_0258FC10 @ 0x258fc10
|
|
void Gambit_fn_0258FC10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0258FC10: ; // 0x258fc10
|
|
/* 0258FC10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0258FC10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258FC10 */ cpu->r[1] = _t0;
|
|
/* 0258FC14 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0258FC14 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0258FC18 */ /* nop */
|
|
/* 0258FC1C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FC1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0258FC20 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0258FC20 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0258FC24 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258FC28 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0258FC28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0258FC2C */ _t5 = cpu->r[31] + 0x000002BCu;
|
|
/* 0258FC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0258FC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0258FC34 */ cpu->f[31] = cpu->f[2];
|
|
/* 0258FC38 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FC38 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258FC38 */ if (_t7) goto L_0258FC3C; else goto L_0258FC88;
|
|
L_0258FC3C: ; // 0x258fc3c
|
|
/* 0258FC3C */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258FC40 */ _t8 = cpu->r[31] + 0x000002C4u;
|
|
/* 0258FC40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258FC44 */ _t9 = cpu->r[12] + 0x00003940u;
|
|
/* 0258FC44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0258FC48 */ cpu->f[1] = fma(cpu->f[1], cpu->f[0], cpu->f[13]);
|
|
/* 0258FC4C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FC50 */ cpu->r[4] = 0x00000000u;
|
|
/* 0258FC54 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258FC58 */ Gambit_fn_02002ABC(cpu);
|
|
/* 0258FC5C */ cpu->f[1] = cpu->f[31];
|
|
/* 0258FC60 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FC64 */ Gambit_fn_02002D48(cpu);
|
|
/* 0258FC68 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258FC6C */ _t10 = cpu->r[31] + 0x000002C0u;
|
|
/* 0258FC6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0258FC70 */ _t11 = cpu->r[12] + 0x00006DFCu;
|
|
/* 0258FC70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0258FC74 */ cpu->r[0] = cpu->r[8] + 0x00000001u;
|
|
/* 0258FC78 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] / (int32_t)cpu->r[12]);
|
|
/* 0258FC7C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[12]);
|
|
/* 0258FC80 */ cpu->r[9] = cpu->r[0] - cpu->r[10];
|
|
/* 0258FC84 */ _t12 = cpu->r[31] + 0x000002C0u;
|
|
/* 0258FC84 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
L_0258FC88: ; // 0x258fc88
|
|
/* 0258FC88 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 0258FC88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258FC8C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258FC90 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0258FC90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 0258FC94 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0258FC94 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258FC94 */ if (_t17) goto L_0258FC98; // else: addr-0 trap, fall-through
|
|
L_0258FC98: ; // 0x258fc98
|
|
/* 0258FC98 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 0258FC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258FC9C */ cpu->lr = cpu->r[0];
|
|
/* 0258FCA0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0258FCA4 */ return;
|
|
}
|
|
|
|
// fn_0258FCA8 @ 0x258fca8
|
|
void Gambit_fn_0258FCA8(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;
|
|
|
|
L_0258FCA8: ; // 0x258fca8
|
|
/* 0258FCA8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258FCAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258FCAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258FCAC */ cpu->r[1] = _t0;
|
|
/* 0258FCB0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FCB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258FCB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258FCB8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FCB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258FCBC */ Gambit_fn_025855EC(cpu);
|
|
/* 0258FCC0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258FCC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258FCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0258FCC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FCC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258FCC8 */ if (_t5) goto L_0258FD40; else goto L_0258FCCC;
|
|
L_0258FCCC: ; // 0x258fccc
|
|
/* 0258FCCC */ _t6 = cpu->r[6] + 0x00000074u;
|
|
/* 0258FCCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258FCD0 */ _t7 = cpu->r[6] + 0x0000005Cu;
|
|
/* 0258FCD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258FCD4 */ _t8 = cpu->r[6] + 0x00000068u;
|
|
/* 0258FCD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258FCD8 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 0258FCD8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 0258FCDC */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 0258FCDC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 0258FCE0 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 0258FCE0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0258FCE4 */ _t12 = cpu->r[6] + 0x0000006Cu;
|
|
/* 0258FCE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0258FCE8 */ _t13 = cpu->r[6] + 0x00000060u;
|
|
/* 0258FCE8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258FCEC */ _t14 = cpu->r[6] + 0x00000078u;
|
|
/* 0258FCEC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258FCF0 */ _t15 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258FCF0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 0258FCF4 */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 0258FCF4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 0258FCF8 */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 0258FCF8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0258FCFC */ _t18 = cpu->r[6] + 0x00000070u;
|
|
/* 0258FCFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258FD00 */ _t19 = cpu->r[6] + 0x00000064u;
|
|
/* 0258FD00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258FD04 */ _t20 = cpu->r[6] + 0x0000007Cu;
|
|
/* 0258FD04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258FD08 */ _t21 = cpu->r[31] + 0x00000068u;
|
|
/* 0258FD08 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0258FD0C */ _t22 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258FD0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258FD10 */ _t23 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258FD10 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 0258FD14 */ _t24 = cpu->r[31] + 0x00000070u;
|
|
/* 0258FD14 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 0258FD18 */ _t25 = cpu->r[3] + 0x000046BCu;
|
|
/* 0258FD18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258FD1C */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 0258FD1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258FD20 */ cpu->ctr = cpu->r[11];
|
|
/* 0258FD24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258FD28 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0258FD28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258FD2C */ _t28 = cpu->r[31] + 0x00000074u;
|
|
/* 0258FD2C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 0258FD30 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 0258FD30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258FD34 */ _t30 = cpu->r[31] + 0x00000078u;
|
|
/* 0258FD34 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 0258FD38 */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0258FD38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258FD3C */ _t32 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258FD3C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
L_0258FD40: ; // 0x258fd40
|
|
/* 0258FD40 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258FD44 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258FD48 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0258FD4C */ _t33 = cpu->r[5] + 0x000038FCu;
|
|
/* 0258FD4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258FD50 */ cpu->r[12] = cpu->r[12] + 0x00003814u;
|
|
/* 0258FD54 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258FD58 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258FD5C */ _t34 = cpu->r[31] + 0x00000280u;
|
|
/* 0258FD5C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0258FD60 */ _t35 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0258FD60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258FD64 */ cpu->r[0] = cpu->r[0] + 0x00003948u;
|
|
/* 0258FD68 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FD68 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0258FD6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258FD70 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0258FD70 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 0258FD74 */ Gambit_fn_028095AC(cpu);
|
|
/* 0258FD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258FD7C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FD7C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0258FD7C */ if (_t39) goto L_0258FD94; else goto L_0258FD80;
|
|
L_0258FD80: ; // 0x258fd80
|
|
/* 0258FD80 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0258FD80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0258FD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258FD88 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FD88 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0258FD88 */ if (_t42) goto L_0258FD94; else goto L_0258FD8C;
|
|
L_0258FD8C: ; // 0x258fd8c
|
|
/* 0258FD8C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FD90 */ Gambit_fn_02790488(cpu);
|
|
L_0258FD94: ; // 0x258fd94
|
|
/* 0258FD94 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258FD98 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258FD9C */ _t43 = cpu->r[9] + 0x00003900u;
|
|
/* 0258FD9C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0258FDA0 */ _t44 = cpu->r[7] + 0x00003944u;
|
|
/* 0258FDA0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0258FDA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FDA8 */ Gambit_fn_0258FC0C(cpu);
|
|
/* 0258FDAC */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0258FDB0 */ cpu->lr = cpu->r[0];
|
|
/* 0258FDB4 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FDB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0258FDB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258FDBC */ return;
|
|
}
|
|
|
|
// fn_0258FCAC @ 0x258fcac
|
|
void Gambit_fn_0258FCAC(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;
|
|
|
|
L_0258FCAC: ; // 0x258fcac
|
|
/* 0258FCAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258FCAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258FCAC */ cpu->r[1] = _t0;
|
|
/* 0258FCB0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FCB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258FCB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258FCB8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FCB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258FCBC */ Gambit_fn_025855EC(cpu);
|
|
/* 0258FCC0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258FCC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0258FCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0258FCC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FCC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258FCC8 */ if (_t5) goto L_0258FD40; else goto L_0258FCCC;
|
|
L_0258FCCC: ; // 0x258fccc
|
|
/* 0258FCCC */ _t6 = cpu->r[6] + 0x00000074u;
|
|
/* 0258FCCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0258FCD0 */ _t7 = cpu->r[6] + 0x0000005Cu;
|
|
/* 0258FCD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0258FCD4 */ _t8 = cpu->r[6] + 0x00000068u;
|
|
/* 0258FCD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0258FCD8 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 0258FCD8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 0258FCDC */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 0258FCDC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 0258FCE0 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 0258FCE0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0258FCE4 */ _t12 = cpu->r[6] + 0x0000006Cu;
|
|
/* 0258FCE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0258FCE8 */ _t13 = cpu->r[6] + 0x00000060u;
|
|
/* 0258FCE8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0258FCEC */ _t14 = cpu->r[6] + 0x00000078u;
|
|
/* 0258FCEC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0258FCF0 */ _t15 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0258FCF0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 0258FCF4 */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 0258FCF4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 0258FCF8 */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 0258FCF8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0258FCFC */ _t18 = cpu->r[6] + 0x00000070u;
|
|
/* 0258FCFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0258FD00 */ _t19 = cpu->r[6] + 0x00000064u;
|
|
/* 0258FD00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0258FD04 */ _t20 = cpu->r[6] + 0x0000007Cu;
|
|
/* 0258FD04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0258FD08 */ _t21 = cpu->r[31] + 0x00000068u;
|
|
/* 0258FD08 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0258FD0C */ _t22 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0258FD0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258FD10 */ _t23 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0258FD10 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 0258FD14 */ _t24 = cpu->r[31] + 0x00000070u;
|
|
/* 0258FD14 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 0258FD18 */ _t25 = cpu->r[3] + 0x000046BCu;
|
|
/* 0258FD18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0258FD1C */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 0258FD1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0258FD20 */ cpu->ctr = cpu->r[11];
|
|
/* 0258FD24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0258FD28 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0258FD28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0258FD2C */ _t28 = cpu->r[31] + 0x00000074u;
|
|
/* 0258FD2C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 0258FD30 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 0258FD30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0258FD34 */ _t30 = cpu->r[31] + 0x00000078u;
|
|
/* 0258FD34 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 0258FD38 */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0258FD38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0258FD3C */ _t32 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0258FD3C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
L_0258FD40: ; // 0x258fd40
|
|
/* 0258FD40 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0258FD44 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0258FD48 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0258FD4C */ _t33 = cpu->r[5] + 0x000038FCu;
|
|
/* 0258FD4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0258FD50 */ cpu->r[12] = cpu->r[12] + 0x00003814u;
|
|
/* 0258FD54 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258FD58 */ cpu->r[5] = 0x00000001u;
|
|
/* 0258FD5C */ _t34 = cpu->r[31] + 0x00000280u;
|
|
/* 0258FD5C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0258FD60 */ _t35 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0258FD60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0258FD64 */ cpu->r[0] = cpu->r[0] + 0x00003948u;
|
|
/* 0258FD68 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FD68 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0258FD6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258FD70 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0258FD70 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 0258FD74 */ Gambit_fn_028095AC(cpu);
|
|
/* 0258FD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0258FD7C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FD7C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0258FD7C */ if (_t39) goto L_0258FD94; else goto L_0258FD80;
|
|
L_0258FD80: ; // 0x258fd80
|
|
/* 0258FD80 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0258FD80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0258FD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0258FD88 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FD88 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0258FD88 */ if (_t42) goto L_0258FD94; else goto L_0258FD8C;
|
|
L_0258FD8C: ; // 0x258fd8c
|
|
/* 0258FD8C */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FD90 */ Gambit_fn_02790488(cpu);
|
|
L_0258FD94: ; // 0x258fd94
|
|
/* 0258FD94 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0258FD98 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0258FD9C */ _t43 = cpu->r[9] + 0x00003900u;
|
|
/* 0258FD9C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0258FDA0 */ _t44 = cpu->r[7] + 0x00003944u;
|
|
/* 0258FDA0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0258FDA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FDA8 */ Gambit_fn_0258FC0C(cpu);
|
|
/* 0258FDAC */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0258FDB0 */ cpu->lr = cpu->r[0];
|
|
/* 0258FDB4 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FDB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0258FDB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258FDBC */ return;
|
|
}
|
|
|
|
// fn_0258FDC0 @ 0x258fdc0
|
|
void Gambit_fn_0258FDC0(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_02585704: ; // 0x2585704
|
|
/* 02585704 */ cpu->r[0] = cpu->lr;
|
|
/* 02585708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02585708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02585708 */ cpu->r[1] = _t0;
|
|
/* 0258570C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258570C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02585710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02585714 */ cpu->r[10] = 0x10110000u;
|
|
/* 02585718 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02585718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258571C */ _t3 = cpu->r[31] + 0x000001DCu;
|
|
/* 0258571C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02585720 */ _t4 = cpu->r[10] + 0x00007399u;
|
|
/* 02585720 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02585724 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02585724 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02585728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0258572C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258572C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0258572C */ if (_t7) goto L_02585744; else goto L_02585730;
|
|
L_02585730: ; // 0x2585730
|
|
/* 02585730 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02585730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02585734 */ cpu->r[4] = cpu->r[31] + 0x000001DCu;
|
|
/* 02585738 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258573C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0258573C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02585740 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02585740 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02585744: ; // 0x2585744
|
|
/* 02585744 */ _t11 = cpu->r[31] + 0x000001D9u;
|
|
/* 02585744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02585748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258574C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258574C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0258574C */ if (_t13) goto L_02585790; else goto L_02585750;
|
|
L_02585750: ; // 0x2585750
|
|
/* 02585750 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02585750 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02585754 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02585758 */ _t15 = cpu->r[31] + 0x000001CCu;
|
|
/* 02585758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0258575C */ _t16 = cpu->r[3] + 0x00001D14u;
|
|
/* 0258575C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02585760 */ cpu->f[1] = cpu->f[0] - cpu->f[12];
|
|
/* 02585764 */ _t17 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02585764 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02585768 */ cpu->f[2] = cpu->f[0] + cpu->f[12];
|
|
/* 0258576C */ _t18 = cpu->r[3] + 0x00005444u;
|
|
/* 0258576C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02585770 */ cpu->f[4] = cpu->f[13] + cpu->f[12];
|
|
/* 02585774 */ _t19 = cpu->r[31] + 0x00000210u;
|
|
/* 02585774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02585778 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0258577C */ cpu->f[3] = cpu->f[13] - cpu->f[12];
|
|
/* 02585780 */ _t20 = cpu->r[4] + 0x00006CB0u;
|
|
/* 02585780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02585784 */ cpu->r[5] = cpu->r[31];
|
|
/* 02585788 */ Gambit_fn_02031B20(cpu);
|
|
/* 0258578C */ _t21 = cpu->r[31] + 0x0000020Cu;
|
|
/* 0258578C */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_02585790: ; // 0x2585790
|
|
/* 02585790 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02585790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02585794 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02585794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02585798 */ cpu->lr = cpu->r[0];
|
|
/* 0258579C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857A0 */ return;
|
|
L_0258FDC0: ; // 0x258fdc0
|
|
/* 0258FDC0 */ goto L_02585704;
|
|
}
|
|
|
|
// fn_0258FDC4 @ 0x258fdc4
|
|
void Gambit_fn_0258FDC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_025857A4: ; // 0x25857a4
|
|
/* 025857A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025857A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025857A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025857A8 */ cpu->r[1] = _t0;
|
|
/* 025857AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025857B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025857B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025857B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025857B8 */ _t3 = cpu->r[31] + 0x000001D9u;
|
|
/* 025857B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025857BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025857C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025857C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025857C0 */ if (_t5) goto L_025857DC; else goto L_025857C4;
|
|
L_025857C4: ; // 0x25857c4
|
|
/* 025857C4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 025857C8 */ _t6 = cpu->r[3] + 0x00001D14u;
|
|
/* 025857C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025857CC */ cpu->r[4] = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D0 */ Gambit_fn_02031BD0(cpu);
|
|
/* 025857D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 025857D8 */ _t7 = cpu->r[31] + 0x0000020Cu;
|
|
/* 025857D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_025857DC: ; // 0x25857dc
|
|
/* 025857DC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025857DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025857E0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025857E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025857E4 */ cpu->lr = cpu->r[0];
|
|
/* 025857E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025857EC */ return;
|
|
L_0258FDC4: ; // 0x258fdc4
|
|
/* 0258FDC4 */ goto L_025857A4;
|
|
}
|
|
|
|
// fn_0258FDC8 @ 0x258fdc8
|
|
void Gambit_fn_0258FDC8(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_0258FDC8: ; // 0x258fdc8
|
|
/* 0258FDC8 */ cpu->r[0] = cpu->lr;
|
|
/* 0258FDCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258FDCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258FDCC */ cpu->r[1] = _t0;
|
|
/* 0258FDD0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FDD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258FDD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258FDD8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FDD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258FDDC */ _t3 = cpu->r[31] + 0x000002C8u;
|
|
/* 0258FDDC */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258FDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258FDE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FDE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258FDE4 */ if (_t5) goto L_0258FDF0; else goto L_0258FDE8;
|
|
L_0258FDE8: ; // 0x258fde8
|
|
/* 0258FDE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FDEC */ Gambit_fn_02790488(cpu);
|
|
L_0258FDF0: ; // 0x258fdf0
|
|
/* 0258FDF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FDF4 */ Gambit_fn_02585928(cpu);
|
|
/* 0258FDF8 */ _t6 = cpu->r[31] + 0x000002D0u;
|
|
/* 0258FDF8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 0258FDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFFFu);
|
|
/* 0258FE00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FE00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0258FE00 */ if (_t8) goto L_0258FE10; else goto L_0258FE04;
|
|
L_0258FE04: ; // 0x258fe04
|
|
/* 0258FE04 */ _t9 = cpu->r[31] + 0x000002D2u;
|
|
/* 0258FE04 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9);
|
|
/* 0258FE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258FE0C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FE0C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258FE0C */ if (_t11) goto L_0258FE10; else goto L_0258FE80;
|
|
L_0258FE10: ; // 0x258fe10
|
|
/* 0258FE10 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258FE14 */ _t12 = cpu->r[12] + 0x00006000u;
|
|
/* 0258FE14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258FE18 */ _t13 = cpu->r[12] + 0x00000264u;
|
|
/* 0258FE18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258FE1C */ _t14 = cpu->r[12] + 0x00000030u;
|
|
/* 0258FE1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258FE20 */ _t15 = cpu->r[10] + 0x00000134u;
|
|
/* 0258FE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258FE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258FE28 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FE28 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258FE28 */ if (_t17) goto L_0258FE80; else goto L_0258FE2C;
|
|
L_0258FE2C: ; // 0x258fe2c
|
|
/* 0258FE2C */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258FE30 */ _t18 = cpu->r[11] + 0x000065B4u;
|
|
/* 0258FE30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258FE34 */ cpu->r[8] = cpu->r[12] + cpu->r[11];
|
|
/* 0258FE38 */ _t19 = cpu->r[8] + 0x00000104u;
|
|
/* 0258FE38 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0258FE3C */ _t20 = cpu->r[12] + 0x00000030u;
|
|
/* 0258FE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258FE40 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258FE44 */ _t21 = cpu->r[10] + cpu->r[0];
|
|
/* 0258FE44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258FE48 */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 0258FE48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258FE4C */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258FE50 */ _t23 = cpu->r[9] + 0x00000000u;
|
|
/* 0258FE50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258FE54 */ cpu->r[11] = cpu->r[11] + 0x00003814u;
|
|
/* 0258FE58 */ _t24 = cpu->r[9] + 0x00000008u;
|
|
/* 0258FE58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258FE5C */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258FE60 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FE60 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 0258FE64 */ cpu->r[0] = cpu->r[0] + 0x00003958u;
|
|
/* 0258FE68 */ _t26 = cpu->r[31] + 0x000002CCu;
|
|
/* 0258FE68 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 0258FE6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258FE70 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0258FE70 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0258FE74 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258FE78 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0258FE78 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 0258FE7C */ _t29 = cpu->r[31] + 0x000002D0u;
|
|
/* 0258FE7C */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
L_0258FE80: ; // 0x258fe80
|
|
/* 0258FE80 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FE80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258FE84 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FE84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258FE88 */ cpu->lr = cpu->r[0];
|
|
/* 0258FE8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258FE90 */ return;
|
|
}
|
|
|
|
// fn_0258FDCC @ 0x258fdcc
|
|
void Gambit_fn_0258FDCC(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_0258FDCC: ; // 0x258fdcc
|
|
/* 0258FDCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0258FDCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0258FDCC */ cpu->r[1] = _t0;
|
|
/* 0258FDD0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FDD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0258FDD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0258FDD8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FDD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0258FDDC */ _t3 = cpu->r[31] + 0x000002C8u;
|
|
/* 0258FDDC */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0258FDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0258FDE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FDE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0258FDE4 */ if (_t5) goto L_0258FDF0; else goto L_0258FDE8;
|
|
L_0258FDE8: ; // 0x258fde8
|
|
/* 0258FDE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FDEC */ Gambit_fn_02790488(cpu);
|
|
L_0258FDF0: ; // 0x258fdf0
|
|
/* 0258FDF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0258FDF4 */ Gambit_fn_02585928(cpu);
|
|
/* 0258FDF8 */ _t6 = cpu->r[31] + 0x000002D0u;
|
|
/* 0258FDF8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 0258FDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFFFu);
|
|
/* 0258FE00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FE00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0258FE00 */ if (_t8) goto L_0258FE10; else goto L_0258FE04;
|
|
L_0258FE04: ; // 0x258fe04
|
|
/* 0258FE04 */ _t9 = cpu->r[31] + 0x000002D2u;
|
|
/* 0258FE04 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9);
|
|
/* 0258FE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0258FE0C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FE0C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0258FE0C */ if (_t11) goto L_0258FE10; else goto L_0258FE80;
|
|
L_0258FE10: ; // 0x258fe10
|
|
/* 0258FE10 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0258FE14 */ _t12 = cpu->r[12] + 0x00006000u;
|
|
/* 0258FE14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0258FE18 */ _t13 = cpu->r[12] + 0x00000264u;
|
|
/* 0258FE18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0258FE1C */ _t14 = cpu->r[12] + 0x00000030u;
|
|
/* 0258FE1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0258FE20 */ _t15 = cpu->r[10] + 0x00000134u;
|
|
/* 0258FE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0258FE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0258FE28 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0258FE28 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0258FE28 */ if (_t17) goto L_0258FE80; else goto L_0258FE2C;
|
|
L_0258FE2C: ; // 0x258fe2c
|
|
/* 0258FE2C */ cpu->r[11] = 0x101C0000u;
|
|
/* 0258FE30 */ _t18 = cpu->r[11] + 0x000065B4u;
|
|
/* 0258FE30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0258FE34 */ cpu->r[8] = cpu->r[12] + cpu->r[11];
|
|
/* 0258FE38 */ _t19 = cpu->r[8] + 0x00000104u;
|
|
/* 0258FE38 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0258FE3C */ _t20 = cpu->r[12] + 0x00000030u;
|
|
/* 0258FE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0258FE40 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0258FE44 */ _t21 = cpu->r[10] + cpu->r[0];
|
|
/* 0258FE44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0258FE48 */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 0258FE48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0258FE4C */ cpu->r[11] = 0x100D0000u;
|
|
/* 0258FE50 */ _t23 = cpu->r[9] + 0x00000000u;
|
|
/* 0258FE50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0258FE54 */ cpu->r[11] = cpu->r[11] + 0x00003814u;
|
|
/* 0258FE58 */ _t24 = cpu->r[9] + 0x00000008u;
|
|
/* 0258FE58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0258FE5C */ cpu->r[0] = 0x100D0000u;
|
|
/* 0258FE60 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0258FE60 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 0258FE64 */ cpu->r[0] = cpu->r[0] + 0x00003958u;
|
|
/* 0258FE68 */ _t26 = cpu->r[31] + 0x000002CCu;
|
|
/* 0258FE68 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 0258FE6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0258FE70 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0258FE70 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0258FE74 */ Gambit_fn_029807A8(cpu);
|
|
/* 0258FE78 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0258FE78 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 0258FE7C */ _t29 = cpu->r[31] + 0x000002D0u;
|
|
/* 0258FE7C */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
L_0258FE80: ; // 0x258fe80
|
|
/* 0258FE80 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0258FE80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0258FE84 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0258FE84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0258FE88 */ cpu->lr = cpu->r[0];
|
|
/* 0258FE8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0258FE90 */ return;
|
|
}
|
|
|